Błąd sprawdzania poprawności XSD: Element „{http://www.example.com} Zakres”: Ten element nie jest oczekiwany. Oczekiwany jest (zakres)
Stworzyłem następujący XSD (z Eclipse):
<code> <?xml version="1.0" encoding="UTF-8"?> <schema targetNamespace="http://www.example.com" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.example.com"> <element name="Make"> <complexType> <sequence> <element name="Scope"></element> </sequence> </complexType> </element> </schema> </code>
i sprawdzanie za pomocą tego prostego XML
<code> <?xml version="1.0"?> <Make xmlns="http://www.example.com"> <Scope> </Scope> </Make> </code>
daje:
<code> xmllint.exe --noout --schema sources.xsd sources.xml sources.xml:3: element Scope: Schemas validity error : Element '{http://www.example.com}Scope': This element is not expected. Expected is ( Scope ). sources.xml fails to validate </code>
Moim zdaniem tomusi bądź poprawny: plik XML znajduje się w przestrzeni nazwhttp://www.example.com (co mówi także walidator).
A dla XSD ustawiam domyślną przestrzeń nazw na schemat XSD (tak robi Eclipse, więc powinien być poprawny!) I podaję poprawną przestrzeń docelową. Próbowałem również użyć
<code><element name="tnd:Scope" /> </code>
Jednak to również nie działa.
Czy jest to błąd w xmllint lub gdzie jest problem?
Pozdrawiam divB