- From: Addison Phillips <addison@yahoo-inc.com>
- Date: Thu, 07 Feb 2008 08:29:15 -0800
- To: public-i18n-core@w3.org
All, I note that we have another example of case-mapping woes in the Selectors API document. This case disturbs me and I think we should submit a comment. The document is: http://www.w3.org/TR/selectors-api/ The text in question is: -- Note: The case sensitivity of namespace prefixes is effectively determined by the implementation of the NSResolver object that is used to resolve the namespaces. Note: In Unicode, caseless matching requires both strings that are being compared, to be case folded prior to performing a binary comparison [CaseMap]. However, since case folding is not the same as simply uppercasing or lowercasing both strings and because the comparison is being performed by the NSResolver object implemented by the author, this specification cannot require case insensitive namespace prefixes. -- My problems with this text are: 1. It seems to me that the WebAPI is doing implementers a disservice here. If they would otherwise have required case-insensitivity except for the requirement that implementers of NSResolver understand Unicode case folding, then ignorance of Unicode case folding shouldn't be a barrier to requiring case-insensitivity. I see no reason why a Spec cannot require something if it is both well-documented and necessary, which appears to be the case here. For that matter, it isn't strictly a "Unicode" problem (as implied by the above): it is a general problem of case-normalizing text. Namespace prefixes are not limited to ASCII, and implementations of Selectors API need to deal with that fact. 2. Case-insensitive mapping is not completely sufficient anyway. No mention is made of normalization. If there is something they are not going to require but should mention, it would be Unicode normalization (see CharMod-Norm). Binary comparison of Unicode strings for character equivalence requires this normalization over-and-above case-folding. Regards, Addison -- Addison Phillips Globalization Architect -- Yahoo! Inc. Chair -- W3C Internationalization Core WG Internationalization is an architecture. It is not a feature.
Received on Thursday, 7 February 2008 16:29:39 UTC