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

您好,我是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="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">