Subject: RE: [xsl] Can I access the children by their Index? From: "Daniel Newman" <daniel.newman@xxxxxxxxxxx> Date: Tue, 27 Feb 2001 16:59:11 -0000 |
I fixed this in the end by using <xsl:value-of select="ANNUALSNAPSHOT[3]/CONSENSUSVALUE/ESTIMATEDATA/child::*[position()=$I ndex]" /> Now I know might not be pretty, but it DOES return what I want. $Index will range from 1 to 9 -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Francis Norton Sent: 27 February 2001 16:22 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Can I access the children by their Index? something like this should do it... you don't have to know the name of an element or an attribute to process it :) Francis. <xsl:template match="ESTIMATEDATA"> <table> <xsl:for-each select="*"> <!-- select="*" is shorthand for select="child::*", in other words all child elements --> <tr> <td><xsl:value-of select="local-name()"/></td> <xsl:for-each select="@*"> <!-- select="@*" is shorthand for select="attribute::*", in other words all attributes --> <td><xsl:value-of select="."/></td> </xsl:for-each> <td><xsl:value-of select="."/></td> </tr> </xsl:for-each> </table> </xsl:template> Daniel Newman wrote: > > sorry all, thought my original request might confuse. Time for more > illustration. My XML (the part we're interested in anyway) looks like this: > > <ESTIMATEDATA> > <SALES name="Sales" grade="none">***.*</SALES> > <PROFIT name="Profit" grade="none">**.*</PROFIT> > <EPS name="EPS" grade="none">**.*</EPS> > <CFPS name="CFPS" grade="none" /> > <DPS name="DPS" grade="none">**.**</DPS> > <PE name="P/E Ratio" grade="none">**.*</PE> > <DIVCOVER name="Div Cover" grade="none">*.*</DIVCOVER> > <DIVYIELD name="Yield" grade="none">*.*</DIVYIELD> > <PEG name="PEG Factor" grade="none" /> > </ESTIMATEDATA> > > Now I want to set up a function that will loop 9 times, and then retrieve > the value of that child node. I don't want to refer to each child by their > name, as this would mean getting rid of the loop and having nine table rows. > There must be a way of accessing CFPS without calling it by name. So again, > can I get the value of CFPS by doing something like: > > xsl:value-of select="../../../ESTIMATEDATE/child(4)/@name" > 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Can I access the children, Francis Norton | Thread | [xsl] how do you redefine a variabl, Daniel Newman |
RE: [xsl] Can I access the children, Ben Robb | Date | RE: [xsl] FAQ? Installing MSXML3, Daniel Newman |
Month |