[英]The element type “META” must be terminated by the matching end-tag “</META>”
[英]The element type "tag" must be terminated by the matching end-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" >
您會發現還有許多進一步的問題需要解決,包括上述問題的其他實例進一步向下文檔,需要使用”
where "
,以及對 XSD 元素使用錯誤的命名空間,使用元素名稱中的空格,使用xs:element/@ref
其中應該使用xs:element/@name
,並且必須關閉其他 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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.