Расширенные ссылки
Расширенные ссылки определяются заданием для атрибута xlink:type значения "extended". Расширенная ссылка – это ссылка, которая связывает произвольное число ресурсов, как локальных, так и удаленных. Помимо атрибута xlink:type, для расширенных ссылок могут быть заданы описанные выше атрибуты xlink:role и xlink:title.
Элементы с атрибутом xlink:type="extended" могут содержать элементы со значениями xlink:type, равными "locator", "arc", "resource" и "title".
Элемент со значением xlink:type, равным "title", содержит описание расширенного элемента и не содержит других атрибутов, кроме xlink:type. Может быть задано несколько элементов описания (например, на разных языках).
Элемент со значением xlink:type, равным "locator", определяет удаленный ресурс, участвующий в ссылке. Для этого элемента могут быть также заданы описанные выше атрибуты xlink:href, xlink:role и xlink:title, а также атрибут xlink:label. Атрибут xlink:href является обязательным и указывает URI удаленного ресурса, остальные атрибуты являются необязательными.
Атрибут xlink:label обеспечивает элементу со значением xlink:type, равным "arc", ссылку для создания дуги перехода.
Элемент, описывающий удаленный ресурс, может содержать элемент описания ресурса (элемент со значением xlink:type, равным "title").
Элемент со значением xlink:type, равным "resource", определяет локальный ресурс, участвующий в ссылке. Для этого элемента могут быть также заданы описанные выше атрибуты xlink:role, xlink:title и xlink:label.
Элемент со значением xlink:type, равным "arc", определяет правила прохождения ресурсов (дугу). Для этого элемента могут быть также заданы описанные выше атрибуты xlink:arcrole, xlink:title, xlink:show, xlink:actuate, а также атрибуты xlink:from и xlink:to (все атрибуты являются необязательными).
Значениями атрибутов xlink:from и xlink:to, определяющих соответственно начало и окончание дуги перехода, должны быть значения атрибута xlink:label в элементах "locator"или "resource".
Элемент, описывающий дугу, может содержать элемент описания ресурса (элемент со значением xlink:type, равным "title").
Пример использования расширенной ссылки в документе XML:
Определение DTD для элемента extended-link, описывающего расширенную ссылку, может иметь следующий вид:
<!ELEMENT extended-link ((tooltip|person|course|gpa|go)*)>
<!ATTLIST extended-link
xmlns:xlink CDATA #FIXED
"http://www.w3.org/1999/xlink"
xlink:type (extended) #FIXED "extended"
xlink:role CDATA #IMPLIED
xlink:title CDATA #IMPLIED>
<!ELEMENT tooltip ANY>
<!ATTLIST tooltip
xlink:type (title) #FIXED "title"
xml:lang CDATA #IMPLIED>
<!ELEMENT person EMPTY>
<!ATTLIST person
xlink:type (locator) #FIXED "locator"
xlink:href CDATA #REQUIRED
xlink:role CDATA #IMPLIED
xlink:title CDATA #IMPLIED
xlink:label NMTOKEN #IMPLIED>
<!ELEMENT course EMPTY>
<!ATTLIST course
xlink:type (locator) #FIXED "locator"
xlink:href CDATA #REQUIRED
xlink:role CDATA #FIXED
"http://www.example.com/linkprops/course"
xlink:title CDATA #IMPLIED
xlink:label NMTOKEN #IMPLIED>
<!ELEMENT gpa ANY>
<!ATTLIST gpa
xlink:type (resource) #FIXED "resource"
xlink:role CDATA #FIXED
"http://www.example.com/linkprops/gpa"
xlink:title CDATA #IMPLIED
xlink:label NMTOKEN #IMPLIED>
<!ELEMENT go EMPTY>
<!ATTLIST go
xlink:type (arc) #FIXED "arc"
xlink:arcrole CDATA #IMPLIED
xlink:title CDATA #IMPLIED
xlink:show (new|replace|embed|other|none) #IMPLIED
xlink:actuate (onLoad|onRequest|other|none) #IMPLIED
xlink:from NMTOKEN #IMPLIED
xlink:to NMTOKEN #IMPLIED>.
Элемент в документе XML, соответствующий этому DTD может иметь следующий вид:
<extended-link>
<tooltip>Загрузка курса для Иванова</tooltip>
<person
xlink:href="students/ivanov62.xml"
xlink:label="student62"
xlink:role="http://www.example.com/linkprops/student"
xlink:title="Иванов" />
<person
xlink:href="profs/petrov7.xml"
xlink:label="prof7"
xlink:role="http://www.example.com/linkprops/prof"
xlink:title="Dr. Jay Smith"/>
<!-- Другие удаленные ресурсы для преподавателей и
студентов -->
<course
xlink:href="courses/cs101.xml"
xlink:label="CS-101"
xlink:title="Computer Science 101" />
<!-- Другие удаленные ресурсы для лекций, лабораторных
работ и т.д.-->
<gpa xlink:label="IvanovGPA">3.5</gpa>
<go
xlink:from="student62"
xlink:to="IvanovGPA"
xlink:show="new"
xlink:actuate="onRequest"
xlink:title="Рейтинг Иванова" />
<go
xlink:from="CS-101"
xlink:arcrole="http://www.example.com/links/auditor"
xlink:to="student62"
xlink:show="replace"
xlink:actuate="onRequest"
xlink:title="Проверка Иванова" />
<go
xlink:from="student62"
xlink:arcrole="http://www.example.com/links/advisor"
xlink:to="prof7"
xlink:show="replace"
xlink:actuate="onRequest"
xlink:title="Сидоров, консультант" />
</extended-link>.
Дата добавления: 2015-03-19; просмотров: 906;