[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] AW: in search for more elegant XPaths
Hi, Thanks a lot for all the answers! Great! Exactly what I was looking for. thanks, Roman Mag. (FH) Roman Huditsch Teamleader XSLT-Development Tel.: +43 (1) 534 52 - 1514 Fax: +43 (1) 534 52 - 146 Roman.Huditsch@xxxxxxxxxxxxx LexisNexis Verlag ARD Orac GmbH & Co KG Marxergasse 25, 1030 Wien FN 8333f, Handelsgericht Wien http://www.lexisnexis.at/ -----UrsprC<ngliche Nachricht----- Von: David Carlisle [mailto:davidc@xxxxxxxxx] Gesendet: Mittwoch, 22. April 2009 15:16 An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Betreff: Re: in search for more elegant XPaths > 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. ________________________________________________________________________
|
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
|