Wiki source code of Engine_XalanJ

Version 20.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
9 == Command line ==
10
11 $> java org.apache.xalan.xslt.Process -in foo.xml -xsl foo.xsl
12
13 __Note__ : xml-apis.jar, xercesImpl.jar and xalan*.jar must be in the $CLASSPATH
14
15 == Identification strings ==
16
17 | xsl:vendor-url|http:~/~/xml.apache.org/xalan-j
18 | xsl:vendor|Apache Software Foundation
19 | xsl:version|1.0
20
21 == Special features ==
22
23 * File creation
24 * Code execution
25 * JDBC connectivity
26 * Java properties
27 * CheckEnv()
28
29 == CheckEnv() ==
30
31 The following code will display some information about the execution context :
32
33 [[checkenv.xsl>>attach:checkenv.xsl]]
34
35 TODO
36
37 === Code ===
38
39 ##<?xml version="1.0"?>
40 <xsl:stylesheet xmlns:xsl="http:~/~/www.w3.org/1999/XSL/Transform"
41 xmlns:xalan="http:~/~/xml.apache.org/xalan"
42 exclude-result-prefixes="xalan"
43 version="1.0">##
44
45 <xsl:output indent="yes"/>
46 <xsl:template match="/">
47 (% style="color:red" %)<xsl:copy-of select="xalan:checkEnvironment()"/>
48
49 </xsl:template>
50 \\</xsl:stylesheet>
51
52 === Output ===
53
54 <?xml version="1.0" encoding="UTF-8"?><checkEnvironmentExtension>
55 <EnvironmentCheck version="$Revision$">
56 <environment>
57 <item key="version.DOM.draftlevel">2.0fd</item>
58 <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>
59 <item key="version.JAXP">1.1 or higher</item>
60 <item key="java.ext.dirs">/usr/lib/jvm/java-6-openjdk/jre/lib/ext:/usr/java/packages/lib/ext</item>
61 <item key="version.xerces2">Xerces-J 2.9.1</item>
62 <item key="version.xerces1">not-present</item>
63 <item key="version.xalan2_2">Xalan Java 2.7.1</item>
64 <item key="version.xalan1">not-present</item>
65 <item key="version.ant">not-present</item>
66 <item key="java.version">1.6.0_20</item>
67 <item key="version.DOM">2.0</item>
68 <item key="version.crimson">not-present</item>
69 <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>
70 <foundJar desc="apis.jar-apparent.version" name="xml">xml-apis.jar present-unknown-version</foundJar>
71 <foundJar desc="apis.jar-path" name="xml">/usr/share/java/xml-apis.jar</foundJar>
72 <foundJar desc="apparent.version" name="xercesImpl.jar">xercesImpl.jar WARNING.present-unknown-version</foundJar>
73 <foundJar desc="path" name="xercesImpl.jar">/usr/share/java/xercesImpl.jar</foundJar>
74 <item key="version.SAX">2.0</item>
75 <item key="version.xalan2x">Xalan Java 2.7.1</item>
76 </environment>
77 <status result="OK"/>
78 </EnvironmentCheck>
79 </checkEnvironmentExtension>
80
81 == Java code execution ==
82
83 The following code will display the current date :
84
85 TODO
86
87 == Execution of external commands ==
88
89 The following code will execute the command "touch /tmp/hello" :
90
91 <?xml version="1.0"?>
92 <xsl:stylesheet xmlns:xsl="http:~/~/www.w3.org/1999/XSL/Transform"
93 xmlns:j="http:~/~/xml.apache.org/xalan/java"
94 exclude-result-prefixes="j"
95 version="1.0">
96 <xsl:template match="/">
97 <xsl:variable name="c"><![CDATA[touch = /tmp/hello]]></xsl:variable>
98 <xsl:variable name="a" select="j:split($c, ' = ')"/>
99 <xsl:variable name="r" select="j:java.lang.Runtime.getRuntime()"/>
100 <xsl:variable name="p" select="j:exec($r, $a )"/>
101 No content at the moment ...
102 </xsl:template>
103 </xsl:stylesheet>