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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: Basic XMLSchema questions

[ Lists Home | Date Index | Thread Index ]
  • From: Brett McLaughlin <bmclaugh@algx.net>
  • To: "Henry S. Thompson" <ht@cogsci.ed.ac.uk>
  • Date: Wed, 05 Jan 2000 18:24:05 -0600



"Henry S. Thompson" wrote:
> 
> Brett McLaughlin <bmclaugh@algx.net> writes:
> 
> > Alan Santos wrote:
> > >
> > > > Dah!  I'm asleep today... the reason you need <type> is because you can
> > > > specify explicit named types:
> > > >
> > > > <type name="myType">
> > > >   <element name="nestedElement" type="string" />
> > > >   <element name="anotherNestedElement" type="integer" />
> > > > </type>
> > > >
> > > > <element name="myElement" type="myType" />
> > > >
> > > > There is no way without the <type> element construct to specify a name
> > > > for a non-primitive data type without really blowing away any idea of
> > > > congruity across the element space.  So we have the "type" element.
> > > >
> > > > Make sense?
> > > >
> > >
> > > Yes it does now.
> > >
> > > Syntactically it appears to be legal to simply have <type> on it's own,
> > > outside of any elements.  Is it simply a stylistic difference to define it
> > > inside another element?
> >
> > Nope.  This:
> >
> > <element name="element1">
> >   <type>
> >     <element name="element2" type="string" />
> >   </type>
> > </element>
> >
> > is an implicit element type.  It is used right there and not
> > referenceable by any other element.
> 
> Right.  I'd call it an anonymous complex type.
> 
> > This:
> >
> > <type name="type1">
> >   <element name="element2" type="string" />
> > </type>
> >
> > is an explicit element type and is referenceable by other elements:
> >
> > <element name="element1" type="type1" />
> 
> Right.  I'd call it a top-level or named complex type.
> 
> > This:
> >
> > <type>
> >   <element name="element2" type="String" />
> > </type>
> >
> > is absolutely useless, as it is not referenceable by any other element,
> > and is not implicitly assigned to any other element.
> 
> Furthermore, it's not allowed:  top-level types MUST have a name
> attribute.  The schema for schemas expresses this constraint.

Good, this is new in the 12-17 draft, right?  (I was great on the old
one, am getting the new one down ASAP...thanks for help).

> 
> > Finally, the last permutation:
> >
> > <element name="element1">
> >   <type name="type1">
> >     <element name="element2" type="string" />
> >   </type>
> > </element>
> >
> > is legal, and the type is referenceable by other elements, but is bad
> > form (IMHO).  If you have a type that will be used multiple times, put
> > it on its own (explicit type).  If it is only used once, use an implicit
> > type within the element definition.  Things like this are very
> > confusing.
> 
> First real misunderstanding:  this is NOT allowed:  only top-level
> types can have names.  Again, the schema for schemas expresses this
> constraint.

Again, good.  I know you could do this in archetypes under some parsers
(Schema-valid).  Happy to see this was cleared up.

-Brett

> 
> ht
> --
>   Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
>      2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
>             Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
>                      URL: http://www.ltg.ed.ac.uk/~ht/

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo@ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)






 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS