xsl-list
[Top] [All Lists]

[xsl] Problem of template priority

2010-04-28 19:50:04
Hi!

I have a complex XSLT stylesheet, which does import some other ones in order to 
refine/delegate some of the work depending on the type of data it finds.
This works by using templates with modes, and matching rules that are more 
specific, hence increasing their default priority. However, in the main sheet 
(the one that imports the others), there is a case where I want to force the 
most generic template to be applied, after which it can call the others.
However, no matter what I do with the priority attribute, my processor seems to 
always select the template from the imported stylesheet.

Having said that, I tried to create a simple example (below), and there I get 
just the opposite effect: I can never get the imported template to apply 
instead of the generic one, even though it is more selective

=== Main sheet ===

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
    <xsl:import href="./special.xsl"/>
    
    <xsl:template match="/">
        <xsl:apply-templates mode="process-record"/>
    </xsl:template>
    
    <xsl:template mode="process-record" match="feed" priority="-9">
        <helloworld>
            <xsl:next-match/>
        </helloworld>
    </xsl:template>
</xsl:stylesheet>

=== Imported sheet ===

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
    <xsl:template mode="process-record" match="feed[(_at_)type='special']" 
priority="10">
        <specialone/>
    </xsl:template>
</xsl:stylesheet>

=== Document ===

<feed type="special">
        <node/>
</feed>


With this example, no matter what value I give to the priority attributes, I 
always get the following result:

<helloworld>
        <specialone/>
</helloworld>

Any idea what I'm doing wrong?

FABRE LAMBEAU 

######################################################################
Attention: 
This e-mail message is privileged and confidential. If you are not the 
intended recipient please delete the message and notify the sender. 
Any views or opinions presented are solely those of the author.

This email was scanned and cleared by NetIQ MailMarshal.
######################################################################

--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>