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] | [List Home]


Subject: Determinism as seen by relaxMeter and trang


Hi,

Let's consider the following:

grammar{

start = element root{(first?,second)|(second,third?)}

first=element first{empty}
second=element second{empty}
third=element third{empty}

}

This schema is ambiguous because if we validate:

<root><second/></root>

we cannot say which branch of the choice has been used.

However, relaxMeter says "no collision detected" and trang generates a WXS
schema which violates WXS' UPA rule:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">  <xs:element name="root">
    <xs:complexType>
      <xs:choice>
        <xs:sequence>
          <xs:element minOccurs="0" ref="first"/>
          <xs:element ref="second"/>
        </xs:sequence>
        <xs:sequence>
          <xs:element ref="second"/>
          <xs:element minOccurs="0" ref="third"/>
        </xs:sequence>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="first">
    <xs:complexType/>
  </xs:element>
  <xs:element name="second">
    <xs:complexType/>
  </xs:element>
  <xs:element name="third">
    <xs:complexType/>
  </xs:element>
</xs:schema>

Error message from Xerces:

[Error] cdr4.xsd:2:87: Error: cos-nonambig: (,second) and (,second)
violate the "Unique Particle Attribution" rule.
Is there any way we could help users to fall into this kind of pitfalls?

Thanks

Eric

-- 
Freelance consulting and training.
                                            http://dyomedea.com/english/
------------------------------------------------------------------------
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------





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