[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Select a node by name


Subject: Re: [xsl] Select a node by name
From: Andreas Schlegel <schlegel@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 05 Oct 2002 12:21:35 +0200

Di Dion,

thanks for your help. It works fine :-)

Greetings,
Andreas


Dion Houston wrote:


Hi Andreas:

There's actually a couple issues here...

The select issue is actually pretty easy and straight forward. To
select the person element who has a name attribute of Betty, simply use
the XPath:


/persons/person[@name="Betty"]

The second issue is that xsl:value-of outputs the text content of the
node you specify.  So in the case of:

<xsl:value-of select="/persons/person[@name='Betty']"/>

This will actually display nothing.  Why?  In your sample XML below, the
person _element_ has no text content.

If what you're looking for is (for example) the job, then use the
following:

<xsl:value-of select="/persons/person[@name='Betty']/@job"/>

HTH!

Dion
-----Original Message-----
From: Andreas Schlegel [mailto:schlegel@xxxxxxxxxxxxxxxxxxx] Sent: Friday, October 04, 2002 3:26 PM
To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] Select a node by name


Hi,

writing a XSL file I have the problem to get a specific node of the
list.

Having a XML file like this:

<persons>
<person name="Bill" job="Developer"/>
<person name="Steve" job="Admin"/>
<person name="Betty" job="CEO"/>
</persons>

A statement like <xsl:value-of select="person"/> won't help because I have a lot of nodes of the type PERSON.

If I have a node already selected I may use <xsl:value-of
select="@name"/>

It's no problem to do it by for each ( <xsl:for-each select="person"> ).

But I look for a way to pick a person out of the list, i.e. "Betty".

Any ideas?

Greetings,
Andreas



XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list








XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list




Current Thread
Keywords