xsl-list
[Top] [All Lists]

Re: How to test if a named attribute exists and put the name of that attribute in an generic way

2003-04-07 06:17:03

Is empty equal to not exist? 

No

a="" is an existing attribute node with string value empty.

If you want to copy attribute a if it exists and do nothing otherwise,
that's 

<xsl:copy-of select="@a"/>

If you only want to copy a if its value is non empty then that is

<xsl:copy-of select="@a[. != '']"/>

[. != ''] is, as you say, the same as [string(.) != '']
it is also the same as [string(.)] as in a boolean predicate the string
will be taken as true if it is non empty and false if it is empty.

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list