如何解决元素类型“标签”必须以匹配的结束标签“ </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 举报,一经查实,本站将立刻删除。