2
我做錯了什麼? XLS:xsd:屬性的選擇組
<note>
<element action="SomeAction" id="1" />
</note>
的xsd:
<xs:element name="note">
<xs:complexType>
<xs:choice minOccurs ="0">
<xs:group ref="with_attr" />
<xs:group ref ="without_attr" />
</xs:choice>
</xs:complexType>
</xs:element>
<xs:group name="with_attr">
<xs:sequence >
<xs:element name="element">
<xs:complexType>
<xs:attributeGroup ref="actionattrib" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<xs:group name="without_attr">
<xs:sequence >
<xs:element name="element">
<xs:complexType>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<xs:attributeGroup name ="actionattrib">
<xs:attribute name="action" type="action_value" use="required"/>
<xs:attribute name="parameter" type="id_value" use="required"/>
</xs:attributeGroup>
<xs:simpleType name="action_value" >
<xs:restriction base="xs:token">
<xs:enumeration value="SomeAction"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="id_value" >
<xs:restriction base="xs:token">"
<xs:enumeration value="1"/>
</xs:restriction>
</xs:simpleType>
我儘量讓裁定元素note
可以包含元素<element>
與屬性action
和id
,這將是具有列表值,或者element
沒有任何屬性將也是正確的,但element
不能包含其他屬性或只有屬性id
或action
中的一個。 錯誤是:屬性action
這裏不允許使用
所以它是命名空間的問題? – user3546748 2014-10-19 20:47:45
id是好的,我寫錯了,當我寫在這裏,但問題,我不能改變XML文件,只有頭。我用rubymine查看錯誤,它仍然顯示我,它可以寫和一個完整的xsd(與標題)也許問題在那裏.. – user3546748 2014-10-20 07:15:43
我更新了我的答案與我使用完整的XSD。 – Xstian 2014-10-20 07:41:37