【发布时间】:2017-09-26 23:38:06
【问题描述】:
我已经为针对 xml 模式的 xml 验证苦苦挣扎了一天!答案可能很简单,但我似乎找不到,因此非常感谢您的帮助。
这是我的 xml:
<?xml version="1.0" encoding="utf-8"?>
<coder>
<coderName>Mike89
<points>500</points>
</coderName>
<coderName>TheCoder
<points>1000</points>
</coderName>
<coderName>HelloAll
<points>5000</points>
</coderName>
<coderName>Cristina
<points>6000</points>
</coderName>
</coder>
我已经为相应的 xsd 尝试过这个:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="coder">
<xs:complexType>
<xs:sequence>
<xs:element name="coderName" maxoccurs="unbounded">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="points" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我也有一个用于 xsd 的变体:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="coder">
<xs:complexType>
<xs:sequence>
<xs:element name="coderName" type ="coderNameType" maxoccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name = "coderNameType" mixed="true">
<xs:sequence>
<xs:element name="points" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
两者都不起作用!
查看此网站上的其他帖子,我尝试不使用 maxoccurs="unbounded" 属性,它给了我这个错误:
发现以元素“元素”开头的无效内容。此时不需要子元素。
然后我尝试使用上面代码所示的 maxoccurs="unbounded" 属性,这次它给了我这个错误:
属性“MaxOccurs”不能出现在元素“元素”中
那我该怎么办?保留或删除 maxoccurs 属性?如果我删除它们,我应该怎么做?
非常感谢你的帮助,我要疯了!
【问题讨论】: