Basic XMLSchema questions

Brett McLaughlin bmclaugh at algx.net
Wed Jan 5 21:30:55 GMT 2000


Brett McLaughlin wrote:
> 
> Alan Santos wrote:
> >
> > Thanks for the quick response Brett.
> >
> > In the example below, I understand the point of <datatype>,
> > but what is <type> getting us?  Don't you have the same thing without it?
> 
> Nope.  This:
> 
> > > <element name="myElement">
> > >     <element name="nestedElement" type="string" />
> > >     <element name="anotherNestedElement" type="string" />
> > >     <attribute name="isPrimary">
> > >       <datatype content="empty" />
> > >     </attribute>
> > >     <attribute name="focus">
> > >       <datatype content="NMTOKENS">
> > >         <enumeration value="Java" />
> > >         <enumeration value="C" />
> > >         <enumeration value="XML" />
> > >       </datatype>
> > >     </attribute>
> > > </element>
> 
> is mucho illegal.  Remember that XML Schema will be handled by SAX,
> which is sequential.  So SAX must know _ahead_ of time that it is going
> to be dealing with a compound type.  That way it can know to allow
> multiple element definitions within another definition.
> 
> Without the <type> construct, SAX would have to "magically" know when
> nested element definitions are legal and when they are not... I know
> there are other good reasons, too, although I'm too tired to think of
> them... sorry.. ;-)

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?

-Brett

> 
> -Brett
> 
> >
> > > for example:
> > >
> > > <element name="myElement">
> > >   <type>
> > >     <element name="nestedElement" type="string" />
> > >     <element name="anotherNestedElement" type="string" />
> > >     <attribute name="isPrimary">
> > >       <datatype content="empty" />
> > >     </attribute>
> > >     <attribute name="focus">
> > >       <datatype content="NMTOKENS">
> > >         <enumeration value="Java" />
> > >         <enumeration value="C" />
> > >         <enumeration value="XML" />
> > >       </datatype>
> > >     </attribute>
> > >   </type>
> > > </element>
> > >
> >
> > > Your schema is one-to-one with a Java class?  This wouldn't be a good
> > > idea, unless I'm misunderstanding your intent.  Maybe your _XML_ is
> > > based on a class, and it specifies the class, but then multiple XML docs
> > > (therefore multiple classes) all use the same Schema.
> > >
> >
> > The _XML_ contains instances.  But felt it was more appropriate within the
> > schema document.  (Or some other xml instance document)
> >
> > Why do you feel it is a poor decision?
> > Am I abusing the intent of  an XML Schema in a horrible manner?
> > Perhaps XMI is a better option for my needs?
> >
> > > Why not?  What's the difference in your mind?  If you can define an
> > > infinite number of types, and define an infinite number of elements with
> > > any defined type, how is that not flexible?
> >
> > Sorry, it is flexible, it just means more work for me, and users of my
> > application.
> >
> > Now we need two elements  when we wish to add a new type to the schema
> > (unless I'm missing something else)
> >
> > (e.g. <element name="xxxReference"/>
> > <element name="xxx"/>)
> >
> > thanks,
> > alan
> 
> xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at 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 at ic.ac.uk the following message;
> unsubscribe xml-dev
> To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
> subscribe xml-dev-digest
> List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at 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 at ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)





More information about the Xml-dev mailing list