/ / Pode-se validar XML empacotado com JAXB 2.0? - java, validação, jaxb

Pode-se validar o XML empacotado com o JAXB 2.0? - java, validação, jaxb

Aparentemente, na versão 2 do JAXB - o validadorclasse foi descontinuada - isso significa que o empacotador está validando automaticamente seu XML? Nesse caso, não parece queixar-se de parte do XML incorreto que estou formando! Alguém pode me dar alguns conselhos sobre como posso validar XML empacotado para garantir que esteja em conformidade com o esquema XSD.

Muito Obrigado.

Respostas:

27 para resposta № 1

Os recursos de validação foram expandidos no JAXB 2.0 por meio do uso do JAXP 1.3 Schema Validation Framework.

Onde antes você:

unmarshaller.setValidating(true);

agora você precisa fazer:

SchemaFactory sf = SchemaFactory.newInstance(
javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = sf.newSchema(new File("myschema.xsd"));
unmarshaller.setSchema(schema);

Se você passar nulo para setSchema, desativa a validação.

por favor, verifique esta referência.


2 para resposta № 2

Se você deseja verificar se os objetos Java geram XML válido de acordo com um esquema, consulte o projeto JAXB-Verification:

https://jaxb-verification.dev.java.net/

É um plug-in JAXB RI para xjc que irá gerar uma implementação do ObjectVerifier para o esquema XML. Isso evita a necessidade de organizar os objetos Java para validar o XML.