В данный момент я работаю с JDOM. Я не могу придумать решение, которое, по сути, должно быть легкой проблемой.
У меня есть допустимая строка XHTML:
<b>M&A</b> €
Как мне вставить это в XML DOM следующим образом?
<parentNode>
<b>M&A</b>
€
</parentNode>
(этот XML затем передается преобразователю XSL, который затем отображает XHTML для браузера)
Я придумал следующие «псевдо» решения, но не уверен, возможны ли они:
Отмените экранирование сущностей, которые не являются XML-сущностями, а затем вставьте.
Переинформатируйте только XML, затем HTML отмените экранирование всей строки, затем вставьте.
Тарас
3 ответа
Я думаю, вы можете использовать JTidy для преобразования именованных сущностей в нумерованные. После этого XHTML также является допустимым XML.
Хотя € является допустимым объектом XHTML, он не является допустимым объектом XML.
К сожалению, я ничего не знаю о JDOM, но, если это возможно, вы можете попробовать добавить DTD объявления сущностей, например <!ENTITY euro "€">
. И, возможно, поместить все теги XHTML в их собственное пространство имен (<parentNode xmlns:x="http://www.w3.org/1999/xhtml"><x:b>...</x:b></parentNode>
)
Создайте строку, содержащую
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
+
Ваш XHTML-контент, в данном случае <b>M&A</b> €
+
</html>
А затем проанализируйте эту строку, чтобы получить документ. Затем получите все содержимое внутри корневого элемента, который будет вашим содержимым XHTML, и поместите его в элемент parentNode. Возможно, вам придется принять во внимание, что контент взят из другого документа.
Похожие вопросы
Новые вопросы
xml
XML (Extensible Markup Language) - это формат структурированного документа, определяющий правила кодирования текста. При использовании этого тега включайте дополнительные теги, такие как язык программирования, наборы инструментов, используемые технологии XML и другие теги, описывающие среду, в которой опубликована проблема. Гибкость XML обеспечивает широкий спектр применений для передачи человеческих и машинных данных, в том числе конкретных инструментов и библиотек.