Библиотека: XML: справочник

Глава 3 XLink

XLink

Рассматриваемые в этой главе конструкции (инструкции XML или компоненты, включающие в себя инструкции), служат для создания элементов языка XLink. Совместно с расширенными указателями XPointer они применяются для введения гиперссылок в XML-документы. Стандарт XLink описывает два вида ссылок.

n Простые ссылки (simple links) представляют собой аналог элементов А языка HTML. Простая ссылка задает переход от некоей позиции текущего документа к заданной позиции в рамках того же документа или какого-либо другого документа. Простые ссылки всегда однонаправлены. Дополнительная информация о простых ссылках изложена в рабочих документах Интернет-кон сорциума W3C (The World Wide Web Consortium) по языку XLink (http://www.w3.org/TR/WD-xlink/), раздел 4.2, «Simple Links» («Простые ссылки»).

n Расширенные ссылки (extended links) задают несколько ссылок одновремен но. Расширенная ссылка задает переход с произвольной ссылки на любую другую. Содержание, ассоциированное с конкретной ссылкой, может быть идентифицировано, так что после его изменения ссылка останется доступной — при условии сохранения идентификатора. Расширенные ссылки могут быть внутристрочными (inline) и внестрочными (out-of-line). Внутристрочная ссылка рассматривается как локальный ресурс ссылки. Дочерние элементы внутристрочных ссылок при этом являются составной частью не локального ресурса, а элемента ссылки. Внестрочная ссылка определяет местоположение ссылки. Так как она не является локальным ресурсом, приложение должно уметь легко ее найти. Внестрочные ссылки особенно полезно использовать при работе с группами расширенных ссылок, которые представляют собой особую разновидность расширенной ссылки (см. единицу group далее в этой главе). Дополнительная информация о расширенных ссылках изложена в рабочих документах по XLink (http://www.w3.org/TR/WD-xlink/), раздел 4.3, «Extended Links» («Расширенные ссылки»).

  • Задание простой ссылки в определении
  • типа документа
Чтобы задать простую ссылку в определении типа документа (Document Type Definition — DTD), определим элемент, следуя указанному синтаксису:

<!ELEMENT simp_link ANY>

Определим список атрибутов, а также значение атрибута xml:link:

<!ATTLIST simp_link

xml:link CDATA #FIXED "simple"

Задание расширенной ссылки в определении типа документа

Другие атрибуты могут быть добавлены в список как единицы параметров, например, %parmnamel.ext;. Закрывающим ограничителем блока объявлений служит угловая скобка (>):

%parmnamel.ext;

%parmname2.ext;

%parmname3.ext;

%parmname4.ext;

>

Однако, используя единицы параметров, вы можете осложнить последующее редактирование блока определения типа документа (DTD): первоисточники ваших объявлений и определений придется искать в разных частях блока.

Примеры задания простых ссылок приведены в рабочих документах Интернет-консорциума W3C «XML Linking Language (XLink)» (http://www.w3.org/TR/WD-xlink/), раздел 4, «Linking Elements» («Связывание элементов»). Кроме того, в настоящей главе вы найдете и другие примеры.

  • Задание расширенной ссылки в определении
  • типа документа
Расширенные ссылки применяются для получения доступа к локальным, удаленным и групповым ресурсам.
  • Задание расширенной локальной ссылки
Чтобы задать расширенную локальную ссылку в определении типа документа, определим элемент по следующему синтаксису:

<!ELEMENT extend_link ANY>

Определим список атрибутов, а также значение атрибута xml:link:

<!ATTLIST extend_link

xml:link CDATA #FIXED "extended"

Другие атрибуты можно добавить как параметры, закрыв список ограничите лем — угловой скобкой (>):

%parmnamel.ext;

%parmname2.ext;

%parmname3.ext;

%parmname4.ext;

>

Однако, используя параметры, вы можете осложнить последующее редактиро вание определения типа документа (DTD): первоисточники ваших объявлений и определений придется искать в разных частях блока.

Примеры задания расширенных ссылок приведены в рабочих документах Интернет-консорциума W3C «XML Linking Language (XLink)» (http://www.w3.org/TR/WD-xlink/), раздел 4, «Linking Elements» («Связывание элементов»). Кроме того, в настоящей главе вы найдете и другие примеры.

  • Задание расширенной удаленной ссылки
Чтобы задать расширенную удаленную ссылку в определении типа документа, определим элемент по следующему синтаксису:

<!ELEMENT locator_link ANY>

Определим список атрибутов, а также значение атрибута xml:link:

<!ATTLIST locator_link

xml:link CDATA #FIXED "locator"

Затем перечислим другие атрибуты с помощью единиц параметра и закроем блок объявления ограничителем (>).

  • Задание расширенной групповой ссылки
Чтобы задать расширенную групповую ссылку в определении типа документа, определим элемент по следующему синтаксису:

<!ELEMENT group_link (paper*)>

Определим список атрибутов, значение атрибута xml:link, а также атрибут steps, который задает число уровней (steps) углубления расширенной ссылки относительно уровня первого ресурса, содержащего ссылку:

<!ATTLIST group_link

xml:link CDATA #FIXED "group"

steps CDATA #IMPLIED

Зададим элемент группы документов:

<!ELEMENT paper EMPTY>

<!ATTLIST paper

xml:link CDATA #FIXED "paper"

Затем перечислим другие атрибуты с помощью единиц параметра и закроем блок объявления ограничителем (>).

Примеры задания простых, расширенных и групповых ссылок приведены в рабочих документах Интернет-консорциума W3C «XML Linking Language (XLink)» (http://www.w3.org/TR/WD-xlink/), раздел 4, «Linking Elements» («Связывание элементов »).

  • Конструкции и атрибуты
В этом разделе перечислены конструкции и атрибуты языка XLink. Все они приведены в алфавитном порядке, в описание каждого параметра включены пункты о его назначении, синтаксисе, аргументах, а также пункты с комментариями и примерами.

ПРИМЕЧАНИЕ В следующем далее справочнике команд полужирным шрифтом в примерах выделены компоненты текущей конструкции. Верхний индекс в квадратных скобках справа от имени конструкции (например, Locator[1]) указывает на ее описание в спецификации XML.

Конструкции и атрибуты

  • actuate отслеживание ссылки

Назначение

Инициирует отслеживание ссылки по явному запросу или без такового.

Синтаксис EBNF

"actuate (auto | user)

Аргументы

n auto возвращает указанный ресурс ссылки при нахождении любого из ресурсов этой ссылки.

n user не возвращает указанный ресурс ссылки, если пользователь не запросил об этом явно.

Комментарии

Оба атрибута actuate и show определяют методы отслеживания ссылки.

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

Действия actuate и show могут производиться совместно. Если значение actuate установлено равным auto, то все ресурсы auto могут и должны быть возвращены в том порядке, в котором они были указаны.

Пример

Объявление из рабочих документов по XLink, включенное в единицу параметра remote-resource-semantics.att:

<!ENTITY % remote-resource-semantics.att

"role CDATA #IMPLIED

title CDATA #IMPLIED

show (embed|replace|new) #IMPLIED

actuate (auto|user) #IMPLIED

behavior CDATA #IMPLIED"

>

Родственные атрибуты

behavior, content-role, content-title, href, inline, role, show, steps, title, xml:attributes, xml:link.
  • behavior поведение ссылки

Назначение

Конкретизирует поведение ссылки.

Синтаксис EBNF

behavior CDATA

Аргумент

CDATA — это символьные данные (character data); то есть любой текст, не являющийся разметкой.

Комментарии

Используйте атрибут behavior в качестве местоположения (location) для инструкций отслеживания ссылки.

Пример

Объявление из рабочих документов по языку XLink, включенное в единицу параметра remote-resource-semantics.att:

<!ENTITY % remote-resource-semantics.att

"role CDATA #IMPLIED

title CDATA #IMPLIED

show (embed|replace|new) #IMPLIED

actuate (auto|user) #IMPLIED

behavior CDATA #IMPLIED"

>

Родственные атрибуты

actuate, content-role, content-title, href, inline, role, show, steps, title, xml:attributes, xml:link.
  • Connector[2] коннектор

Назначение

Ввод символа коннектора производится для указания метода, с помощью которого ссылка извлекается из содержащего ее ресурса.

Синтаксис EBNF

Connector ::= '#' | '|'

Стандартный синтаксис

#| |

Аргументы

n # означает, что ресурс, содержащий ссылку, должен быть извлечен в полном объеме с хоста, на котором он находится, а обработка XPointer будет производиться на компьютере клиента.

n | означает, что инструкции по извлечению, а также обработке XPointer не получены.

Комментарии

Connector является компонентом конструкции Locator.

Конструкции и атрибуты

Пример

В данном примере коннектор # указывает — с помощью идентификатора (ID) XPointer — и извлекает полный ресурс ID(2489), являющийся частью документа test.xml на сервере sample.com:

<A xml:link="extended"

href="http://www.sample.com/test.xml#ID(2489)">

Sample Document</A>

Родственные конструкции

Locator, Name (см. главу 2), URI, XPointer (см. главу 4).
  • content-role роль ресурса локальной ссылки

Назначение

Задает роль ресурса локальной ссылки.

Синтаксис EBNF

content-role CDATA

Аргумент

CDATA — это символьные данные (character data); то есть любой текст, не являющийся разметкой.

Комментарии

Роль может быть определена как для ресурса ссылки, так и относительно ссылки в целом. При определении роли для ссылки в целом используйте атрибут content-role; при определении роли для ресурса ссылки используйте атрибут role.

Примеры

Пример из рабочих документов по XLink, содержащий объявления атрибутов content-role и content-title в единице параметра local-resource-semantics.att:

<ENTITY % local-resource-semantics.att

"content-role CDATA #IMPLIED

content-title CDATA #IMPLIED"

Пример простой ссылки:

<saylink xml:link="simple" title="Work"

href="http://www.twain.com/xmi/dog.xml" show="new"

content-role="author">Mark Twain</saylink>

Родственные атрибуты

actuate, behavior, content-title, href, inline, role, show, steps, title, xml:attributes, xml:link.
  • content-title заголовок ресурса локальной ссылки

Назначение

Задает заголовок ресурса локальной ссылки.

Синтаксис EBNF

content-title CDATA

Аргумент

CDATA — это символьные данные (character data); то есть любой текст, не являющийся разметкой.

Комментарии

Атрибут content-title соответствует заголовку, отображаемому для данной ссылки.

Атрибут content-title не является обязательным.

Язык XLink не требует, чтобы приложение использовало атрибут content-title каким-либо конкретным способом.

Заголовок может быть присвоен как содержимому ссылки, так и ссылке в целом. Для присвоения заголовка ссылке в целом используйте атрибут content-title; для присвоения заголовка содержимому ссылки используйте атрибут title.

Пример

Пример из рабочих документов по языку XLink, содержащий объявления атрибутов content-role и content-title в единице параметра local-resource-semantics.att:

<ENTITY % local-resource-semantics.att

"content-role CDATA #IMPLIED

content-title CDATA #IMPLIED"

Родственные атрибуты

actuate, behavior, content-role, href, inline, role, show, steps, title, xml:attributes, xml:link.
  • href указатель удаленного ресурса

Назначение

Называет указатель удаленного ресурса.

Синтаксис EBNF

href CDATA

Аргумент

CDATA — это символьные данные (character data); то есть любой текст, не являющийся разметкой.

Конструкции и атрибуты

Комментарии

Атрибут href определяет искомый идентификатор URI и/или расширенные указатели на элемент ссылки.

Примеры

Пример из рабочих документов по XLink, содержащий простую ссылку:

<A xml:link="simple" href="http://www.w3.org/">The W3C</A>

Пример группы ссылок и двух объявлений ссылок:

<!ELEMENT GROUP (PAPERS*)>

<!ATTLIST GROUP

xml:link CDATA #FIXED "GROUP"

steps CDATA #IMPLIED

<!ELEMENT PAPERS EMPTY>

<!ATTLIST PAPERS

xml:link CDATA #FIXED "PAPERS"

href CDATA #REQUIRED

>

Пример простой ссылки:

<saylink xml:link="simple" title="Work"

href="http://www.twain.com/xml/dog.xml" show="new"

content-role="author">Mark Twain</saylink>

Пример нескольких внестрочных расширенных ссылок:

<tracings xml:link="extended" title="Trace"

inline="false">

<locator href="right_wingl.5" role="criticism"/>

<locator href="left_wing3.1" role="counter"/>

<locator href="professor8.3" role="analysis"/>

<locator href="spin_doctor2.2" role="spin"/>

<locator href="extremistl0.12" role="distort"/>

<locator href="talking_head7.7" role="summarize"/>

</tracings>

Родственные атрибуты

actuate, behavior, content-role, content-title, inline, role, show, steps, title, xml:attributes, xml:link.
  • inline внутристрочная ссылка

Назначение

Идентифицирует внутристрочную или внестрочную ссылку.

Синтаксис EBNF

inline (true|false) "

Аргументы

n true означает, что текущая ссылка является внутристрочной. Это значение по умолчанию.

n false означает, что текущая ссылка является внестрочной.

Комментарии

Расширенные ссылки могут быть внутристрочными или внестрочными.

n Внутристрочная ссылка рассматривается как локальный ресурс ссылки. Однако понятие «дочерний элемент» распространяется только на ссылку, а не на исходную ссылку как таковую.

n Внестрочная ссылка определяет местоположение ссылки так, чтобы приложение могло ее найти; внестрочные ссылки полезно использовать, в частности, для групп расширенных ссылок.

Примеры

Пример из рабочих документов по XLink, содержащий объявление в единице параметра resource-semantics.att:

<!ENTITY % link-semantics.att

"inline (true|false) 'true'

role CDATA #IMPLIED"

Пример нескольких внестрочных расширенных ссылок;

<tracings xml:link="extended" title="Trace"

inline="false">

<locator href="right_wingl.5" role="criticism"/>

<locator href="left_wing3.1" role="counter"/>

<locator href="professor8.3" role="analysis"/>

<locator href="spin_doctor2.2" role="spin"/>

<locator href="extremistl0.12" role="distort"/>

<locator href="talking_head7.7" role="summarize"/>

</tracings>

Родственные атрибуты

actuate, behavior, content-role, content-title, href, role, show, steps, title, xml:attributes, xml:link.
  • Locator[1] указатель

Назначение

Направляет указатель на ресурс ссылки.

Синтаксис EBNF

Locator ::= URI

| Connector (XPointer | Name)

| URI Connector (XPointer | Name]

Конструкции и атрибуты

Стандартный синтаксис

URI [#||[XPointer|[[xnnnn|[_|:][NameChar ]]]]]]]

Аргументы

n URI является абсолютным или относительным адресом ресурса, содержащего ссылку (cм. конструкцию URI). Синтаксис:

[[http:|file:|ftp:|mailto:][//hostname.dom

[/filename.xml]]]

n # и | задают метод, с помощью которого ссылка извлекается из содержаще го ее ресурса (см. конструкцию Connector). Синтаксис: #||

n XPointer определяет местоположение фрагментов разделов, целых разделов или диапазонов разделов в ресурсе, который их содержит (см. конструк цию XPointer в главе 4). Синтаксис:

AbsTerm.OtherTerms|AbsTerm|OtherTerms

n Name задает состоятельное 1 имя XML, начинающееся с буквы или знака подчеркивания (см. конструкцию Name в главе 2). Синтаксис:

#xnnnn [#xnnnn][_][:][#xnnnn]|[0|1|2|3|4|5

|6|7|8|9][.]|[-][#xnnnn][#xnnnn]...[#x nnnn]

Комментарии

Лучший способ указать расширенную ссылку — использовать ее идентифика тор (ID). Неизменный идентификатор указывает на ссылку даже в том случае, когда ее содержание изменилось.

Если ссылка не идентифицирована (не имеет поставленного ей в соответствие ID), можно попытаться найти ID, поставленный в соответствие другому разделу или элементу. Затем, используя определитель относительного местоположения, например child или ancestor, показать отношение между найденным идентификатором и искомой ссылкой. Дополнительную информацию и примеры см. в конструкции Keyword в главе 4 настоящей книги.

Примеры

В данном примере простая ссылка находит документ test.xml на сайте sample.com:

<A xmi:link="simple"

href="http://www.sample.com/test.xml" >

Sample Document</A>

В следующем примере простая ссылка добавляет атрибуты title и content-role, заданные списком атрибутов элемента этой простой ссылки:

<A xml:link="simple" title="Test Document"

href="http://www.sample.com/test.xml"

1 Документы XML подразделяются на состоятельные (valid) и хорошо оформленные (well-formed), — см. Computer Weekly, № 22, 1998. — Примеч. перев.
content-role="Test 1">

Sample Document</A>

В следующем примере расширенная ссылка находит ресурс ID(2489) в документе test.xml:

<A xml:link="extended"

href="http://www.sample.com/test.xml#ID(2489)" >

Sample Document</A>

Родственные конструкции

Connector, Name (см. главу 2), URI, XPointer (см. главу 4).
  • Query[4] запрос

Назначение

Формулирует запрос для поиска расширенного указателя XPointer.

Синтаксис EBNF

Query ::= 'XML-XPTR=' (XPointer | Name)

Стандартный синтаксис

XML-XPTR=[XPointer|Name]

Аргумент ы

n XML-XPTR= строка-маркер начала содержимого запроса XML.

n XPointer определяет местоположение фрагментов разделов, целых разделов или диапазонов разделов в ресурсе, который их содержит (см. конструк цию XPointer в главе 4). Синтаксис:

AbsTerm.OtherTerms|AbsTerm|OtherTerms

n Name задает состоятельное имя XML, начинающееся с буквы или знака подчеркивания (см. конструкцию Name в главе 2). Синтаксис:

#xnnnn [#xnnnn][_][:][#xnnnn]|[0|1|2|3|4|5

|6|7|8|9][.]|[-][#xnnnn][#xnnnn]...[#x nnnn]

Комментарии

Конструкция Query замещает коннектор ?.

Пример

В данном примере расширенная ссылка включает в себя запрос ресурса ID(2489) в документе test.xml:

<A xml:link="extended"

href="http://www.sample.com/test.xml

XML-XPTR=ID(2489)">Sample Document</A>

Родственные конструкции

Name (см. главу 2), URI, XPointer (см. главу 4).

Конструкции и атрибуты

  • role роль ресурса удаленной ссылки

Назначение

Задает роль ресурса удаленной ссылки.

Синтаксис EBNF

role CDATA

Аргумент

CDATA — это символьные данные (character data); то есть любой текст, не являющийся разметкой.

Комментарии

Атрибут role — это строка, определяющая значение ссылки: автора, дату создания или изменения, комментарии, вплоть до документации по ссылке для тех, кому предстоит ее модифицировать в будущем.

Роль может быть определена как для ресурса ссылки, так и относительно ссылки в целом. При определении роли для ссылки в целом используйте атрибут content-role; при определении роли для ресурса ссылки используйте атрибут role.

Примеры

Пример из рабочих документов по языку XLink, содержащий объявление в единице параметра link-semantics.att:

<!ENTITY % link-semantics.att

"inline (true|false) 'true'

role CDATA #IMPLIED"

В следующем примере показано объявление из рабочих документов по языку XLink, включенное в единицу параметра link-semantics.att:

<!ENTITY % link-semantics.att

"role CDATA #IMPLIED

title CDATA #IMPLIED

show (embed|replace|new) #IMPLIED

actuate (auto|user) #IMPLIED

behavior CDATA #IMPLIED"

>

В следующем примере показано несколько внестрочных расширенных ссылок:

<tracings xml:link="extended" title="Trace"

inline="false">

<locator href="right_wingl.5" role="criticism"/>

<locator href="left_wing3.1" role="counter"/>

<locator href="professor8.3" role="analysis"/>

<locator href="spin_doctor2.2" role="spin"/>

<locator href="extremistl0.12" role="distort"/>


Глава 3 n XLink

<locator href="talking_head7.7" role="summarize"/>

</tracings>

Родственные атрибуты

actuate, behavior, content-role, content-title, href, inline, show, steps, title, xml:attributes, xml:link.
  • show отобразить ресурс ссылки

Назначение

Показывает, отображать или же обрабатывать ресурс ссылки.

Синтаксис EBNF

show (embed | replace | new)

Аргументы

n embed включает содержание новой ссылки в текущее содержание, начиная с места инициализации процедуры отслеживания.

n replace заменяет текущее содержание (ресурс) новой ссылки, начиная с места инициализации процедуры отслеживания.

n new создает новое содержание (ресурс) ссылки, не вытесняя ее текущее содержание.

Комментарии

Оба атрибута actuate и show определяют методы отслеживания ссылки.

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

Действия actuate и show могут производиться совместно.

Примеры

Объявление из рабочих документов по XLink, включенное в единицу параметра remote-resource-semantics.att:

<!ENTITY % remote-resource-semantics.att

"role CDATA #IMPLIED

title CDATA #IMPLIED

show (embed|replace|new) #IMPLIED

actuate (auto|user) #IMPLIED

behavior CDATA #IMPLIED"

>

Пример простой ссылки:

<saylink xml:link="simple" title="Work"

href=" http://www.twain.com/xml/dog.xml" show="new"

content-role="author">Mark Twain</saylink>

Конструкции и атрибуты

Родственные атрибуты

actuate, behavior, content-role, content-title, href, inline, role, steps, title, xml:attributes, xml:link.
  • steps глубина группы расширенных ссылок

Назначение

Задает число уровней (steps), на которых в других группах продолжается обработка группы расширенных ссылок.

Синтаксис EBNF

steps CDATA

Аргумент

CDATA — это символьные данные (character data); то есть любой текст, не являющийся разметкой.

Комментарии

Используйте атрибут steps для указания количества групп расширенных ссылок, которые будут обработаны до завершения процедуры. Если число уровней не задано, придется обрабатывать слишком много групп расширенных ссылок, — особенно если речь идет о большом количестве сложных XML-документов.

Пример

Пример группы ссылок и двух объявлений ссылок:

<!ELEMENT GROUP (PAPERS*)>

<!ATTLIST GROUP

xml:link CDATA #FIXED "GROUP"

steps CDATA #IMPLIED

<!ELEMENT PAPERS EMPTY>

<!ATTLIST PAPERS

xml:link CDATA #FIXED "PAPERS"

href CDATA #REQUIRED

>

Родственные атрибуты

actuate, behavior, content-role, content-title, href, inline, role, show, title, xml:attributes, xml:link.
  • title заголовок ресурса удаленной ссылки

Назначение

Задает заголовок ресурса удаленной ссылки.

Синтаксис EBNF

title CDATA

Аргумент

CDATA — это символьные данные (character data); то есть любой текст, не являющийся разметкой.

Комментарии

Атрибут title соответствует заголовку, отображаемому для данной ссылки.

Атрибут title не является обязательным.

Заголовок может быть присвоен как содержимому ссылки, так и ссылке в целом. Для присвоения заголовка ссылке в целом используйте атрибут content-title; для присвоения заголовка содержимому ссылки используйте атрибут title.

XLink не требует, чтобы приложение использовало title каким-либо конкретным способом.

Примеры

Объявление из рабочих документов по языку XLink, включенное в единицу параметра remote-resource-semantics.att:

<!ENTITY % remote-resource-semantics.att

"role CDATA #IMPLIED

title CDATA #IMPLIED

show (embed|replace|new) #IMPLIED

actuate (auto|user) #IMPLIED

behavior CDATA #IMPLIED"

>

Пример нескольких внестрочных расширенных ссылок:

<tracings xml:link="extended" title="Trace"

inline="false">

<locator href="right_wingl.5" role="criticism"/>

<locator href="left_wing3.1" role="counter"/>

<locator href="professor8.3" role="analysis"/>

<locator href="spin_doctor2.2" role="spin"/>

<locator href="extremistl0.12" role="distort"/>

<locator href="talking_head7.7" role="summarize"/>

</tracings>

Родственные атрибуты

actuate, behavior, content-role, content-title, href, inline, role, show, steps, xml:attributes, xml:link.
  • uri[3] единый идентификатор ресурса

Назначение

Задает единый идентификатор ресурса (Uniform Resource Identifier — URI), содержащего ссылку.

Конструкции и атрибуты

Синтаксис EBNF

URI ::== URIchar*

Стандартный синтаксис

[URIchar][URIchar]…[URIchar ]

Аргумент

URIchar соответствует символам, из которых состоит адрес в Интернете. Синтаксис:

[[http:|file:|ftp:|mailto:][//hostname.dom [/filename.xml]]]

Комментарии

Конструкция URI является компонентом конструкции Locator.

Идентификатор URI является адресом ссылки в Интернете.

Идентификатор URI является либо указателем URL (абсолютная ссылка), либо фрагментом адреса (относительная ссылка).

Идентификатор URI представляет собой адрес в Интернете. Он включает тип протокола (в том числе: http:, ftp:, gopher:, mailto: и т. д.), имя сервера, с которым необходимо установить связь (скажем, www.w3.org), названия каталогов или папок (например, /pub/WWW/Provider/), а также необязательный компонент имени файла (например, contents.xml или index.xml).

Если URI не указан, то документ, из которого инициируется ссылка, рассматривается как содержащий ресурс.

Примеры

В данном примере расширенная ссылка с помощью указателя URL находит ресурс ID(2489) в документе test.xml:

<A xml:link="extended"

href="http://www.sample.com/test.xml#ID(2489)">

Sample Document</A>

В следующем примере расширенная ссылка находит ресурс ID(sect_01) в документе test.xml, используя фрагмент адреса на текущем Web-узле:

<A xml:link="extended" href="test.xml#ID(sect_01)">

Sample Document</A>

Родственные конструкции

Connector, Locator, Name (см. главу 2), XPointer (см. главу 4).
  • xml:attributes имена атрибутов

Назначение

Помечает выбранные пользователем имена атрибутов для элемента, составляющего ссылку.

Синтаксис EBNF

xml:attributes CDATA

Аргумент

CDATA — это символьные данные (character data); то есть любой текст, не являющийся разметкой.

Комментарии

Используйте атрибут xml:attributes для переименования атрибутов (actuate, behavior, content-role, content-title, href, inline, role, show, steps, title), не являющихся уникальными.

Атрибут xml:attributes должен содержать одну или более пар, состоящих из исходного и нового имени атрибута.

Пример

Пример объявления, переопределяющего title как xl-title и role как xl-role (из рабочих документов по XLink):

<!ATTLIST TEXT-BOOK

xml:link CDATA #FIXED "simple"

xml:attributes CDATA #FIXED

"title xl-title role xl-role"

Родственные атрибуты

actuate, behavior, content-role, content-title, href, inline, role, show, steps, title, xml:link.
  • xml:link обработка ссылок XLink

Назначение

Обрабатывает один или более элементов, составляющих ссылку XLink, следующих за этим атрибутом.

Стандартный синтаксис

xml:link="simple"|"extended"|"locator"|"group"

|"document"

Аргументы

n simple показывает, что далее следует простая ссылка.

n extended показывает, что далее следует расширенная ссылка.

n locator показывает, что далее следует определитель местонахождения.

n group показывает, что далее следует связанный перечень документов.

n document показывает, что далее следует элемент документа с расширенной ссылкой.

Комментарии

Используйте атрибут xml:link для указания на то, что последует ссылка XLink.

Конструкции и атрибуты

Простая ссылка использует только один указатель, включенный в элемент, составляющий ссылку.

Внестрочная простая ссылка считается состоятельной; она называется однонаправленной ссылкой (one-ended link).

В ссылку может быть включен указатель на содержание любого типа, для чего используется служебное слово ANY. Однако при этом документ должен соответствовать своему определению типа данных DTD.

Используйте группу расширенных ссылок для организации списка однородных ссылок. Используйте элемент документа с расширенной ссылкой для задания каждого документа из списка.

Для задания группы расширенных ссылок используйте значение group; для задания элемента документа с расширенной ссылкой используйте значение document.

Ссылка может быть обозначена одним из двух способов: либо с помощью открывающего и закрывающего тегов (см. первый пример), либо через объявление (см. второй пример).

Примеры

Пример простой ссылки из рабочих документов языка XLink:

<A xml:link="simple" href="http://www.w3.org/">The W3C</A>

Пример объявления простой ссылки из рабочих документов языка XLink:

<!ATTLIST A xml:link CDATA #FIXED "simple">

Пример группы ссылок и двух объявлений ссылок:

<!ELEMENT GROUP (PAPERS*)>

<!ATTLIST GROUP

xml:link CDATA #FIXED "GROUP"

steps CDATA #IMPLIED

<!ELEMENT PAPERS EMPTY>

<!ATTLIST PAPERS

xml:link CDATA #FIXED "PAPERS"

href CDATA #REQUIRED

>

Пример простой ссылки:

<saylink xml:link="simple" title="Work"

href="http://www.twain.com/xml/dog.xml" show="new"

content-role="author">Mark Twain</saylink>

Пример нескольких внестрочных расширенных ссылок:

<tracings xml:link="extended" title="Trace"

inline="false">

<locator href="right_wingl.5" role="criticism"/>

<locator href="left_wing3.1" role="counter"/>

<locator href="professor8.3" role="analysis"/>

<locator href="spin_doctor2.2" role="spin"/>

<locator href="extremistl0.12" role="distort"/>

<locator href="talking_head7.7" role="summarize"/>

</tracings>

Родственные атрибуты

actuate, behavior, content-role, content-title, href, inline, role, show, steps, title, xml:attributes.

Компания Эксперт Консалт: бухгалтерские услуги, восстановление бухучета.. |-| Ищите онлайн игры играть, найдется все на Starquake. Ru!