Subject: Re: [xsl] XPath 1.0 Question: Can two sibling nodes each select their parent node to yield two nodes? From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx> Date: Thu, 23 Sep 2010 09:21:43 +0530 |
Hi Roger, I think with XPath 1.0 the best we can do is, to get all instances of "Book" elements as follows: //book[author = 'Paul McCartney'] Then we iterate these 'book' elements and get value of 'genre' element for them (by looking at the preceding-sibling::genre[1] for example). Iteration with XSLT or an API is possible. As others have noted, returning the full sequence as you have stated is possible with XPath 2.0. On Thu, Sep 23, 2010 at 2:38 AM, Costello, Roger L. <costello@xxxxxxxxx> wrote: > Hi Folks, > > This is an XPath 1.0 question. > > Consider this document: > > <?xml version="1.0" encoding="UTF-8"?> > <books> > B B <category> > B B B B <genre>Autobiography</genre> > B B B B <book> > B B B B B B <name>My Life and Times</name> > B B B B B B <author>Paul McCartney</author> > B B B B </book> > B B B B <book> > B B B B B B <name>The Beatles</name> > B B B B B B <author>Paul McCartney</author> > B B B B </book> > B B </category> > B B <category> > B B B B <genre>Music</genre> > B B B B <book> > B B B B B B <name>Eight Days a Week</name> > B B B B B B <author>Paul McCartney</author> > B B B B </book> > B B </category> > </books> > > I would like to select the value of <genre> of each <book> with <author> equal to 'Paul McCartney'. Thus, I want the XPath to yield: > > B B Autobiography > B B Autobiography > B B Music > > I thought that either of these XPath expressions would do the job: > > B B //book[author='Paul McCartney']/../genre > > B B //book[author='Paul McCartney']/preceding-sibling::genre > > However, both result in this: > > B B Autobiography > B B Music > > What XPath 1.0 expression will produce the desired result? > > /Roger -- Regards, Mukul Gandhi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XPath 1.0 Question: Can t, Christopher R. Maden | Thread | RE: [xsl] XPath 1.0 Question: Can t, Ludwig, Michael |
Re: [xsl] String manipulation XSLT , pankaj . c | Date | RE: [xsl] XPath 1.0 Question: Can t, Ludwig, Michael |
Month |