xsl-list
[Top] [All Lists]

RE: Exsl functions in xslt 2

2004-01-19 09:26:42
Saxon 7.8 doesn't support exslt:function. XSLT 2.0 would allow a
processor to support it, but it's the implementation's choice. The
reason I removed it was that it was just too complicated to maintain it
in parallel with the standard xsl:function declaration.

Michael Kay


-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Andrew Welch
Sent: 19 January 2004 14:06
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Exsl functions in xslt 2



Hi all,

Recently DC came up with a very neat solution to get around 
using function-available all over the place in a stylesheet 
that needed to be portable between Saxon and MSXML

For those that missed it, it was this:

<xsl:stylesheet version="1.0"   
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  xmlns:exslt="http://exslt.org/common";
  xmlns:exsltf="http://exslt.org/functions";
  xmlns:msxsl="urn:schemas-microsoft-com:xslt"
  extension-element-prefixes="exslt exsltf  msxsl"> 

<xsl:variable name="x"> 
  <foo> 
   <bar>hello world</bar> 
  </foo> 
</xsl:variable> 

<exsltf:function name="msxsl:node-set"> 
  <xsl:param name="x"/> 
  <exsltf:result select="exslt:node-set($x)"/> 
</exsltf:function> 

<xsl:template match="/"> 
  <xsl:value-of select="msxsl:node-set($x)//bar)"/>
</xsl:template> 

</xsl:stylesheet>

(MSXML will use msxsl:node-set directly, Saxon will use the
exsltf:node-set)

This is great and works well for Saxon 6.5.3 and MSXML 4.  
However, I would also like it to work with Saxon 7.8 - could 
someone with xslt 2.0 experience let me know if its possible 
to have this kind of solution work for Saxon 7.8 and MSXML4 
(Saxon 7.8 currently complains... as I believe functions are 
built into 2.0)?

The history is that the app Im writing for uses Saxon 7.8, 
and there is a requirement to view transforms outside of the 
app using MSXML4.  If possible, it would be best to add this 
functionality in the stylesheets, rather than alter the code 
for the app.  

Thanks for any suggestions,

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



<Prev in Thread] Current Thread [Next in Thread>