[Home] [By Thread] [By Date] [Recent Entries]
----- Original Message ----- From: "Jonathan Borden" <jborden@m...> To: "Martin Gudgin" <marting@d...>; "Kohsuke KAWAGUCHI" <kohsukekawaguchi@y...>; <xml-dev@l...> 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
|

Cart



