0
我從一個大學課程的XML和模式開始,今天我遇到了這個問題,但我一直沒有弄明白。在針對XSD驗證XML文檔時,出現如下錯誤:XML模式:無法找到元素的聲明
cvc-elt.1:無法找到元素'info:SubmitForm'的聲明。 [8]
下面我提供我的XML文檔:
<?xml version="1.0" encoding="UTF-8"?>
<info:SubmitForm
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:info="http://www.nielsvandeven.nl/assignmentxml"
xsi:SchemaLocation= "http://www.nielsvandeven.nl/assignmentxml
EleFoDefAssignment.xsd">
<CustomerInfo>
<name>John Johnson</name>
<country>United Kingdom</country>
<age>40</age>
<registrated>1</registrated>
</CustomerInfo>
<CustomerInfo>
<name>Jan Jansen</name>
<country>Belgium</country>
<age>40</age>
<registrated>0</registrated>
</CustomerInfo>
</info:SubmitForm>
我的架構文件看起來是這樣的:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:info="http://www.nielsvandeven.nl/assignmentxml"
targetNamespace="http://www.nielsvandeven.nl/assignmentxml"
elementFormDefault="unqualified">
<xsd:element name="SubmitForm">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="CustomerInfo" type="info:custinfo" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="custinfo">
<xsd:sequence>
<xsd:element name="name" type="xsd:string" />
<xsd:element name="country" type="xsd:string" />
<xsd:element name="age" type="xsd:integer" />
<xsd:element name="registrated" type="xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
由於我還在學習,請隨時指出任何錯誤我並沒有提到我早先的問題。
感謝, 尼爾斯
嘗試將'xsi:SchemaLocation'更改爲'xsi:schemaLocation'。這是一個錯誤,但我不確定這是否全部。 – lexicore 2014-12-04 22:21:29
建議您更改@lexicore之後,您應該全部設置。 (發現這裏就是這種情況。)讓我們知道你是否有其他麻煩。 – kjhughes 2014-12-04 22:41:14
我已經實施了@lexicore建議的更改,它的工作原理!很容易錯過這樣的錯誤。謝謝,希望這對其他用戶有用。 – 2014-12-05 08:10:08