我對XML模式等有點新,並且一直在努力開發一些XML,模式和樣式表(XSLT)。我已經取得了合理的進展,但後來意識到我的Schema已經停止工作,所以我已經回到了一個更簡單的非描述性示例。XML模式驗證:找不到元素的聲明
這裏是我的XML:
<?xml version="1.0" encoding="UTF-8"?>
<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="Test.Namespace"
schemaLocation="http://myNameSpace.com Test1.xsd">
<element1 id="001">
<element2 id="001.1">
<element3 id="001.1" />
</element2>
</element1>
</Root>
我寫了一個模式,它是在這裏:
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="Test.Namespace"
elementFormDefault="qualified">
<xsd:element name="Root">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="element1" maxOccurs="unbounded" type="element1Type"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="element1Type">
<xsd:sequence>
<xsd:element name="element2" maxOccurs="unbounded" type="element2Type"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="element2Type">
<xsd:sequence>
<xsd:element name="item" type="element3Type"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="element3Type">
<xsd:attribute name="id" type="xsd:string"/>
</xsd:complexType>
</xsd:schema>
的架構是代表我真正的XML的結構。
現在,當我嘗試驗證我的XML,我得到這個錯誤:
cvc-elt.1: Cannot find the declaration of element 'Root'. [7]
這個我想是與根元素的命名空間的問題做的,但我真的不知道。
有人可以建議我做錯了請。
我已經按照您的建議更正了以下內容,現在它可以正常工作 「三個」命名空間的說明正是我所需要的。 – Nerdio 2013-03-27 10:07:19