Wiki source code of Engine_XalanJ

Version 21.1 by Nicolas Gregoire on 2012/01/10 11:48

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 following code will display some information about the execution context :
31
32 [[checkenv.xsl>>attach:checkenv.xsl]]
33
34 TODO
35
36 === Code ===
37
38 ##<?xml version="1.0"?>
39 <xsl:stylesheet xmlns:xsl="http:~/~/www.w3.org/1999/XSL/Transform"
40 xmlns:xalan="http:~/~/xml.apache.org/xalan"
41 exclude-result-prefixes="xalan"
42 version="1.0">##
43
44 <xsl:output indent="yes"/>
45 <xsl:template match="/">
46 (% style="color:red" %)<xsl:copy-of select="xalan:checkEnvironment()"/>
47
48 </xsl:template>
49 \\</xsl:stylesheet>
50
51 === Output ===
52
53 <?xml version="1.0" encoding="UTF-8"?><checkEnvironmentExtension>
54 <EnvironmentCheck version="$Revision$">
55 <environment>
56 <item key="version.DOM.draftlevel">2.0fd</item>
57 <item key="java.class.path">:/usr/share/java/xalan2.jar:/usr/share/java/xml-apis.jar:/usr/share/java/xercesImpl.jar:/usr/share/java/xalan25.jar:/usr/share/java/bsf-2.4.0.jar</item>
58 <item key="version.JAXP">1.1 or higher</item>
59 <item key="java.ext.dirs">/usr/lib/jvm/java-6-openjdk/jre/lib/ext:/usr/java/packages/lib/ext</item>
60 <item key="version.xerces2">Xerces-J 2.9.1</item>
61 <item key="version.xerces1">not-present</item>
62 <item key="version.xalan2_2">Xalan Java 2.7.1</item>
63 <item key="version.xalan1">not-present</item>
64 <item key="version.ant">not-present</item>
65 <item key="java.version">1.6.0_20</item>
66 <item key="version.DOM">2.0</item>
67 <item key="version.crimson">not-present</item>
68 <item key="sun.boot.class.path">/usr/lib/jvm/java-6-openjdk/jre/lib/resources.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/jsse.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/jce.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/charsets.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/netx.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/plugin.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/rhino.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/modules/jdk.boot.jar:/usr/lib/jvm/java-6-openjdk/jre/classes</item>
69 <foundJar desc="apis.jar-apparent.version" name="xml">xml-apis.jar present-unknown-version</foundJar>
70 <foundJar desc="apis.jar-path" name="xml">/usr/share/java/xml-apis.jar</foundJar>
71 <foundJar desc="apparent.version" name="xercesImpl.jar">xercesImpl.jar WARNING.present-unknown-version</foundJar>
72 <foundJar desc="path" name="xercesImpl.jar">/usr/share/java/xercesImpl.jar</foundJar>
73 <item key="version.SAX">2.0</item>
74 <item key="version.xalan2x">Xalan Java 2.7.1</item>
75 </environment>
76 <status result="OK"/>
77 </EnvironmentCheck>
78 </checkEnvironmentExtension>
79
80 == Java code execution ==
81
82 The following code will display the current date :
83
84 TODO
85
86 == Execution of external commands ==
87
88 The following code will execute the command "touch /tmp/hello" :
89
90 <?xml version="1.0"?>
91 <xsl:stylesheet xmlns:xsl="http:~/~/www.w3.org/1999/XSL/Transform"
92 xmlns:j="http:~/~/xml.apache.org/xalan/java"
93 exclude-result-prefixes="j"
94 version="1.0">
95 <xsl:template match="/">
96 <xsl:variable name="c"><![CDATA[touch = /tmp/hello]]></xsl:variable>
97 <xsl:variable name="a" select="j:split($c, ' = ')"/>
98 <xsl:variable name="r" select="j:java.lang.Runtime.getRuntime()"/>
99 <xsl:variable name="p" select="j:exec($r, $a )"/>
100 No content at the moment ...
101 </xsl:template>
102 </xsl:stylesheet>