Validacao de XML  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

Criei um DTD para um documento XML, porem mesmo com o XML mal-formatado o processamento dele ocorre sem problemas. Nao sei se o problema eh com o meu DTD ou se eh alguma outra coisa. Parece que tem algum metodo para ativar a validacao, mas nao consegui.
O codigo do parser que teste foi



O XML e a DTD tem um formato como o seguinte:

DTD:


XML:


Neste caso, mesmo se tiro o atributo "nome" ou "id" , o XML eh processado sem apresentar erro algum. O que esta errado?

Rafael

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
Leandro
JavaTeenager
[Avatar]

Membro desde: 05/12/2002 12:48:54
Mensagens: 157
Localização: SBC - SP - Brazil
Offline

Não faço idéia do que vc tá falando... mas se isso é Java Básico, acho bom eu voltar pras aulas de lógica do cologial...

Nosso work é codar!
[Email] [WWW] [ICQ]
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

hehe.. eh que nao tem uma secao soh de xml, entao em j2ee nao da.. dae fiquei em duvida, e coloquei no basico mesmo.. O problema nao deve ser dificil, soh nao estou conseguindo achar o problema

Rafael

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

Bom, consegui resolver o problema. Era necessario criar uma classe que implementa a interface org.xml.sax.ErrorHandler e definir os metodos. Entao passar esta classe de controle de erros para o processador xml.

Por exemplo



na classe do parser ( que extende DefaultHandler ou algum outro ), o metodo error() da interface chama uma instancia de MeuErrorHandler para cuidar os erros.
Entao, na hora de fazer o processamento ( levando em base como eu ja estava fazendo antes, fica algo como:



MeuXML2 nesse caso eh a classe que implementa DefaultHandler.

E tudo funciona agora

Rafael

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

Bom, na verdade eh muito mais simples apenas implementar o metodo error(SAXParseException) e tratar o erro la dentro mesmo. Criar um outro ErrorHandler soh seria necessario se fosse necessario customizar os errors..

Rafael

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team