2009-09-24 10 views
0

J'ai une tâche en cours qui consiste à convertir des fichiers SGM hérités en XML. Les fichiers SGM ont été créés à l'aide de 5 balises de haut niveau distinctes, la nouvelle DTD contient environ 8 à 12 balises de niveau supérieur auxquelles les anciennes doivent être mappées. Il existe quelques balises communes entre les deux DTD, mais il existe suffisamment de différences pour que la copie manuelle et le collage des données entre les deux DTD ne soient pas logiques.Conversion d'un fichier SGM en XML existant

En outre, il existe des informations de liaison qui doivent être traduites entre le format hérité dans le nouveau format. Je suis actuellement penché vers l'approche de haut niveau suivante.

  1. Convertir SGM bien formé XML
  2. Lire dans les fichiers XML et de créer un modèle de mappage pour les types de fichiers existants dans le nouveau type de fichier. Les champs pour les métadonnées seront utilisés pour chaque fichier, les valeurs par défaut étant utilisées pour la majorité des valeurs. Ce fichier sera utilisé pour conduire la conversion finale en XML cible. Je veux avoir un outil ici est assez à l'épreuve des balles pour la saisie de données et utilise des listes déroulantes pour les choix pour les méta-données, donc je regarde la création d'une application de bureau.
  3. Est-ce une conversion du XML en utilisant XSLT

Je suis curieux de savoir si quelqu'un a d'autre expérience avec ce type de conversion, fait cette approche de haut niveau semble viable, sont-il d'autres façons de voir ce problème. En raison des contraintes de temps, je cherche à embaucher un autre développeur pour coder ce projet. J'ai utilisé XSLT mais je n'ai pas d'expérience récente avec le développement d'applications de bureau et les langues qui fournissent une bonne interface à XSLT et peuvent fournir une bonne expérience utilisateur pour l'utilisateur final.

Appréciez l'aide et les commentaires que les gens peuvent fournir. Je serai heureux de fournir plus de clarification sur ce que je cherche.

+0

Voulez-vous dire SGML plutôt que SGM? – Mark

+0

Oui, SGML, je suis habitué à utiliser l'extension de la main courte pour les fichiers. – sablewing

+0

Si vous êtes satisfait de la réponse de Peter, vous devriez l'accepter. –

Répondre

1

C'est exactement ce que je ferais. Vous faites vraiment trois choses différentes ici: Convertir de SGML en XML, convertir du XML vers un schéma différent, et mélanger de nouvelles données. Donc, le faire en trois étapes distinctes est la bonne façon de le faire.

+0

Il est bon d'avoir une confirmation que je ne suis pas complètement hors de ma base. Mon prochain défi consiste à décider du langage d'implémentation à utiliser pour le mappage et la conduite de la conversion XML. Si je faisais le travail, j'utiliserais PHP en ligne de commande, mais j'ai besoin de quelque chose de plus robuste pour les autres utilisateurs. Il faudra faire plus de recherches sur les langues et les compétences disponibles pour travailler sur ce type de problème. – sablewing

+2

Un outil tel que sx (parfois appelé osx ou sgml2xml) qui peut faire la conversion, mais il a foiré la mise en forme des fichiers, de sorte que vous ne pouvez pas les modifier à la main par la suite. Mais puisque vous prévoyez de les convertir en un schéma XML différent après tout (XSLT?), Cela ne devrait pas avoir d'importance. –

Questions connexes