Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
xml.docx
Скачиваний:
49
Добавлен:
16.04.2015
Размер:
115.97 Кб
Скачать

14. Атрибуты, используемые при создании ссылок на языке xLink

Атрибут title может встретиться в ссылке любого типа, за исключением ссылки типа title, в которой он просто будет лишним. Значением атрибута title может быть любая строка символов. Она предназначена для человека и может быть выведена на экран дисплея, записана в журнальный файл со­общений или распечатана на принтере. Обычно эта строка играет роль комментария или информационного сообщения, поясняя действие ссылки или отмечая способ ее активизации. В отличие от обычного комментария атрибут title обрабатывается программой-обработчиком документа XML. Например, значение атрибута title можно использовать в подсказке, всплывающей при наведении на ссылку курсора мыши.

Листинг 4.1 показывает пример ссылки с атрибутом title.

<someLnk xmlns:xlink="http://www.w3.org/1999/xlink"xlink:type="simple"

xlink:title="3arpyacaeTCH классификатор"

xlink:href="http://some.domain.com/pub/ind/kldr012.xml">

Классификатор адресов

</someLnk>

Ссылка на документ kldr012.xml, по своему дейст­вию аналогичная гиперссылке языка HTML. Первый атрибут элемента someLnk определяет префикс xlink пространства имен языка XLink. Второй атрибут xlink:type показывает тип ссылки. В третьем атрибуте xlink:title записано информационное сообщение. Четвертый атрибут xilnk:href задает адрес документа kldr012.xml.

Атрибут label - назначе­ние — пометить ссылку. В отличие от атрибута title значение атрибута label может быть только простым именем без специальных знаков, пробе­лов, двоеточий, точнее, значением типа NCName. Это имя предназначено для того, чтобы к элементу можно было обратиться из других элементов доку­мента, а именно из элементов-ссылок типа arc. Поэтому атрибут типа label применяется только в ссылках типа locator или resource, чтобы пометить их для дальнейшего использования ссылками типа arc.

Листинг 4.2. Метки и их использование

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

xlink:type="extended" xlink:title="CBЯ3b документов">

<src xlink:type="resource" xlink:label="s0012" />

<tgt xlink:type="locator"

xlink:href="http://domain.com/docs/udr01.xml" xlink:label="t0012" />

<ref xlink:type="arc" from="s0012" to="t0012" />

</multLink>

Элемент multLink — сложная ссылка типа extended. Сложные ссылки содержат в себе другие ссылки. В частности, в элементе multLink содержатся три ссылки.

Элемент-ссылка src типа resource помечен меткой s0012. Он ссылается на текущий документ и используется в элементе ref как начальная точка опре­деляемой ссылки, поскольку его метка s0012 записана в атрибуте from.

Элемент-ссылка tgt с меткой tooi2 используется как конечная точка ссыл­ки, т. к. эта метка присутствует в атрибуте to элемента ref. Начальной точкой ссылки становится текущий документ, а конечной — документ udrOl.xml.

Если мы запишем элемент ref по-другому:

<ref xlink:type="arc" from="t0012" to="s0012" />

то получим обратную ссылку документа udrOl.xml на текущий документ.

Атрибут href, значением которого служит адрес ресурса в форме URL, встречается только в ссылках типа simple и locator. причем для ссылки типа locator он обязателен. Его можно не записывать в элементе-ссылке типа locator явно, но тогда у него должно быть значение по умолчанию, определенное при описании схемы докумен­та.

Атрибут type обязателен для всех ссылок. Больше того, именно он определяет элемент как ссылку. Следующий пример показывает, как можно оформить ссылку в духе гиперссылки языка HTML:

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

xlink: Ъ1Ъ1е="Дополнительные сведения"

xlink:type="simple" xlink:href="http://host.domain/newdoc.html">

Новая версия документа

</myLink>

Первый атрибут xmlns:xlink элемента myLink определяет префикс xlink имен язьжа XLink. Второй атрибут xlink:type указывает, что элемент myLink— ссылка типа simple. Третий атрибут xlink:href задает адрес URL документа, на который делается ссылка.

Хотя атрибут type обязателен, можно сделать его присутствие неявным, за­дав ему значение по умолчанию при описании схемы документа. Например, при описании структуры документа XML элемент myLink из предыдущего примера можно объявить на языке XSD следующим образом:

<xsd:element name="myLink" type="xsd:string">

<xsd:complexType>

<xsd:attribute name="xlink:type" type="xsd:name" use="optional" default="simple" />

<xsd:attribute name="xlink:href" type="xsd:anyURL" use="required" />

</xsd:complexType>

</xsd:element>

После такого объявления атрибут xlink:type можно не записывать в эле­менте myLink, при этом значением атрибута и, следовательно, типом эле­мента myLink будет тип simple.

Атрибуты from и to записываются только в дугах — ссылках типа arc — для указания начальной и конечной точки дуги. У элементов-ссылок, описы­вающих эти точки (это ссылки типа resource — точки в локальном ресурсе, или locator — точки, расположенные в удаленном ресурсе), должен быть атрибут label, помечающий ссылки. Значениями атрибутов from и to служат эти метки. В листинге 4.3 элемент-дуга load типа arc использует метки "loc" и "base", которыми помечены элементы sresource, описывающие на­чальную и конечную точки дуги.

Листинг 4.3. Связь удаленных ресурсов

<tplink xlink:type="extended">

<sresource xlink:type="locator" xlink:label="loc"

xlink:href="http://some.com/pub/res024.xml" />

<sresource xlink:type="locator" xlink:label="base"

xlink:href="http://some.com/pub/res043.xml" />

<load xlink:type="arc" xlink:from="loc" xlink:to="base" />

</tplink>

Описания начальной и конечной точек обязательно должны располагаться в той же ссылке типа extended, что и описание дуги, связывающей их.

Необязательный атрибут show можно употреблять в ссылках типа simple и arc в тех случаях, когда предполагается показать полученный по ссылке ре­сурс на экране. У атрибу­та show всего пять значений, аналогичных значениям атрибута target:

"new" — полученный ресурс следует показать в новом месте, а не там, где была ссылка на него;

"replace" — полученный ресурс следует показать в том же окне, фрейме, или на той же панели, где была ссылка на ресурс;

"embed" — полученный ресурс следует показать в том же окне, где была ссылка на него, при этом первоначальный ресурс не должен подвергать­ся преобразованиям;

"other" — какой-то способ представления, описанный в других элемен­тах документа;

"none" — способ представления не описан ни в одном элементе доку­мента.

Например:

<sign xlink:type="simple"

xlink:href="http://some.domain/pub/math/sigma.gif">

xlink:show="embed"

xlink:title="3HaK суммы" />

Атрибут actuate показывает момент времени для активизации ссылки. Используется в ссылках типа simple и arc. Атрибут actuate может принимать четыре значения:

"onLoad" — активизировать ссылку сразу же при загрузке документа;

"onRequest" — активизировать ссылку по какому-то событию — действию пользователя, таймеру и т. п.;

"other" — какой-то способ активизации, описанный в других элементах документа;

"none" — способ активизации не описан ни в одном элементе документа.

Например:

<sign xlink:type="simple"

xlink:href="http://some.domain/pub/intro.xml">xlink:actuate="onLoad" />

Атрибут role указывает на ресурс, описывающий ссылку. Значения атрибу­та — абсолютные адреса URL. Его удобно использовать в тех случаях, когда несколько ссылок описываются одним ресурсом, определяющим роль, ко­торую играют эти ссылки. Атрибут role можно записать в элементе-ссылке любого типа, за двумя исключениями: в ссылке типа title и в ссылке типа arc. На­пример:

<problem xlink:type="simple"

xlink:href="http://some.domain/pub/articles/integral.xml"> xlink:role="http://some.domain/pub/roles/math.xml">Решение интегрального уравнения

</problem>

Атрибут arcroie служит той же цели, что и атрибут role, но применяется только в ссылках типа simple и arc. Его значением тоже может быть любая строка URL, указывающая на реальный ресурс или служащая только иден­тификатором.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]