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: Lists of simple datatypes


At the moment, TREX does not allow things like:

  <zeroOrMore>
    <data type="xsd:integer"/>
  </zeroOrMore>

There is a fairly obvious semantic that could be given to this: it would
match a list of zero of more integers separated by whitespace.  This is
the same semantic as "list" in W3C Schemas.  I believe the XML Query
Algebra takes this approach: it uses the normal sequencing operators to
model XML Schema list simple types.

It is not entirely trivial to make this work, both from the point of
view of the formal specification and from the point of view of the
implementation. There would definitely be a complexity cost in making
this work.

One benefit of this might be to allow us to have a simpler interface to
the datatyping vocabulary.  XML Schemas offers 3 ways of deriving new
simple types: union, list, restriction.  TREX can already handle union
(it's the same as choice). If we can also handle list, that leaves only
restriction.  If we only have to support restriction, we could appeal to
an external datatype language purely for facets, rather than for ways of
deriving datatypes.  For example, we might do:

<data type="xsd:integer">
  <xsd:minInclusive trex:role="facet" value="10"/>
</data>

instead of

<data type="xsd:integer">
  <xsd:simpleType trex:role="datatype">
    <xsd:restriction base="xsd:integer">
      <xsd:minInclusive value="10"/>
    </xsd:restriction>
  <xsd:simpleType>
</data>

Better yet if we could find a way to make:

  <data type="xsd:integer" xsd:minInclusive="10"/>

work.  I think this would be significantly easier to learn and use than
the current syntax.

Is this an avenue of development worth pursuing?

James



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


Powered by eList eXpress LLC