Thomas Darimont
Erfahrenes Mitglied
Hallo!
Falls ihr euch mal mit XML und XSLT befassen wolltet, jedoch nie mehr als den Internet Explorer dazu bemüht hat die XML gegen das XSLT Template zu rendern findet hier abhilfe:
http://saxon.sourceforge.net
Saxon ist ein Open Source XSLT Prozessor der es ermöglicht auf der Kommandozeile oder innerhalb eines Java Programms XLM Dokumente nach einem XSLT Template gerendert zu generieren.
Saxon setzt eine installierte Java 1.4 Laufzeitumgebung voraus.
Saxon verwenden ist ganz einfach.
Zuerst laden wir uns mal das Projekt von SourceForge herunter:
http://sourceforge.net/projects/saxon
--> Download (Saxon 8.0):
http://prdownloads.sourceforge.net/saxon/saxonb8-0.zip?download
Danach entpacken wir das Zip Archiv in irgend ein Verzeichniss
Z.bsp.: c:\Saxon
In diesem verzeichnis finden wir dann die Datei saxon8.jar welche wir für unsere Anwendungen brauchen.
Wir erstellen nun mal ein Minimales Beispiel XML und eine XSLT Datei um das Ganze mal auszuprobieren. Dabei lassen wir uns aus der XML Datei über die Anweisungen in der XSLT Datei eine HTML Datei erzeugen.
Wir legen ein Verzeichniss namens XMLTest unter c:\ an
-> c:\XMLTest
Nun erstellen wir die Datei Test.xml
Test.xml
Darauf folgend kümmern wir uns um die Prozessor.xsl
Nun öffnen wir eine Konsole und wechseln in das Verzeichnis c:\xmlTest
Dort setzen wir nun das Kommando:
Ab und finden nach Beendigung dieses Kommandos die Datei C:\xmlTest\Test.html
Mit dem folgendem Inhalt:
Hoffe ihr könnt das Anwendungsbeispiel leicht nachvollziehen.
GrußTom
Falls ihr euch mal mit XML und XSLT befassen wolltet, jedoch nie mehr als den Internet Explorer dazu bemüht hat die XML gegen das XSLT Template zu rendern findet hier abhilfe:
http://saxon.sourceforge.net
Saxon ist ein Open Source XSLT Prozessor der es ermöglicht auf der Kommandozeile oder innerhalb eines Java Programms XLM Dokumente nach einem XSLT Template gerendert zu generieren.
Saxon setzt eine installierte Java 1.4 Laufzeitumgebung voraus.
Saxon verwenden ist ganz einfach.
Zuerst laden wir uns mal das Projekt von SourceForge herunter:
http://sourceforge.net/projects/saxon
--> Download (Saxon 8.0):
http://prdownloads.sourceforge.net/saxon/saxonb8-0.zip?download
Danach entpacken wir das Zip Archiv in irgend ein Verzeichniss
Z.bsp.: c:\Saxon
In diesem verzeichnis finden wir dann die Datei saxon8.jar welche wir für unsere Anwendungen brauchen.
Wir erstellen nun mal ein Minimales Beispiel XML und eine XSLT Datei um das Ganze mal auszuprobieren. Dabei lassen wir uns aus der XML Datei über die Anweisungen in der XSLT Datei eine HTML Datei erzeugen.
Wir legen ein Verzeichniss namens XMLTest unter c:\ an
-> c:\XMLTest
Nun erstellen wir die Datei Test.xml
Test.xml
Code:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="Prozessor.xsl"?>
<firma name="XYZ Company">
<angestellte>
<angestellter name="Thomas" alter="20"/>
<angestellter name="Richard" alter="22"/>
</angestellte>
</firma>
Darauf folgend kümmern wir uns um die Prozessor.xsl
Code:
<?xml version="1.0"?>
<!--Prozessor.xsl-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>
<xsl:value-of select="firma/@name"/>
</title>
</head>
<body>
<xsl:value-of select="firma/@name"/>
<table border="2">
<xsl:for-each select="/firma/angestellte/angestellter">
<tr>
<td><xsl:value-of select="@name"/></td>
<td><xsl:value-of select="@alter"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Nun öffnen wir eine Konsole und wechseln in das Verzeichnis c:\xmlTest
Dort setzen wir nun das Kommando:
Code:
C:\xmlTest>java -cp c:\saxon\saxon8.jar net.sf.saxon.Transform -o Test.html Test
.xml Prozessor.xsl
Ab und finden nach Beendigung dieses Kommandos die Datei C:\xmlTest\Test.html
Mit dem folgendem Inhalt:
Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>XYZ Company</title>
</head>
<body>XYZ Company
<table border="2">
<tr>
<td>Thomas</td>
<td>20</td>
</tr>
<tr>
<td>Richard</td>
<td>22</td>
</tr>
</table>
</body>
</html>
Hoffe ihr könnt das Anwendungsbeispiel leicht nachvollziehen.
GrußTom