XML验证问题
您好,我是XML/XSD方面的新手。有人能帮我解决这个问题吗: XML(给定):XML验证问题,xml,xsd,xsd-validation,Xml,Xsd,Xsd Validation,您好,我是XML/XSD方面的新手。有人能帮我解决这个问题吗: XML(给定): 电影 abc 2015 abc abc 电影2 2015 abc abc abc 我的模式: <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="f
电影
abc
2015
abc
abc
电影2
2015
abc
abc
abc
我的模式:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="filmliste">
<xs:complexType>
<xs:sequence>
<xs:element name="film">
<xs:complexType>
<xs:choice >
<xs:element type="xs:string" name="titel" maxOccurs="1"/>
<xs:element type="xs:string" name="regiseur" maxOccurs="unbounded"/>
<xs:element type="xs:float" name="erscheinungsjahr" maxOccurs="1"/>
<xs:element type="xs:string" name="schauspieler" maxOccurs="unbounded"/>
<xs:element type="xs:float" name="bewertung" minOccurs="0"/>
<xs:element type="xs:string" name="genre"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="author"/>
<xs:attribute type="xs:string" name="datum"/>
</xs:complexType>
</xs:element>
</xs:schema>
现在,我的XML文档中有两个验证错误。
1:元素“regiseur”:不应使用此元素。
2:元素“film”:不应使用此元素。错误在于您正在使用
标记。
使用此标记意味着您只能放入一个选项(子元素)。将其更改为以下任一标记
-子元素可以以任何顺序出现
-子元素只能按所述顺序出现
xsd:choice
元素不正确。它只允许一个包含的成员出现。也就是说,您可以拥有titel
或regiseur
,但不能同时拥有两者。改为使用(项目以任何顺序显示)或(项目以指定顺序显示)。从XML判断,顺序并不重要,因此应该是xsd:all
xsd的默认值:sequence@maxOccurs
是1
。因此,它正在第二次投诉电影
。指定适当的最大界限:
<xs:sequence maxOccurs="unbounded">
<xs:sequence maxOccurs="unbounded">