DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Using Ant With XSLT 2.0 and Saxon
You will first have to download the Saxon libraries. You can find them at the SourceForge Saxon Web Page I put the files in my C:/Apps/saxon8 folder
I then add the following to a properties file:
– content of my.properties file –
Saxon8HomeDir=C:/Apps/saxon8
saxon8jar=${Saxon8HomeDir}/saxon8.jar
# used to make sure Saxon gets the right XSLT 2.0 processor
processor=trax
– end of my.properties file –
Here is an excerpt from my build file
– contents of build.xml –
<!-- load the local properties file -->
<property file="my.properties"/>
<!-- a sample task that demonstrates the use of Saxon 8 -->
<target name="XSL using Saxon"
description="Demonstration of XSL using Saxon">
<xslt
in="MyInput.xml"
out="MyOutput.htm"
style="MyTransform.xsl"
classpath="${saxon8jar};${antHome}/lib/ant-trax.jar"
processor="${processor}" >
</xslt>
</target>
The following is an handy transform for printing the XSLT 2.0 and system related variables
– MyTransform.xsl –
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head>
<title>Print XSLT Related Environment Variables</title>
</head>
<body>
<ul>
<li><b>Version: </b><xsl:value-of select="system-property('xsl:version')"/>
</li>
<li><b>Vendor: </b><xsl:value-of select="system-property('xsl:vendor')"/>
</li>
<li><b>Vendor URL: </b><xsl:value-of select="system-property('xsl:vendor-url')"/>
</li>
<li><b>Java Version: </b><xsl:value-of select="system-property('java.version')"/>
</li>
<li><b>OS Name: </b><xsl:value-of select="system-property('os.name')"/>
</li>
<li><b>File Seperator: </b><xsl:value-of select="system-property('file.separator')"/>
</li>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
This should display something like the following:
– output of MyOutput.htm –
- Version: 2.0
- Vendor: SAXON 8.4 from Saxonica
- Vendor URL: http://www.saxonica.com/
- Java Version: 1.5.0_02
- OS Name: Windows XP
- File Seperator: \
To use this just create an empty XML input file with a valid root:
– MyInput.xml –
<?xml version="1.0" encoding="UTF-8"?> <root> <empty></empty> </root>
Or once you have downloaded saxon8.jar, simply call Ant with -lib path/to/saxon8.jar on the command line, and use <xslt> as usual. Since Saxon implements the TraX API, and is now first on Ant's classpath, <xslt> will automatically pick it up. Wrap the appropriate -lib option in a custom startup script, or use an ANT_OPTS EnvironmentVariable to avoid having to type it all the time. --DD