Подтвердить что ты не робот

Как получить DTD (или другой формат спецификации XML) из образцов XML файлов

Знаете ли вы инструмент, который будет выводить DTD (или другой формат спецификации структуры XML) из набора образцов XML файлов?

В настоящее время единственная (автоматическая) проверка, которую мы имеем для XML-кодированного DSL, представляет собой устаревший синтаксический анализатор, написанный на Perl, но по соображениям последовательности все Perl-коды должны быть перенесены на C-sharp.

4b9b3361

Ответ 1

http://www.stylusstudio.com/dtd_generator.html - это фактическое программное обеспечение, использующее генератор DTD.

http://www.pmg.csail.mit.edu/~chmoh/pubs/wecwis.pdf кажется приятной бумагой о том, что вам нужно, но я не могу найти (ссылки) фактический код в любом месте в документе.

Вот еще одна статья об этом, опять же, код не найден: http://www.softnet.tuc.gr/~minos/Papers/debull03.pdf.

Наконец, я также предлагаю вам изучить использование RELAX NG или Schematron для проверки правильности вашего XML. Эти языки гораздо более выразительны, что делает их более легкими для чтения и более мощными в тех вещах, которые вы можете проверить. (Обязательно пропустите XML-схему, которая широко считается беспорядком.)

Ответ 2

Вы можете использовать xsd.exe (часть визуальной студии) для создания XML-схемы для данного XML файла.

Ответ 4

Вы можете скачать бесплатную версию сообщества JetBrains IDEA. Он имеет встроенные инструменты для генерации GTD и схем:

http://www.jetbrains.com/idea/webhelp/generating-dtd.html

Может быть, не идеально, но это что-то.

Ответ 5

Вот программа, которая сработала для меня DTDGenerator. Вам нужно скомпилировать его с Java, но он работает хорошо. Я удивлен отсутствием бесплатного программного обеспечения для языка, который существует уже давно, но этот бесплатный в соответствии с Public License версии 1.0 Mozilla.

Ответ 6

Altova XMLSpy имеет генератор схемы DTD/XML.

Сгенерированная схема DTD/XML обычно требует небольшой настройки. Например, инструмент может перечислять список атрибутов или элементов, когда вы "предназначались" для него, чтобы разрешить любое значение. Вы только даете ему образец своего проблемного пространства, но он должен идти от конкретного к общему. По этой причине я не слишком сильно изгибаюсь, когда не читаю мысли.

Я считаю сгенерированную dtd или схему отправной точкой. Это лучше, чем катить его вручную с нуля. Er, если вы начинаете с существующих документов XML, то есть.

Даже если вы не собираетесь использовать сгенерированный dtd, это довольно хороший способ разглядеть структуру набора незнакомых XML-документов.

Ответ 7

Редактор XMLMax создаст XSD из XML файла. Бесплатная пробная версия (без регистрации/файла небольшой загрузки) сделает это за вас. Если вы хотите сделать это в коде,.NET framework имеет класс XmlSchemaInference, который автоматически создает XSD из xml файла.

Ответ 8

Просто используйте http://www.freeformatter.com/xsd-generator.html, чтобы сгенерировать xsd из xml файла. Он также имеет множество других возможностей форматирования!

Ответ 9

Вы можете попробовать Trang или Instance to Schema Tool (часть XMLBeans).

Я поставил их в тест с 1GB XML файлом. Вот результаты:

Trang:

max memory [kB] - 98,480
time [MM:SS] - 0:24

Instance to Schema Tool:

max memory [kB] - 5,993,240
time [MM:SS] - 7:36