1
我需要定义一个XML模式。结果应该如下所示:XML模式 - 如何定义包含字符串或子元素的元素
<option value="priority">4</option>
<option value="values">
<value name="x86-32" lang="en-GB" group="root">x86 32-Bit</value>
<value name="x86-64" lang="en-GB" group="root">x86 64-Bit</value>
<value name="ARM" lang="en-GB" group="root">ARM</value>
<value name="PowerPC" lang="en-GB" group="root">PowerPC</value>
<value name="SPARC" lang="en-GB" group="root">SPARC</value>
<value name="PA-RISC" lang="en-GB" group="root">PA-RISC</value>
<value name="DEC-Alpha" lang="en-GB" group="root">DEC Alpha</value>
</option>
<option value="editable">true</option>
所以元素“option”包含一个字符串或一组带子元素的字符串。 我已经试过这样的事情:
<xs:element name="options" minOccurs="0" maxOccurs="1">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="option" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="value" use="required" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
但验证不允许这样的定义:
CVC-复杂type.2.2:元素 '选项' 必须没有元素[儿童]和 该值必须有效。
任何想法如何解决它?
最好的问候, 拉狄克
您是否特别需要将节点命名为“选项”和“值”? – AllenG 2010-06-17 16:05:48
不一定。 – 2010-06-17 16:25:33