Subject: RE: [xsl] XSLT function optimization - datetime comparisons? From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 22 Sep 2005 12:39:37 +0100 |
The reason it doesn't work in Xalan is that xsl:function is an XSLT 2.0 construct, and Xalan doesn't support XSLT 2.0. It's probably marginally faster to use Saxon's native dateTime support, but I doubt it makes a very big difference: <xsl:function name="my:compDate" as="xs:boolean"> <xsl:param name="dt_a" as="xs:string" /> <xsl:param name="dt_b" as="xs:string" /> <xsl:sequence select="xs:dateTime(dt_a) gt xs:dateTime(dt_b)"/> </xsl:function> This isn't 100% identical, for example Saxon will throw a wobbly if the date is 2005-02-29. Note that you could use the <xsl:sequence select="(boolean expression)"/> in your version as well. Also, you could get rid of all three punctuation characters in a single call on translate. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Jeffrey Schrab [mailto:jschrab@xxxxxxxxxxxx] > Sent: 21 September 2005 20:53 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] XSLT function optimization - datetime comparisons? > > I don't profess to be well seasoned in XSLT. Simply put I > have a function that I call an awful lot in stylesheet. I'm > wondering if I'm being very inefficient about how it's coded. > Does anyone have any comments how best to do the comparison > that I'm doing below for datetimes of the form YYYY-MM-DDTHH:MM:SS ? > > I'm using Saxon - I found that Xalan (2.7) just couldn't do > this sort of thing for reasons I don't understand to this day. > > > <xsl:function name="my:compDate" as="xs:boolean"> > <xsl:param name="dt_a" as="xs:string" /> > <xsl:param name="dt_b" as="xs:string" /> > <xsl:choose> > <xsl:when test=" > xs:integer(translate(translate(translate($dt_a,'-',''),'T','') > ,':','')) gt > xs:integer(translate(translate(translate($dt_b,'-',''),'T','') > ,':',''))"> > <xsl:copy-of select="true()"/> > </xsl:when> > <xsl:otherwise> > <xsl:copy-of select="false()"/> > </xsl:otherwise> > </xsl:choose> > </xsl:function> > > -- > Jeffrey Schrab > Internet Application Developer > > GS Design > 6665 N. Sidney Place > Milwaukee, WI 53209 > > P: 414.228.9666 > F: 414.228.9652 > E: jschrab@xxxxxxxxxxxx http://www.gsdesign.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSLT function optimizatio, Christopher R. Maden | Thread | RE: [xsl] XSLT function optimizatio, cknell |
Re: [xsl] Strict sequential identit, Colin Paul Adams | Date | RE: [xsl] Strict sequential identit, Michael Kay |
Month |