簡體   English   中英

元素類型“xsd:schema”必須由匹配的結束標簽“”終止

[英]The element type “xsd:schema” must be terminated by the matching end-tag “</xsd:schema>”

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://xml.netbeans.org/schema/books"
    xmlns:tns="http://xml.netbeans.org/schema/books"
    elementFormDefault="qualified">
    
    <xsd:complexType name="Mcdonalds">
        <xsd:sequence>
            <xsd:element name="Apple pie" type="xsd:date"/>
            <xsd:element name="Mcflurry" type="xsd:string"/>
            <xsd:element name="Fries" type="xsd:double"/>
        </xsd:sequence>
    </xsd:complexType>
    
      <xsd:complexType name="Five guys">
        <xsd:sequence>
            <xsd:element name="Large fries" type="xsd:string"/>
            <xsd:element name="small burger" type="xsd:string"/>
            <xsd:element name="hotdog" type="xsd:int"/>
            <xsd:element name="cost" type="xsd:double"/>
        </xsd:sequence>
      </xsd:complexType>
</xsd:schema>

我正在嘗試綁定我的 XSD 文件,但我一直收到此錯誤並且我沒有看到任何問題。

錯誤:

元素類型:

"[ERROR] 元素類型 "xsd:schema" 必須由匹配的結束標記 "</xsd:schema>" 終止

您沒有在您發布的同一個 XSD 上運行驗證器(或者您的 XSD 處理器嚴重損壞)。

您發布的 XSD不應導致發布有關xsd:schema缺少結束標簽的錯誤。

為元素使用正確的 NCNames - 沒有空格,正如@YitzhakKhabinsky 已經提到的(+1):

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://xml.netbeans.org/schema/books"
            xmlns:tns="http://xml.netbeans.org/schema/books"
            elementFormDefault="qualified">
  
  <xsd:complexType name="Mcdonalds">
    <xsd:sequence>
      <xsd:element name="ApplePie" type="xsd:date"/>
      <xsd:element name="Mcflurry" type="xsd:string"/>
      <xsd:element name="Fries" type="xsd:double"/>
    </xsd:sequence>
  </xsd:complexType>
  
  <xsd:complexType name="FiveGuys">
    <xsd:sequence>
      <xsd:element name="LargeFries" type="xsd:string"/>
      <xsd:element name="SmallBurger" type="xsd:string"/>
      <xsd:element name="hotdog" type="xsd:int"/>
      <xsd:element name="cost" type="xsd:double"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

上面的 XSD 在語法上是正確的。 將它完全用於您的下一次測試。 但是,請注意以下幾點:

  1. cost元素與FiveGuys而不是與每個菜單項相關聯的語義,也許是作為一個屬性而不是一個元素,是值得懷疑的。

  2. 您目前沒有定義根級元素,只有類型。

我使用 Saxon 驗證了 XSD。 這是它的output。

請嘗試刪除元素名稱中的空格。

Running custom validation engine Saxonica 9.7.0.15 Validator...

file:/e:/Temp/dummy.xsd:9 Fatal Error: Invalid QName {Apple pie}
file:/e:/Temp/dummy.xsd:15 Fatal Error: Invalid QName {Five guys}
file:/e:/Temp/dummy.xsd:17 Fatal Error: Invalid QName {Large fries}
file:/e:/Temp/dummy.xsd:18 Fatal Error: Invalid QName {small burger}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM