OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Namespace: what's the correct usage?




----- Original Message -----
From: "Jonathan Borden" <jborden@mediaone.net>
To: "Martin Gudgin" <marting@develop.com>; "Kohsuke KAWAGUCHI"
<kohsukekawaguchi@yahoo.com>; <xml-dev@lists.xml.org>
Sent: Saturday, May 19, 2001 10:22 PM
Subject: RE: Namespace: what's the correct usage?


> Martin Gudgin wrote:
> >
> > I left out the top-level element decl for conciseness. How's this;
> >
> > <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'
> >            xmlns:this='urn:example.org.people'
> >            targetNamespace='urn:example.org.people' >
> >
> >   <xs:complexType name='person' >
> >     <xs:sequence>
> >       <xs:element name='given' type='xs:string' />
> >       <xs:element name='family' type='xs:string' />
> >     </xs:sequence>
> >   </xs:complexType>
> >
> >   <xs:element name='person' type='this:person' />
> >
> > </xs:schema>
> >
> > It's *both* an element and a complex type.
> >
> it gets very difficult to follow what is being said when the same name is
> being used for two separate things, one an element and another a
> complexType.

[MJG]
Sorry, in future examples I'll make sure I use different names.

>
> it seems to me that:
>
> 1) the "given" and "family" elements _are not_ locally scoped to the
> "person" element.
>
> this is completely akin to:
>
> <!ENTITY % person.model "(given,family)">
> <!ELEMENT given (#PCDATA)>
> <!ELEMENT family (#PCDATA)>
>
> <!ELEMENT person %person.model;>
>
> in this case I can also do:
>
> <!ELEMENT another.person %person.model;>
>
> similarly
>
> <xs:element name="another.person" type="this:person"/>

[MJG]
The given and family elements are scoped to the type. Yes, that type could
be bound to several different element names just as a type can be bound to
several symbolic names in a programming language.

>
> 2) it also looks like all these elements are in the same namespace (as I
> suggested).

[MJG]
Errr, no. The way the schema is written the person element is in the
namespace 'urn:example.org.people' and the given and family elements are
unqualified. Instance would be;

<p:person xmlns:p='urn:example.org.people' >
  <given>Martin</given>
  <family>Gudgin</family>
</p:person>

Regards

Martin