Subject: [xsl] XPath riddle From: Nicholas Giannadakis <ngiann@xxxxxxxxxx> Date: Wed, 4 Jul 2001 21:19:39 +0300 (EET DST) |
Dear All, Can you tell what the XPath expression that: "selects all C elements that come after A and have a D parent" is. That is, there might be a schema, which declares the unwanted instances of C as integers, while the other C declared has some anonymous complexType. <?xml version="1.0" encoding="UTF-8"?> <A> <B> <C/> <!-- DO NOT select this --> <D> <!-- recursion is introduced here --> <C> <!-- select this --> <B> <C/> <!-- DO NOT select this -->> <D> <C/> <!-- select this --> </D> </B> </C> </D> </B> </A> /A//D/C (/A/descendant::D/C) would suffice, or, better, /A//B/D/C (/A/descendant::B/D/C). But this would not rule out the possibility of the B/D/C pattern appearing somewhere after A in another context. I cannot find any XPath feature that would handle recursion. <?xml version="1.0" encoding="UTF-8"?> <A> <B> <F> <B> <D> <C/> <!-- this would be selected incorrectly --> </D> </B> </F> <D> <!-- recursion is introduced here --> <C> <!-- select this --> <B> <C/> <!-- DO NOT select this --> <D> <C/> <!-- select this --> </D> </B> </C> </D> </B> </A> Using /A/B/D/C | /A/B/D/C//B/D/C would overcome this, but you can see how I could create another problematic example... How does one find one's way around this, using a generic XPath approach? I am not saying this is good XML design. To the contrary! ... it is legal, nonetheless ...any ideas? regards, nikolas/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] building a nodeset from s, Hall, Kurt | Thread | [xsl] PDF creation from FO using FO, ram ragu |
Re: [xsl] building a nodeset from s, Wendell Piez | Date | [xsl] building a nodeset from selec, Hall, Kurt |
Month |