[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: XPath: better way to check for text nodes that are
[ Lars Huttar] > But is there a more efficient way to do this? > Something that checks for llcd:vernac|llcd:gloss along the way, > instead of going down the descendant axis and then back up the > ancestor axis (twice)? Something along the lines of > test="./(not(llcd:vernac|llcd:gloss)/)*/text()" > where * means "0 or more times". > You could use test='not(.//*[local-name() != "vernac" and local-name() != "gloss"]/text()[1] | text())' or test='count(.//*[local-name() != "vernac" and local-name() != "gloss"]/text()[1] | text()) > 0' These might be more efficient because you do not bother to examine elements that will not cause a false result, and of the ones that are examined, you only have to look at one text node. Whatever expression you use, remember to use <xsl:strip-space elements='*'/> Otherwise you will be counting whitespace-only nodes between elements, which you most likely do not intend. Cheers, Tom P XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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
|