- From: Michael Kay <mike@saxonica.com>
- Date: Wed, 17 Aug 2005 16:36:15 +0100
- To: "'Henry S. Thompson'" <ht@inf.ed.ac.uk>
- Cc: "'Kasimier Buchcik'" <kbuchcik@4commerce.de>, "'XML-SCHEMA'" <xmlschema-dev@w3.org>, <www-xml-schema-comments@w3.org>
> What do you (Mike) think _should_ happen in this case? Whose > responsibility is it to detect this condition, and what should they do > when they do? At present, I think a QT implementation has to use its best efforts to ensure that there are no conflicting definitions of types, which means raising errors when conflicts are detected. "Best efforts" might be different in different cases - some implementations might raise false alarms (e.g. when two definitions of a type are loaded from different places that are actually equivalent); some implementations may put some of the burden on the user ("don't change the schema while the service is running"); some implementations might say that if they already have a version of a component with a particular QName, then any new component with that name will be ignored perhaps with a warning, and the existing version used instead. This isn't dissimilar to what some validators do today given multiple imports of the same namespace from different locations. Longer term, we need a notion of component identity that's more sophisticated than a QName. Not trivial, because we also need to refer to types by name, without ambiguity, in QT SequenceType syntax. Michael Kay http://www.saxonica.com/
Received on Wednesday, 17 August 2005 15:36:32 UTC