XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
RE: [xml-dev] local unqualified element names and default namespaces

> 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]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS