xsl:message conformance

Subject: xsl:message conformance
From: "Mark D. Anderson" <mda@xxxxxxxxxxxxxx>
Date: Sat, 18 Dec 1999 10:15:21 -0800
currently the xslt spec says very little about when/if an
xsl:message is run. so far as i can make out, a processor
could choose to ignore it completely and still be conformant --
even with terminate="yes".

i'd suggest that a minimal conformance criteria be:

- if a template is not used, then any xsl:message it contains
is not run

- if a template is used, then any immediate xsl:message children
it contains are run at least once (but not necessarily the same
number of times as the template is "used").

- xsl:message instructions are run inside of conditionals (if,
for-each, when, and the implicit if from an xsl:param default value)
if and only the parent element is used, and the test passes.

- something about terminate="yes"....

Thoughts?

James Clark wrote:
>As regards the XT output for xsl:message, note that the XSLT spec only
>tells you what the final result tree should be: it doesn't say anything
>about how templates are to be instantiated in order to achieve that
>result tree.  This means that the spec gives you few guarantees about
>when you will see messages from xsl:message.   XT takes advantage of the
>latitude afforded by the spec, and evaluates result tree fragments
>lazily (when a variable is bound to a result tree fragment it doesn't
>actually create the result tree fragment, it merely remembers the
>information that it needs to create the tree; when you use xsl:copy-of
>on the variable, XT then uses that information to output the result tree
>fragment, without ever creating a tree in memory). I don't recommend
>using xsl:message with XT for tracing result tree fragments: you'll just
>get confused.  I don't believe XT's behaviour is non-conformant.

-mda



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


Current Thread