xsl-list
[Top] [All Lists]

RE: RE: Accessing data from repeating values with the same name

2004-01-23 12:34:53
Q) Why is //Data/Item[position()=3] better than /Data/Item[position()=3] ?

A) It isn't, for the reasons you pointed out. If you are going to use it, you 
ought to have a very good reason to do so. Using it because you saw it in an 
example somewhere or because it was the only way you could get a poorly 
constructed XPath expression to work aren't good reasons.

Q) ... is there opposition to using the short form /Data/Item[3] ?

A) None. The longer form is instructive, but confers no other advantage.
-- 
Charles Knell
cknell(_at_)onebox(_dot_)com - email



-----Original Message-----
From:     Josh Canfield <Josh(_dot_)Canfield(_at_)plumtree(_dot_)com>
Sent:     Fri, 23 Jan 2004 11:04:36 -0800
To:       <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject:  RE: [xsl] Accessing data from repeating values with the same name

Why is //Data/Item[position()=3] better than /Data/Item[position()=3] ?

// is a shortcut for /descendant-or-self::node()/ and in this case it appears 
that you specifically want only the single Data node.

In a bigger/deeper piece of XML doesn't using the // require that the XSLT 
engine traverse the entire tree from the context node looking for Data nodes 
that have an Item node at position 3? Whereas using /Data only looks for the 
root node, and /Data/Item looks specifically for the Item nodes that are a 
child of the root Data node.

Also, is there opposition to using the short form /Data/Item[3] ?

Thanks,
Josh

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com]On Behalf Of 
Andrew Curry
Sent: Friday, January 23, 2004 8:05 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Accessing data from repeating values with the same
name


fair enough, but it was corrected by accident, didnt see your reply until
after.
----- Original Message -----
From: "SHEIKH Sajjad" <Sajjad(_dot_)SHEIKH(_at_)efsa(_dot_)eu(_dot_)int>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Friday, January 23, 2004 3:52 PM
Subject: RE: [xsl] Accessing data from repeating values with the same name


Ok..you added //data/item while I was mentioning /data/item

Although both work but your proposed way is better!

-----Original Message-----
From: Andrew Curry [mailto:andrew(_dot_)curry(_at_)pa(_dot_)press(_dot_)net]
Sent: 23 January 2004 16:39
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Accessing data from repeating values with the same
name


did i?? didn't mean to.

----- Original Message -----
From: "SHEIKH Sajjad" <Sajjad(_dot_)SHEIKH(_at_)efsa(_dot_)eu(_dot_)int>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Friday, January 23, 2004 3:28 PM
Subject: RE: [xsl] Accessing data from repeating values with the same
name


Thanks Andrew for correction.

-----Original Message-----
From: Andrew Curry [mailto:andrew(_dot_)curry(_at_)pa(_dot_)press(_dot_)net]
Sent: 23 January 2004 16:14
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Accessing data from repeating values with the same
name


<xsl:value-of select="//Data/Item[position()=3]"/>
should do it.
----- Original Message -----
From: "Mark Williams" <mark(_at_)skwirel(_dot_)com>
To: "XSL-List" <XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Friday, January 23, 2004 2:45 PM
Subject: [xsl] Accessing data from repeating values with the same name


Hi,

How do I access repeating nodes in an xml file outside of a for-each
statement.

As an example:

<Data>
    <Item>1</Item>
    <Item>2</Item>
    <Item>3</Item>
    <Item>4</Item>
    <Item>5</Item>
</Data>

How would I, say, get the value for 3rd item.

TIA

Mark


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