[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Portability function-available tips

Subject: RE: Portability function-available tips
From: "Andrew Welch" <AWelch@xxxxxxxxxxxxxxx>
Date: Fri, 9 Jan 2004 09:50:43 -0000
msxml exsl
> > Dimitre has a version of msxml that supports exsl,
> > alternatively I believe you can put in an msxsl script 
> > element that will be ignored by other processors but which 
> > implements exsl:node-set (essentially just needs to be an 
> > identity function)
> > 
> > David
> 
> Ahhh excellent - exactly the kind of thing I was looking for, 
> thanks David

Hmmm, maybe it wasn't :)

Or at least, I can't see how to take advantage of it.

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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.