Дизайн документов XML
Язык XML разделяет данные и правила их представления. Следовательно, языки стилей (style languages) XML должны трансформировать оригинальный документ XML в набор объектов визуализации, предназначенных для систем зрительного или слухового восприятия.
Где осуществляется визуализация
Визуализация документа XML может осуществляться на сервере или у клиента. Если браузер клиента - это браузер XML, то перед сервером HTTP стоит очень простая задача: ассоциировать с документом правильную таблицу стилей (документ может уже содержать ее) и отправить ее в браузер. Если же браузер клиента не является браузером XML, то перед отправкой документ нужно трансформировать в отображаемый формат. Трансформация может осуществляться на сервере или у клиента.
Трансформация XML на сервере
Серверы HTTP можно считать файловыми серверами, но в отличие от традиционных файловых серверов их функциональные возможности можно усилить с помощью нескольких расширений. Как правило, эти расширения принимают форму обработчиков сценариев. Такие наиболее популярные обработчики, как ASP, JSP, РНР или Cold Fusion, основаны на шаблонах.
Для обработки документа XML на сервере HTTP должно быть установлено расширение, обрабатывающее такой формат. Простейшим из возможных расширений является то, которое может преобразовать файл XML в документ HTML и отправить этот документ браузеру для визуализации (например, обработчик XSLT ). Наиболее сложными расширениями являются полные репозитории XML. Cначала документ XML анализируется и преобразуется во внутреннюю структуру, а затем обработчик стилей трансформирует эту внутреннюю структуру в документ HTML с помощью шаблонов. Однако для сложных репозиториев XML такой анализ не обязателен, поскольку документ уже проанализирован и содержится во внутреннем формате; в этом случае обработчик стилей непосредственно выполняет свою функцию по отношению к этой внутренней структуре. Как правило, серверы, содержащие полный репозитории XML, имеют более высокую производительность, чем простые файловые системы. Однако производительность последних может возрастать при кэшировании документов XML, уже преобразованных в формат HTML.
Трансформация XML у клиента
Если клиент является браузером XML, задача существенно упрощается. Фактически почти каждый сервер HTTP способен передавать ему документы XML, которые будут там визуализированы.
Этот процесс достаточно прост: сервер HTTP посылает браузеру документ XML, а браузер сканирует документ XML в поисках особой конструкции, называемой processing-instruction (команда обработки). Эта команда позволяет браузеру получить таблицу стилей, ассоциированную с этим документом XML и выполнить визуализацию последнего.
Модели представления
Рассмотрим две модели представления документа: визуальную и звуковую. Последняя предполагает последовательное представление объектов, поэтому звуковой браузер должен быть устройством, зависящем от времени. С другой стороны, модель зрительного представления предполагает пространственное расположение объектов, так что визуальный браузер должен зависеть от пространственных характеристик. Рассмотрим основные устройств.
Формирование визуального изображения
Браузеры, способные визуализировать документы XML, легко доступны. Например, это Microsoft Internet Explorer 5 или выше. Он поддерживает как CSS, так и XSL.
Браузеры как и обычный лист бумаги являются субстратами процесса формирования графического изображения. Можно сказать, что оба они представляют собой в основном контейнеры для визуальных объектов форматирования. Простейшей сущностью языков стилей является область. В стандартных языках стилей область представляет собой прямоугольный участок. С учетом этого представления страницей можно назвать область, содержащую другую область. Такие прямоугольные области, содержащие другие прямоугольные области, формируют древовидную структуру. Таким образом, визуальная структура представляет собой дерево объектов форматирования (прямоугольных областей), причем на вершине дерева находится страница, а объекты форматирования более низкого уровня являются ее потомками.
В зависимости от уровня сложности языка стилей предлагаются две основные модели структуры:
- Потоковая структура
- Фиксированная структура
Потоковой называется структура, в которой объекты форматирования располагаются на субстрате (странице или экране) один за другим. Если запись ведется сверху вниз и слева направо, то объекты располагаются точно так же - сверху вниз и слева направо. Например, параграфы текста размещаются вертикально друг под другом, а слова (предложения) - горизонтально. Как правило, объекты форматирования располагаются вертикально или горизонтально. Например, в языке таблицы стилей CSS блоковые объекты располагаются вертикально, как параграфы, а встроенные (inline) объекты - горизонтально, как слова и предложения. Обычно при направлении письма слева направо объекты, располагаемые вертикально, содержат объекты, размещаемые горизонтально.
Фиксированной называется такая структура, в которой объекты форматирования располагаются в указанном месте на странице. В этом случае область, представляющая документ, напоминает декартово пространство, в котором все места могут быть уникально идентифицированы с помощью координат локализации. Например, язык стилей CSS позволяет располагать определенные объекты форматирования в указанном положении, причем свойства left и top означают относительное расстояние от левого и верхнего края границ контейнера. Если контейнер представляет собой документ, то фиксированное положение объекта определяется относительно левой и верхней границ документа. Если контейнер - это область, то фиксированное положение объекта определяется относительно левой и верхней границ области.
Формирование звукового представления
В принципе звуковая модель напоминает модель музыки. Звуки в ней организованы последовательно и имеют определенную продолжительность во времени. Но в отличие от музыки звуки являются более сложными, поскольку каждый звук в данном случае - это произносимое слово. Поэтому атомарной единицей звукового браузера является речь, означающая разговор, состоящий из последовательностей слов, разделенных тишиной. Характеристиками речи являются ее тон, высота звука, ритм и т.д.
Как ассоциировать таблицу стилей с документом XML
Документы XML ассоциируются с таблицами стилей с помощью команд обработки. Этот специальный тип элемента указывает браузеру или обработчику стилей:
- Где найти таблицу стилей
- На каком языке написана таблица стилей
- Для какой среды предназначена таблица стилей
- Заголовок, отображаемый в меню, если предлагается несколько альтернативных таблиц стилей
- Имеются ли альтернативные таблицы стилей
Например: <?xml-stylesheet href = "myStyleSheet.css" type = "text/сss" title = "CSS style" media = "screen" ?>
Элементом, связывающим документ XML с таблицей стилей, является команда обработки xml-stylesheet.
У команды обработки имеются атрибуты: