Существует ли какая-либо инфраструктура / технология, поддерживающая встраивание XML в XML рекурсивно? - PullRequest
0 голосов
/ 15 августа 2011

Предположим, у меня есть набор произвольных XML, которые я хотел бы рекурсивно встраивать друг в друга.Есть ли какие-либо технологии или рамки, помогающие в этом?Я ищу что-то, добавляющее, удаляющее и ищущее XML в XML.

EDIT

Кто-то удалил тег рекурсии из моего вопроса.Я предполагаю, что я не проясняю себя.Давайте представим, что XML представляют экземпляры структур данных, ссылающиеся друг на друга.Есть ли какая-либо технология / фреймворк, обрабатывающая это?

EDIT II

Кто-то утверждает, что я говорю не о рекурсии , а о циклическомссылки в лучшем случае.Я не исключаю, что одна структура данных будет ссылаться на себя (в зависимости от случая или определения это не имеет значения).Я имею в виду рекурсивный как в fractal , так сказать, пожалуйста, прекратите удалять мой тег.

Ответы [ 4 ]

1 голос
/ 15 августа 2011

А как насчет XInclude ?Например, XOM и Xerces поддерживают это расширение.

1 голос
/ 15 августа 2011

Рекурсия в XML обрабатывается с помощью атрибутов сопряжения id и idref.Если вы хотите, чтобы одна часть XML-документа ссылалась на другую, поместите атрибут id в ту часть, на которую вы ссылаетесь, и атрибут idref в реферер.

Насколько я знаю, никакие парсеры не пройдут эти атрибуты автоматически, вам нужно сделать это вручную.

1 голос
/ 15 августа 2011

Нет, не из коробки в стандартном XML.По сути, вам нужно иметь механизм записи связей между элементами в конечном XML-документе, а затем иметь опытную технологию маршаллинга и демаршаллинга для обработки ссылок.Фактически это проблема сериализации объекта в XML.

Без этого, например, если бы вы попытались сохранить круговой список, вы бы получили бесконечный цикл, когда хвостовой элемент возвращается кГолова стихия и продолжает писать.Ссылки исправят эту проблему для вас.

Я полагаю, что XStream сделает это за вас из коробки (если вы на Java, но вы не упоминаете об этом).

1 голос
/ 15 августа 2011

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

Иногда люди кодируют внутренний xml и вставляют его в виде строки, но это действительно плохая вещь. Не делай этого.

...