xsl-list
[Top] [All Lists]

Re: Do Templates Conflict?

2005-05-04 13:31:20
On Wed, May 04, 2005 at 03:03:29PM -0500, Edward Bryant wrote:

I was wondering if someone can explain why two templates that both apply to 
a source xml element do not conflict.

I have one template that applies to all the paragraphs in a document and 
another that applies only to the first paragraph. I did this assuming it 
would somehow not work because of the conflict between the templates. 
However, to my surprise it worked fine. Now, I am even more worried because 
I don't know why it worked. Can someone explain what is going on?

Reason it probably worked as you expected is because you
probably had two templates like:
match="paragraph"
and
match="paragraph[position() = 1]"

There's a priority scheme for templates which is fairly well
documented in most places where you'd look up template matching
stuff.  Some of the pieces of information which I personally
found most useful:
a) stuff with [] predicates get higher priority 
b) using a '|' doesn't increase priority in and of itself

You can override this priority directly, but I've been burned
a few times in doing that.. generally if I have something which 
I very specifically want called, I'll use a call-template, or
perhaps a mode.

Normally, the calculated priority works well.. and I guess if
I kept the actual values related those calculations in mind
while programming, it might make using priorities more
effective.

Hope this helps.


Does the order the templates are listed in matter?

Does it matter that one selected a more specific context?



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

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