|
Subject: Re: [xsl] How to select an attribute on the current node or its anchestor From: Philipp Kursawe <phil.kursawe@xxxxxxxxx> Date: Fri, 15 Apr 2011 18:29:16 +0200 |
and I guess to fetch the text() of the current node or its ancestor I
would have to use:
ancestor-or-self::*[text/text()][1]/text()
This however does return an empty node for this xml:
<phrase id="goodbye">
<text xml:lang="en">See you tomorrow!</text>
<text weight="dayOfWeek"
days="fri">
<text xml:lang="en">Have a nice weekend!</text>
<text id="weekend_summer"
weight="month"
months="4,5,6,7,8,9,10">
<text alt="garden" icon="data:binary;..."/>
<text alt="boat" icon="data:binary;..."/>
</text>
</text>
</phrase>
and
ancestor-or-self::*[text/text()][1]/text does return the text node.
But I would like to select the text() in one select.
I tried
//*[@id='weekend_summer']/ancestor-or-self::*[text/text()][1]/text
which returns
<text xml:lang="en">Have a nice weekend!</text>
But i would like to fetch the text() node directly.
Thanks all for your help!
Phil
On Fri, Apr 15, 2011 at 8:33 AM, Brandon Ibach
<brandon.ibach@xxxxxxxxxxxxxxxxxxx> wrote:
> ancestor-or-self::*[@data][1]/@data
>
> -Brandon :)
>
>
> On Fri, Apr 15, 2011 at 2:06 AM, Philipp Kursawe <phil.kursawe@xxxxxxxxx>
wrote:
>> Hello,
>>
>> given the following xml:
>>
>> <node data="foo">
>> B <text id="1" data="bar"/>
>> B <text id="2"/>
>> </node>
>>
>> I would like to know the XPath expression to select @data which
>> results in "bar" for @id=1 and "foo" for @id=2.
>>
>> The general idea is to search for the attribute in the anchestor if
>> the current node does not contain the attribute all the way up to the
>> root node.
>>
>> Thanks for your help!
>>
>> Phil
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] How to select an attribut, Michael Kay | Thread | Re: [xsl] How to select an attribut, Brandon Ibach |
| Re: [xsl] How to select an attribut, Michael Kay | Date | [xsl] XPath to select node accordin, Philipp Kursawe |
| Month |