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