I had somewhere the same problem, i.e. the (painful :-) dilemma: a) either fine control of the number of occurrences (obtained via <sequence>); b) or unconstrained order (obtained via <choice maxOccurs="unbounded">). Maybe we should suggest W3C (for the XSD 1.1) the "natural" extension, something like: <choice minOccurs="x" maxOccurs="y"> <element name="e(p)" minOccurs="n(p)" maxOccurs="m(p)">... </element> ... <element name="e(q)" minOccurs="n(q)" maxOccurs="m(q)">... </element> </choice> where the elements are allowed in any order, but WITH a constrained number of occurrences. In this case, x and y are imposed (i.e. they could disappear ?): x = sum (n(i), i = p..q) y = sum (m(j), j = p.. q) What do you think ? Dan ----------------------------------------------------------------------- Dan Matei, director CIMEC - Institutul de Memorie Culturala [Institute for Cultural Memory] Piata Presei Libere nr. 1, CP 33-90 013701 Bucuresti [Bucharest], Romania tel. (+40-21) 317 90 72; fax (+40-21) 317 90 64 www.cimec.ro -----Original Message----- From: Joe Altimus <[log in to unmask]> To: [log in to unmask] Date: Fri, 8 Aug 2008 14:53:00 -0700 Subject: Re: [MODS] schema use of xsd:sequence to define children of the cartographics element > OK, I think I get it. There is no good reason for rigidly ordering these > elements, we've just run into a limitation of the XML Schema standard. > > On Fri, Aug 1, 2008 at 6:55 AM, Ray Denenberg, Library of Congress < > [log in to unmask]> wrote: > > > <cartographics> is defined as xsd:sequence because <scale> and > > <projection> > > are not repeatable, but <coordinates> is repeatable. > > > > <all> requires that each element occur zero or one time and would not allow > > multiple <coordinates> elements. > > > > <choice maxOccurs="unbounded"> (which MODS uses in cases without such > > constraints) would not constrain <scale> and <projection> to maximum one > > occurence. > > > > (Contrast this for example with <subject> ........ > > > > <choice maxOccurs="unbounded"> > > <element name="topic"/> > > <element name="geographic"/> > > <element name="temporal"/> > > <element name="titleInfo"/> > > > > etc. > > > > </choice> > > > > etc. > > > > .....any of these subject categories may occur any number of times, > > including zero, and the whole set may occur in any order.) > > > > > > ----- Original Message ----- > > From: "Joe Altimus" <[log in to unmask]> > > To: <[log in to unmask]> > > Sent: Thursday, July 31, 2008 5:30 PM > > Subject: [MODS] schema use of xsd:sequence to define children of the > > cartographics element > > > > > > I notice that the MODS schema uses xsd:sequence to define the children > > of the cartographics element: > > > > <xsd:sequence> > > <xsd:element name="scale" minOccurs="0" type="xsd:string"/> > > <xsd:element name="projection" minOccurs="0" > > type="xsd:string"/> > > <xsd:element name="coordinates" minOccurs="0" > > maxOccurs="unbounded" type="xsd:string"/> > > </xsd:sequence> > > > > However, an example of <cartographics> in the MODS User Guidelines > > does not conform to the schema: > > > > <subject> > > <cartographics> > > <coordinates>E 72°--E 148°/N 13°--N 18°</coordinates> > > <scale>1:22,000,000</scale> > > <projection>Conic proj</projection> > > </cartographics> > > </subject> > > > > so I wonder if the example is wrong or the Schema (xsd:all instead of > > xsd:sequence)? Is there a strong reason why the children should occur > > in a rigid order in this case? > > > > Joe Altimus > > Arizona State University Libraries > >