Boa tarde, estou com um problema na validação do meu SCHEMA XML, na realidade são dois xmls que o programa gera, porém um único XSD, na hora da validação ele dá esse erro. Não posso juntar os dois xmls pois eles são enviados separadamente. Basicamente é isso:
No XSD, tem 2 nós principais:
-
-
Eu gerei um xml de carro e um xml de moto, só que no momento da validação ele dá o erro abaixo, penso que o erro pode ser justamente a validação separada dos xmls, portanto tem como selecionar o nó no schema que eu quero validar?
public static final String CAMINHO_ARQUIVO = "D:\\123456_01012012_02052012110237.xml";
public static final String CAMINHO_SCHEMA = "D:\\projects\\diopspremium\\doc\\schemas\\diopsComplexTypes.xsd";
public static void main(String[] args) {
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
dbf.setValidating(true);
dbf.setXIncludeAware(true);
dbf.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema");
dbf.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaSource", CAMINHO_SCHEMA);
DocumentBuilder parser = dbf.newDocumentBuilder();
System.out.println("---------------------------------------------------------------------");
System.out.println("VALIDAÇÃO SchemaDIOPS x Arquivo " + CAMINHO_ARQUIVO);
System.out.println("---------------------------------------------------------------------");
System.out.println("Erros :");
parser.parse(new File(CAMINHO_ARQUIVO));
//System.out.println("Arquivo válido.");
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Warning: validation was turned on but an org.xml.sax.ErrorHandler was not
set, which is probably not what is desired. Parser will use a default
ErrorHandler to print the first 10 errors. Please call
the 'setErrorHandler' method to fix this.
Error: URI=file:/D:/projects/diopspremium/doc/schemas/diopsComplexTypes.xsd Line=455: src-resolve: Cannot resolve the name 'ans:st_segmentacaoOdontMedGru' to a(n) 'type definition' component.
Error: URI=file:/D:/projects/diopspremium/doc/schemas/diopsComplexTypes.xsd Line=462: src-resolve: Cannot resolve the name 'ans:st_segmentacaoNaoPatr' to a(n) 'type definition' component.