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


Help: OASIS Mailing Lists Help | MarkMail Help

relax-ng message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Subject: Re: Repeat M-N times

I am working on reformulating data models from ISO 10303 as XML. ISO 10303
(a.k.a. "STEP") is a standard for representing the physical and functional
characteristics of a product throughout its life cycle. STEP is currently
being used for data exchange between CAD systems in the automotive,
aerospace, and electrical components industries. STEP is also beginning to
be used in product data management (PDM) systems.

The need to repeat items between M and N times comes up pretty often in
STEP, particularly when the data involves geometry information. For example,
a polygon is represented in STEP as a list of three or more cartesian
points. The control points in a b-spline curve are represented as a list of
two or more cartesian points. A cartesian point's coordinates are
represented as a list of either one, two, or three real numbers. Numerous
other examples exist.

It appears to be the case in STEP that M and N, when specified, tend to be
small. Thus, I don't think reasonable size limits on M and N would cause any
problems for STEP.


Joshua Lubell, NIST
100 Bureau Drive, Stop 8263
Gaithersburg MD 20899-8263 USA
(301) 975-3563

----- Original Message -----
From: "James Clark" <jjc@jclark.com>
To: "TREX Discussion List" <trex@lists.oasis-open.org>
Sent: Sunday, February 18, 2001 10:57 PM
Subject: Repeat M-N times

> At the moment, TREX provides elements to
> - repeat 0 or more times (zeroOrMore)
> - repeat 1 or more times (oneOrMore)
> - repeat 0 or 1 times (optional)
> There are other logical possibilities:
> - repeat N or more times, where N > 1
> - repeat between 0 and N times, where N > 1
> - repeat between 1 and N times, where N > 1
> - repeat exactly N times, where N > 1
> - repeat between M and N times, where 1 < M < N
> Obviously, all of these can be reconstructed from the primitives that
> TREX provides.  However, they would be inconvenient especially as N gets
> large.  So if any of these other possibilities are common, we should
> consider providing some support for them.
> So the question is: which if any of these other possibilities arise
> commonly enough that it is worth providing an additional pattern in TREX
> to make them convenient?
> Personally, I have never found a need for any of them, but my experience
> is more in documents than data, and it is possible that there may be
> data domains where these are common.  However, I don't think we should
> add features to TREX just on the basis that it *might* be useful to
> somebody. Maybe somebody could look at some W3C XML Schemas for data,
> and see what cases come up.
> If we do add support any of these, then we have the issue of what if any
> limits we place on the values of M and N, and what if any are the
> minimum values of M and N that conforming processors are required to
> support.  I can just imagine somebody writing a schema for input to an
> database, the database has a limit of 2^64 objects, so instead of using
> <zeroOrMore>, they use <repeat min="0" max="18446744073709551615">. This
> seems slightly less of a problem for the exactly N times and the repeat
> N or more times (ie the cases where N is a lower limit rather than an
> upper limit).
> It will be hard to avoid interoperability problems here.
> James

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Powered by eList eXpress LLC