This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: "*|@*|text()" vs. "node()"
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] "*|@*|text()" vs. "node()"
- From: Jörg Heinicke <joerg dot heinicke at gmx dot de>
- Date: Thu, 04 Oct 2001 16:21:58 +0200
- References: <3BBC5ABA.2020707@gmx.de> <200110041334.OAA21565@penguin.nag.co.uk>
- Reply-To: xsl-list at lists dot mulberrytech dot com
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@virbus.de
www.virbus.de
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list