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 9:39 PM
Subject: RE: Namespace: what's the correct usage?


> Martin Gudgin wrote:
> >
> > The *unqualified* children are always in 'no namespace'. Assume
> > there is an
> > xmlns='' on the qualified element if that helps...
>
> this is getting even more confusing.
>
> how about this: why aren't the elements in the _same_ namespace? that
makes
> the most sense to me. people are confused enough about namespaces, i don't
> see any reason to make the matter worse now that XML Schema has been
> released.

The reason I leave children unqualified is because it feels the most natural
fit to Java/C++/C#/VB.NET. I don't see why this is confusing...

>
> > >
> > > The difference is that in XML elements are first class entities, that
is
> > the
> > > "given" element is not declared within the scope of the "person"
class.
> >
> > But attributes are declared in the scope of their owner element. Why not
> > child elements? This is the crux of the question I think.
>
> That's XML. That's SGML. Are you trying to say that XML Schema 1.0 changes
> this?

I don't see why child elements can't be considered locally scoped just like
attributes. I'm not saying they *always* have to be. If you don't want to
use local scoping then don't....

>
> > XML
> > Schema allows
> > me to say
> >
> > <complexType name='person'>
> >   <sequence>
> >     <element name='given' type='string' />
> >     <element name='family' type='string' />
> >   </sequence>
> > </complexType>
> >
> > and the given and family elements *are* declared in the scope of
> > the person
> > 'class'
> >
>
> huh? i thought "person" was an element not a complexType.

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.

Regards

Martin Gudgin
DevelopMentor