[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: name() of root element

Subject: Re: name() of root element
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 1 Apr 2003 16:58:25 +0100
xsl name of
> Why does this not select the name of the root *element* 

Note Xpath does not have a root element only root nodes(which are not
elements) Document element or top level element is more in line with
xpath terminology and leads to less confusion about root nodes.


  Why does this not select the name of the root *element* but 
  instead gives me the text value of that element, i.e., the 
  concatenated text values of every element in my document?

      <xsl:template match="/" >
          <xsl:value-of select="(/node()[1])[name()]" />
          <xsl:apply-templates />
      </xsl:template>



an expression like

  <xsl:value-of select="(/node()[1])[name()]" />

would always give the string value of a node rather than its name as
[name()]
is a predicate that is true if teh node has a name, not an expression
returning the name of the node. element and attribute enodes have names,
root and comment nodes do not for example.

(/node()[1])

selects the first child node of the root, which may be the document
element, or it may be a comment or a processing instruction if you have
one of those.

so
(/node()[1])[name()]

will return the empty node set if the first node has no name (eg it is a
comment) or will return the set consisting of teh first child node if it
is an element.

In your case it will be an element, then value-of will return teh string
value of this expression, which in the case of elements is all teh
character data.

You are making it far more complicated than you need, you just want:

<xsl:value-of select="name(*)" />

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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.