Subject: Re: [xsl] XPath to get node with sons with specific text From: Andy Kohn <andydev@xxxxxxxxx> Date: Tue, 11 Aug 2009 11:40:36 +1000 |
Thanks for the help guys, works great! even works with attributes ;) On Mon, Aug 10, 2009 at 9:00 PM, Michael Kay<mike@xxxxxxxxxxxx> wrote: >> Contact[contains(Name,'test1')] >> >> Depending on where ever your context node is. > > > Or perhaps > > /List/Contact[starts-with(Name,'test1')] > > if starting from the root. > > Note that an XPath expression returns a set of nodes - this expression will > return two Contact nodes. It does not return the children of the Contact > nodes directly. But the children are still there - you can navigate from the > selected nodes to their children, their ancestors, or anywhere else. So for > example if in XSLT you do > > <xsl:copy-of select="/List/Contact[contains(Name,'test1')]"/> > > you will get copies of the subtrees rooted at these Contact nodes. > > Regards, > > Michael Kay > http://www.saxonica.com/ > http://twitter.com/michaelhkay > >> >> >> >> -------Original Message------- >> >> From: Andy Kohn >> Date: 8/10/2009 9:34:48 AM >> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx >> Subject: [xsl] XPath to get node with sons with specific text >> >> Using XPath, is it possible for me to select a whole branch >> by Searching for the first child to contain some specific text. >> >> For example for the following XML: >> >> <List> >> <Contact> >> <Name>test1test</Test> >> <Data>sample data</Data> >> <Data>sample</Data> >> <Data>sample 123</Data> >> </Contact> >> <Contact> >> <Name>test133</Test> >> <Data>sample data</Data> >> </Contact> >> <Contact> >> <Name>test2test</Test> >> <Data>sample data</Data> >> <Data>sample</Data> >> <Data>sample 123</Data> >> </Contact> >> </List> >> >> If I search for "test1" I want from the Xpath to return the >> first <Contact> and the second <Contact>, including all child >> nodes (<Name> And <Data>): >> >> <Contact> >> <Name>test1test</Test> >> <Data>sample data</Data> >> <Data>sample</Data> >> <Data>sample 123</Data> >> </Contact> >> <Contact> >> <Name>test133</Test> >> <Data>sample data</Data> >> </Contact> >> >> Something like: >> //Name[contains(.,'Ab')] >> But this returns only the Name node, and not all the childs. >> >> Thanks, >> >> Andy.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] XPath to get node with so, Michael Kay | Thread | [xsl] saxon9 passing values, minimag |
RE: [xsl] Problem with xsl:sort and, Michael Kay | Date | Re: [xsl] assigned variable value i, Ganesh Babu N |
Month |