This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: [XSLT/newbie]value-of attributes of the root node
- To: xsl-list at mulberrytech dot com
- Subject: Re: [XSLT/newbie]value-of attributes of the root node
- From: Wendell Piez <wapiez at mulberrytech dot com>
- Date: Tue, 19 Sep 2000 11:22:46 +0100
- Reply-To: xsl-list at mulberrytech dot com
Hey newbie (Nic),
Thanks for the well-written subject line.
The trick is that an XPath expression in a select attribute such as
> <name><xsl:value-of select="@name" />
is evaluated with respect to a given context, which includes a "context
node." In this case, the node is the root node, since that's what your
template matches on. You may already know that the root node, in XSL, is
_not_ the document element node, but rather a node in its own right, of
which the document element (here, <description>), is a child.
So in this case,
<name><xsl:value-of select="description/@name" />
would work, since the XPath expression 'description/@name' navigates down
from the root node to get the attribute whose value you want.
If the template had matched 'description' instead of '/', you'd be in
business with the expression as currently written, since in that case, the
context node for evaluation would be the <description> element, not the root.
Hope that helps,
Wendell
At 02:25 PM 9/19/00 +0000, you wrote:
>I am trying to get the value of an attribute of the root node
>into mydocument, but having a hard time.
>
>The source is:
><description name="AirCon 5000">
> <change recency="7">
> text
> </change>
> <change recency="4">
> text
> </change>
> <change recency="3">
> text
> </change>
></description>
>
>but this template returns nothing between <name> and </name>:
>
><xsl:template match="/">
> <outputroot>
> <name><xsl:value-of select="@name" />
> </name>
> <xsl:apply-templates />
> </outputroot>
></xsl:template>
>
>However, if I have a template later which requests the attribute
>value of a different element (e.g. <change recency="x">), that
>works perfectly, as per s7.6 of the spec.
...
======================================================================
Wendell Piez mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list