Subject: Re: [xsl] recursive node checking From: David Carlisle <davidc@xxxxxxxxx> Date: Mon, 20 Feb 2006 17:01:33 GMT |
> but it only seems to check the first 'd' node, d/d1 selects a node set of all the d1 children, but if you use a node set in a string context then (in XSLT1) it uses the string value of the first node in document order, and silently discards the other nodes. (In XSLT2 it's an error, unless backwards compatibility is enabled) starts-with requires two strings as arguments so in starts-with(d/d1, $letter) the first argument is the string value of the first node selected by d/d1. You need to arrange that the node set pased to starts-with has at most one node, so something like select="/root/a[d/d1[starts-with(., $letter)]]" selects all a elements that have a d1 grandchild that starts with $letter. Note its a bit confusing to call the top level element root in an xpath context, as the root node is the parent of that element not the element itself. David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. 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 ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] recursive node checking, Andrew Smith | Thread | RE: [xsl] recursive node checking, Michael Kay |
[xsl] recursive node checking, Andrew Smith | Date | RE: [xsl] recursive node checking, Michael Kay |
Month |