2014-03-12 52 views
0

我不斷收到錯誤:與元素類型「xs」關聯的屬性名稱「元素」必須後跟'='字符。在第4行中,無論何時驗證我的XML模式,正如您可以在我的XML模式和XML文檔中看到的那樣,我有2個項目標記,我已經在XML模式中爲他們做了正確的事情,我是新手,事實上,第一次嘗試XML架構今天在XML模式中獲取錯誤

XML模式:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> 

<xs element name="shiporder" type="xs:string"> 
<xs: complexType> 
<xs: sequence> 
<xs element name="orderperson"/> 
<xs element name="shipto"> 
<xs: complexType> 
<xs: sequence> 
<xs element name="name" type="xs:string"/> 
<xs element name="address" type="xs:string"/> 
<xs element name="city" type="xs:string"/> 
<xs element name="country" type="xs:string"/> 
<xs: complexType> 
<xs: sequence> 
<xs: element name="title" type="xs:string"/> 
<xs: element name="note" type="xs:string"/> 
<xs: element name="quantity" type="xs:integer"/> 
<xs: element name="price" type="xs:decimal"/> 
</xs:sequence> 
<xs:attribute name="item" type="xs:string" use="required"/> 
</xs:complexType> 
</xs:element> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 
</xs:sequence> 

XML文檔:

<?xml version="1.0" encoding="UTF-8"?> 

<shiporder orderid="889923" xmlns:xsi="http://www.w3.org/2001/XMLSchema-xsi:noNamespaceSchemaLocation="shiporder.xsd"> 
<orderperson>John Smith</orderperson> 
<shipto> 
<name>Ola Nordmann</name> 
<address>Langgt 23</address> 
<city>4000 Stavanger</city> 
<country>Norway</country> 
</shipto> 
<item> 
<title>Empire Burlesque</title> 
<note>Special Edition</note> 
<quantity>1</quantity> 
<price>10.90</price> 
</item> 
<item> 
<title>Hide your heart</title> 
<quantity>1</quantity> 
<price>9.90</price> 
</item> 
</shiporder> 
+0

這真的是你的代碼嗎?除了丟失的冒號之外,似乎還有更多的問題。它不是格式良好的XML。請檢查您的來源併發布您遇到問題的實際文件。並請格式化代碼。 – helderdarocha

+0

這是我的代碼,因此我試圖修復我的代碼,所以我可以從我的代碼中學習 – user3399960

+0

是的,但是您至少應該發佈完整的XML Schema並對其進行格式化。 – helderdarocha

回答

0

你可能需要更換<xs element<xs:element在架構中。因爲否則element確實不會被解釋爲標記名稱,而是作爲屬性

此外,你需要你的element和complexType摺疊成一個標籤:

所以:

<xs element name="shiporder" type="xs:string"> 
<xs: complexType> 

應該改爲:

<xs: complexType name="shiporder"> 

不要忘記刪除結束標記爲好(因爲在這個操作之後只有一個開始標籤)。

而你需要刪除類型(否則你不能將數據插入標籤)。

+0

現在沒有說它沒有正確形成:與元素類型「xs:」關聯的屬性名稱「complexType」必須後跟'='字符。 – user3399960

+0

你用過冒號試過嗎?我見過的大多數模式至少使用冒號(http://msdn.microsoft.com/en-us/library/ms256129%28v=vs.110%29.aspx) –

+0

我已經更新了我的答案。它現在工作嗎? –