- •Оглавление
- •1. История появления xml и его особенности. Хорошо оформленный документ
- •2. Структура документа xml. Верный документ
- •3. Ссылки на сущности, секция cdata. Комментарии, атрибуты, имена
- •4. Пространства имён xml. Инструкции по обработке
- •5. Конструкции dtd: объявление типа элемента, объявление атрибутов
- •6. Конструкции dtd: объявление сущности, объявление обозначения
- •7. Размещение описания dtd. Программы-анализаторы xml
- •8. Описание схемы документа на языке xsd. Встроенные простые типы
- •9. Определение новых простых типов в xsd
- •10. Объявление элементов и их атрибутов в xsd
- •11. Определение сложных типов в xsd
- •12. Пространства имён языка xsd. Связь документа xml со своей схемой
- •13. Создание ссылок на языке xLink. Пространство имён языка xLink
- •14. Атрибуты, используемые при создании ссылок на языке xLink
- •15. Типы ссылок, создаваемых на языке xLink
- •16. Создание банка ссылок. Программы-обработчики атрибутов xLink
- •17. Таблицы стилей css в языке xml. Язык описания стилей xsl
- •18. Язык записи преобразований xslt бред, не стала разбираться, что из этого надо, а что нет
16. Создание банка ссылок. Программы-обработчики атрибутов xLink
Создание банка ссылок
При создании какого-либо документа на языке HTML, назовем его для определенности doc.html, в него вставляются гиперссылки на предыдущие, ранее созданные, документы и изображения. Пусть эти ресурсы лежат в файлах oldl.html, old2.html, imgl.gif. Через некоторое время появляются новые документы, назовем их newl.html, new2.html, на которые необходимо сослаться из документа doc.html. Для этого придется отыскать файл doc.html и внести в него новые ссылки. Это очень неудобно. Не говоря уже о том, что файл doc.html может быть недоступен, его уже могли скопировать на множество сайтов. Придется вносить изменения во все копии, что совершенно невозможно.
Язык XLink, в котором можно сделать ссылки и в прямом, и в обратном направлении, позволяет создать обратные ссылки из новых документов на старый документ. Но это не лучший выход из положения, потому что старый документ при каждом открытии должен отыскать и просмотреть новые документы в поисках этих ссылок. Это требует времени и знания тех адресов, где лежат эти новые документы.
К счастью, язык XLink предлагает другой, более удобный выход из этой ситуации. Мы выносим все ссылки в отдельный файл — "банк ссылок" — и в случае необходимости изменяем ссылки только в этом файле. Все документы, которым нужны ссылки, обращаются за ними в банк ссылок. Такие обращения оформляются обыкновенными ссылками, но для того чтобы указать программе-обработчику, что идет обращение к банку ссылок, в элемент-дугу записывается атрибут arcroie со следующим значением:
xlink:arcrole="http://www.w3.org/199 9/xlink/properties/linkbase"
Такая запись обеспечивает обязательность реализации ссылки программой-обработчиком, но накладывает одно ограничение — банк ссылок должен быть документом XML. В листинге 4.4 приведен пример связи с банком ссылок, активизируемой при загрузке документа content.xml.
Листинг 4.4. Связь с банком ссылок
<initLinks xlink:type="extended">
<startcont xlink:type="locator" xlink:label="cont" xlink:href="content.xml" />
<base xlink:type="locator" xlink:label="base" xlink:href="linkbase.xml" />
<load xlink:type="arc"
xlink:arcrole="http://www.w3.org/199 9/xlink/properties/linkbase"xlink:from="cont" xlink:to="base" xlink:actuate="onLoad" />
</initLinks>
Программы-обработчики атрибутов XLink (тут перечисление фирм. Может взять у магистров)
Хотя язьгк XLink создан недавно, уже появилось много программных продуктов, обрабатывающих ссылки, облегчающих их разработку и даже создающих ссылки, не вставляя их в документы XML
Программное средство Х2Х фирмы UK, Ltd, описанное на сайте фирмы http://www.empolis.co.uk/products/prod_X2X.asp,создает ссылки, не вставляя их в документы XML.
Обработчик XLink Processor фирмы Fujitsu реализует языки XLink и XPointer. С ним можно ознакомиться по адресу http://www.labs.fujitsu.com /free/xlip/en/.
Программный продукт xlinkit.comсоздает ссылки по указанным ему правилам. Он расположен по адресу http://www.xlinkit.com/.
Популярные свободно распространяемые браузеры MozUla, http:// www.mozilla.org/,и Amaya, http://www.w3.org/Amaya/,содержат средства обработки атрибутов языка XLink.
Свободно распространяемый обработчик атрибутов языка XLink, называемый XtoolX, http://www.xlinkit.com:8080/xtoolx/, вставляет ссылки, взятые из банка ссылок, в документы XML.