Wiki source code of Reconnaissance

Version 10.1 by Nicolas Gregoire on 2012/01/15 00:23

Show last authors
1 XSLT standards define several properties about the XSLT engine itself. Querying for these properties allows to easily identify the engine.
2
3 == XSLT 1.0 ==
4
5 The function [[system-property()>>http://www.w3.org/TR/xslt#function-system-property||rel="__blank"]] supports by default the following properties :
6
7 * xsl:version : a number giving the version of XSLT implemented by the processor
8 * xsl:vendor : a string identifying the vendor of the XSLT processor
9 * xsl:vendor-url : a URL identifying the vendor of the XSLT processor (typically its Web site)
10
11 The attached stylesheet [[recon-xslt10.xsl>>attach:recon-xslt10.xsl]] fingerprints a XSLT 1.0 engine :
12 {{code}}<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
21 == XSLT 2.0 ==
22
23
24 This version supports some [[additional>>http://www.w3.org/TR/xslt20/#system-property||rel="__blank"]] properties :
25
26 * xsl:product-name : a string containing the name of the implementation, as defined by the implementer
27 * xsl:product-version : a string identifying the version of the implementation, as defined by the implementer
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
31
32 The attached stylesheet [[recon-xslt20.xsl>>attach:recon-xslt20.xsl]] fingerprints a XSLT 2.0 engine.
33
34 == Supported features ==
35
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 !