Changes for page Reconnaissance

Last modified by Nicolas Gregoire on 2012/02/03 14:52

From version 1.1 Icon
edited by Nicolas Gregoire
on 2012/01/10 14:47
Change comment: There is no comment for this version
To version Icon 8.1 Icon
edited by Nicolas Gregoire
on 2012/01/15 00:21
Change comment: There is no comment for this version

Summary

Details

Icon Page properties
Tags
... ... @@ -1,0 +1,1 @@
1 +recon|fingerprint|system-property
Content
... ... @@ -1,6 +1,6 @@
1 1  XSLT standards define several properties about the XSLT engine itself. Querying for these properties allows to easily identify the engine.
2 2  
3 -=== XSLT 1.0 ===
3 +== XSLT 1.0 ==
4 4  
5 5  The function [[system-property()>>http://www.w3.org/TR/xslt#function-system-property||rel="__blank"]] supports by default the following properties :
6 6  
... ... @@ -8,6 +8,16 @@
8 8  * xsl:vendor : a string identifying the vendor of the XSLT processor
9 9  * xsl:vendor-url : a URL identifying the vendor of the XSLT processor (typically its Web site)
10 10  
11 +The attached stylesheet [[recon-xslt10.xsl>>attach:recon-xslt10.xsl]] fingerprints a XSLT 1.0 engine :
12 +{{code language="xml"}}<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
13 +<xsl:output method="text"/>
14 +<xsl:template match="/">
15 +Version : <xsl:value-of select="system-property('xsl:version')" />
16 +Vendor : <xsl:value-of select="system-property('xsl:vendor')" />
17 +Vendor URL : <xsl:value-of select="system-property('xsl:vendor-url')" />
18 +</xsl:template>
19 +</xsl:stylesheet>{{/code}}
20 +
11 11  == XSLT 2.0 ==
12 12  
13 13  
... ... @@ -15,10 +15,27 @@
15 15  
16 16  * xsl:product-name : a string containing the name of the implementation, as defined by the implementer
17 17  * xsl:product-version : a string identifying the version of the implementation, as defined by the implementer
18 -* xsl:is-schema-aware : returns the string "yes" in the case of a schema-aware XSLT processor, or "no" otherwise
19 -* xsl:supports-serialization : returns the string "yes" in the case of a processor that offers the serialization feature, or "no" otherwise
20 -* xsl:supports-backwards-compatibility : returns the string "yes" in the case of a processor that offers the backwards compatibility feature, or "no" otherwise
28 +* xsl:is-schema-aware : returns "yes" if the XSLT processor is schema-aware, or "no" otherwise
29 +* xsl:supports-serialization : returns "yes" if the XSLT processor offers this feature, or "no" otherwise
30 +* xsl:supports-backwards-compatibility : returns "yes" if the XSLT processor offers this feature, or "no" otherwise
21 21  
22 -
32 + The attached stylesheet [[recon-xslt20.xsl>>attach:recon-xslt20.xsl]] fingerprints a XSLT 2.0 engine.
23 23  
34 +== Supported features ==
24 24  
36 +The XSLT standards define two additional functions used to enumerate the available features :
37 +
38 +* function-available()
39 +* element-available()
40 +
41 +This [[stylesheet>>http://www.xmlplease.com/element-function-available.xsl||rel="__blank"]] uses these functions to test the availability of :
42 +
43 +* XSLT and XPath functions
44 +
45 +* XSLT elements
46 +
47 +* Saxon extensions
48 +
49 +* EXSLT extensions
50 +
51 +TODO : include my own example !
Icon recon-xslt10.xsl
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.NicolasGregoire
Size
... ... @@ -1,0 +1,1 @@
1 +372 bytes
Content
... ... @@ -1,0 +1,9 @@
1 +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
2 +<xsl:output method="text"/>
3 +<xsl:template match="/">
4 +Version : <xsl:value-of select="system-property('xsl:version')" />
5 +Vendor : <xsl:value-of select="system-property('xsl:vendor')" />
6 +Vendor URL : <xsl:value-of select="system-property('xsl:vendor-url')" />
7 +</xsl:template>
8 +</xsl:stylesheet>
9 +
Icon recon-xslt20.xsl
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.NicolasGregoire
Size
... ... @@ -1,0 +1,1 @@
1 +816 bytes
Content
... ... @@ -1,0 +1,14 @@
1 +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
2 +<xsl:output method="text"/>
3 +<xsl:template match="/">
4 +Version : <xsl:value-of select="system-property('xsl:version')" />
5 +Vendor : <xsl:value-of select="system-property('xsl:vendor')" />
6 +Vendor URL : <xsl:value-of select="system-property('xsl:vendor-url')" />
7 +Product Name : <xsl:value-of select="system-property('xsl:product-name')" />
8 +Product Version : <xsl:value-of select="system-property('xsl:product-version')" />
9 +Is Schema Aware : <xsl:value-of select="system-property('xsl:is-schema-aware')" />
10 +Supports Serialization : <xsl:value-of select="system-property('xsl:supports-serialization')" />
11 +Backward Compatible : <xsl:value-of select="system-property('xsl:supports-backwards-compatibility')" />
12 +</xsl:template>
13 +</xsl:stylesheet>
14 +