My XML looks like this: <A name"alpha"> <B id="0">zero</B> <B id="1">one</B> </A>
What I want to output is this: alpha:zero alphane
If I use some XSL to style this... <xsl:for-each select="A\B"> <xsl:value-of select="???" />:<xsl:value-of select="." /> </xsl:for-each>
...what do I use in ??? to select the parent attribute @name? What if B has an attribute @name too? Are there any other ways to do this that you can think of?
*had to disable similies :P [This message has been edited by Dave Flynn (edited May 09, 2001).]
Mapraputa Is
Leverager of our synergies
Sheriff
Joined: Aug 26, 2000
Posts: 10065
posted
0
Dave, you can use <xsl:value-of select="../@name"/> construction ".." is a shorthand for parent axis, so "../@name" will select name attribute of parent element only.
Hi Dave, I am posting both xml file and xsl file which will produce the result you want. This is based upon what Mapraputa has said. XML File: "1.xml" <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="1.xsl"?> <A name="alpha"> <B id="0">zero</B> <B id="1">one</B> </A> XSL File: "1.xsl" <?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <html> <xsl:apply-templates /> </html> </xsl:template> <xsl:template match="A"> <xsl:apply-templates/> </xsl:template> <xsl:template match="B"> <P> <xsl:value-of select="../@name"/> : <xsl:value-of select="."/> </P> </xsl:template> </xsl:stylesheet> Regards Sanjay
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.