[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XSLT 2.0 WD
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 xxx:node-set(). The other new functions, operators and expressions that it adds which give the same kind of functionality as existing extension functions are: - xf:base-uri() -- roughly equivalent to saxon:systemId(), xalan: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 ms:local-name() - xf:get-namespace-uri-from-QName() -- roughly equivalent to ms:namespace-uri() - xf:distinct-values() -- roughly equivalent to saxon:distinct(), set:distinct() - op:intersect() -- roughly equivalent to saxon:intersection(), set:intersection() - op:except() -- roughly equivalent to saxon:difference(), set: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(), ms:schema-info-available() - 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 think 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(). Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ 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
|