[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
RE: [xml-dev] local unqualified element names and default namespaces
- From: "Michael Kay" <mike@saxonica.com>
- To: "'Pete Cordell'" <petexmldev@tech-know-ware.com>,"'XML Developers List'" <xml-dev@lists.xml.org>
- Date: Sun, 12 Nov 2006 09:35:30 -0000
> If I define an unqualified local element such as 'name' in:
My first question would be *why* you would want to use this option?
>
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> targetNamespace="http://www.abc.com"
> xmlns="http://www.abc.com"
> elementFormDefault="unqualified">
>
> <xsd:element name="MyAddress" type="AddressType"/>
>
> <xsd:complexType name="AddressType">
> <xsd:sequence>
> <xsd:element name="name" type="xsd:string"/>
> </xsd:sequence>
> </xsd:complexType>
>
> </xsd:schema>
>
>
> Then, if I have the following instance:
>
> <MyAddress xmlns="http://www.abc.com">
> <name>Pete</name>
> </MyAddress>
>
> when deciding what to validate 'name' against, is it treated
> as if it is {no namespace}:name, {http://www.abc.com}:name
> (in which case validation will
> fail)
My understanding is that <name> is required to be in no namespace, and
therefore this instance is not valid.
or something else?
>
> Going a bit further... if (validated by another schema) I have:
>
> <MyDetails xmlns="http://www.abc.com">
> <ans:MyAddress xmlns:ans=http://www.abc.com/addr>
> <name>Pete</name>
> </ans:MyAddress>
> </MyDetails>
>
> Is name's full name {no namespace}:name (due to being defined
> as unqualified), {http://www.abc.com}:name (due to the
> default namespace being http://www.abc.com), or
> {http://www.abc.com/addr}:name (due to being local to ans:MyAddress)?
>
The element in your instance is in namespace http://www.abc.com/, under the
rules of XML Namespaces. This isn't affected by the schema. The schema says
that you can only have a {}name element here, so this instance is not valid.
Michael Kay
http://www.saxonica.com/
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]