[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
In Xalan there will be generated only a warning, no runtime error. The rest of the transformation will work. It was only an example for the error message I sent in my first email in this thread.
And the error with the template matching @href I found out. Setting the first template from match="*|@*|text()" to match="node()" causes the problem that there is no more template for attributes, only the built-in one, creating text-nodes. In other templates I have <xsl:apply-templates select="@*"/>. If another attribute than @href will be processed before @href, there will be already a text-node at the "new" element. And something like this causes of course problems:
But now I know that "node()" is not equal to "*|@*|text()" and I can change it.
Thanks for your help,
Joerg
--
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Re: [xsl] "*|@*|text()" vs. "node()"
Subject: Re: [xsl] "*|@*|text()" vs. "node()" From: Jörg Heinicke <joerg.heinicke@xxxxxx> Date: Fri, 05 Oct 2001 14:45:31 +0200 |
In Xalan there will be generated only a warning, no runtime error. The rest of the transformation will work. It was only an example for the error message I sent in my first email in this thread.
And the error with the template matching @href I found out. Setting the first template from match="*|@*|text()" to match="node()" causes the problem that there is no more template for attributes, only the built-in one, creating text-nodes. In other templates I have <xsl:apply-templates select="@*"/>. If another attribute than @href will be processed before @href, there will be already a text-node at the "new" element. And something like this causes of course problems:
<element>standard-template for matching attributes creates a text-node <!-- here shall be added @href --> </element>
But now I know that "node()" is not equal to "*|@*|text()" and I can change it.
Thanks for your help,
Joerg
the code below should generate a runtime error as it tries to add an attribute to the root node of the result tree, but this doesn't seem that close to your original example. there you said that taking @* out of an apply templates select attribute caused the error to occur. I can't see how that could happen.
David
>
>
> This will work with every xml and xsl. You only need an
<xsl:attribute> without a new element.
>
>
> <?xml version="1.0"?>
> <root/>
> >
>
> <?xml version="1.0"?>
> <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> <xsl:template match="root">
> <xsl:attribute name="test">test</xsl:attribute>
> </xsl:template>
> </xsl:stylesheet>
--
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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] "*|@*|text()" vs. "node(), David Carlisle | Thread | Re: [xsl] "*|@*|text()" vs. "node(), Francis Norton |
[xsl] Re: Tree from a flat list - b, Dimitre Novatchev | Date | Re: [xsl] A Counter Variable in XSL, Manu KY |
Month |
Keywords