[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Namespace: what's the correct usage?
- From: Martin Gudgin <marting@develop.com>
- To: Jonathan Borden <jborden@mediaone.net>,Kohsuke KAWAGUCHI <kohsukekawaguchi@yahoo.com>, xml-dev@lists.xml.org
- Date: Sat, 19 May 2001 21:47:59 +0100
----- 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