On 27/04/2010 19:41, Syd Bauman wrote:
Hey, Wendell! We were just speaking of your magic with DHQ. :-)
<xsl:value-of select="name()"/>
In a namespaced environment, is the output of this specified, or is
it implementation dependent?
In XSLT 1 it's implementation dependent but in practice all systems did
the same thing or had multiple prefixes for the smae namespace in the
source document (or you were also using namespace aliasing, in which
case it wasn't always clear which prefix would be used)
in xslt 2 it is specified that you get the prefix that is stored for
that node in the XDM representation of the input, although there is a
bit of leeway in how the XDM tree is constructed from the original text,
in practice it is a lot less system dependent in xslt 2.
I.e., if the context node is<tei:head>,
will this always return "tei:head" (where "tei" is the prefix as used
in the stylesheet, I presume) or will it sometimes make up its own
namespace prefix (e.g., "ns1:head") or generate a string that
indicates the namespace in some other way (e.g.
"http://www.tei-c.org/ns/1.0^^head")?
In any case, such concerns can be avoided with
<xsl:value-of select="local-name()"/>
which is what I use. (Which is why I don't know what name() returns
:-)
well they always strips the prefix so it's completely different result,
actually i think you could just about claim conformance in xslt 1 if
every element name was reported as being "foo" so you are not completely
free of system dependency evn with local-name.
<xsl:value-of select="1"/>
is fairly safe.
David
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--