Changes for page Engine_XalanJ

Last modified by Nicolas Gregoire on 2012/01/31 17:35

From version Icon 35.1 Icon
edited by Nicolas Gregoire
on 2012/01/11 23:21
Change comment: There is no comment for this version
To version Icon 15.1 Icon
edited by Nicolas Gregoire
on 2012/01/08 19:45
Change comment: There is no comment for this version

Summary

Details

Icon Page properties
Content
... ... @@ -1,21 +1,14 @@
1 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 2  
3 3  
4 -== Supported version ==
4 +Supported XSLT version : 1.0
5 5  
6 -1.0
7 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 14  == Identification strings ==
15 15  
16 -|=xsl:vendor-url|http:~/~/xml.apache.org/xalan-j
17 -|=xsl:vendor|Apache Software Foundation
18 -|=xsl:version|1.0
9 +| xsl:vendor-url|http:~/~/xml.apache.org/xalan-j
10 +| xsl:vendor|Apache Software Foundation
11 +| xsl:version|1.0
19 19  
20 20  == Special features ==
21 21  
... ... @@ -22,32 +22,68 @@
22 22  * File creation
23 23  * Code execution
24 24  * JDBC connectivity
25 -* Java properties disclosure
26 -* Java environment disclosure
18 +* Java properties
19 +* CheckEnv()
27 27  
28 -== Java properties disclosure ==
21 +== CheckEnv() ==
29 29  
30 -The xsl:system-property() standard function can be called with non standard arguments, mapped to Java properties.
23 +The following code will display some information about the execution context :
31 31  
32 -|=Namespace|=Extension function|=PoC|=Sample output
33 -|http:~/~/xml.apache.org/xalan|checkEnvironment()|[[xalanj-checkenv.xsl>>attach:xalanj-checkenv.xsl]]|[[xalanj-checkenv-output.txt>>attach:xalanj-checkenv-output.txt]]
25 +[[checkenv.xsl>>attach:checkenv.xsl]]
34 34  
35 -== Java environment disclosure ==
27 +TODO
36 36  
37 -The checkEnvironment() extension function (documented [[here>>http://xml.apache.org/xalan-j/faq.html#faq-N10064||rel="__blank"]]) will display some information about the execution context (packages, paths, versions, ...).
29 +=== Code ===
38 38  
39 -|=Namespace|=Extension function|=PoC|=Sample output
40 -|http:~/~/xml.apache.org/xalan|checkEnvironment()|[[xalanj-checkenv.xsl>>attach:xalanj-checkenv.xsl]]|[[xalanj-checkenv-output.txt>>attach:xalanj-checkenv-output.txt]]
31 +##<?xml version="1.0"?>
32 +<xsl:stylesheet xmlns:xsl="http:~/~/www.w3.org/1999/XSL/Transform"
33 + xmlns:xalan="http:~/~/xml.apache.org/xalan"
34 + exclude-result-prefixes="xalan"
35 + version="1.0">##
41 41  
42 -== Java code execution ==
43 43  
44 -The attached code will display the current date using a newly created "java.util.Date" object. This should be enough to demonstrate Java code execution.
38 + <xsl:output indent="yes"/>
39 + <xsl:template match="/">
40 + (% style="color:red" %)<xsl:copy-of select="xalan:checkEnvironment()"/>
45 45  
42 + </xsl:template>
43 +\\</xsl:stylesheet>
46 46  
47 -|=Namespace|=Extension function|=PoC|=Sample output
48 -|http:~/~/xml.apache.org/xalan/java/java.util.Date|new()|[[xalanj-java-date.xsl>>attach:xalanj-java-date.xsl]]|Current date:
49 -Wed Jan 11 22:45:07 CET 2012
45 +=== Output ===
50 50  
47 +<?xml version="1.0" encoding="UTF-8"?><checkEnvironmentExtension>
48 +<EnvironmentCheck version="$Revision$">
49 +<environment>
50 +<item key="version.DOM.draftlevel">2.0fd</item>
51 +<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>
52 +<item key="version.JAXP">1.1 or higher</item>
53 +<item key="java.ext.dirs">/usr/lib/jvm/java-6-openjdk/jre/lib/ext:/usr/java/packages/lib/ext</item>
54 +<item key="version.xerces2">Xerces-J 2.9.1</item>
55 +<item key="version.xerces1">not-present</item>
56 +<item key="version.xalan2_2">Xalan Java 2.7.1</item>
57 +<item key="version.xalan1">not-present</item>
58 +<item key="version.ant">not-present</item>
59 +<item key="java.version">1.6.0_20</item>
60 +<item key="version.DOM">2.0</item>
61 +<item key="version.crimson">not-present</item>
62 +<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>
63 +<foundJar desc="apis.jar-apparent.version" name="xml">xml-apis.jar present-unknown-version</foundJar>
64 +<foundJar desc="apis.jar-path" name="xml">/usr/share/java/xml-apis.jar</foundJar>
65 +<foundJar desc="apparent.version" name="xercesImpl.jar">xercesImpl.jar WARNING.present-unknown-version</foundJar>
66 +<foundJar desc="path" name="xercesImpl.jar">/usr/share/java/xercesImpl.jar</foundJar>
67 +<item key="version.SAX">2.0</item>
68 +<item key="version.xalan2x">Xalan Java 2.7.1</item>
69 +</environment>
70 +<status result="OK"/>
71 +</EnvironmentCheck>
72 +</checkEnvironmentExtension>
73 +
74 +== Java code execution ==
75 +
76 +The following code will display the current date :
77 +
78 +TODO
79 +
51 51  == Execution of external commands ==
52 52  
53 53  The following code will execute the command "touch /tmp/hello" :
Icon xalanj-checkenv-output.txt
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.NicolasGregoire
Size
... ... @@ -1,1 +1,0 @@
1 -2.5 KB
Content
... ... @@ -1,31 +1,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?><checkEnvironmentExtension>
2 - <EnvironmentCheck version="$Revision$">
3 - <environment>
4 - <item key="version.DOM.draftlevel">2.0fd</item>
5 - <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>
6 - <item key="version.JAXP">1.1 or higher</item>
7 - <item key="java.ext.dirs">/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/ext:/usr/java/packages/lib/ext</item>
8 - <item key="version.xerces2">Xerces-J 2.9.1</item>
9 - <item key="version.xerces1">not-present</item>
10 - <item key="version.xalan2_2">Xalan Java 2.7.1</item>
11 - <item key="version.xalan1">not-present</item>
12 - <item key="version.ant">not-present</item>
13 - <item key="java.version">1.6.0_26</item>
14 - <item key="version.DOM">2.0</item>
15 - <item key="version.crimson">not-present</item>
16 - <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>
17 - <foundJar desc="apis.jar-apparent.version" name="xml">xml-apis.jar present-unknown-version</foundJar>
18 - <foundJar desc="apis.jar-path" name="xml">/usr/share/java/xml-apis.jar</foundJar>
19 - <foundJar desc="apparent.version" name="xercesImpl.jar">xercesImpl.jar WARNING.present-unknown-version</foundJar>
20 - <foundJar desc="path" name="xercesImpl.jar">/usr/share/java/xercesImpl.jar</foundJar>
21 - <foundJar desc="apparent.version" name="serializer.jar">serializer.jar present-unknown-version</foundJar>
22 - <foundJar desc="path" name="serializer.jar">/usr/share/java/serializer.jar</foundJar>
23 - <foundJar desc="apparent.version" name="xsltc.jar">xsltc.jar present-unknown-version</foundJar>
24 - <foundJar desc="path" name="xsltc.jar">/usr/share/java/xsltc.jar</foundJar>
25 - <item key="version.SAX">2.0</item>
26 - <item key="version.xalan2x">Xalan Java 2.7.1</item>
27 - </environment>
28 - <status result="OK"/>
29 - </EnvironmentCheck>
30 -</checkEnvironmentExtension>
31 -
Icon xalanj-checkenv.xsl
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.NicolasGregoire
Size
... ... @@ -1,1 +1,0 @@
1 -310 bytes
Content
... ... @@ -1,11 +1,0 @@
1 -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
2 - xmlns:xalan="http://xml.apache.org/xalan"
3 - version="1.0">
4 -
5 - <xsl:output method="xml" indent="yes" xalan:indent-amount="4"/>
6 - <xsl:template match="/">
7 - <xsl:copy-of select="xalan:checkEnvironment()"/>
8 - </xsl:template>
9 -
10 -</xsl:stylesheet>
11 -
Icon checkenv.xsl
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.NicolasGregoire
Size
... ... @@ -1,0 +1,1 @@
1 +324 bytes
Content
... ... @@ -1,0 +1,14 @@
1 +<?xml version="1.0"?>
2 +
3 +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 + xmlns:xalan="http://xml.apache.org/xalan"
5 + exclude-result-prefixes="xalan"
6 + version="1.0">
7 +
8 + <xsl:output indent="yes"/>
9 + <xsl:template match="/">
10 + <xsl:copy-of select="xalan:checkEnvironment()"/>
11 + </xsl:template>
12 +
13 +</xsl:stylesheet>
14 +