This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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


David Carlisle wrote:

>>But when will <xsl:template match="@href"> be selected? 
>>
> 
> A template is only executed if its match attribute matches a node in the
> current node list (and has highest priority/import precedence)
> 
> Since attributes are not in the default selection of apply-templates
> this template will only fire if you explictly include the attribute axis
> in some apply-templates. But I thought you said that you were not
> selecting attributes when you got the error.
> 
> As it uses xsl:attribute, then it should generate a runtime error if it
> is not immediately after a new element node has been started in the
> result tree. But if templates are not applied to attributes, then this
> can never happen.


There are a few more templates which apply @href, but they all create a new 
element in the result tree. As I said the stylesheet worked before changing 
the first template to "node()". So there must be an "auto-apply". I really 
tested it with <xsl:apply-templates select="node()"/> in the first template.

>>You can try it out with Xalan.
>>
> Not without a full (small) example stylesheet and source doc, I can't.


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>


I tried it with the current version 2.2.D11.

Joerg

-- 

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]