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

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-comment message

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


Subject: UPA violation in DocBook v5.1CR3 schema, model group component.contentmodel


schema: http://docbook.org/xsd/5.1CR3/docbook.xsd

 

according to http://www.w3.org/TR/xmlschema11-1/#sec-cos-nonambig the components in db:navigation.components refrenced as first and last element in the sequence of group navigation.components violate the UPA constraint because the middle refrence to db:toplevel.blocks.or.sections is emptiable and  “… particles at different points in the content model are always distinct from one another, even if they originated from the same named model group.” (quote from the spec link above)

 

the content model in group

  <xs:group name="component.contentmodel">

    <xs:sequence>

      <xs:group ref="db:navigation.components" minOccurs="0" maxOccurs="unbounded"/>

      <xs:group ref="db:toplevel.blocks.or.sections"/> <<<<<< IS EMPTIABLE!

      <xs:group ref="db:navigation.components" minOccurs="0" maxOccurs="unbounded"/>

    </xs:sequence>

  </xs:group>

contains an UPA violation;

 

the reference to group db:toplevel.blocks.or.sections is emptiable

  <xs:group name="toplevel.blocks.or.sections">

    <xs:choice>

      <xs:sequence>

        <xs:group ref="db:all.blocks" maxOccurs="unbounded"/>

        <xs:group ref="db:toplevel.sections" minOccurs="0"/>

      </xs:sequence>

      <xs:group ref="db:toplevel.sections"/> <<<<<< IS EMPTIABLE!

    </xs:choice>

  </xs:group>

because reference to group db:toplevel.sections is emptiable

 

  <xs:group name="toplevel.sections">

    <xs:choice>

      <xs:sequence> <<<<<< IS EMPTIABLE!

        <xs:element ref="db:section" minOccurs="0" maxOccurs="unbounded"/>

        <xs:element ref="db:simplesect" minOccurs="0" maxOccurs="unbounded"/>

      </xs:sequence>

      …

    </xs:choice>

  </xs:group>

because the 1st sequence in the choice is emptiable.

 

best regards,

--

edmund vorauer

Altova GmbH

 

 



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