|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Portability function-available tips
Two other suggestions for how to tackle this: (a) put the processor-dependent code in an external XML entity, and use an EntityResolver to bring in the right version of the external entity at stylesheet compile-time. (b) write a processor-dependent stylesheet overlay that imports the main logic of the stylesheet and overrides the processor-specific parts (for example, the global variable "foo" in your example below). Use this overlay as the nominated stylesheet for your transformation. Michael Kay > > As an example, I currently build a temporary tree and convert it to a > node-set: > > <xsl:variable name="foo-rtf"> > <xsl:apply-templates mode="build"/> > </xsl:variable> > <xsl:variable name="foo" select="exsl:node-set($foo-rtf)"/> > > I then use that variable in several places by using: > > <xsl:for-each select="$foo"> > <xsl:apply-templates/> > </xsl:for-each> > > The only way I can see of making the stylesheet portable is > to replace all occurances of the above for-each, with this > choose/when: > > <xsl:choose> > <xsl:when test="function-available(msxml:node-set)"> > <xsl:for-each select="msxml:node-set($foo-rtf)"> > <xsl:call-template name="foo-template"/> > </xsl:for-each> > </xsl:when> > <xsl:when test="function-available(exsl:node-set)"> > <xsl:for-each select="exsl:node-set($foo-rtf)"> > <xsl:call-template name="foo-template"/> > </xsl:for-each> > </xsl:when> > <xsl:otherwise> > <xsl:call-template name="error"/> > </xsl:otherwise> > </xsl:choose> > > Not only that, but to avoid code duplication I need to > separate out the body of the for-each into a named template - > which is even more code. > > How can I integrate the msxml:script idea to avoid using > function-available? > > (ps is this the way that everyone keeps there stylesheet portable?) > > cheers > andrew > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > 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
|

Cart








