Wiki source code of Engine_XalanJ

Version 25.1 by Nicolas Gregoire on 2012/01/11 22:27

Show last authors
1 [[Xalan-J>>http://xml.apache.org/xalan-j/||rel="__blank" title="Xalan-J Home Page"]] is a Java based XSLT engine by the Apache Project.
2
3
4 == Supported version ==
5
6 1.0
7
8 == Command line ==
9
10 $> java org.apache.xalan.xslt.Process -in foo.xml -xsl foo.xsl
11
12 __Note__ : xml-apis.jar, xercesImpl.jar and xalan*.jar must be in the $CLASSPATH
13
14 == Identification strings ==
15
16 |=xsl:vendor-url|http:~/~/xml.apache.org/xalan-j
17 |=xsl:vendor|Apache Software Foundation
18 |=xsl:version|1.0
19
20 == Special features ==
21
22 * File creation
23 * Code execution
24 * JDBC connectivity
25 * Java properties
26 * CheckEnv()
27
28 == CheckEnv() ==
29
30 The checkEnvironment() extension function (documented [[here>>http://xml.apache.org/xalan-j/faq.html#faq-N10064||rel="__blank"]]), associated to the Xalan namespace, will display some information about the execution context.
31
32 === Output ===
33
34 <?xml version="1.0" encoding="UTF-8"?>
35
36 <checkEnvironmentExtension>
37 <EnvironmentCheck version="$Revision$">
38 <environment>
39 <item key="version.DOM.draftlevel">2.0fd</item>
40 <item key="java.class.path">/usr/share/java/xalan2.jar:/usr/share/java/xml-apis.jar:/usr/share/java/xercesImpl.jar:/usr/share/java/serializer.jar:/usr/share/java/xsltc.jar</item>
41 <item key="version.JAXP">1.1 or higher</item>
42 <item key="java.ext.dirs">/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/ext:/usr/java/packages/lib/ext</item>
43 <item key="version.xerces2">Xerces-J 2.9.1</item>
44 <item key="version.xerces1">not-present</item>
45 <item key="version.xalan2_2">Xalan Java 2.7.1</item>
46 <item key="version.xalan1">not-present</item>
47 <item key="version.ant">not-present</item>
48 <item key="java.version">1.6.0_26</item>
49 <item key="version.DOM">2.0</item>
50 <item key="version.crimson">not-present</item>
51 <item key="sun.boot.class.path">/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/resources.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/rt.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/jsse.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/jce.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/charsets.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/modules/jdk.boot.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/classes</item>
52 <foundJar desc="apis.jar-apparent.version" name="xml">xml-apis.jar present-unknown-version</foundJar>
53 <foundJar desc="apis.jar-path" name="xml">/usr/share/java/xml-apis.jar</foundJar>
54 <foundJar desc="apparent.version" name="xercesImpl.jar">xercesImpl.jar WARNING.present-unknown-version</foundJar>
55 <foundJar desc="path" name="xercesImpl.jar">/usr/share/java/xercesImpl.jar</foundJar>
56 <foundJar desc="apparent.version" name="serializer.jar">serializer.jar present-unknown-version</foundJar>
57 <foundJar desc="path" name="serializer.jar">/usr/share/java/serializer.jar</foundJar>
58 <foundJar desc="apparent.version" name="xsltc.jar">xsltc.jar present-unknown-version</foundJar>
59 <foundJar desc="path" name="xsltc.jar">/usr/share/java/xsltc.jar</foundJar>
60 <item key="version.SAX">2.0</item>
61 <item key="version.xalan2x">Xalan Java 2.7.1</item>
62 </environment>
63 <status result="OK"/>
64 </EnvironmentCheck>
65 </checkEnvironmentExtension>
66
67 == Java code execution ==
68
69 The following code will display the current date :
70
71 TODO
72
73 == Execution of external commands ==
74
75 The following code will execute the command "touch /tmp/hello" :
76
77 <?xml version="1.0"?>
78 <xsl:stylesheet xmlns:xsl="http:~/~/www.w3.org/1999/XSL/Transform"
79 xmlns:j="http:~/~/xml.apache.org/xalan/java"
80 exclude-result-prefixes="j"
81 version="1.0">
82 <xsl:template match="/">
83 <xsl:variable name="c"><![CDATA[touch = /tmp/hello]]></xsl:variable>
84 <xsl:variable name="a" select="j:split($c, ' = ')"/>
85 <xsl:variable name="r" select="j:java.lang.Runtime.getRuntime()"/>
86 <xsl:variable name="p" select="j:exec($r, $a )"/>
87 No content at the moment ...
88 </xsl:template>
89 </xsl:stylesheet>