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):
<?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>
y validando con este simple XML
<?xml version="1.0"?>
<Make xmlns="http://www.example.com">
<Scope>
</Scope>
</Make>
da:
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
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
<element name="tnd:Scope" />
Sin embargo, esto tampoco funciona.
¿Es esto un error en xmllint o donde está el problema?
Saludos divB