Могу ли я создать XML-документ из файла dtd на Java? - PullRequest
0 голосов
/ 10 марта 2009

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

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

Ответы [ 2 ]

1 голос
/ 11 марта 2009

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

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

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

1 голос
/ 10 марта 2009

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

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

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

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

...