[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Namespace: what's the correct usage?
- From: Martin Gudgin <email@example.com>
- To: Jonathan Borden <firstname.lastname@example.org>,Kohsuke KAWAGUCHI <email@example.com>, firstname.lastname@example.org
- Date: Sat, 19 May 2001 21:47:59 +0100
----- Original Message -----
From: "Jonathan Borden" <email@example.com>
To: "Martin Gudgin" <firstname.lastname@example.org>; "Kohsuke KAWAGUCHI"
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
> 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
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
> > the
> > > "given" element is not declared within the scope of the "person"
> > 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
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:complexType name='person' >
<xs:element name='given' type='xs:string' />
<xs:element name='family' type='xs:string' />
<xs:element name='person' type='this:person' />
It's *both* an element and a complex type.