Mapeamento XML para BD Relacional

Olá,

Alguem no forum sabe se existem bibliotecas/frameworks com exemplos para mapear a estrutura de um arquivo XML para scripts SQL.
Encontrei algumas bibliotecas, porém devido a fraca documentação não conseguir fazer funcionar!

Preciso que sejam classes java, pois estou desenvolvendo uma aplicação que deve fazer tudo de forma automátização sem intervenção de usuário.
Existem diversos softwares pagos que fazem isso e também eu consigo fazer manualmente com Parsing e alguns tratamentos.
Mas ajudaria utilizar algo já testado e otimizado.

Aguardo alguma resposta,
FAHAD

Falae,

Cara, de cabeça não sei nenhum framework que faz isso, mas você pode transformar esses XML´s em javabeans com o skaringa por exemplo, e ter esses beans mapeados no hibernate.

Tem vários outros frameworks que geram javabeans a partir de XML… eu achei o skaringa mais simples.

[]´s

Que tipo de arquivos xml vc está usando, ou melhor, como eles são gerados?

[]'s

Cara, tipo é um trabalho academico, na verdade estou fazendo parsing do XML de Curriculos LATTES.
Tem o DTD bem definido
só que eu keria de maneira automatizada…
mapear este XML para o BD, já que são muitos os atributos e tags (mais de 300 conforme o arquivo).

É inviável fazer isso manualmente.

Fiz um trabalho parecido. Trabalhas aonde ? Você quer armazenar todas as informacoes do currículo ?

Sou acadêmico da Universidade de Passo Fundo / RS.
Na verdade eu estou colaborando com esse trabalho.
Sim… a idéia é mapear todo o Lattes para um BD PostgreSQL.

Para então aplicar técnicas de Data Mining afim de traçar padrões acerca dos dados.

Eu sei que já existem pesquisas e aplicativos que já fazem esse tipo de manipulação, bem como, já foram apresentados artigos sobre isso, porém a idéia seria criar um mecanismo onde se insere o XML do Lattes, ele mapeia para o BD, é feito o pré-processamento dos dados, para aí sim, aplicar algoritmos de KDD(Descoberta de Conhecimento).

De preferencia gostaria de usar apenas bibliotecas Open-Source por se tratar de um trabalho a nível de Universidade (Pesquisa).
Pesquisei sobre o XML-DBMS(Java and Perl middleware for transferring data between XML documents and relational databases.)
Estou analisando várias ferramentas para achar uma eficiente… pois a medida que as informações forem crescendo, é necessária uma Boa performance.

Na UFSC eu fiz um trabalho um pouco mais simples. Os dados “básicos” fora mapeados para o banco de dados.

Produção Bibliográfica, Producao Técnica, Outras Produções.

Somente os elementos “DADOS-BASICOS-…”, foram inseridos no banco de dados e em uma mesma tabela. Eu usei XPath e um arquivo de configuração. Funcionou para as nossas necessidades. DW dos discentes.

Linha do arquivo de especificação

1,1,//PRODUCAO-BIBLIOGRAFICA//TRABALHOS-EM-EVENTOS//TRABALHO-EM-EVENTOS,DADOS-BASICOS-DO-TRABALHO,NATUREZA,TITULO-DO-TRABALHO,ANO-DO-TRABALHO,PAIS-DO-EVENTO,IDIOMA,MEIO-DE-DIVULGACAO,HOME-PAGE-DO-TRABALHO,FLAG-RELEVANCIA,DOI

Tabela

CREATE TABLE producao_lattes (
cpf varchar(15) NOT NULL,
id_tipo_producao int NOT NULL,
id_sub_tipo_producao int NOT NULL,
tipo_atividade varchar(100) NULL,
natureza varchar(100) NULL,
titulo varchar(255) NULL,
ano varchar(4) NULL,
pais varchar(100) NULL,
idioma varchar(100) NULL,
meio_divulgacao varchar(100) NULL,
home_page varchar(255) NULL,
flag_relevancia varchar(10) NULL,
doi varchar(100) NULL
)
go

Demora cerca de 3 horas para inserir todos os dados dos professores da UFSC. Estamos pegando o currículo on-line usando HttpUnit e os serviços do CNPq.

[]'s

Fred