- From: Priscilla Walmsley <priscilla@walmsley.com>
- Date: Mon, 20 Aug 2001 10:48:14 -0400
- To: <jeffrafter@earthlink.net>, <xmlschema-dev@w3.org>
Hi Jeff,
> However if we have:
>
> <xs:element name="foo" type="elType"/>
> <xs:complexType name="elType">
> ...
> </xs:complexType>
>
> What does elType mean? There is no in-scope default
> namespace. According to
> QName interpretation and resolution the QName should equal
> {}elType. The
> only sub-component with a localName elType has a targetNamespace of
> http://www.example.com. It should not resolve.
Yes, that's correct - it should not resolve.
> Many schema processors will
> hanlde this (e.g. Xerces)-- when they should be raising an error.
What version of Xerces are you using? I tried it using 1.4.1 and it gave me
an appropriate error message.
> The wording of the spec seems to indicate that a namespace
> declaration for the
> targetNamespace is *always* required-- while common practice does not.
It is necessary if you have a target namespace and you want to make
references between components in the schema, like in your example above.
>
> (a)
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> targetNamespace="http://www.example.com">
>
> (b)
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> targetNamespace="http://www.example.com"
> xmlns="http://www.example.com">
>
> (c)
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
>
> (d)
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="">
>
> In (a) and (b) we see the two common alternatives for
> targetNamespaces. (c)
> and (d) are merely a guess-- I am not sure if this logic
> works as the rec
> makes a specific case against the equality of _no namespace_
> and _absent_
> (which I think is good...).
(a) would only work if did not have any references between components (all
declarations were local and used either anonymous type definitions or
built-in types.) (c) and (d) are fine because there is no target namespace,
and all references will look for components in no namespace.
>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:target="">
This is not allowed by the Namespaces rec. You can't map the empty string
to a prefix.
Hope that helps,
Priscilla
> Thanks!
> Jeff Rafter
> Defined Systems
> http://www.defined.net
> XML Development and Developer Web Hosting
>
-----------------------------------------------------------
Priscilla Walmsley priscilla@walmsley.com
Architect, Vitria Technology http://www.vitria.com
Author, Definitive XML Schema (Prentice Hall, Dec. 2001)
-----------------------------------------------------------
Received on Monday, 20 August 2001 10:48:22 UTC