This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
The rules in "6.5 Default Priority for Template Rules" do not have rules for QualifiedPatterns. I expect that a match rule such as ((a | b) except c) | (e | f) intersect d) will have to be treated as multiple rules: a except c b except c e intersect d f intersect d each receiving their own priority.
It's covered by the fallback rule which says all other cases have default priority +0.5. The question is whether we can do better than that. Making the rules smarter is not necessarily a good thing to do if it makes them less predictable. The current rule that treats a union pattern as if there were two separate template rules with different priority is legacy. It's not obvious how to extend this idea. Logically (A intersect B) should have a priority that is higher than that of A or B, but lower than (A intersect B intersect C). I think it just gets too difficult and you have to draw the line somewhere; I think the simple guidance to users should be "for simple NodeTests, the default priority is useful; for anything else, use explicit priorities".
Thanks for the explanation.