xsl-list
[Top] [All Lists]

RE: getting the text nodes from a set of attribute nodes

2003-09-04 08:50:50
Hi,

  <a>
   <b attr='whatever' ... </b>
   <b attr='more' ... </b>
   <b attr='yadda yadda' ... </b>
  </a>

and i'd like to use another template to process the (string)
values of the (set of) "attr" attributes.

  if i'm already processing the <a> element, i can certainly
create a node-set of the appropriate attribute nodes with:

 <xsl:variable name="set" select="b/@attr"/>

that will give me a node-set of attribute nodes and, when i
pass these to another template, that template will be responsible
for taking the string value of each attribute node to do further 
processing.

  on the other hand, would it be any faster or more elegant to
use an expression to create a node-set of text nodes corresponding
to those attribute values right off the bat so that all i'm
passing is a set of text nodes?

Unlike in DOM, XPath attributes don't contain their textual value as a text 
node child, but rather it's just their value, see 
<http://www.w3.org/TR/xpath#attribute-nodes>. So the only way is to pass the 
attribute nodes themselves.
 
Cheers,

Jarno - Front Line Assembly: Final Impact

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