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

RE: RE: [xsl] Accessing data from repeating values with the same name


Subject: RE: RE: [xsl] Accessing data from repeating values with the same name
From: cknell@xxxxxxxxxx
Date: Fri, 23 Jan 2004 14:34:53 -0500

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@xxxxxxxxxx - email



-----Original Message-----
From:     Josh Canfield <Josh.Canfield@xxxxxxxxxxxx>
Sent:     Fri, 23 Jan 2004 11:04:36 -0800
To:       <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Andrew Curry
Sent: Friday, January 23, 2004 8:05 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
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.SHEIKH@xxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
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.curry@xxxxxxxxxxxx]
> Sent: 23 January 2004 16:39
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl] Accessing data from repeating values with the same
> name
>
>
> did i?? didn't mean to.
>
> ----- Original Message -----
> From: "SHEIKH Sajjad" <Sajjad.SHEIKH@xxxxxxxxxxx>
> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> 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.curry@xxxxxxxxxxxx]
> > Sent: 23 January 2004 16:14
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > 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@xxxxxxxxxxx>
> > To: "XSL-List" <XSL-List@xxxxxxxxxxxxxxxxxxxxxx>
> > 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



Current Thread
Keywords