Как ссылаться на узлы XML из нескольких мест - PullRequest
2 голосов
/ 08 февраля 2010

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

Например, рассмотрим документ типа

<?xml version="1.0" encoding="ISO-8859-1"?>
<library>
  <author id="john">
    <name>John Brown</name>
  </author>
  <book>
    <title>How To Peel Bananas In 10 Simple Steps</title>
    <author ref="#john"/>
  </book>
  <book>
    <title>Why Bananas Grow Upward</title>
    <subtitle>How The Main World Religions View Banana Growth</subtitle>
    <author ref="#john"/>
  </book>
</library>

Очевидно, что авторский узел внутри книжных узлов предназначен для ссылки на авторский узел верхнего уровня. В идеале, при загрузке такого документа на некоторый ОО-язык программирования атрибут author объекта Book напрямую ссылается на тот же объект Author, что и тот, который был создан ранее.

Ясно, что мой способ записать это в XML нестандартный и требует дополнительной работы после загрузки. Тем не менее, я уверен, что люди хранят перекрестные ссылки в XML все время. Какая самая лучшая и / или самая простая и / или самая «правильная» функция, чтобы сделать что-то подобное? Каким способом лучше всего поддерживать поддерживаемые стандарты, такие как XPath и тому подобное?

Я читал о XLink, но не уверен, что это лучшее решение - оно также кажется довольно устаревшим и неиспользованным (это правда)?

1 Ответ

0 голосов
/ 08 февраля 2010

Размещенный XML действителен. Нет ничего плохого в нескольких ссылках на один и тот же элемент.

Есть ли у вас вопрос об увлажнении объектной модели из этого XML?

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