ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
7890
7890
EMPFEHLEN
-
08.07.04 14:40 #1
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
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/s...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 :1 2 3 4 5 6 7 8
<?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 :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
<?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 :1 2
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 :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
<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
-
06.08.04 16:56 #2wilma Tutorials.de Gastzugang
Hallo Tom,
vielen Dank für die Anleitung, Sie ist super simpel!
Weisst Du auch noch eine einfache Lösung für das gleiche Spiel über ein ganzes Directroy?
Viele Grüße,
wilma
-
20.06.10 10:59 #3MMP Tutorials.de Gastzugang
Das geht mit der freeware AntillesXML. Ist hier zu finden:
http://www.data2type.de
-
Hallo Thomas,
super Anleitung. Habe das Ganze unter einer Windows-Mühle gemacht. Funktionierte anfänglich nicht, weil ich Java nicht installiert hatte und Java und Saxon nicht in der Umgebungsvariablen PATH gesetzt hatte. Also zunächst folgende Schritte:
1/ Java installieren: jre-6u21-windows-i586-iftw-rv.exe
2/ PATH erweitern um "C:\Programme\Java\jre6\bin"
Dann Deine beiden obigen Dateien test.xml und test.xsl erstellen und dann:
C:\Programme\Saxon\test>java -cp c:\Programme\Saxon\saxon9he.jar net.sf.saxon.Transform -o test.html test.xml test.xsl
Antwort:
Warning: at xsl:stylesheet on line 4 column 51 of test.xsl:
Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
Liefert die gewünschte HTML-Datei test.html.
Danke
Ähnliche Themen
-
XSLT & Saxon
Von Wurzelseppi im Forum JavaAntworten: 2Letzter Beitrag: 30.03.09, 08:36 -
XSLT-Prozessor
Von Turcy im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 2Letzter Beitrag: 14.10.08, 20:30 -
Welcher XSLT Prozessor?
Von Perilymphe im Forum XML TechnologienAntworten: 7Letzter Beitrag: 09.10.07, 17:52 -
XSLT - saxon schmeißt nur leeres Zieldokument raus
Von PetraC im Forum XML TechnologienAntworten: 1Letzter Beitrag: 22.04.07, 23:48 -
Saxon 6.5 vs Saxon 8: Strings vergleichen
Von chaertl im Forum XML TechnologienAntworten: 0Letzter Beitrag: 03.07.06, 12:55






Zitieren
Login





