Subject: Re: [xsl] xsl:when element test with number From: David Carlisle <davidc@xxxxxxxxx> Date: Fri, 24 Oct 2003 14:54:14 +0100 |
> <xsl:when test="name(.)='my_element'>...</xsl:when> It's generally better (and much safer if namespaces are around) to go <xsl:when test="self::my_element>...</xsl:when> name() returns an essentially arbitrary result in XSLT. The system may choose an arbitrary prefix unrelated to any prefix in the source if the element is in a namespace. However for you later tests you have to use something like name() but in that case I would use local-name() as that at least has a defined result. Jeni's famous test for a number (number($foo)!=number($foo)) is true if $foo can be cast to a number and false otherwise, as in that case you get NaN != NaN and NaN is the only thing that is not equal to itself. so replace $foo by your substring call to extract the bit that is a number. Alternatively if the first bit doesn't have any digits, just zap the digits as in test="translate(local-name(),'0123456789','')='my_element_'" which is true for my_element_5 but also my6_ele5m7ent_5 David -- http://www.dcarlisle.demon.co.uk/matthew ________________________________________________________________________ This e-mail has been scanned for all viruses by Star Internet. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] xsl:when element test with nu, Boyd, Eddie | Thread | RE: [xsl] xsl:when element test wit, Michael Kay |
RE: [xsl] xsl:attribute in XSLT 2.0, Sergiu Ignat | Date | Re: [xsl] parameter use in XPath, Saverio Perugini |
Month |