微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

元素类型“标签”必须以匹配的结束标签“ </tag>”终止

如何解决元素类型“标签”必须以匹配的结束标签“ </tag>”终止

下面的代码包含错误

元素类型"xs:sequence"必须由匹配项终止 结束标签"",位于37:5,即第35行第5列。

我认为这是指:

 </xs:element>

但我不知道怎么了。

<xs:schema xmlns:xs="http://www.joe.bloggs.org/2020/XMLSchema" >

 

<xs:element name="Employee_Data" type="EmployeeDataType" />

<xs:complexType name="EmployeeDataType">

  <xs:sequence>

   <xs:element ref="Employee" minOccurs="0" maxOccurs="unbounded" />

  </xs:sequence>

</xs:complexType>

 

<xs:element name="Employee" type="EmployeeType" />

<xs:complexType name="EmployeeType">

  <xs:sequence >

   <xs:element ref="Name" />

   <xs:element ref="Age" />

   <xs:simpleType>
   <xs:restriction base="xs:integer">
   <xs:minInclusive value="0"/>
   <xs:maxInclusive value="120"/>
   </xs:restriction>
   </xs:simpleType>
   </xs:element>

  

   <xs:element ref="Start Date" />

   <xs:element ref="Annual Income” />

         <xs:complexType>

            <xs:simpleContent>

                <xs:extension base="xs:double">

                    <xs:attribute name="currency">

                        <xs:simpleType>

                            <xs:restriction base="xs:string">

                                <xs:enumeration value="Pounds" />

                                <xs:enumeration value="Euros" />

                                <xs:enumeration value="USdollars" />

                            </xs:restriction>

                        </xs:simpleType>

                    </xs:attribute>

                </xs:extension>

            </xs:simpleContent>

        </xs:complexType>

    </xs:element>

   <xs:element ref="Department" />

   <xs:simpleType>
   <xs:restriction base="xs:string">
   <xs:enumeration value="Sales"/>
   <xs:enumeration value="Marketing"/>
   <xs:enumeration value="IT"/>
   </xs:restriction>
   </xs:simpleType>
   </xs:element>

 

<xs:element name="Name" type="xs:string" />

<xs:element name="Start Date" type="xs:date" />

 

</xs:schema>

解决方法

通常,错误

元素类型"tag"必须由匹配项终止 结束标签"</tag>"

是XSD级别以下的基本XML格式正确错误。只要XML解析器遇到一个结束tag,而它之前没有遇到匹配的开始tag,就会发生这种情况。 (在您的情况下,tag = xs:sequence,错误消息似乎丢失了结束tag,这可能是由于一路复制和粘贴标记错误所致。)>

要解决此问题,请扫描回到似乎打算与有问题的结束标签配对的开始标签。解决方法可能涉及添加,重新定位或修复开始标签,或删除,重新定位或修复结束标签。对于您而言,必须修复预期的开始标签,使其不会自动闭合。

更改

  <xs:element ref="Age" />

  <xs:element ref="Age" >

您会发现还有很多其他问题需要解决,包括文档中上述问题的更多实例,在需要的情况下使用"以及使用XSD元素的错误名称空间,在元素名称中使用空格,在xs:element/@ref中使用xs:element/@name的地方,而必须关闭其他XSD元素。

完全修复的XSD

为了最大限度地学习,我强烈建议您独立完成上述问题。如果您发现自己陷入了另一个僵局,请参考以下已完全修复的XSD:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >
  <xs:element name="Employee_Data" type="EmployeeDataType" />
  <xs:complexType name="EmployeeDataType">
    <xs:sequence>
      <xs:element ref="Employee" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Employee" type="EmployeeType" />
  <xs:complexType name="EmployeeType">
    <xs:sequence >
      <xs:element name="Name" />
      <xs:element name="Age" >
        <xs:simpleType>
          <xs:restriction base="xs:integer">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="120"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="StartDate" />
      <xs:element name="AnnualIncome">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:double">
              <xs:attribute name="currency">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="Pounds" />
                    <xs:enumeration value="Euros" />
                    <xs:enumeration value="USdollars" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Department">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Sales"/>
            <xs:enumeration value="Marketing"/>
            <xs:enumeration value="IT"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。