Стили и их применение в XML


Подобно любому хорошему языку разметки, XML предназначен для обеспечения информации о структуре и содержании документа или множества документов. Однако XML не затрагивает такие вопросы, как стиль документа и его представление при взаимодействии с пакетом программ, используемых для синтаксического анализа и обработки. Для оказания помощи этим приложениям создатели XML учли некоторые тяжелые уроки, полученные в процессе разработки HTML, и с самого начала разработали поддержку таблицы стилей, в качестве части общей XML-стратегии. Разметка осуществляет управление содержанием и структурой, в то время как тесно связанные с ними таблицы стилей управляют представлением содержания и структуры для пользователей.

Концепция стилей не нова, хотя внедрение таблиц стилей в мир HTML было весьма трудным. Различные браузеры управляли таблицами каскадных стилей по-разному. Чтобы получить общее представление о реализациях таблиц стилей в разных Web-браузерах, посетите сайт webreview.com/wr/pub/guides/style/mastergrid.html. Поскольку синтаксический анализ XML-документа может быть выполнен любым приложением, которое "умеет читать" DTD, либо любым приложением, которое умеет читать правильный (well-formed) документ без DTD, в том что касается отображения документа, разработчики не могут положиться на приложение в той же мере, как это могли делать разработчики HTML. В конечном счете, как показывают различия в диалектах HTML для разных браузеров, это хорошо. Широко известив трудности разработчиков HTML, вызванные несовместимостью браузеров.

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

Доводы в пользу таблицы стилей

Итак, зачем нужны таблицы стилей, если XML сам по себе позволяет встроить в любую страницу необходимые инструментальные средства для представления информации? Наш ответ на данный вопрос состоит из трех частей:

Одна таблица стилей — неограниченное множество документов

Информация о стиле может храниться либо внутри документа, либо вне его. Внутренние правила стиля — это такие правила, которые перечислены только в том документе, к которому они относятся — их применение ограничено тем документом, в котором они находятся. Внешние правила стилей - такие правила, которые размещены в документе, содержащем лишь информацию о стиле, и который является внешним по отношению к любому другому XML-документу, — и они применимы к любому документу, с которым связан данный документ, содержащий информацию о стиле. Поэтому, теоретически, единая таблица стилей может быть подключена к сотням документов коллекции, определяя их стиль. Поскольку вся коллекция документов основана на одной таблице стилей, можно менять стиль всей коллекции документов, просто изменив единственную таблицу стилей. Как только будет произведено изменение в таблице стилей, изменятся также правила стилей тех документов, которые связаны с этой таблицей.

Отделение стиля от разметки повышает эффективность, последовательность и управляемость

Допустим, вы написали DTD, в котором представлены восемь различных атрибутов, относящихся к представлению данных, и пять — для каждого заголовка. Несмотря на то, что данное DTD несомненно реализует преимущества расширяемости XML, вам придется устанавливать все атрибуты для каждого абзаца и заголовка для каждого случая, когда он появляется в документе или коллекции документов. Однако ваши абзацы и заголовки, вероятно разделятся на несколько групп или классов, на основе схожести установок их атрибутов. Добавив таблицу стилей, которая определяет установки атрибутов для каждого класса абзацев или заголовков, вы не должны будете устанавливать значения этих атрибутов по отдельности. Вам лишь потребуется классифицировать абзацы и заголовки, остальное сделает таблица стилей.

Возможность связывать множество документов с единой таблицей стилей обеспечивает механизм, гарантирующий соблюдение единого стиля и внешнего представления всей коллекции документов. Поскольку Internet, intranet и extranet стали основной средой для распространения документов, соблюдение единства стилей и внешнего представления является необходимым. Разработчики документов могут при помощи стилей создавать эффект узнаваемости документов. Например, компании, которые потратили годы на создание имиджа, разрабатывая логотипы и лозунги, могут использовать все эти элементы в оформлении содержания документов. Стили также можно применять для представления нетекстового содержания, а также для выделения текстовых фрагментов в документе. Это обогащает процесс взаимодействия пользователя с документом и делает его более интересным. Без простого, стандартного механизма нетекстового оформления документов, разработчики не смогли бы создавать совершенные стили. Таблицы стилей позволяют одновременно устанавливать стили для большого числа документов.

Разработка XML-документов является лишь началом долгого пролога к обслуживанию и уходу за коллекцией документов. Новая информация генерируется постоянно, и если созданы цельные DTD и соответствующие таблицы стилей, то процесс наращивания информации в коллекции будет весьма простым. Стили и внешнее представление также подвержены изменениям, и информация стилей, встроенная в разметку, должна изменяться от страницы к странице. Однако информация о стиле, отделенная от разметки и хранящаяся в таблицах стилей, может быть изменена для всей коллекции документов простым изменением таблицы стилей. Это эффективный метод, гарантирующий единство представления документа, облегчающий управление коллекцией документов.

Один документ — много стилей

Очень редко однажды созданный документ не требуется со временем представить в совершенно в ином свете для новой сферы приложения. Документы становятся пунктами списка. Пункты списка становятся вариантом представления данных. Эти варианты становится планами, планы — новыми документами. К тому же, один и тот же документ бывает необходимо представить совершенно в различных средах — таких как Web-страницы, печатные страницы, текст, представленный в азбуке Брейля, текст, читаемый компьютером для людей с поврежденным зрением. Используются частные и общие версии документов, наряду с этим некоторые фрагменты документов доступны лишь тем, кто имеет соответствующие права доступа.

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

Можно продолжать рассказ о том, почему таблицы стилей являются полезными. Об этом можно написать даже целую книгу. Однако, если вы потратили некоторое время на разработку содержания, предназначенного для распространения, вы почти сразу же поймете, почему таблицы стилей являются необходимым инструментальным средством.

Работа со стилями XML

В настоящее время разработчикам доступны три инструмента для работы с таблицами стилей:

CSS1, CSS2 и DSSSL— существующие стандарты, в то время как и XSL находятся в стадии разработки консорциумом W3C и другими группами.

<< назад | содержание | вперед >>

Hosted by uCoz