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

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Type-assignment in one pass



"K.Kawaguchi" wrote:
> 
> > Your example makes it clear that TREX pattern is a specialized syntax to
> > express rules.
> 
> I'm not quite sure... Would you explain it more, please?

Yes, sorry I have not been clear.

When we write:

<choice>
  <element name="e">
    <attribute name="a">
      <data type="xsd:string"/>
    </attribute>
  </element>
  <element name="e">
    <attribute name="a">
      <data type="xsd:integer"/>
    </attribute>
  </element>
</choice>

we are expressing a set of rules rather similar to, for instance XSLT
templates and this was also shown by the example given by Rick Jelliffe.

I don't know which formalism I should use, but in this case, the set of
rules would be that in the current context we should find an element "e"
with an attribute "a" having a type "xsd:string" or "xsd:integer".

The TREX (or Relax or W3C XML Schema) schema is a formalism that is
following the structure of a document and is, therefore convenient for
this purpose but I am pretty confident that it any of these schemas can
be compiled into a set of rules written in Prolog and probably also as
Schematron/XPath rules.

> And the most confusing part is, we already have this implementation for
> RELAX, and I can't see what is special about TREX, regarding this. All I
> did was just demonstrating TREX-version of type-assignment algorithm for
> RELAX.

:)
 
> > A system based only on the document order would evaluate the first
> > choice, see that it's OK and stop there, reporting the datatype as
> > string.
> >
> > A system based on a hierarchy between datatypes would evaluate both, see
> > that integer is more restrictive than string and that both are matching
> > and report the datatype as an integer.
> >
> > A combination of both with an attribute to override the priority like
> > XSLT does it is also possible.
> >
> > If both case, if the algorithm is documented, there is no ambiguity any
> > longer...
> 
> I'm completely at a loss, at this point.

I meant that we have ambiguity as long as the criteria to choose between
alternatives are not specified.

There appears then to be 2 approaches: you can (like W3C XML Schema)
forbid any construct that would be ambiguous or allow constructs that
would be ambiguous and remove the ambiguity by specifying the algorithm
to chose between the different possibilities.

I hope I am being clearer !

Eric
 
> regards,
> ----------------------
> K.Kawaguchi
> E-Mail: k-kawa@bigfoot.com

-- 
------------------------------------------------------------------------
Eric van der Vlist       Dyomedea                    http://dyomedea.com
http://xmlfr.org         http://4xt.org              http://ducotede.com
------------------------------------------------------------------------