- From: <Noah_Mendelsohn@lotus.com>
- Date: Thu, 18 Jan 2001 17:16:36 -0500
- To: ht@cogsci.ed.ac.uk (Henry S. Thompson)
- Cc: michael@research.canon.com.au, xmlschema-dev@w3.org
Michael Anderson writes: >> I'm curious to know the difference between the two following schemas >> <schema xmlns="http://www.w3.org/2000/XMLSchema" >> xmlns:cisra = "http://cisra.au"> >> <import namespace="http://cisra.au" >> schemaLocation="http://www.cisra.com.au/mySchema.xsd"/> >> <element name="food" type="cisra:Weetbix"/> >> </schema> >> >> AND >> >> <schema xmlns="http://www.w3.org/2000/XMLSchema" >> xmlns:cisra = "http://cisra.au"> >> xsi:schemaLocation="http://cisra.au >> >> http://www.cisra.com.au/mySchema.xsd"/> >> <element name="food" type="cisra:Weetbix"/> >> </schema> >> >> Is it that you _must_ import the namespace using <import> before you can >> use components from it in your schema? >> Henry has answered your question, I think. I thought it might be useful to explain some of the philosphy behind our design. The latter construction signals that you are (probably) establishing the namespace prefixed by cisra for use in the schema document it self. Imagine that instead of cisra: you were setting a prefix xsd2: which might add features to some future version of the schema language: <xsd:schema xmlns:xsd="http://www.w3.org/2000/XMLSchema" xmlns:xsd2="http://www.w3.org/2001/XMLSchema2" <xsd:element>....</xsd:element> <xsd2:superComplexType> ... </xsd2:superComplexType> </xsd:schema> Your first example, with import, signals that the namespace provides constructions that validate content of the instance document being validated. We debated these mechanisms for a long time, and settled on the current design as one that would balance use of existing namespace mechanisms (prefixes, QNames, xmlns: declarations, etc.) with an ability to clearly signal to processors the namespaces for which schemas are needed (I.e. imported) vs. those used for other purposes. ------------------------------------------------------------------------ Noah Mendelsohn Voice: 1-617-693-4036 Lotus Development Corp. Fax: 1-617-693-8676 One Rogers Street Cambridge, MA 02142 ------------------------------------------------------------------------
Received on Thursday, 18 January 2001 17:27:21 UTC