Известные Проблемы с Аннотациями



Известные Проблемы с Аннотациями и Модифицированными Документами

При использовании аннотаций с рабочими документами (документами, содержимое которых может изменяться), могут выявиться две проблемы: бесхозные аннотации\orphan annotations и аннотации без цели\misleading annotations. Для рассмотрения этих проблем мы сначала покажем, как Amaya подключает аннотации к документам.

Amaya использует указатель XPointer для индикации места, где аннотация должна быть включена в документ. XPointer-ы базируются в структуре документа. Для создания XPointer для выделения, к примеру, Amaya начинает с первой точки выделения и проходит в обратном направлении по структуре документа, пока не найдёт корневой элемент документа. Если элемент имеет атрибут ID, Amaya останавливает создание XPointer-а и считает элемент атрибутом ID началом этого XPointer-а.

Например, в исходном HTML этого документа видно, что этот раздел находится внутри элемента DIV, имеющего атрибут ID со значением "Issues". Вот выдержка из этого кода:

<div id="Issues"> <h1>Issues with ....</h1> <p>If you are using...</p> <p>Amaya uses <strong>XPointer</strong>...</p> ... </div>

Такой XPointer указывает на второй параграф: xpointer(id("Issues")/p[2])

Этот XPointer указывает на второй элемент p, считая от родительского элемента, имеющего атрибут ID со значением "Issues".

Обратите внимание, что использование атрибута ID даёт автору документа возможность переместить всю ссылку XPointer-а в другое место в этом документе без необходимости изменять XPointer. Этот XPointer не зависит от предшествующих элементов.



Содержание раздела