AW: [xsl] xsl attribute value

Subject: AW: [xsl] xsl attribute value
From: "Huditsch Roman" <Roman.Huditsch@xxxxxxxxxxxxx>
Date: Wed, 27 Oct 2004 10:27:46 +0200
Hi Arun,

You just have to use "GroupValue/@type" instead of "GroupValue[@type]" since
your definition would just check if the "GroupValue" element has an type
attribute and if that's true, output the element's content.

You might use this little stylesheet:

<?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"/>
			<xsl:text> = </xsl:text>
		     <xsl:value-of select="GroupValue"/>
			<br/>
		</xsl:for-each>
	</xsl:template>
</xsl:stylesheet>

Hope this helps.

Wbr,
Roman

-----Urspr|ngliche Nachricht-----
Von: Arun Sinha [mailto:arunsinha666@xxxxxxxxxxx]
Gesendet: Mittwoch, 27. Oktober 2004 10:05
An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Betreff: [xsl] xsl attribute value

Hi

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<?xml-stylesheet type='text/xsl' href='../old/test.xsl' ?>
<Report>
   <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]" /> =
        <xsl:value-of select="GroupValue" /><br />
    </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>.

Any suggestion?

Thanks.

Arun

_________________________________________________________________
Yantras for power and success. Yantras for peace and joy.
http://www.astroyogi.com/NewMsn/astroshopping/yantra/ Yantras that change your
life.



**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

www.mimesweeper.com
**********************************************************************

Current Thread