Re: Question on "minOccurs" within element declarations

[retransmission to the lists for the record]

Jamieson Christian wrote:

> In section 3.4.9, dealing with <element> declarations, the minOccurs
> attribute for an <element> can only be "1" or (presumably) not be present at
> all to indicate no minimum occurrence restriction.  (The examples indicate
> that minOccurs can be explicitly included with a "0" value, although the
> formal grammar does not indicate this.)  But why must the attribute value
> stop at "1"?  Certain applications may call for some minimum number of
> occurrences greater than 1.  Consider XML data that tracks bus routes by
> bus, arranged as follows.  (Details for each stop location may be stored
> separately, e.g. in top-level <site> elements.)


> <bus id="METSOU-037" name="Metro South">
>         <location arrive="09:36" depart="09:38" site="5TH-026" />
>         <location arrive="09:42" depart="09:44" site="MAIN-019" />
>         <!-- Additional location codes -->
> </bus>


> In order for a bus to have a route, it must go between at least TWO
> locations, so at least two <location> elements need to be included.  The XML
> Schema should be able to enforce this.  An example (abbreviated) schema
> would be:


> <archetype name="bus">
>         <element name="location" minOccurs="2">
>                 <!-- Embedded archetype for element "location" -->
>         </element>
> </archetype>


> Simon, is this similar to what you were referring to you in your P.S.?
> (Ref. message ID
> 3D808EC801AED111B0100008C75D5DDCF0BB55@roc05bxgeisge.is.ge.com, November 23,
> 1999.)


> Best regards,
> Jamieson Christian
> TRW Systems & Information Technology Group
> mailto:Jamieson.Christian@trw.com


> NOTE: The opinions expressed herein are solely those of the author and do
> not necessarily reflect the views or opinions of TRW.

The element syntax summary has misled you -- the Schema for Schemas
says:

  <attrGroup name='occurs'>
    <attribute name='minOccurs' type='non-negative-integer' default='1'/>
    <attribute name='maxOccurs' type='string'/> <!-- allows '*', so integer
                                                       won't do -->
  </attrGroup>

So any value from 0 upwards is OK for minOccurs, and from minOccurs on 
up for maxOccurs.

We're looking at better ways of summarising the concrete syntax in the 
draft.

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/

Received on Tuesday, 21 December 1999 07:07:53 UTC