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

42) Форматирование Web-страниц

Под форматированием в языках разметки понимают указание в документе сведений, необходимых для его визуализации. Форматирование определяет вид документа, получаемый в устройстве вывода (обычно на экране дисплея)

Средствами форматирования в Web-технологиях являются каскадные таблицы стилей и языки форматирования. Специально разработанный для XML язык форматирования XSL (eXtensible Stylesheet Language) предоставляет более богатые возможности форматирования по сравнению с каскадными таблицами стилей CSS.

Указания по форматированию, выраженные средствами языка XSL, составляют XSL-таблицу, с помощью которой XML-документ преобразуется в HTML-страницу, отображаемую браузером. Использование XSL обеспечивает ряд преимуществ по сравнению с применением CSS, поскольку появляется возможность сортировать и фильтровать элементы документа при его выводе на экран. Кроме того, изменяя XSL-таблицу, можно один и тот же документ изображать по-разному в соответствии с потребностями конкретной ситуации.

В XSL шаблоны, по которым браузер определяет отображение элементов документа на экране, обрамляются выделенными для этого тегами, например,<xsl:template> и </xsl:template>. Шаблоны содержат правила, в которых указываются типы XML-элементов, к которым правило относится, и задаются инструкции отображения, например, аналогичные принятым в языке HTML. Шаблон может относиться ко всему XML-документу или к его части. В первом случае в теге <xsl:template> указывается атрибут match со значением "/": <xsl:template match="/">. Во втором случае значением атрибута match будет имя типа соответствующего XML-элемента.

В шаблонах можно использовать как HTML-элементы, так и XSL-элементы. Последние имеют вид

<xsl:имя_xsl_элемента имя_параметра="значение_параметра"/>

Например, значениями параметра с именем select могут быть типы отображаемых XML-элементов. В качестве имен XSL-элементов используются value-of (выбор для отображения текущего XML-элемента, тип которого указан в параметре select), for-each (команда отображения всех XML-элементов, тип которых указан в параметре select) и некоторые другие. Нужно отметить, что для сортировки XML-элементов используется параметр order-by, указываемый в XSL-теге<xsl:for-each>.

Таблица стилей помещается в отдельный файл, ссылка на который обычно включается в заголовок XML-документа и имеет вид:

<?xml-stylesheet type="text/xsl" href=путь_к_файлу?>

Доступ к xml-документам

Для доступа к XML-документам разработаны объектная модель документа DOM и языки запросов XPath и XQuery.

Спецификация DOM, предложенная консорциумом W3C, вводит модель XML-документа DOM в виде иерархии его элементов и язык запросов XPath(XML Path Language), позволяющий ссылаться на части XML-документов (на те или иные элементы).

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

XPath обеспечивает синтаксис и семантику для запросов и ссылок на содержимое XML-документов. Если язык SQL служит для обращений к содержимому реляционных баз данных, то язык XPath предназначен для обращений к содержимому баз XML-документов. Выражение XPath представляют собой указание пути к узлу XML-документа в иерархической DOM-модели этого документа. Так, запрос "найти элементы 'termin' " при обращении к словарю приведенного в "Язык XML" примера с помощью XPath-выражения dictionary/item/termin позволит получить список всех терминов словаря, а запрос dictionary/item/termin[@group='networks'] список только тех терминов, у которых атрибут group равен 'networks'.

Список некоторых операций и операторов языка XPath приведен в табл. 1.

Таблица 1    

Оператор

Описание

/

Выбирает дочерние элементы коллекции, находящейся слева от него. При использовании в начале шаблона означает поиск от корневого элемента.

//

Рекурсивный спуск; ищет указанный элемент на любой глубине. При использовании в начале шаблона означает рекурсивный поиск от корневого элемента.

.

Текущий контекст.

*

Wildcard, выбирает все элементы, независимо от имени.

@

Атрибут; префикс имени атрибута. При использовании без имени атрибута выбирает все атрибуты, независимо от их имени.

:

Сепаратор пространств имен. Отделяет префикс пространства имен от имени элемента или атрибута.

( )

Группирует операции для явного задания очередности.

[ ]

1. Накладывает фильтр. 2. Используется для индексации коллекции.

+

Сложение.

-

Вычитание.

div

Деление с плавающей точкой (согласно IEEE 754).

*

Умножение.

mod

Возвращает остаток при делении с остатком.

Предложены и другие языки обращений к XML-документам, например гибкий язык запросов XQuery или язык XSLT (XSL Transformations). В языке XQuery запросы представляют собой последовательность выражений, задающих возвращаемые узлы, которыми могут быть элементы и атрибуты XML-документов. Язык XSLT — подмножество XSL, предназначенное для преобразования одних XML-документов в другие документы XML, HTML или документы некоторых других форматов. Как XQuery, так и XSLT используют правила языка XPath. Результатом распространения DOM на мультимедийные данные является язык SMIL — Synchronized Multimedia Integration Language.

При использовании современных Web-браузеров возможна привязка XML-документа к HTML-странице. Например, в Internet Explorer, начиная с пятой версии, для этой цели предусмотрен тег <XML>. Например:

<XML ID="имя_для_доступа_к_XML-документу"

SRC="имя_файла_XML-документа"> </XML>

Сцепление осуществляется с помощью некоторых HTML-тегов, например тега <SPAN>:

<SPAN DATASRC="#имя_для_доступа_к_XML-документу"

DATAFLD="элемент_XML-документа"> </SPAN>

Теперь "элемент_XML-документа" сцеплен с тегом <SPAN> и может быть отображен браузером с помощью записи строки

<SPAN параметры_стиля> элемент_XML-документа </SPAN>