On 21/12/2010 12:44, Shai Gotlib wrote:
>
> Thank you all for your quick responses,
>
> I tried to look for some statement about it in the specs and didn’t
> find (http://www.w3.org/TR/2008/REC-xml-20081126/)
>
> The only place that “sensitive” found there is with the context of
> “Character Encoding” (“XML processors /SHOULD/ match character
> encoding names in a case-*insensitive* way”).
>
> I found that <oXygen> found <xs:restrictionbase="xs:*S*tring"> as
> valid while other XML Schema parser found it invalid…
>
> Does someone know where explicitly it is defined that it is
> case-sensitive?
>
> Thanks in advance,
>
> Shai
>
> This message and the information contained herein is proprietary and confidential and subject to the Amdocs policy statement,
> you may review at http://www.amdocs.com/email_disclaimer.asp
>
The rules for resolving a QName that refers to a schema component are in
XSD Part 1 section 3.15.3, Schema Representation Constraint: QName
resolution (Schema Document), in particular the rules:
2 The component's {name} matches the ·local name· of the ·QName·;
3 The component's {target namespace} is identical to the ·namespace
name· of the ·QName·;
I'm not sure why one of these rules says "matches" and the other says
"identical to", but the definition of "matches" in section 1.4 of XSD
Part 2 says:
[Definition:] match
(Of strings or names:) Two strings or names being compared must be
identical. Characters with multiple possible representations in ISO/IEC
10646 (e.g. characters with both precomposed and base+diacritic forms)
match only if they have the same representation in both strings. No case
folding is performed.
I hope that gives you the evidence trail you are looking for!
Michael Kay
Saxonica