Unique Particle Attribution 違反をトリガーするこのスキーマがあります。理由はわかりますが、それを表現する他の方法がわかりません。スキーマは次のとおりです。
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Root">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="Element" minOccurs="1" maxOccurs="unbounded">
<xs:complexType mixed="true">
<xs:attribute name="First" use="required"/>
<xs:attribute name="SomeAttribute" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Element" minOccurs="0" maxOccurs="1">
<xs:complexType mixed="true">
<xs:attribute name="Second" use="required"/>
<xs:attribute name="SomeOtherAttribute" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
検証する必要がある XML :
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<Element First="true" SomeAttribute="abc"/>
<Element Second="true" SomeOtherAttribute="def"/>
</Root>
つまり、属性をオプションにしたり、属性間の混合を許可したりしたくないということです...また、「要素」の名前を「FirstElement」のようなものに変更することはできません"、"SecondElement". XSD でこれを回避する方法はありますか?
ご協力いただきありがとうございます!