Problema com XML Schema e namespace, usando SaxParser

1 resposta
G

Pessoal,

Estou com problemas ao validar um xml com XML Schema. Utilizei o SaxParser, e setei a property assim:

parser.setProperty(“http://apache.org/xml/properties/schema/external-schemaLocation”, “http://www.w3.org/2001/XMLSchema SchemaLoader”);
parser.setEntityResolver(new SchemaLoader(schemaStream));

Aonde o primeiro valor seria o namespace, e o segundo o xsd, utilizando uma implementacao do EntityResolver. Estou utilizando o Sax 2.0.1 e xerces 2.4.0.
O erro que ocorre é : "cvc-elt.1: Cannot find the declaration of element ‘JdbcConnection’ ", o que me faz entender que ele está ignorando meu schema, já que ele nem entra no SchemaLoader.
Por favor, qualquer pessoa que já passou por isso ou sabe de algo que posso fazer, ficarei muito grato!!

1 Resposta

M

Eae blz?
Cara estava tendo um problema parecido, resolvi assim:

public void setFeature(SAXParser parser, String schemaLocation) throws GeradorException {
try {
parser.setFeature(“http://xml.org/sax/features/validation”, true);
parser.setFeature(“http://apache.org/xml/features/validation/schema-full-checking”,true);
parser.setFeature(“http://apache.org/xml/features/validation/schema”, true);
parser.setFeature(“http://xml.org/sax/features/namespaces”, true); parser.setProperty(“http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation”,schemaLocation);
} catch (SAXNotRecognizedException e) {
throw new GeradorException(“SAXNotRecognizedException”, e);
} catch (SAXNotSupportedException e) {
throw new GeradorException(“SAXNotSupportedException”, e);
}
}

setFeature(parser,schemaLocation);

validarXML(xml,xsd,new XMLContentHandler(),xmlErrorHandler);

“C:/Cenários/arquivo.xml”
“src/xsd/versao/n104/xsd.xsd”

Criado 25 de abril de 2006
Ultima resposta 3 de mar. de 2008
Respostas 1
Participantes 2