Archive for the 'XLST' Category

17. Oct 2007

Datum formatieren mit XSLT 1.0

Die Ausgabe des Datums unter XSLT 1.0 ist leider nicht so ohne weiteres Möglich. Verwendet man Saxon 6.5.5 (sicherlich auch mit älteren Versionen möglich) gibt es einen simplen Workaround:

Den Namenraum für das date Objekt im Template/Stylesheet anmelden:

<xsl:stylesheet
xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:date="http://exslt.org/dates-and-times"
extension-element-prefixes="date">

( Mehr zu den EXSLT-Erweiterungen findet sich auf der EXSLT-Webseite.)

Dann lassen sich die hier… beschriebenen Funktionen direkt im XSLT-Stylesheet verwenden, z. B. so:

<xsl:value-of select="date:day-in-month()"/><xsl:text>.</xsl:text>
<xsl:value-of select="date:month-in-year()"/><xsl:text>.</xsl:text>
<xsl:value-of select="date:year()"/>

Posted by Posted by admin under Filed under XLST, XML Comments No Comments »

16. Oct 2007

XSLT mit Saxon und Ant

Der Wechsel auf Windows XP auf Windows Vista hat den Einsatz der Saxon.exe nun endgültig zunichte gemacht. Nun müssen also meine Ant Skripte über den Ant XSLT Task zum laufen gebracht werden. Und so gehts z. B.:

<xslt force="true"
in="data/notes.xml"
out="../lang/en/home.html"
style="xsl_for_html/home.xsl" >
<!-- invokes Saxon 6 to process XSLT 1.0 (default: Xalan) -->
<factory name="com.icl.saxon.TransformerFactoryImpl"/>
<outputproperty name="encoding" value="iso-8859-1"/>
<param name="targetOutput" expression="../lang/en/home.html" />
<param name="thisPage" expression="home.html"/>
<param name="targetEncoding" expression="ISO-8859-1"/>
<param name="targetLanguage" expression="en"/>
</xslt>

Weil hier nicht der Standard XSL-Transformer (Xalan) verwendet werden soll, sondern Saxon 6.5.5. ist im Factory-Element die Saxon Klasse anzumelden. Vorraussetzung hierzu ist allerdings, folgende Dateien classpath bzw. im ANT/lib Verzeichnis zu haben:

  • saxon.jar
  • saxon-xml-apis.jar
  • commons-net-1.4.1.jar
  • jakarta-oro-2.0.8.jar

XSLT ist übrigens ein ANT Core Task. Eine genaue Beschreibung gibt es hier.

Posted by Posted by admin under Filed under XLST, XML Comments No Comments »