Subject: Re: [xsl] in search for more elegant XPaths From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 22 Apr 2009 14:16:21 +0100 |
> I very often testing for element nodes that have character content with > *[string-length(normalize-space(.))>0] No need to work out the length (which can be surprisingly costly for general unicode strings) you can just do *[normalize-space(.)] as the predicate is true if teh string is non empty. (Although I have a feeling saxon for example does that rewrite for you anyway, so it may make no difference.) > <xsl:text> You haven't specified a return type for ypur fuction but if it's intended to be a string declaring it as as="xs:string" and using <xsl:sequence select="'sozial'"/> rather than <xsl:text>sozial</xsl:text> saves the cost of building a text node. <xsl:function name="ln:getCaseType" as="xs:string> <xsl:param name="case" as="element()"/> <xsl:choose> <xsl:when test="matches(.,'^[LB]?SG')"> <xsl:sequence select="'sozial'"/> </xsl:when> <xsl:when test="matches(.,'^[LB]?A(rb)?G')"> <xsl:sequence select="'arbeit'"/> </xsl:when> Those regex are a bit more lax than your tests but they need not be. David ________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] in search for more elegan, Dimitre Novatchev | Thread | AW: [xsl] in search for more elegan, Huditsch, Roman \(LN |
Re: [xsl] grouping problem, M Balaji | Date | AW: [xsl] in search for more elegan, Huditsch, Roman \(LN |
Month |