Re: Local Context [was: Why I moved from Forbid to Literal]

>  The rule requiring literal comparison in that situation
> is well understood and should be preserved, despite the unfortunate outcome
> which mismatched alphabetic case will yield in that particular context. The
> point is that there are other interpretive contexts, other than a document
> consumer executing an XSLT transformation.

I disagree. The rule requiring case sensitive literal comparison in
that case does not come from XSLT, it comes from the namespace spec.
That must be preserved.

It would be a disaster if the namespace specification was made so
imprecise that it was not specified what the namespace name of any
particular element is.

Of course, the fact that the namespace names differing by case are
different namespace names does not mean that any application has to
treat them differently: The application that accepts every XML
document and issues the message "hello world" is perfectly acceptable.
But while a process may give the same behaviour to two different
namespaces (or for example it may fold all namespace names to lowercase
before deciding on processing behaviour) it must be the case that
it is the namespace spec that determines what is the namespace name
and how they should be compared. That is more or less the only
function the namespace specification has.

so while I disagree with the first quote, i agree with your following
remark
>  The elaboration of semantics from
> namespace names in every such context must be ultimately under the control of
> the document-consuming instance process,

But stress that is  elaboration of semantics _from_ the namespace
names. Not the mechanism for deciding what the namespace name is.
So to return to my example, the "document-consuming instance process"
may apply the same behaviour to elements in the two namespaces
http://www.example.com/a and http://WWW.EXAMPLE.COM/a
but it can't declare that they are the same namespace. For some types
of processing, the differences between applying the same processing and
declaring them to be the same namespace are essentially non existent,
but in anything involving namespace matching (xslt, namespace aware
css-selectors, schema validation etc) then the difference is important.

David

Received on Sunday, 2 July 2000 16:55:57 UTC