2015-12-07 5 views
2

У меня есть документ XML, который правильно проверяется DTD. Затем я добавляю некоторые элементы, которые соблюдают правила, определенные им, и создается новый документ. Но элементы, которые я добавил, не упорядочены, как это определено в DTD. Есть ли способ попросить jdom автоматически упорядочить элементы вновь созданного документа (без выполнения этого вручную с помощью addContent(int index, Content child))?Документ заказа Jdom как DTD

ответ

1

Нет, JDOM не имеет собственного механизма сортировки по DTD.

Когда JDOM считывает/анализирует документ, проверка DTD выполняется с помощью основного анализатора (xerces, whatever), и результат синтаксического анализа предоставляется JDOM.

Значимость в том, что JDOM фактически не знает, на какие элементы влияют компоненты DTD. «Бизнес-логика» в DTD напрямую недоступна и напрямую не связана с реальными элементами JDOM и атрибутами.

JDOM не пытается проверить какие-либо изменения контента в отношении любого DTD или схемы - добавление элемента или атрибута, удаление одного из них, изменение его содержимого - это все, что может привести к тому, что документ XML станет недействительным. JDOM работает только в «хорошо сформированном», а не «проверенном» домене XML. Проверка выполняется только для синтаксического анализа.

Теперь, сказав, что, если вы точно знаете, какая часть ОТД воздействий конкретный элемент (какой последовательности), то вы можете использовать механизм Element.sortChildren(...) с соответствующим компаратором

 Смежные вопросы

  • Нет связанных вопросов^_^