Thomas Darimont
Erfahrenes Mitglied
Wie verwende ich XSLT ein Anwendungsbeispiel
Hallo!
Hier mal kleines Anwendungsbeispiel zum Thema XSLT:
...
Wir erstellen uns nun mal ein XML File das die Datenenthält,
welche wir später Rendern wollen (Eine Firma mit einer Angestelltenliste)
Der Wurzelknoten "firma" enthält als direkten Kindknoten eine Auflistung
namens "angestellte" welche als Kinder die eigentlichen Angestelltensätze
("angestellter") enthält.
Danach entwerfen wir unser Stylesheet:
Ich verwende in diesem Beispeil u.A. XPath um im XML Dokument herum zu navigieren:
Ein XPath tutorial findet ihr unter http://www.tutorials.de/tutorials163173.html .
Wie lasse ich das ganze nun laufen?
Einfach die beiden Dateien in ein beliebiges Verzeichnis kopieren und die Datei
Input.xml mit einem gewöhnlichen XSLT-Fähigen Webbrowser öffnen.
Das wars mal zum Einstieg.
To be continued ...
Gruß Tom
Hallo!
Hier mal kleines Anwendungsbeispiel zum Thema XSLT:
...
Wir erstellen uns nun mal ein XML File das die Datenenthält,
welche wir später Rendern wollen (Eine Firma mit einer Angestelltenliste)
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Wichtig! Damit das XML Dokument auf richtig gerendert werden kann, müssen wir
ihm hier mittels des xml-stylesheet Tags mitteilen welches Stylesheet verwendet
werden soll. Die Datei Processor.xsl wird nun im aktuellen Verzeichnis
gesucht.
-->
<?xml-stylesheet type="text/xsl" href="Processor.xsl"?>
<firma name="XYZ Company">
<angestellte>
<angestellter name="Thomas" alter="20"/>
<angestellter name="Richard" alter="22"/>
</angestellte>
</firma>
namens "angestellte" welche als Kinder die eigentlichen Angestelltensätze
("angestellter") enthält.
Danach entwerfen wir unser Stylesheet:
Ich verwende in diesem Beispeil u.A. XPath um im XML Dokument herum zu navigieren:
Ein XPath tutorial findet ihr unter http://www.tutorials.de/tutorials163173.html .
Code:
<!--Processor.xsl-->
<!-- Dieser Tag Kennzeichnet die von uns genutzte XML Version und die verwendete
Zeichenkodierung -->
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Dieser Tag sagt uns welche Version unser Stylesheet besitzt und welchen
Namensraum (xmlns -> XML Namespace) wir für unser XSL Schema verwenden.
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!--
Hier deklarieren wir mittels eines XPath Musters, den Bereich des Dokuments,
welcher von unserem Template betroffen sein soll.
-> "/" -> Bedeutet ab der Wurzel alles.
-->
<xsl:template match="/">
<html>
<head>
<title>
<!--
Hier ziehen wir uns den Namen der Firma mittels eines XPath-Ausdrucks
Mit dem @-Symbol greift man in XPath auf die Attribute eines Knotens zu
und setzen das Ergebnis als Dokumententitel. Dazu verwenden wir
den xsl:value-of Tag mit dem Parameter(!?) select und dem XPath Ausdruck als Parameter.
-->
<xsl:value-of select="firma/@name"/>
</title>
</head>
<body>
<!--
Wie oben nur diesmal als Tabellenüberschrift.
-->
<xsl:value-of select="firma/@name"/>
<table border="2">
<!--
Hier erstellen wir eine Schleife in der wir über alle Elemente
des Typs "angestellter" der Auflistung "angestellte" iterieren.
-->
<xsl:for-each select="/firma/angestellte/angestellter">
<tr>
<!--
Innerhalb dieses Blockes sind nun die Attribute des gerade
in der Schleife Selektierten konkreten Elements "angestellter"
verfügbar, auf die wir wie oben schon beschrieben mittels des
@ Symbols zugreifen.
-->
<td><xsl:value-of select="@name"/></td>
<td><xsl:value-of select="@alter"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
<!--
Hier schließen wir den Template Tag.
-->
</xsl:template>
<!--
Hier schließen wir den Stylesheet Tag.
-->
</xsl:stylesheet>
Wie lasse ich das ganze nun laufen?
Einfach die beiden Dateien in ein beliebiges Verzeichnis kopieren und die Datei
Input.xml mit einem gewöhnlichen XSLT-Fähigen Webbrowser öffnen.
Das wars mal zum Einstieg.
To be continued ...
Gruß Tom