Опрос: как вы используете ID / IDREF? (или ключ / keyref) - PullRequest
2 голосов
/ 09 июля 2009

Меня интересует, как люди используют эту функцию: в какой области, какие отношения (извинения, если вопросы опроса не подходят).

XML представляет деревья, естественно использующие сдерживание; но он также может представлять графики, используя IDREF, которые ссылаются на идентификаторы: многие элементы могут ссылаться на один и тот же элемент (multi-ref); и вложенный элемент может ссылаться на предка (цикл). Также может быть удобно использовать идентификаторы и идентификаторы IDREF, чтобы структура XML соответствовала другому формату хранения, например внешние ключи базы данных.

Что вы представляете с ID / IDREF?

РЕДАКТИРОВАТЬ Также включает <key>/<keyref> из XML-схемы.

Ответы [ 2 ]

2 голосов
/ 09 июля 2009

Я использую XML для сериализации, поэтому я использую ID / IDREF для прерывания циклов и предотвращения дублирования сериализаций. Я также рассмотрел возможность его использования для «предварительного объявления» ссылок на внешние объекты, которые прикреплены к моему графику, но не сериализованы как его часть.

Проблема с этими подходами состоит в том, что трудно заставить структуры сериализации (то есть JAX-B) динамически определять, во время выполнения, должен ли объект сериализироваться на месте или в качестве ссылки.

2 голосов
/ 09 июля 2009

Я в основном использую XML для публикации, а не для хранения данных, поэтому я использую ID / IDREF для ссылок и перекрестных ссылок (где содержимое элемента с IDREF будет извлечено из элемента с идентификатором). *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...