Subject: RE: [xsl] xsl attribute value From: <Jarno.Elovirta@xxxxxxxxx> Date: Wed, 27 Oct 2004 11:25:36 +0300 |
Hi, > <Group> > <GroupValue type='PO'>PO0005</GroupValue> > </Group> > <Group> > <GroupValue type='SUPPLIER'>Supplier One</GroupValue> > </Group> > </Report> > > In the above XML exmple I am trying to generate the following > output :- > > PO = PO0005 > SUPPLIER = Supplier One > > I am using the following xslt. > > <?xml version="1.0" ?> > > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > <xsl:template match="/Report"> > <xsl:for-each select="Group"> > <xsl:value-of select="GroupValue[@type]" /> = "GroupValue" selects a node-set of "GroupValue" child element nodes, "[@type]" filters out those nodes that do not have a "type" attribute, and xsl:value-of will extract the string value of the first node in document order. > <xsl:value-of select="GroupValue" /><br /> Here, again, xsl:value-of will give you the string value of the first GroupValue element. > </xsl:for-each> > </xsl:template> > > </xsl:stylesheet> > > This is generating the following output :- > > PO0005 = PO0005 > Supplier One = Supplier One > > Basically it is not printing the vlue of attribute 'type'. > > > When I chnge the XSLT as follows :- > > <xsl:template match="/Report"> > <xsl:for-each select="Group/GroupValue"> > <xsl:value-of select="@type" /> = > <xsl:value-of select="." /><br /> > </xsl:for-each> > </xsl:template> > > Then it works. > > But my requirement is to print attribute value if the > current node is <Group>. I don't understand, how would the output differ from the output your solution above already generates with the source you showed us? Cheers, Jarno - Mark Kavanagh: One Hour DJ Mix
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] xsl attribute value, Arun Sinha | Thread | AW: [xsl] xsl attribute value, Huditsch Roman |
[xsl] xsl attribute value, Arun Sinha | Date | AW: [xsl] xsl attribute value, Huditsch Roman |
Month |