RE: XSL Stylesheet warning message

Subject: RE: XSL Stylesheet warning message
From: Paul Grosso <pgrosso@xxxxxxxxxxxxx>
Date: Mon, 17 Jul 2000 09:12:04 -0500
At 09:48 2000 07 17 +0100, Kay Michael wrote:
>> "XSL Warning:Specificity conflicts found:  
>> "* | text() | @*", text()|@*" Last found in stylesheet
>> will be used.
>
>The XSLT spec says that it's an error to have two template rules with the
>same priority and precedence and mode that match the same node; and that the
>processor has the option of reporting this error or recovering from it using
>the last one found in the stylesheet.
>
>Xalan, I believe, does both: it reports the problem as a warning and then
>takes the recovery action. This seems a sensible strategy and in my view
>it's within the conformance rules, even though it doesn't seem to be quite
>what the writers of the spec had in mind.

Different writers of the spec had different ideas, but I do think Xalan's
behavior is quite consistent with what we had in mind.

Some of us wanted draconian error handling and wanted such an error to
cause the XSLT processor to stop emitting a result tree, but others
wanted to be able to keep plugging along.  At the time, most of us 
felt that anything but an HTML-like browser (whose idea is to display 
something no matter what happens) should probably give some kind of 
(perhaps user-suppressable) warning in the case of specificity conflict.
Some of us were quite concerned that defining a recovery in terms of
stylesheet template order would end up effectively defining stylesheet
order to be the specificity rule most people used, and this was something
many of us felt would be a bad idea.  For good or evil, this has, in fact,
happened for the most part.  

But users should be aware that relying on stylesheet order is not 
appropriate according to XSLT, and an XSLT stylesheet editor, for 
example, is perfectly within its rights to reorder one's stylesheet 
and to refuse to allow two templates with the same specificity.  The
fact that some tools give specificity conflict warnings should help
enforce this notion, and I applaud any tools that do so.

paul


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread