Subject: [xsl] XSL processor version detection stylesheet with XSLT 2.0 properties From: Tony Graham <Tony.Graham@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon, 01 Oct 2007 10:17:32 +0100 |
The XSL processor detection stylesheet [1] referred to from the XSL-List Guidelines predates XSLT 2.0 by several years, so it doesn't use the additional system properties defined in XSLT 2.0 [2]. It also omits the 'xsl:version' system property, which at the time had only one possible value. The version below uses all the system properties defined in XSLT 2.0: ------------------------------------------------------------ <?xml version="1.0"?> <?xml-stylesheet href="processor-version.xsl" type="text/xsl"?> <!-- ============================================================= --> <!-- MODULE: XSL Processor Version Detection Stylesheet --> <!-- ============================================================= --> <html xsl:version="1.0" xmlns:msxsl="http://www.w3.org/TR/WD-xsl" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/TR/xhtml1/strict"> <head> <title>XSLT Processor Version</title> </head> <body> <xsl:choose> <xsl:when test="false()"> <msxsl:if test="."> <p>Vendor: Microsoft <br/>Processor version: Original IE5 (or old version of other processor)</p> </msxsl:if> </xsl:when> <xsl:otherwise> <msxsl:choose> <msxsl:when test="."> </msxsl:when> <msxsl:otherwise> <p>XSL version: <xsl:value-of select="system-property('xsl:version')"/></p> <p>Vendor: <xsl:value-of select="system-property('xsl:vendor')"/></p> <p>Vendor URL: <xsl:value-of select="system-property('xsl:vendor-url')"/></p> <p>Product name: <xsl:value-of select="system-property('xsl:product-name')"/></p> <p>Product version: <xsl:value-of select="system-property('xsl:product-version')"/></p> <p>Is schema-aware: <xsl:value-of select="system-property('xsl:is-schema-aware')"/></p> <p>Supports serialization: <xsl:value-of select="system-property('xsl:supports-serialization')"/></p> <p>Supports backwards compatibility: <xsl:value-of select="system-property('xsl:supports-backwards-compatibility')"/></p> </msxsl:otherwise> </msxsl:choose> </xsl:otherwise> </xsl:choose> </body> </html> ------------------------------------------------------------ Sample output from xsltproc: ------------------------------------------------------------ <?xml version="1.0"?> <html xmlns:msxsl="http://www.w3.org/TR/WD-xsl" xmlns="http://www.w3.org/TR/xhtml1/strict"><head><title>XSLT Processor Version</title></head><body><msxsl:choose><msxsl:when test="."/><msxsl:otherwise><p>XSL version: 1.0</p><p>Vendor: libxslt</p><p>Vendor URL: http://xmlsoft.org/XSLT/</p><p>Product name: </p><p>Product version: </p><p>Is schema-aware: </p><p>Supports serialization: </p><p>Supports backwards compatibility: </p></msxsl:otherwise></msxsl:choose></body></html> ------------------------------------------------------------ and from Saxon: ------------------------------------------------------------ <?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/TR/xhtml1/strict" xmlns:msxsl="http://www.w3.org/TR/WD-xsl"><head><title>XSLT Processor Version</title></head><body><msxsl:choose><msxsl:when test="."/><msxsl:otherwise><p>XSL version: 2.0</p><p>Vendor: SAXON 8.9.0.4 from Saxonica</p><p>Vendor URL: http://www.saxonica.com/</p><p>Product name: SAXON</p><p>Product version: 8.9.0.4</p><p>Is schema-aware: no</p><p>Supports serialization: yes</p><p>Supports backwards compatibility: yes</p></msxsl:otherwise></msxsl:choose></body></html> ------------------------------------------------------------ Regards, Tony Graham. ====================================================================== Tony.Graham@xxxxxxxxxxxxxxxxxxxxxx http://www.menteithconsulting.com Menteith Consulting Ltd Registered in Ireland - No. 428599 Registered Office: 13 Kelly's Bay Beach, Skerries, Co. Dublin, Ireland ---------------------------------------------------------------------- Menteith Consulting -- Understanding how markup works ====================================================================== [1] http://www.mulberrytech.com/xsl/xsl-list/processor-version.xsl [2] http://www.w3.org/TR/xslt20/#system-property
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] XSL-List Guidelines - changed, Mulberry Technologie | Thread | [xsl] Reading recursive from a list, Houman Khorasani |
[xsl] XSL-List Guidelines - changed, Mulberry Technologie | Date | [xsl] Reading recursive from a list, Houman Khorasani |
Month |