2010-11-18 2 views
1

Кто-нибудь знает что-нибудь о так называемой «Unique Attribution Частица» ограничением в XML-схеме, и поэтому она может быть нарушена этим:XML Schema Unique Particle Attribution Constraint

<xs:complexType name="SMIL.switch.content"> 
    <xs:sequence> 
     <xs:choice minOccurs="0" maxOccurs="unbounded"> 
     <xs:element ref="smil:metadata"/> 
     <xs:element ref="SMIL.switch-control"/> 
     </xs:choice> 
     <xs:choice> 
     <xs:choice> 
      <xs:sequence maxOccurs="unbounded"> 
      <xs:choice maxOccurs="unbounded"> 
       <xs:element ref="SMIL.timecontainer.class"/> 
       <xs:element ref="SMIL.media-object"/> 
      </xs:choice> 
      <xs:choice minOccurs="0" maxOccurs="unbounded"> 
       <xs:element ref="smil:metadata"/> 
       <xs:element ref="SMIL.switch-control"/> 
      </xs:choice> 
      </xs:sequence> 
      <xs:choice minOccurs="0" maxOccurs="unbounded"> 
      <xs:element ref="smil:metadata"/> 
      <xs:element ref="SMIL.switch-control"/> 
      </xs:choice> 
     </xs:choice> 
     <xs:sequence minOccurs="0" maxOccurs="unbounded"> 
      <xs:element ref="smil:layout"/> 
      <xs:choice minOccurs="0" maxOccurs="unbounded"> 
      <xs:element ref="smil:metadata"/> 
      <xs:element ref="SMIL.switch-control"/> 
      </xs:choice> 
     </xs:sequence> 
     </xs:choice> 
    </xs:sequence> 
    </xs:complexType> 

Ошибка с управлением XJC выглядит следующим образом :

[ОШИБКА] COS-nonambig: "http://www.w3.org/ns/SMIL ": метаданные и" http://www.w3.org/ns/SMIL": метаданные (или элементы из их замещения группы) нарушают "Уникальный Particle Attribution". Во время проверки против этой схемы будет создана двусмысленность для этих двух частиц.

Схема генерируется из SMIL 3.0 DTD с использованием trang.

+0

Транг не всегда совершенны и XSD имеет некоторые ограничения :(Вы можете разместить соответствующую часть исходного DTD? Я могу понять, почему происходит ошибка но оригинал может быть удобен для его решения! –

ответ

4

Если валидация столкнется с элементом smil: metadata, он не может знать, соответствует ли это первой части выбора или второй части выбора внешней последовательности. И XML-схема не допускает этой двусмысленности.

См приложение Н схемы XML Рекомендации, часть 1.

Смежные вопросы