Walidacja schematu XML: nie można znaleźć deklaracji elementu
Nadal jestem trochę nowy w schemacie XML itp. I pracowałem nad rozwojem XML, schematu i arkusza stylów (XSLT). Dokonałem rozsądnego postępu, ale potem zrozumiałem, że mój schemat przestał działać, więc wziąłem go z powrotem do prostszego, nieopisanego przykładu.
Oto mój 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>
Napisałem Schemat, który jest tutaj:
<?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>
Schemat jest reprezentatywny dla struktury mojego prawdziwego XML.
Teraz, gdy próbuję sprawdzić poprawność mojego XML, otrzymuję ten błąd:
cvc-elt.1: Cannot find the declaration of element 'Root'. [7]
Myślę, że ma to związek z problemem przestrzeni nazw w elemencie głównym, ale naprawdę nie jestem pewien.
Czy ktoś może zasugerować, co robię źle, proszę.