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] Elements declaration with same name in same complexType and name qualification

Yes, it's valid. It would be valid even if you changed the third particle to
 
<xsd:element name="b" form="unqualified" type="xsd:int"/>
 
because although the two "b" elements now have different types, they also have different names - one is qualified and the other isn't.
 
The clause that I think you are worried about is:
 
Schema Component Constraint: Element Declarations Consistent
If the {particles} contains, either directly, indirectly (that is, within the {particles} of a contained model group, recursively) or ·implicitly· two or more element declaration particles with the same {name} and {target namespace}, then all their type definitions must be the same top-level definition,
 
and in this case, your two element declaration particles have a different {target namespace}, so the rule doesn't apply.
 
If you change the content model to
 
                     <xsd:sequence>

                                <xsd:element name="b"/>

                                <xsd:element name="c"/>

                                <xsd:element name="b"/>

                        </xsd:sequence>

 
Then it's still valid because the two "b" elements both have the same type. (It's not 100% clear that xs:anyType is a "top-level" type definition - the term "top-level" doesn't seem to be defined anywhere - but the rule as quoted above is followed by further explanation which makes it clear). 
 
Michael Kay


From: Shlomo Yona [mailto:S.Yona@F5.com]
Sent: 29 May 2007 14:13
To: xml-dev@lists.xml.org
Subject: [xml-dev] Elements declaration with same name in same complexType and name qualification

Hello,

 

Is the following considered valid or not?

 

Schema:

 

<?xml version="1.0" encoding="UTF-8"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="foo" xmlns="foo">

        <xsd:element name="a">

                <xsd:complexType>

                        <xsd:sequence>

                                <xsd:element name="b"/>

                                <xsd:element name="c"/>

                                <xsd:element name="b" form="unqualified"/>

                        </xsd:sequence>

                </xsd:complexType>

        </xsd:element>

</xsd:schema>

 

 

Instance:

 

<bar:a xmlns:bar="foo">

      <bar:b/>

      <bar:c/>

      <b/>

</bar:a>

 

I think it should be valid because the two local declarations of the element b have the same data type, anyType, in this case. I could not feel confident with my understanding, though, as I did not read that this is OK in the standard.

 

Thanks.

 

Shlomo.



[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