Error de validación de XSD: Elemento '{http://www.example.com} Ámbito': No se espera este elemento. Se espera que sea (alcance)
Creé el siguiente XSD (con 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>
y validando con este simple XML
<code> <?xml version="1.0"?> <Make xmlns="http://www.example.com"> <Scope> </Scope> </Make> </code>
da:
<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>
En mi opinión, estadebe ser correcto: el archivo XML está en el espacio de nombreshttp://www.example.com (lo que también dice el validador).
Y para XSD, establezco el espacio de nombres predeterminado en el esquema XSD (esto es lo que hace Eclipse, ¡así que debería ser correcto!) Y doy el targetNamespace correcto. También traté de usar
<code><element name="tnd:Scope" /> </code>
Sin embargo, esto tampoco funciona.
¿Es esto un error en xmllint o donde está el problema?
Saludos divB