DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Andreas Rauch Artikel Drucken
        
Links aus XML Daten via XSL

Wie baue ich mir einen Link in XSL zusammen? Die Frage wird immer wieder gestellt, dabei ist sie recht leicht zu beantworten. Zunächst... wie sieht denn unser Link in HTML aus?

<a href="http://www.devtrain.de">Devtrain</a>

Also ich benötige dazu ein Element "a", das Attribut "href" und den passenden Wert dazu.

Die Mehtode in XSL funktioniert über 2 XSL Befehle:

xsl:element
xsl:attribute

Verwendung:

<xsl:element name= "a"> ' Erstellt hier das Element "a"
<xsl:attributename="href="> ' erstellt hier zum Element "a" das Attribut "href="
<xsl:value-of select="link"/> 'Aktueller Wert aus den XML Daten
</xsl:attribute>
<xsl:value-of select="link"/> 'Ausgabe des Links
</xsl:element>

ACHTUNG!
Leider bereitet die aktuelle Methode über den derzeitg gültigen Namespace http://www.w3.org/1999/XSL/Transform einige Schwierigkeiten bei der Verwendung von namespaces (hierauf möchte ich mich in einem anderen Artikeln auslassen).
Verwenden Sie hier bitte noch den alten namespace "http://www.w3.org/TR/WD-xsl.

 

Logischer Weise hätte an dieser Stelle auch ein einfaches <a>...</a> seinen Dienst getan, aber dann hätten nichts über xsl:element gelernt ;-)


Aus XML Daten holen wir uns den Titel und den Link.

Ein kleiner Ausschnitt aus der XML Struktur:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
 <channel>
  <title>online news</title>
  <link>http://www.news.de</link>
  <description>Brandneue Nachrichten</description>
 </channel>
 <item>
  <title>XML Links leicht gemacht</title>
  <link>http://www.news.de/newsticker/artikel1.htm</link>
 </item>

.....


So und nun unser dazugehöriges XSL file

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
  <html>
  <body>
    <table border="2" bgcolor="litegray">
      <tr>
        <th>Title</th>
        <th>Link</th> 
      </tr>
      <xsl:for-each select="rdf:RDF/item">   
         <tr>
         <td><xsl:value-ofselect="title"/></td><BR>         <td><BR>  <xsl:elementname="a"><BR>  <xsl:attributename="href="><xsl:value-of select="link"/>
  </xsl:attribute><xsl:value-of select="link"/>
  </xsl:element>
  </td>
   </tr> 
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 21.07.2001
  Gültig bis: 23.08.2001
13 Ratings
Bewertung: 44,6%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG