Recuperacão de informação em documentos XML - APIs JAVA

1)Estou precisando de uma API em JAVA que dado um arquixo XML gere automaticamente o XML-Schema (ou DTD). Mas, preciso do código fonte para adicionar no projeto.

2)Preciso também de uma API em JAVA que dado um arquivo HTML realize um parser no mesmo e o converta para XML.

3)Dúvida: Faz sentido em construção de frameworks para Recuperação de Informação ter um formato neutro (no caso XML) para recuperar os documentos relevantes? Ou isto só irá trazer um atraso para a pesquisa e o ideal é fazer o parser para o arquivo no formato Original?

Desde já agradeço.

Cleonice Gontijo

Hmmm… interessante :slight_smile:

Sobre gerar schemas a partir de um XML, acho que dá até pra usar XSLT pra fazer isso, mas não sei de nada pronto por aí. É um trabalhinho bem pesado, aliás… se vc estiver fazendo isso num loop gigante em cima de uma quantidade de informacao monstruosa, prepare-se pra um longo inverno :smiley:

Parsers de HTML são preciosidades raras, pq HTML não tem sintaxe definida (ou definível). Se voce der uma olhada no que o Mozilla faz pra entender os HTMLs que a gente joga nele, vai ver que é um esforço heróico pra decifrar o que quer que o documento contenha. Mesmo assim, voce pode querer dar uma olhada no jTidy (.sf.net).

Sobre o 3o ponto: faz sentido, mas não é “bom”. Estou imaginando que vc esta tentando ler informacao da internet, e tentar normalizar a internet em um banco de dados ou um modelo fechadinho é simplesmente impossível, pq vc vai estar sempre um passo atrás da bagunça. O jeito é manter os documentos nos formatos originais (possivelmente removendo a formatação que não te interessa, apenas), e categorizando as coisas dinamicamente.

Um exemplo aqui eh o servico de diretórios do Google: nao tem ninguem que cria as categorias, o sistema se vira sozinho pra descobrir se uma determinada area de interesse tem um numero grande o suficiente de paginas e relacionamentos (intra-links) pra merecer uma categoria propria.

Uma coisa mais interessante é policiar a coisa para o documento ser escrito em XHTML, ou fazer uma conversão do HTML para XHTML, que no final das contas é um XML. :slight_smile:

Obrigada pelas dicas. Estou trabalhando em uma intranet e neste caso poderei fazer algumas restrições nos formatos dos documentos.

Realmente não estou conseguindo encontrar nenhuma API que gere Schemas a partir de XML. Nesta fase, estou precisando apenas extrair os elementos e sub-elementos de um arquivo XML.
Posso simplesmente percorrer o arquivo XML utilizando O DOM ou o SAX até que o primeiro elemento se repita (o que indica fim de uma estrutura) e gerar um objeto com os atributos sendo os elementos e subelementos ou preciso de critérios mais rígidos para afirmar que recuperei todos os elementos e subelementos existentes no arquivo?

Obrigada.