Re: [xsl] "*|@*|text()" vs. "node()"

Subject: Re: [xsl] "*|@*|text()" vs. "node()"
From: Jörg Heinicke <joerg.heinicke@xxxxxx>
Date: Thu, 04 Oct 2001 16:21:58 +0200
Thanks for your reply. This makes the problem clearer. With my <xsl:apply-templates select="node()"> the attributes won't be selected. My stylesheet works again with select="node()|@*".

But when will <xsl:template match="@href"> be selected? This now creates an "attribute-node" without an element, which causes the error message.

You can try it out with Xalan. The message is misleading: href HAS not an illegal attribute, href IS an illegal attribute.

David Carlisle wrote:

href has an illegal attribute: {1}

I don't see how you can ever get that as an XSLT error message,
but a comment on:


Now I changed "*|@*|text()" to "node()" (both <xsl:template> and <xsl:apply-templates>) and I thought it should make no differences,


node() is child::node() and so won't select attributes, so it can replace *|text() but you still need @*.

David


--

System Development
VIRBUS AG
Fon +49(0)341-979-7435
Fax +49(0)341-979-7409
joerg.heinicke@xxxxxxxxx
www.virbus.de


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



Current Thread