HZ>XSLT 1.0 doesn't define what it means by "should".
I'm surprised that they don't cite RFC2119. I think most W3C documents
operate with those definitions. Another way of looking at our dilemma
is to focus on the bothersome rule:
"An element from the XSLT namespace may have any
attribute not from the XSLT namespace, provided that the expanded-name
of the attribute has a non-null namespace URI. The presence of such
attributes must not change the behavior of XSLT elements and functions
defined in this document."
Do we want to interpret "change the behavior" as "make the output so
different that it fails the fuzzy-equal test appropriate to the output
method in use"? For HTML, two documents can differ in a bytewise
comparison yet produce the same Web page. For XML, we could say that
InfoSet equivalence is the proper form of fuzzy equivalence. But then
again, when indent="yes", the amount of horizontal displacement is
implementation-dependent, meaning that indent="yes" grants more
fuzziness to the comparison.
The intent of the quoted passage is that if a processor is ignoring an
(non-null-namespaced) attribute it doesn't know, it will produce
output that is equivalent to the output from a processor that knows
the attribute. So it comes down to equivalence.
Let's ask the WG, but be market-driven in the meantime. If users of the
various XSLT processors are not complaining about processor-specific
attributes causing changes that matter, then we can assume some leeway
in the output (Chapter 16) area.
.................David Marston