Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППТС-2 / Лекции / Lect4-05.doc
Скачиваний:
6
Добавлен:
12.05.2015
Размер:
645.12 Кб
Скачать

5.1.3.4. Внешние ссылки

Рассмотренные выше простые и расширенные ссылки называются встроенными, поскольку они содержатся в самом документе XML. ВXLinkопределены такжевнешние ссылки, т.е. ссылки определенные во внешнем документеXML(аналогично внешним таблицам стилям и сценариям вHTML). Внешние ссылки могут быть только расширенными ссылками.

Для того, чтобы указать, что ссылка является внешней надо в элементе типа "arc"в атрибутеxlink:arcroleзадать значение

xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase",

а в атрибуте задать ссылку на документ XML, содержащий внешние ссылки.

Пример внешней ссылки:

Определение DTDдля элементаexternal-link, описывающего загрузку внешней ссылки, может иметь следующий вид:

<!ELEMENT external-link ((startrsrc|linkbase|load)*)>

<!ATTLIST external-link

xlink:type (extended) #FIXED "extended">

<!ELEMENT startrsrc EMPTY>

<!ATTLIST startrsrc

xlink:type (locator) #FIXED "locator"

xlink:href CDATA #REQUIRED

xlink:label NMTOKEN #IMPLIED>

<!ELEMENT linkbase EMPTY>

<!ATTLIST linkbase

xlink:type (locator) #FIXED "locator"

xlink:href CDATA #REQUIRED

xlink:label NMTOKEN #IMPLIED>

<!ELEMENT load EMPTY>

<!ATTLIST load

xlink:type (arc) #FIXED "arc"

xlink:arcrole CDATA #FIXED

"http://www.w3.org/1999/xlink/properties/linkbase"

xlink:actuate (onLoad|onRequest|other|none) #IMPLIED

xlink:from NMTOKEN #IMPLIED

xlink:to NMTOKEN #IMPLIED>.

Элемент в документе XML, соответствующий этомуDTDможет иметь следующий вид (внешние ссылки размещены в документеlinkbase.xml):

<external-link>

<startrsrc xlink:label="spec" xlink:href="spec.xml" />

<linkbase xlink:label="linkbase"

xlink:href="linkbase.xml" />

<load xlink:from="spec" xlink:to="linkbase"

actuate="onLoad" />

</external-link>.

5.1.3.5. Задание базовогоUrIдля документаXml

Адрес ресурса URIв атрибутах xlink:href,xlink:role и xlink:arcrole можно задавать как в абсолютной форме (указывая полный путь к данному ресурсу), так и в относительной форме (относительно базового каталога). По умолчанию, базовым каталогом считается текущий каталог. В документеXMLможно явно указать базовый каталог с помощью атрибутаxml:base, определенного в спецификацииXMLBase, принятой в 2001 году. Этот атрибут может быть задан в любом элементе документаXML.

Пример использования атрибута xml:base:

<?xml version="1.0"?>

<doc xml:base="http://example.org/today/"

xmlns:xlink="http://www.w3.org/1999/xlink">

<head>

<title>Виртуальная библиотека</title>

</head>

<body>

<paragraph>Просмотр <link xlink:type="simple"

xlink:href="new.xml">новых поступлений</link>!

</paragraph>

<paragraph>Новые поступления!</paragraph>

<olist xml:base="/hotpicks/">

<item>

<link xlink:type="simple"

xlink:href="pick1.xml">Поступление 1</link>

</item>

<item>

<link xlink:type="simple"

xlink:href="pick2.xml">Поступление 2</link>

</item>

</olist>

</body>

</doc>.

Здесь в элементе docопределяется базовый каталог для всего документаXML, а в элементеolist– определяется базовый каталог для этого элемента относительно базового каталога всего документа.

Файл: Создан: 21.02.2008 Модифицирован: 10.01.2012 Автор: Шонин В.А.

Соседние файлы в папке Лекции