Re: [xsl] XSLT 2.0 WD

Subject: Re: [xsl] XSLT 2.0 WD
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Fri, 1 Nov 2002 10:09:13 +0000
Hi Jarkko,

> Is there other implications of extensions or processor functions
> that this 2.0 version will implement?

As you've noted, XSLT 2.0 gets rid of the requirement for

The other new functions, operators and expressions that it adds which
give the same kind of functionality as existing extension functions

 - xf:base-uri() -- roughly equivalent to saxon:systemId(),

 - xf:compare() -- roughly equivalent to ms:string-compare()

 - xf:string-pad() -- roughly equivalent to str:padding()

 - xf:matches() -- roughly equivalent to regexp:match()

 - xf:replace() -- roughly equivalent to regexp:replace()

 - xf:tokenize() -- roughly equivalent to saxon:tokenize(),
   xalan:tokenize(), str:tokenize()

 - xf:escape-uri() -- roughly equivalent to str:encode-uri()

 - a whole bunch of date/time/duration-related functions that can do
   some of the same stuff as the EXSLT Dates and Times module and the
   MSXML4 date/time-related extensions (though not things like
   formatting or parsing dates at the moment, though that should come,
   since it's on the requirements for XSLT)

 - xf:get-local-name-from-QName() -- roughly equivalent to

 - xf:get-namespace-uri-from-QName() -- roughly equivalent to

 - xf:distinct-values() -- roughly equivalent to saxon:distinct(),

 - op:intersect() -- roughly equivalent to saxon:intersection(),

 - op:except() -- roughly equivalent to saxon:difference(),

 - xf:max() -- roughly equivalent to saxon:max(), math:max()

 - xf:min() -- roughly equivalent to saxon:min(), math:min()

 - methods of selecting elements based on their type, which provides
   roughly the same functionality as ms:type-is(),
   ms:type-local-name(), ms:type-namespace-uri(),

 - if expressions -- roughly equivalent to saxon:if()

 - exists expressions -- roughly equivalent to saxon:exists()

 - every expressions -- roughly equivalent to saxon:forAll()

 - op:to() -- roughly equivalent to saxon:range()

 - >> and << operators -- gives the same functionality as
   saxon:before()/set:leading() and saxon:after()/set:trailing(), I
XSLT 2.0 also introduces some elements that are equivalent to
extensions defined elsewhere:

 - xsl:function -- roughly equivalent to saxon:function, func:function

 - xsl:for-each-group -- roughly equivalent to saxon:group

 - xsl:result-document -- roughly equivalent to saxon:output,
   exsl:document and what was xsl:document in XSLT 1.1

There are functions that XPath 2.0 declares that haven't been
implemented as extension functions before. These are mostly to do with
sequence manipulation (XPath 1.0 doesn't have many sequences, so
there's not much call for such functions). There are also functions
that are extensions in various products but that aren't in XPath 2.0.
As you pointed out, probably the most common of those is
xxx:evaluate(). Also missing are mathematical functions such as
math:sqrt(), math:power() or math:sin().



Jeni Tennison

 XSL-List info and archive:

Current Thread