Subject: Re: Testing if an element has an attribute
From: David Carlisle <davidc@xxxxxxxxx>
Date: Mon, 8 Oct 2001 17:59:54 +0100
|
an XSL stylesheet has to be XML
<xsl:if @name != "">
isn't XML: you can only have attribute/value pairs inside the element
start tag.
You could change it to
<xsl:if test="@name != ''">
and then it would be legal. However it doesn't do what the subject line
suggests, it tests whether the attribute is non empty.
In particular
<person name=""/>
has a name attribute but the above test would be true.
If you want to test if person has an attribute just do
<xsl:if test="@person">
however since you use the person attribute as an element name, I suspect
that your first test is better.
Also of course you have these lines in the wrong order
</xsl:if>
</xsl:element>
you need to close the xsl:element inside the xsl:if since you started
it inside th exsl:if.
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|