从元素'sport'开始发现无效内容。预计其中一个'{spalanie}'

时间:2015-11-22 10:22:50

标签: xml xsd

我一直在努力解决这个问题,但我无法理解它的来源:

  

从元素'sport'开始发现无效内容。预计会有一个'{spalanie}'。

这是XML的一部分:

    <?xml version="1.0" encoding="utf-8"?>
<spinning>
  <tabela>
    <porownanie waga="45">
      <sport>Bieg 11km/h</sport>
      <spalanie>610</spalanie>
      <sport>Skakana</sport>
      <spalanie>500</spalanie>
      <sport>Pływanie 50m/min</sport>
      <spalanie>325</spalanie>
      <sport>Spinning</sport>
      <spalanie>800</spalanie>    
     </porownanie>
 </tabela>

以下是XSD:

<xsd:schema version="1.0"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema">


  <xsd:element name="spinning" type="spinning_typ"/>

<xsd:complexType name="spinning_typ">
    <xsd:sequence>
      <xsd:element name="tabela" type="tabela_typ" maxOccurs="unbounded"/>
      <xsd:element name="zapisy" type="zapisy_typ"/>
      <xsd:element name="sprzet" type="sprzet_typ"/>
    </xsd:sequence>
</xsd:complexType>


  <xsd:complexType name="tabela_typ">
    <xsd:sequence>
      <xsd:element name="porownanie" maxOccurs="unbounded">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" name="sport"/>
            <xsd:element maxOccurs="unbounded" name="spalanie" type="xsd:decimal"/>
          </xsd:sequence>
         <xsd:attribute ref="waga"/>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>

1 个答案:

答案 0 :(得分:0)

如果您的Xml示例表示所需的架构,则porownanie内的序列的xsd应如下所示:

<xsd:complexType name="tabela_typ">
  <xsd:sequence>
    <xsd:element name="porownanie" maxOccurs="unbounded">
      <xsd:complexType>
        <xsd:sequence maxOccurs="unbounded">
          <xsd:element maxOccurs="1" name="sport"/>
          <xsd:element maxOccurs="1" name="spalanie" type="xsd:decimal"/>
        </xsd:sequence>
       <xsd:attribute ref="waga"/>
      </xsd:complexType>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

您的重复序列恰好包含2个元素sportspalanie