RE: [xsl] Select a node by name

Subject: RE: [xsl] Select a node by name
From: "Dion Houston" <dionh@xxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 4 Oct 2002 15:42:16 -0700
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


Current Thread