我想编写一个XML模式,其中包含一个可能包含子元素和/或基本类型的元素。所以我有这个片段无法正确验证。
<xs:complexType name="parameterType" mixed="true">
<xs:complexContent>
<xs:restriction base="xsd:anyType">
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:element name="parameters">
<xs:complexType>
<xs:sequence>
<xs:element name="parameter" type="my:parameterType" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
XML看起来像(我真的不知道它的价值是什么)
<parameters>
<parameter name="interval">10000</parameter>
<parameter name="active">true</parameter>
<parameter name="list"><items><item>a</item><item>b</item></items></parameter>
<parameter name="article"><article><title>a</title><price>10.00</price></article></parameter>
...
</parameters>
感谢您的帮助
答案 0 :(得分:1)
您可以使用一个简单的技巧:通过this explanation(使用trang)从xml示例文件创建架构并与当前架构进行比较: - )
答案 1 :(得分:0)
好的,我自己得到了它。我现在有这个有效的解决方案:
<xs:complexType name="parameterType" mixed="true">
<xs:complexContent>
<xs:restriction base="xs:anyType">
<xs:sequence>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>