使用maxOccurs元素的模式验证失败

时间:2012-11-24 14:17:43

标签: xml xml-parsing xsd libxml2

在XML中出现多次(例如2次)的元素的模式,始终无法给出错误“模式有效性错误:元素'名称':不期望此元素”。 “name”是XML文件的中间元素,即我们在XML中有其他元素,“name”在XML文件中间。 XML文件具有正确的标题为“”

Sample "name" element in XML file :
<name>
 <First>1</First>
 <last>1</last>
</name>
<name>
 <First>1</First>
 <last>1</last>
</name>

Sample Schema tried  as below, but nothing works. However after commenting the second instance of "name" in XML, schema is validated successfully. PLEASE HELP.

<xs:element name="name" >
    <xs:complexType mixed="true">
      <xs:sequence>
        <xs:element ref="First"/>
        <xs:element ref="last"/>
      <xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="name" >
    <xs:complexType mixed="true">
      <xs:sequence minOccurs="1" maxOccurs="3">
        <xs:element ref="First"/>
        <xs:element ref="last"/>
      <xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="name" >
    <xs:complexType mixed="true">
      <xs:all>
        <xs:element ref="First"/>
        <xs:element ref="last"/>
      <xs:all>
    </xs:complexType>
  </xs:element>


 <xs:element name="name" minOccurs="1" maxOccurs="3" >
    <xs:complexType mixed="true">
      <xs:sequence >
        <xs:element ref="First"/>
        <xs:element ref="last"/>
      <xs:sequence>
    </xs:complexType>
  </xs:element>


 <xs:element name="name">
    <xs:complexType mixed="true">
      <xs:choice maxOccurs="3" >
        <xs:element ref="First"/>
        <xs:element ref="last"/>
      <xs:choice>
    </xs:complexType>
  </xs:element>

1 个答案:

答案 0 :(得分:0)

问题可能出在name元素的父类型声明中,您没有向我们展示过。