Pergunta

Eu tenho uma tarefa no trabalho que envolve a conversão de arquivos de legado SGM em XML. Os arquivos SGM foram criados usando 5 etiquetas de alto nível separadas, o novo DTD tem cerca de 8-12 etiquetas de nível superior que os antigos teriam de ser mapeado. Existem algumas tags comuns entre os 2 DTDs, mas existem diferenças suficientes que não fazem sentido apenas para fazer cópia manual e colar de dados entre os 2 DTDs.

Além disso, há informações de ligação que precisa ser traduzida entre o formato legado para o formato mais recente. Atualmente, estou inclinado para a seguinte abordagem de alto nível.

  1. Convert SGM para XML bem formado
  2. Leia nos arquivos XML e criar um modelo de mapeamento de tipos de arquivo existente para o novo tipo de arquivo. Campos de metadados serão utilizados para cada arquivo, com padrões que está sendo usado para a maioria dos valores. Este arquivo será usado para conduzir a conversão final para o XML alvo. Quero ter uma ferramenta aqui é bastante à prova de bala para entrada de dados e usa listas suspensas para as escolhas para os dados de meta, então eu estou olhando para a criação de um aplicativo de desktop.
  3. fazer uma conversão do XML usando XSLT

Estou curioso para saber se alguém tem experiência com este tipo de conversão, faz esta abordagem de alto nível parece viável, existem outras maneiras de ver este problema. Devido a limitações de tempo para mim mesmo que eu estou olhando para a contratação de outro desenvolvedor para fazer a codificação para este projeto. Eu usei XSLT, mas não têm experiência recente com o desenvolvimento de aplicações desktop e que línguas fornecer uma interface boa para XSLT e pode fornecer uma experiência final boa frente para o usuário final.

Agradecemos toda a ajuda e comentários de pessoas pode proporcionar. Será feliz para prestar mais esclarecimentos sobre o que eu estou procurando.

Foi útil?

Solução

Isso é exatamente como eu faria isso. Você está realmente fazendo três coisas diferentes aqui: Converter a partir de SGML para XML, conversão de XML para um esquema diferente, e misture com novos dados. Assim fazê-lo em três etapas separadas é o caminho certo para fazê-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top