簡體   English   中英

不知道為什么XML Schema格式不正確?

[英]Don't know why XML Schema isn't well-formed?

我有一個非常簡單的問題,它與給定的XML模式文件有關,您可以在我的文章下面看到。 這是我必須在一周內寫的一次考試,它是關於格式正確的問題。

該錯誤已被標記為黃色,並且我得到的提示是關於名稱空間的,但是最后我不知道如何解決該問題。 我的第一個想法是類型定義Type="Book"需要像Type="urn:Book"這樣的前綴,但是我不確定。

感謝您提供的任何建議,在這種情況下可以幫助我解決知識不足的問題。

在此處輸入圖片說明

這是因為您使用targetNamespace屬性指定Bookurn:schemaS命名空間中。 為此,您需要為urn:schemaS定義一個名稱和平前綴,並在type="nsPrefix:Book"對其進行限定。

閱讀本教程

聲明命名的complexType其名稱是與目標名稱空間關聯的合格名稱-因此,您聲明的是urn:schema5名稱空間中的Book類型。

當您引用類型時,必須指定其限定名稱,並且該模式並非默認為目標名稱空間,它使用常規的XML名稱空間聲明。 因為您沒有,所以您嘗試在默認名稱空間('')中使用Book類型,該類型不存在。

您必須添加一個名稱空間聲明:

<xs:schema  
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:schema5="urn:schema5"
  targetNamespace="urn:schema5"
  elementFormDefault="qualified">

然后用它

    <xs:element name="book" type="schema5:Book" maxOccurs="3"/>

或(我的首選)聲明您將目標名稱空間作為默認名稱空間:

<xs:schema  
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns="urn:schema5"
  targetNamespace="urn:schema5"
  elementFormDefault="qualified">

然后您無需執行其他任何操作。

暫無
暫無

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

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