Subject: Re: Confused with templates and XPath
From: Frédéric Laurent <fl@xxxxxxxxxxxxx>
Date: Thu, 8 Jan 2004 14:07:28 +0100
|
David Carlisle wrote:
>>are you sure of that ?
>
> yes:-)
I had no doubt on that :D
>
>
> If I run saxon on the example document that you posted, I get:
well neither Xalan nor xsltproc complains :(
Same results for both... (even with the permutation)
> $ saxon prio.xml prio.xsl
> Recoverable error
> Ambiguous rule match for /doc[1]/chapter[1]/para[1]
...
> the rules are _very_ simple.
>
> If it is a sigle name, such as "para" then it is priority 0
> if it is a child or attribute axis followed by a single name
> child::para, attribute::para, @para it would also be 0
>
> If its a namespace wildcard such as x:* it's -0.25
>
> If its a node test such as comment() it's 0.25
>
> otherwise it is 0.5
>
> so:
>
> //para has priority 0.5
> chapter/para has priority 0.5
> para has priority 0
If you set the verbose mode to xsltproc, you have
$ xsltproc -v s05b.xsl xml05.xml
Added namespace: xsl mapped to http://www.w3.org/1999/XSL/Transform
xsltPrecomputeStylesheet: removing ignorable blank node
xsltParseStylesheetProcess : found stylesheet
xsltCompilePattern : parsing '//para'
xsltCompilePattern : parsed //para, default priority 0.000000
added pattern : '//para' priority 0.000000
xsltCompilePattern : parsing 'chapter/para'
xsltCompilePattern : parsed chapter/para, default priority 0.500000
added pattern : 'chapter/para' priority 0.500000
parsed 2 templates
added pattern : '//para' priority 0.000000
added pattern : 'chapter/para' priority 0.500000
hummm... Then this is a bug ?
cheers
Fred
--
XPath free testing software : http://lantern.sourceforge.net
Frédéric Laurent http://www.opikanoba.org
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|