Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Создание банка ссылок. Программы-обработчики атрибутов XLink




Создание банка ссылок

При создании какого-либо документа на языке HTML, назовем его для оп­ределенности doc.html, в него вставляются гиперссылки на предыдущие, ранее созданные, документы и изображения. Пусть эти ресурсы лежат в файлах oldl.html, old2.html, imgl.gif. Через некоторое время появляются но­вые документы, назовем их newl.html, new2.html, на которые необходимо сослаться из документа doc.html. Для этого придется отыскать файл doc.html и внести в него новые ссылки. Это очень неудобно. Не говоря уже о том, что файл doc.html может быть недоступен, его уже могли скопиро­вать на множество сайтов. Придется вносить изменения во все копии, что совершенно невозможно.

Язык XLink, в котором можно сделать ссылки и в прямом, и в обратном направлении, позволяет создать обратные ссылки из новых документов на старый документ. Но это не лучший выход из положения, потому что ста­рый документ при каждом открытии должен отыскать и просмотреть новые документы в поисках этих ссылок. Это требует времени и знания тех адре­сов, где лежат эти новые документы.

К счастью, язык XLink предлагает другой, более удобный выход из этой си­туации. Мы выносим все ссылки в отдельный файл — "банк ссылок" — и в случае необходимости изменяем ссылки только в этом файле. Все докумен­ты, которым нужны ссылки, обращаются за ними в банк ссылок. Такие об­ращения оформляются обыкновенными ссылками, но для того чтобы указать программе-обработчику, что идет обращение к банку ссылок, в эле­мент-дугу записывается атрибут arcroie со следующим значением:

xlink:arcrole="http://www.w3.org/19 9 9/xlink/properties/linkbase"

Такая запись обеспечивает обязательность реализации ссылки программой-обработчиком, но накладывает одно ограничение — банк ссылок должен быть документом XML. В листинге 4.4 приведен пример связи с банком ссылок, активизируемой при загрузке документа content.xml.

Листинг 4.4. Связь с банком ссылок

<initLinks xlink:type="extended">

<startcont xlink:type="locator" xlink:label="cont" xlink:href="content.xml" />

<base xlink:type="locator" xlink:label="base" xlink:href="linkbase.xml" />

<load xlink:type="arc"

xlink:arcrole="http://www.w3.org/19 9 9/xlink/properties/linkbase" xlink:from="cont" xlink:to="base" xlink:actuate="onLoad" />

</initLinks>

Программы-обработчики атрибутов XLink (тут перечисление фирм. Может взять у магистров)

Хотя язьгк XLink создан недавно, уже появилось много программных про­дуктов, обрабатывающих ссылки, облегчающих их разработку и даже соз­дающих ссылки, не вставляя их в документы XML

Программное средство Х2Х фирмы UK, Ltd, описанное на сайте фирмы http://www.empolis.co.uk/products/prod_X2X.asp, создает ссылки, не встав­ляя их в документы XML.

Обработчик XLink Processor фирмы Fujitsu реализует языки XLink и XPointer. С ним можно ознакомиться по адресу http://www.labs.fujitsu.com /free/xlip/en/.

Программный продукт xlinkit.com создает ссылки по указанным ему пра­вилам. Он расположен по адресу http://www.xlinkit.com/.

Популярные свободно распространяемые браузеры MozUla, http:// www.mozilla.org/, и Amaya, http://www.w3.org/Amaya/, содержат средства обработки атрибутов языка XLink.

Свободно распространяемый обработчик атрибутов языка XLink, назы­ваемый XtoolX, http://www.xlinkit.com:8080/xtoolx/, вставляет ссылки, взятые из банка ссылок, в документы XML.

 

Таблицы стилей CSS в языке XML. Язык описания стилей XSL

Вместе с документами XML тоже можно применять таблицы стилей CSS. Для этого в язык XML введена инструкция по обработке stylesheet, которая используется так, как показано в листин­ге 8.4.

Листинг 8.4. Документ XML, использующий таблицу стилей CSS

<?xml version="1.0" encoding="windows-1251"?>

<?xml:stylesheet type="text/css" href="xmlcontract.ess"?>

<contract>

<type>TpyflOBoii floroBop</type>

<name>Иванов Петр Сидорович</name>

<date>01.07.03</date>

<period>12</period>

<i— и Так далее... —> </contract>

Всякий браузер, "понимающий" XML, например Mozilla или Internet Explorer 6.x, покажет приведенный в листинге 8.4 документ в соответствии со стилями, записанными в файле xmlcontractcss.

Таблица стилей, включенная в файл xmlcontract.css, оформляется по прави­лам CSS и может выглядеть так, как показано в листинге 8.5.

Листинг 8.5. Таблица стилей для документа XML

type { margin-top: 8em; margin-bottom: Зет; font-size: 2em; color: blue }

name { text-indent: 2em; margin-top: Зет;

font-size: 1.5em; margin-bottom: 2em; }

date, period { margin: 0.5em; }

Хотя таблицы стилей CSS и можно использовать в XML, но реализация стилей для документов XML должна быть другой. Как видно из приведен­ных примеров, синтаксис CSS весьма оригинален и никак не похож на син­таксис XML. Кроме того, стили CSS определяют способы показа документа HTML в окне браузера, его визуализацию, а язык XML выявляет структуру документа, ничего не говоря о его представлении в виде, удобном для чте­ния. Поэтому в технологии XML для записи стилей был разработан специ­альный язык XSL — одна из реализаций XML.

Язык описания стилей XSL

Таблицы стилей для документов XML записываются при помощи специаль­но сделанной реализации языка XML, названной XSL (XML Stylesheet Language). В то время, когда писалась эта книга, действовала первая версия XSL, изложенная в рекомендации "Extensible Stylesheet Language (XSL). Version 1.0". Она опубликована на Web-странице http://www.w3.org/TR/xsl/.

Язык XSL, как и язык XPath, представляет документ в виде дерева. Процес­сор языка XSL преобразует это дерево, руководствуясь таблицей стилей, и форматирует его для вывода в окно браузера, на принтер, экран проектора или на какое-то другое устройство. Таким образом, обработка проходит два этапа: преобразование дерева документа (XML transform) и форматирование (formatting) дерева, полученного после преобразования.

Первый этап — этап преобразования — может быть достаточно сложным и кардинально поменять структуру дерева: изменить уровни вложенности, удалить или добавить новые узлы, создать оглавление, предметный указа­тель, индекс. Результат преобразования может стать новым самостоятель­ным документом или даже несколькими документами. Таблица стилей, по которой идет преобразование, содержит правила, состоящие из двух частей: образцов (patterns) для отбора узлов, предназначенных для преобразования, и шаблонов (templates) или конструкторов (sequence constructors) для по­строения преобразованных узлов.

Второй этап — этап форматирования — абстрагируется от конечного уст­ройства, хотя может выполняться непосредственно в нем, например, в брау­зере, пейджере, принтере, проекторе. Форматирование формулируется в терминах классов и объектов. Под объектами форматирования FO (for­matting objects) понимаются узлы дерева, а под их классами — некие конеч­ные структуры: страницы, абзацы, таблицы, списки. Таблица стилей опре­деляет правила форматирования (formatting properties). По этим правилам строится дерево, но уже не дерево узлов, а дерево геометрических областей (area tree), на которые разбивается документ, и определяются их характери­стики: размеры, цвет, шрифт.

Вскоре после выхода рекомендации языка XSL стало ясно, что преобразо­вание документа XML — это самостоятельная и независимая задача, кото­рую можно выполнять не только для приведения их к одному стилю, но и для многих других целей. Например, можно преобразовать документ XML в документ HTML, XHTML или даже в документ PDF. Можно обновить документ, изменив некоторые узлы, или разделить его на несколько доку­ментов.

Поэтому преобразование документов XML было выделено в отдельную об­ласть исследования и описано отдельным языком XSLT (XSL Transfor­mation), первая версия которого изложена в рекомендации "XSL Transfor­mation (XSLT). Version 1.0". Эта версия рекомендации, действующая на вре­мя написания данной книги, расположена по адресу http://www.w3.org/TR /xslt. Ее русский перевод, сделанный Радиком Усмановым, можно посмот­реть в нескольких местах Рунета, например, по адресу http://www.online.ru /it/helpdesk/xslt01.htm.

После выделения преобразований в отдельный язык XSLT первоначальная рекомендация языка XSL была переработана, сейчас основной акцент в ней сделан на форматировании, поэтому ее часто называют рекомендацией "XSL-FO". Мы рассмотрим форматирование в следующей главе, а в этой займемся преобразованием документов XML с помощью языка XSLT.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...