Я уверен, что это очень простой вопрос 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, но не уверен, что это лучшее решение - оно также кажется довольно устаревшим и неиспользованным (это правда)?