Визуализация документа XML может осуществляться на сервере или у клиента. Если браузер клиента - это браузер XML, то перед сервером HTTP стоит очень простая задача: ассоциировать с документом правильную таблицу стилей (документ может уже содержать ее) и отправить ее в браузер. Если же браузер клиента не является браузером XML, то перед отправкой документ нужно трансформировать в отображаемый формат. Трансформация может осуществляться на сервере или у клиента.

 

 

Определение оптимального подхода к визуализации/преобразованию для каждого целевого носителя

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

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

После того как вы определили целевые носители и форматы, необходимые целевым приложениям, необходимо выбрать правильную технологию для выполнения преобразования: XSLT выполняет преобразование данных, а XSL-FO - форматирование документа. Для форматирования XML-документа также можно использовать CSS (если достаточно выводить только размеченный текст).

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

С другой стороны, если разным клиентам нужны различные элементы одних и тех же данных и необходима значительная обработка, более уместным может быть использование XSLT вместо CSS. Если для преобразования в необходимый формат вы используете XSL-FO, вам понадобится процессор XSL-FO.

 

Использование XSLT и объектов форматирования для изменения вида документов XML

Важно понимать тонкие различия между XSLT и XSL-FO. Расширяемый язык таблицы стилей (XSL) - это язык, который используется для создания таблиц стилей, определяющих семантику отображения документов XML. XSL состоит из трех перечисленных ниже частей:

  • XSL Transformations (XSLT)
  • XML Path Language (XPath)
  • XSL Formatting Objects (XSL-FO)

XPath определяет способ адресации частей документов XML и используется в XSLT. XSLT используется для преобразования документов XML в другие документы XML или иные форматы (например, HTML или текст). Несмотря на то, что XSLT изначально предназначался для визуализации, сегодня он в основном используется для обработки документов XML и для создания из них HTML-страниц. Однако во многих реальных приложениях требуется визуализация информации XML в XSL-FO, который используется для указания семантики форматирования и расширенного управления стилями, недоступных в XSLT.

Поэтому, чтобы использовать эти технологии XSL для визуализации документов XML, вы должны хорошо знать и XSLT, и XSL-FO.

 

Повторное использование XML для различных форматов

Преимущество XML состоит в том, что вы можете выводить одно и то же содержимое на различные носители, использующие различные форматы.

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

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

Также важно помнить, что возможности преобразования XML не ограничиваются визуализацией на бумаге или на экране. С помощью XML вы можете вывести данные в другие медиа-форматы, используемые теми или иными внешними приложениями (например, в голосовой поток).

Хотя XML можно преобразовать в различные форматы, вам необходимо решить, какую технологию выбрать (CSS или XSL-FO), а затем определить библиотеки, которые могут понадобиться для преобразования в формат устройства-получателя. Например, если вы желаете вывести XHTML в браузере, вам, вероятнее всего, нужно использовать CSS, поскольку поддержка CSS реализована в большинстве существующих браузеров, тогда как XSL-FO поддерживают лишь немногие.

 

Использование существующих CSS для форматирования XML или XHTML

Для форматирования XML или XHTML можно использовать CSS. В действительности CSS является Основные моменты, касающиеся CSS:

  • CSS поддерживают больше браузеров, чем XSL-FO.
  • Технология CSS не основана на XML и потому не является расширяемой.
  • Для обработки содержимого CSS требуется отдельный парсер.
  • CSS очень просты; XSL-FO устроен сложнее.
  • С помощью XSL-FO можно реализовать элементы, отсутствующие в CSS, например, вывод текста справа налево или сноски.

 

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

XML позволяет (с помощью XSLT) применять различные преобразования к одному источнику отображаемых данных и затем применять (с помощью XSL-FO) необходимые для отображения этих данных средства форматирования. Кроме того, существует возможность форматирования документов XML с помощью CSS. Большинство существующих браузеров поддерживают CSS.

eTXT