Могу ли я создать XML-документ из файла dtd на Java?

StackOverflow https://stackoverflow.com/questions/630522

  •  08-07-2019
  •  | 
  •  

Вопрос

У меня есть простой DTD-файл со спецификациями элементов и атрибутов. Могу ли я создать подходящий XML-файл (с DOM), анализирующий этот DTD с Java и без внешних API?

Заранее спасибо

Это было полезно?

Решение

Я понимаю ваш вопрос иначе, чем Евгений Морозов. Скажите, если я прав: вам нужна программа, которая принимает в качестве входных данных DTD и автоматически генерирует XML-файл (ы), которые действительны в соответствии с этим DTD. Это правильное описание?

Если это так, то, безусловно, возможно, что такие программы существуют для других «структурных языков». (см. abnfgen для грамматики BNF; в мире XML кажется, что, например, XMLSpy может откройте файл схемы W3C - файл XSD - и сгенерируйте образец действительного XML), но я не знаю его для DTD / XML, вам придется написать его самостоятельно.

Просто имейте в виду, что существует бесконечность допустимых файлов XML в соответствии с заданным DTD. Ваша программа просто сгенерирует небольшое подмножество (но этого может быть достаточно для вашей цели: что это, во всяком случае?)

Другие советы

Есть недоразумение. Вы не можете анализировать DTD, используя DOM или SAX. DTD описывает структуру документа. Вы можете проверить сгенерированный документ по DTD, используя различные инструменты.

Просто прочитайте и поймите DTD и сгенерируйте XML-документ соответствующим образом. Позже вы сможете проверить, соответствует ли документ DTD.

РЕДАКТИРОВАТЬ: вам не нужно писать код для разбора DTD. Во-первых, вы должны прочитать о DTD. Начните с описания Википедии , в конце больше ссылок.

Затем прочитайте DTD вручную и поймите необходимую структуру документа. Затем просто сгенерируйте XML, который будет соответствовать DTD.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top