[xsl] Retrieving top-level attribute value in XSLT 2.0

Subject: [xsl] Retrieving top-level attribute value in XSLT 2.0
From: "Bob Portnell" <simply.bobp@xxxxxxxxx>
Date: Thu, 31 Aug 2006 11:20:16 -0700
Hi, kids. This is darn embarassing, but I've tried everything I know
and several things I don't and gotten nowhere. The problem is
ludicrously simple. Given this input XML (this is the root element of
the file...):

<xtvd from='2006-08-31T15:44:36Z' to='2006-09-06T15:44:36Z'
schemaVersion='1.3' xmlns='urn:TMSWebServices'

I'm trying to grab the dateTime in the from attribute and park it in
my result HTML:

<xsl:template match="/">
		<head> (Omitted; it works) </head>
				(other omitted but working code)
				<xsl:value-of select="@from" />

When I run this through Saxon, it kindly informs me:

Warning: on (that line where you've got @from):
 The attribute axis starting at a document-node() node will never
select anything

Which leads me to believe that somehow I'm not actually addressing the
<xtvd> element. But I've tried every combination of symbols I can
imagine to get down from document-node() to its child <xtvd> and
almost nothing works. The closest I get is "//@from", which gets me
that dateTime and a bunch of other dates further down the document. If
I could figure out a sensible predicate for "//@from" to single out
the one in <xtvd>, that'd work too.

(And my copy of XSLT COOKBOOK is en route, so I shan't bother the list
with baby questions too much longer.)

Bob P

Current Thread