[Bug 2946] [XSLT] remove stability constraint in use-when

http://www.w3.org/Bugs/Public/show_bug.cgi?id=2946





------- Comment #3 from mike@saxonica.com  2006-04-27 20:17 -------
There was some concern expressed that the results of different use-when
expressions might be inconsistent with each other, for example if two
conditions were written to be mutually exclusive then either or both might be
true. On the other hand, it is desirable to retain the flexibility to
preprocess different modules at different times (separate compilation). The
suggestion was therefore made that the evaluation context for all use-when
expressions within a given stylesheet module should be the same.

Revised proposal:

1. In 3.12, after the table of dynamic context components, add the paragraph:

Within a [stylesheet module], all expressions contained in [xsl:]use-when
attributes are evaluated in a single [execution scope[FO]]. This need not be
the same execution scope as that used for [xsl]:use-when expressions in other
stylesheet modules, or as that used when evaluating XPath expressions appearing
elsewhere in the stylesheet module. This means that a function such as
[current-date] will return the same result when called in different
[xsl:]use-when expressions within the same stylesheet module, but will not
necessarily return the same result as the same call in an [xsl:]use-when
expression within a different stylesheet module, or as a call on
the same function executed during the transformation proper.

2. In 5.4.3, after the second paragraph, add:

XPath expressions contained in [xsl:]use-when attributes (see 3.12 Conditional
Element Inclusion) are not considered to be evaluated "during the
transformation" as defined above. For details see [3.12].

Received on Thursday, 27 April 2006 20:17:33 UTC