[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: local unqualified element names and default namespaces

  • From: "Pete Cordell" <petexmldev@t...>
  • To: "'XML Developers List'" <xml-dev@l...>
  • Date: Mon, 13 Nov 2006 19:38:00 -0000

unqualified element namespace
Ooops - suffering from multiple personality disorder!... For the benefit of 
the list (or otherwise)...
-------------------

Many thanks Michael.

As to why, someone asked me, and I started with great confidence,... which
then eroded away!

I know it's not a favoured pattern, but for data binding I actually think it
makes a lot of sense.

If you then use Venetian blind (I think that's the right one - mainly global
types) design, you don't need any more namespace declarations, which roughly
mirrors program code design.  e.g.:

<tns:MyDetails xmlns:tns="http://www.abc.com">
   <MyAddress>
        <name>Pete</name>
    </MyAddress>
   <MyCompany>
        <name>ABC</name>
    </MyCompany>
</tns:MyDetails>

Maps to MyDetails.MyAddress.name and MyDetails.MyCompany.name as opposed to
something like MyDetails.MyAddress.Address::name etc.

I appreciate it's more problematic for documents though, and especially
document manipulation where globally unique names make life easier.

Thanks again,

Pete.
----- Original Message ----- 
From: "Michael Kay" <mike@s...>
To: "'Pete Cordell'" <petexmldev@t...>; "'XML Developers 
List'" <xml-dev@l...>
Sent: Sunday, November 12, 2006 9:35 AM
Subject: RE:  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/
>
>
> _______________________________________________________________________
>
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@l...
> subscribe: xml-dev-subscribe@l...
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>
> 




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.