Расширенные связи
Можно сказать, что простые связи в большей или меньшей степени напоминают связи HTML. Расширенные связи значительно превосходят связи HTML с точки зрения предоставляемых возможностей: они включают многонаправленные связи между многочисленными документами и внешние (out-of-line) связи. Расширенная связь состоит из набора ресурсов и их соединений. Ресурсы, используемые в связи, могут быть либо локальными (являющиеся частью элемента расширенной связи), либо удаленными (не являющиеся частью элемента расширенной связи и обычно находящиеся, хотя и необязательно, в другом документе). Каждый ресурс может быть или адресатом, или источником, либо тем и другим. Если связь не содержит ни одного локального ресурса, а только удаленные ресурсы, она называется внешней связью.
Синтаксис расширенных связей
Расширенные связи подразделяются на удаленные и локальные ресурсы. Локальный ресурс является частью элемента расширенной связи, значение атрибута xlink:type которого равно resource.
Удаленный ресурс находится вне элемента расширенной связи, обычно в другом документе. Эти элементы могут иметь любое имя, но включают атрибут xlink:type, значение которого равно locator. Каждый элемент типа locator также содержит атрибут xlink:href, значением которого является URI, локализующий этот удаленный ресурс.
Сами расширенные связи обозначаются с помощью типа extended и могут считаться просто обертками для элементов типа resource, locator и arc (о последнем речь пойдет ниже).
Предположим, например, что мы описываем страницу связей с сайтами Java. Один из этих сайтов - это Cafe au Lait в http://ibiblio.org/javafaq/. Помимо него существуют еще три "зеркальных отображения" (mirror) в трех странах. Часть людей, зашедших на этот сайт, захочет получить доступ к основному сайту, другая часть предпочтет отправиться на "сайты-зеркала
Зеркало— гладкая поверхность, предназначенная для отражения света (или другого излучения). Наиболее известный пример— плоское зеркало.". С помощью XLink можно создать одну связь, которая соединяет все четыре сайта, а также страницу, с которой мы связываемся. При активизации связи браузер
Веб-обозреватель, браузер (от англ.Web browser; вариант броузер — устаревшая и менее предпочтительная форма) — программное обеспечение для просмотра веб-сайтов, то есть для запроса веб-страниц (преимущественно из Сети), их обработки, вывода и перехода от одной страницы к другой. сможет выбрать ближайшую к пользователю связь (повторимся, что этот пример является исключительно теоретическим). Четыре сайта описываются с помощью элементов типа locator. Текст, который будет показан пользователю, на нашей странице описывается элементом типа resource. Ниже приведен соответствующий код XML:
<WEBSITE xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:type="extended">
<NAME xlink:type="resource">Cafe au Lait</NAME>
<HOMESITE xlink:type="locator"
xlink:href=#>
На рисунке 1 показан элемент расширенной связи WEBSITE и эти пять ресурсов. Элемент WEBSITE содержит один ресурс и указывает на другие четыре с помощью универсальных локаторов ресурса. Однако, это всего лишь описание этих ресурсов, без какого-либо соединения между ними.
Рис. 1. Расширенная связь с одним локальным и четырьмя удаленными ресурсами
Правила навигации (элементы типа arc)
По сравнению с простыми связями расширенные связи являются несколько более сложными концепцией, поскольку они предоставляют множество различных путей обхода. Например, в расширенной связи с тремя ресурсами A, B и C возможны девять различных обходов:
- A --> A
- B --> B
- C --> C
- A --> B
- B --> A
- A --> C
- C --> A
- B --> C
- C --> B
Каждый из этих потенциальных путей между ресурсами может иметь различные правила определения того, когда связь должна обходиться и что должно происходить при ее обходе. Эти потенциальные обходы называются ребрами (arc), а в XML они представляются с помощью элементов, у которых значение
Значение— ассоциативная связь между знаком и предметом обозначения. атрибута xlink:type равно arc. Правила обхода указываются добавлением атрибутов xlink:show и xlink:actuate к элементам типа arc.
Сами элементы типа arc используют атрибуты to и from, для указания направления перехода. Для задания начала и конца перехода применяются атрибуты xlink:label, значения которых сопоставляются для различных ресурсов в расширенной связи. Например, если атрибут xlink:from равен A, а атрибут xlink:to - B, то тогда ребро направляется из ресурса, у которого атрибут xlink:label равен A, в ресурс, чей атрибут xlink:label равен B. Приведенный ниже код демонстрирует сказанное:
<WEBSITE xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:type="extended" xlink:title="Cafe au Lait">
<NAME xlink:type="resource" xlink:label="source">
Cafe au Lait
</NAME>
<HOMESITE xlink:type="locator"
xlink:href=#>
Первый элемент CONNECTION описывает ветвь из ресурса с xlink:label, равным "source", в ресурс с xlink:label, равным "ch". Второй элемент CONNECTION описывает ветвь из ресурса с xlink:label, равным "source", в ресурс с xlink:label, равным "us", - и так далее. На рисунке 2 приведена эта связь: овалы показывают ресурсы, а стрелки - ветви. Этот рисунок поход на рисунок 1 с тем исключением, что на нем между ресурсами появились соединения, указанные элементами типа arc.
Рис. 2. Расширенная связь с одним локальным и четырьмя удаленными ресурсами и ветвями, исходящими от локального ресурса к каждому удаленному
В данном случае каждый элемент типа arc определяет точно одно соединение
Соединение — процесс изготовления изделия из деталей, сборочных единиц (узлов), агрегатов путём физического объединения в одно целое. Показатели работоспособности соединения — это прочность и(ли) герметичность, а также технологичность. Является основной частью производственного процесса сборки., поскольку метки (label) адресата и источника не используются совместно многочисленными ресурсами. Однако, такая схема не является обязательной. Отдельный элемент типа arc может на самом деле описывать несколько ветвей.
Внешние связи
Как было указано выше, расширенные связи также могут быть и внешними связями. Внешняя связь не содержит какой-либо части любых ресурс
Ресурсы— всё, что необходимо человеку (физическому лицу) и организации (в том числе юридическому лицу) для достижения цели, для удовлетворения собственных потребностей и потребностей субъектов или объектов внешней среды. Ресурсы могут быть трудовые, информационные, материальные, финансовые.ов, которые она соединяет, а хранится в отдельном документе, называемом базой связей (linkbase).
Так, список
Список— письменный перечень, число, состав; документ, содержащий перечень каких-либо сведений; в переносном смысле— буквальное, точное воспроизведение, копия; рукописная копия древнего памятника письменности. "сайтов-зеркал", приведенный в последнем примере, мог бы храниться в отдельном файле на Web-сервере в определенном месте, где его могли отыскивать браузеры, чтобы запрос
Запрос— это формулирование своей информационной необходимости пользователем некоторой базы данных, как, например, поисковой системы. Для составления запроса используется язык поисковых запросов.ить местонахождение ближайшего "зеркала", которое они ищут.
В качестве еще одного примера рассмотрим некий учебный курс по Java, публикуемый на Web-сайте. На рисунке 3 показана вводная страница этого курса. Этот курс состоит из 13 занятий (недель - week), каждое из которых охватывает от 30 до 60 страниц лекционного текста. Страница оглавления для каждого занятия включает связи с каждой такой страницей теста, читаемого на занятии.
Рис. 3. Вводная страница курса по Java, состоящего из 13 занятий (недель - week)
Каждая из нескольких сотен станиц, образующих весь этот учебный
«Учебный»— первый российский военный дирижабль, сконструированый, построенный и испытанный в воздухе русскими воздухоплавателями без помощи иностранных специалистов . курс, имеет связи с предыдущим документом (Previous link), следующим документом (Next link) и оглавлением (Top link) для каждого занятия (см. рисунок 4). Если попытаться грубо оценить этот проект, то в нем оказывается задействованным более тысячи внутренних соединений, охватывающих все эти документы
Документ (от лат.documentum— образец, свидетельство, доказательство) — материальный объект, содержащий информацию в зафиксированном виде и специально предназначенный для её передачи во времени и пространстве .
В узком смысле Документ — облеченный в письменную форму акт, удостоверяющий наличие фактов определенного значения. В широком смысле и книга, и скульптура - документы..
Рис. 4. Одна из страниц с лекционным текстом, на которой показаны связи Previous, Next и Top
При увеличении числа документов возможные внутренние соединения будут расти по экспоненциальной зависимости. Всякий раз, как какой-то документ будет удален, переименован или разбит на несколько частей, необходимо вносить соответствующие изменения в связи на этой странице, на странице перед ней и после нее в этой "тройке", а также в оглавлении для занятия. Очевидно, такая работа может отбить всякую охоту что-либо менять.
Разумное решение - если бы HTML позволяло это - хранить эти связи в отдельном документе. Тогда страницы можно было бы переструктурировать, редактируя этот единственный документ. Такой документ описывал бы связи между главной страницей и отдельными занятиями и, наоборот:
<COURSE xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:type="extended">
<TOC xlink:type="locator" xlink:href=#>
В следующем примере приведена еще одна возможная внешняя расширенная связь. Она обеспечивает предыдущую (previous) и следующую (next) связи между указанными тринадцатью занятиями:
<COURSE xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:type="extended">
<CLASS xlink:type="locator" xlink:href=#>
Ниже приведен код, в котором один из элементов типа arc содержит атрибут xlink:arcrole, значение которого равно http://www.w3.org/1999/xlink/properties/linkbase. Атрибут xlink:to этого элемента типа arc должен идентифицировать элемент типа locator, который дает URL этой базы связей. Атрибут xlink:actuate элемента типа arc определяет, загружаются ли эти связи автоматически или для этого требуется пользовательский запрос. Например
Пример рассматривается в риторике чаще всего в контексте доказательств и аргументов. Для Квинтилиана пример является одним из дополняющих, наглядных доводов к высказыванию, либо упоминанием полезного, настоящего или якобы существующего образца убеждения того, что определено тобой одним. Правда, в отличие от доказательств, связь с предметом обсуждения должна быть установлена прежде автором или оратором., если приведенные выше два примера кода находились бы в файле по URL http://ibiblio.org/javafaq/course/courselinks.xml, этот элемент мог бы быть включен в основную страницу для лекций по курсу Java:
<LINKBASE xlink:type="xlink:extended"
xmlns:xlink="http://www.w3.org/1999/xlink">
<SOURCE xlink:type="resource" xlink:label="source"/>
<LINKS xlink:type="locator" xlink:label="linkbase"
xlink:href=#>