[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: node-set() function in MSXML?
| If MSXML complied with the standard, I would be able to write a | stylesheet that uses fallbacks to invoke the appropriate node-set() function | based on which processor was being used. But since MSXML is not compliant, | I can't write a stylesheet that will work for it and for a compliant | processor. At least that's my understanding at this point. Not the most elegant in the world, but this stylesheet is a tweaked example of my earlier one that works on both MSXSL3 and OracleXSL. Similar strategy could be used for adding compatibility with other engines like Saxon, XT, Xalan, etc. <test xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ora="http://www.oracle.com/XSL/Transform/java/" xsl:exclude-result-prefixes="ora"> <xsl:variable name="x"> <a> <b>one</b> <b>two</b> </a> </xsl:variable> <xsl:variable name="vendor" select="system-property('xsl:vendor')"/> <xsl:choose> <!-- Let MSXSL3 coerce RTF in $x to nodeset --> <xsl:when test="contains($vendor,'Microsoft')"> <xsl:for-each select="$x/a/b"> <c><xsl:value-of select="."/></c> </xsl:for-each> </xsl:when> <!-- Use built-in ora:node-set() extension function --> <xsl:when test="contains($vendor,'Oracle')"> <xsl:for-each select="ora:node-set($x)/a/b"> <c><xsl:value-of select="."/></c> </xsl:for-each> </xsl:when> </xsl:choose> </test> ______________________________________________________________ Steve Muench, Lead XML Evangelist & Consulting Product Manager BC4J & XSQL Servlet Development Teams, Oracle Rep to XSL WG Author "Building Oracle XML Applications", O'Reilly http://www.oreilly.com/catalog/orxmlapp/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|