Validando SCHEMA XML

1 resposta
G

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.

1 Resposta

panthovillas

parece que o erro esta nos tipos que vc esta definindo no schema

Criado 2 de maio de 2012
Ultima resposta 3 de mai. de 2012
Respostas 1
Participantes 2