Re: [xsl]retrieve attribute from node A or node B

Subject: Re: [xsl]retrieve attribute from node A or node B
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 20 Jul 2005 14:05:35 +0100
  XPATH:(root/test/A/@name)|(root/test/B/@name)
  returns A and B

Yes, it returns two attribute nodes both with name name and those
values. If you copy this in to an element
<x>
 <xsl:copy-of select="(root/test/A/@name)|(root/test/B/@name)"/>
you only get one name attribute though.

  Where as root/test/(A|B)/@name is not a valid xpath

It will be valid in XPath2, returning the same result as above.

If your current node is a test element then as stated before
(A|B)/@name
will give you the name attribute that you want.

If as you appear to be implying here your current node is / 
then your original description doesn't apply, as your example shows that
@name isn't unique in the whole document, just within each test, and so
you'd have to say what result you wanted.

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. 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
________________________________________________________________________

Current Thread