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: MSXML v. Saxon - whose bug?


Andrew,

Thank you - I hadn't taken the trouble to figure out the spec first time
round, and made a mistake when I did try to do so. 

I found the fact that foo/bar and foo/* have the same priority to be a
bit counter-intuitive given the general thrust that more specific
matches should have higher priority, so having it illustrated as below
is very helpful.

(Another reason for reading the spec carefully is that anyone with prior
exposure to Prolog may, in a general way, expect first-match to take
precedence over last-match.)

Francis.


Andrew Kimball wrote:
> 
> Francis,
> 
> Here are some priority examples:
> 
> PATTERN                       PRIORITY
> foo                           0
> processing-instruction(foo)   0
> foo:*                         -0.25
> *                             -0.5
> node()                        -0.5
> text()                        -0.5
> comment()                     -0.5
> processing-instruction()      -0.5
> foo/bar                       0.5
> foo/*                         0.5
> foo[bar]                      0.5
> *[*]                          0.5
> */*                           0.5
> 
> Your mistake is in thinking that foo/* has a priority of -0.5.  Only
> patterns consisting of *just* a NodeTest have priority of -0.5.  As soon as
> you introduce filtering [] or composition /, that bumps the default priority
> up to 0.5 (because foo/* is more specific than foo or *).
> 
> ~Andy Kimball
> MSXSL Dev
>


 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]