Subject: Re: [xsl] XSLT 1.1 comments -Examples please From: David Carlisle <davidc@xxxxxxxxx> Date: Thu, 15 Feb 2001 13:01:41 GMT |
> 1. A usage illustrating portability. Say get and re-format the date > in ecmascript, which could also use a java extension, as per DC comment. > - Regularly asked for? Reasonably 'safe'. I just posted this off list to someone, may as well repost here (the actual method and class names don't work, but the basic principle I hope is clear) David If you have a web form on which you get a date in the local language settings and want to know if it is within a month of today, are you really going to write a recursive xslt extension function to do that or use a couple of lines to an extension language with built in locale aware date handling? More than anyone I've argued for the benefits of the functional approach, but I know which I would do. (Until XSLT n+1 when the feature gets added to XSLT) Using xsl:script you can implement a date:number-of-days-between(a,b) function that works for any XSLT 1.1 implementation that supports javascript or vbscript or java. I don't think you can do that in xslt 1.0 in any reasonable way. in xslt 1.1 you make date: point of at any unique URI and then give multiple xsl:script to bind that URI to date related methods in whatever target languages you are using. in XSLT 1.0 you have to make date: point to a URI that is an xsl engine specific prefix followed by a URI using the java class name, so it only works on one engine, not even all the java ones. xmlns:date="http://www.oracle.com.XSL/Transform/java/java.util.Date (if java.util.date had a method of that name, which it probably doesn't) This is what xsl:script is trying to avoid. It means I can use <xsl:value-of select="date:number-of-days-between($a,$b)"/> rather than the XSL 1.0 equivalent <xsl:choose> <xsl:when test="function-exists('xt:number-of-days-between')"> <xsl:value-of select="xt:number-of-days-between($a,$b)"/> </xsl:when> <xsl:when test="function-exists('saxon:number-of-days-between')"> <xsl:value-of select="saxon:number-of-days-between($a,$b)"/> </xsl:when> <xsl:when test="function-exists('xalan:number-of-days-between')"> <xsl:value-of select="xalan:number-of-days-between($a,$b)"/> </xsl:when> <xsl:when test="function-exists('msxsl:number-of-days-between')"> <xsl:value-of select="msxsl:number-of-days-between($a,$b)"/> </xsl:when> which is crazy, especialy given that the first three areeven using the same class, thus the same code, just specified differently. _____________________________________________________________________ This message has been checked for all known viruses by Star Internet delivered through the MessageLabs Virus Control Centre. For further information visit http://www.star.net.uk/stats.asp XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] XSLT 1.1 comments -Exampl, DPawson | Thread | Re: [xsl] XSLT 1.1 comments -Exampl, Uche Ogbuji |
Re: [xsl] To pass parameters to fun, Jeni Tennison | Date | RE: [xsl] XPath over DOM, Michael Kay |
Month |