[xsl] how to select elements based on their children's names?

Subject: [xsl] how to select elements based on their children's names?
From: "Robert P. J. Day" <rpjday@xxxxxxxxxxxxxx>
Date: Mon, 10 Mar 2003 14:46:10 -0500 (EST)
  if i want to select all elements that have at least one, say,
"book" child element, it seems i can do it this way:

  //*[name(child::*) = "book"]		long way
  //*[name(*) = "book"]			shorter way

1) is this the easiest way to do it?

2) why doesn't the following work as well?

  //*[name(node()) = "book"]

from what i read, the "*" node test matches elements, while the 
"node()" test should match all elements, as well as comments and
processing instructions.  certainly, it seems that node() should
work as well as *.

or am i misinterpreting something?

rday

p.s.  i'm sure my questions will get more challenging over time.


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


Current Thread