2009-09-24 2 views
0

У меня есть задача на работе, которая включает в себя преобразование устаревших SGM-файлов в XML. Файлы SGM были созданы с использованием 5 отдельных тегов высокого уровня, новый DTD имеет около 8-12 тегов верхнего уровня, к которым нужно сопоставить старые. Есть несколько распространенных тегов между двумя DTD, но есть достаточно различий, что не имеет смысла просто делать ручную копирование и вставку данных между двумя DTD.Преобразование устаревшего SGM в XML

Кроме того, имеется ссылка на информацию, которая должна быть переведена между устаревшим форматом в более новый формат. В настоящее время я склоняюсь к следующему высокоуровневому подходу.

  1. Преобразование SGM хорошо сформирован XML
  2. чтения в файлах XML и создать шаблон отображения для существующих типов файлов в новый тип файла. Поля для метаданных будут использоваться для каждого файла, причем значения по умолчанию используются для большинства значений. Этот файл будет использоваться для управления окончательным преобразованием в целевой XML. Я хочу иметь инструмент здесь, достаточно пуленепробиваемый для ввода данных, и использует выпадающие списки для выбора метаданных, поэтому я рассматриваю создание настольного приложения.
  3. Выполните преобразование XML с помощью XSLT

Я интересно, если кто-то имеет опыт работы с этим типом преобразования, делают этот высокий уровень подход, кажется жизнеспособным, есть и другие способы, чтобы просмотреть эту проблему. Из-за ограничений по времени для себя я ищу нанять другого разработчика, чтобы сделать кодирование для этого проекта. Я использовал XSLT, но не имею недавнего опыта разработки настольных приложений и того, какие языки обеспечивают хороший интерфейс для XSLT и могут обеспечить хороший интерфейс для конечного пользователя.

Цените любую помощь и комментарии, которые могут предоставить люди. Будем рады дать дополнительные разъяснения по поводу того, что я ищу.

+0

Вы имеете в виду SGML, а не SGM? – Mark

+0

Да, SGML, я использую короткое расширение для файлов. – sablewing

+0

Если вы довольны ответом Питера, вы должны «принять» его. –

ответ

1

Именно так я и сделал бы это. Здесь вы действительно делаете три разные вещи: конвертируйте с SGML в XML, конвертируйте из XML в другую схему и перемешайте в новые данные. Так что сделать это тремя разными шагами - это правильный способ сделать это.

+0

Приятно иметь подтверждение, что я не совсем с базы с моим подходом. Моя следующая задача - решить, какой язык реализации использовать для сопоставления и управления преобразованием XML. Если бы я выполнял эту работу, я бы как-то использовал PHP в командной строке, но мне нужно что-то более надежное для других людей. Придется делать еще несколько исследований на языках и наборах навыков, доступных для работы над этим типом проблемы. – sablewing

+2

Инструмент, такой как sx (иногда называемый osx или sgml2xml), который может выполнять преобразование, но он испортил форматирование файлов, поэтому вы не можете разумно вручную редактировать их впоследствии. Но так как вы планируете впоследствии преобразовать их в другую схему XML (XSLT?), Тогда это не имеет значения. –