Кто-нибудь знает что-нибудь о так называемом ограничении «Уникальное присвоение частиц» в XML-схеме и почему оно может быть нарушено следующим образом:
<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 следующая:
[ERROR] cos-nonambig: "http://www.w3.org/ns/SMIL":metadata и" http://www.w3.org/ns/SMIL":metadata (или элементы из их группы замещения) нарушают "Уникальную атрибуцию частиц".Во время проверки этой схемы для этих двух частиц будет создана неоднозначность.
Схема генерируется из DTD SMIL 3.0 с использованием trang.