Hello,

     On 2003-02-21, I wrote:

[[
>The other day I was looking at section 2.1 of XSLT 1.0 [1].  It
>states in part that "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."
>Does anybody know how to reconcile that text with the behaviour of
>xsl:output attributes, such as xalan:use-url-escaping...?
]]

David Bertoni responded:

[[
Hi Henry,

Actually, it doesn't change the behavior of any elements or functions.  It
affects serialization, which is not an element or function, and isn't even
required for conformance, so I think we're OK.

Dave
]]

     Although it's true that serialization isn't required for conformance, 
Section 16 of XSLT 1.0 [2] does say that "If an XSLT processor outputs the result 
tree, it should do so as specified 
by the xsl:output element; however, it is not required to do so."  So these things do 
affect the behaviour of the xsl:output element.

and David Marston responded:

[[
I tend to agree with Dave B. that serialization changes seldom break
hard-and-fast rules ("must" provisions). When the WG did not want any
variation in the output, they said so. I think the we can summarize it
into the following policy: When the specs grant enough leeway that two
different processors can produce variant results and both conform, it
is also permissible for one processor to have external or supplemental
parameters that allow a choice between the two (conforming) variants.
"External or supplemental parameters" can occur in the form of options
on the command line, API parameters, or attributes whose namespace is
the processor-implementor's own namespace.

Is everyone comfortable with that policy?
.................David Marston
]]

     XSLT 1.0 doesn't define what it means by "should".  Has anyone ever 
received clarification from the XSL Working Group just how much leeway 
that word was meant to provide?  My reading had been that a processor 
ought only to plot a different course in the most extreme circumstances 
(whatever that means ;-).  Otherwise, a processor that always serializes 
the following, regardless of the result tree, would be a conforming, 
though not terribly useful, processor:

<doc/>

     That said, I think I can live with the policy that Dave Marston 
recommends.

Thanks,

Henry
[1] http://www.w3.org/TR/xslt#xslt-namespace
[2] http://www.w3.org/TR/xslt#output
[3] http://www.ietf.org/rfc/rfc2119.txt
------------------------------------------------------------------
Henry Zongaro      Xalan development
IBM SWS Toronto Lab   Tie Line 969-6044;  Phone (905) 413-6044
mailto:[EMAIL PROTECTED]

Reply via email to