Re: [xsl] Processing an XML file with a DTD in it

Subject: Re: [xsl] Processing an XML file with a DTD in it
From: rolf@xxxxxxxxxxxx
Date: Thu, 25 Nov 2004 13:04:49 +0100 (CET)
On 25 Nov, David Carlisle wrote:
> 
>   <xsl:template match="@*|node()" priority="-1">
>                                             ^^
> 
> priority -1 is lower priority than the built in default template
> so the default templates will run in preference to this one.
> Which means your elements won't be copied.

Uhm... This is not, as I have read the xslt 1.0 rec.

5.8 says:

    There is a built-in template rule to allow recursive processing to
    continue in the absence of a successful pattern match by an
    explicit template rule in the stylesheet.

Note the: "in the absence of a successful pattern match". My
understanding: If there is any matching template pattern (no matter
what priority), that will be choosen (of course, if there are more
than one matching pattern, then the rules of 5.5 come into the
picture). Only, if there is no matching pattern, then the built-in
template rules will fire.

The wording "The following shows the equivalent of the built-in
template rule: .." in 5.8 (.. shows the equivalent ..) assisted my
understanding, that the built-in template rules are not 'normal'
template with the ordinary autmatically default priority
determination. Otherwise the rec could have said something like: "The
always present default template is .."

rolf

> 
> Note if you are trying to display in IE you'll need to transform to html
> not simply copy elements.
> 
> David
> 
> ________________________________________________________________________
> This e-mail has been scanned for all viruses by Star. The
> service is powered by MessageLabs. For more information on a proactive
> anti-virus service working around the clock, around the globe, visit:
> http://www.star.net.uk
> ________________________________________________________________________

Current Thread