Если речь идет о способах отображения информации, хранящейся в XML, то необходимо упомянуть разрабатываемый в настоящее время W3C стандарт стилевых таблиц для XML, которые предназначены для описания правил отображения элементов XML.
XSL является технологией, описывающей как форматировать или трансформировать данные XML документа. Документ трансформируется в формат, подходящий для отображения в браузере. Процесс аналогичен применению CSS к HTML документу для отображения. Браузер это наиболее частое использование XSL, но не стоит забывать, что с помощью XSL можно трансформировать XML в любой формат, например VRML, PDF, текст.
Без использования CSS или XSL, XML-документ отображается как простой текст в большинстве web-браузеров. Некоторые браузеры, такие как Internet Explorer, Mozilla и Mozilla Firefox отображают структуру документа в виде дерева, позволяя сворачивать и разворачивать узлы с помощью нажатий клавиши мыши.
Для применения CSS при отображении в браузере, XML документ должен содержать специальную ссылку на таблицу стилей. Например:
<?xml-stylesheet type="text/css" href="myStyleSheet.css"?>
Это отличается от подхода HTML, где используется элемент <link>.
Для задания XSL трансформации (XSLT) на стороне клиента требуется наличие следующей инструкции в XML:
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>
Для вывода элементов XML- документа на экран браузера предпочтительней использование специально предназначенного для этого средства - стилевых таблиц XSL (Extensible Stylesheet Language).
Стилевыми таблицами (стилевыми листами) принято называть специальные инструкции, управляющие процессом отображения элемента в окне программы-клиента (например, в окне браузера). Предложенные в качестве рекомендация W3C, каскадные стилевые таблицы (CSS- Cascading Style Sheets) используются Web- разработчиками для оформления Web- страниц. Поддержка CSS наиболее известными на сегодняшний день браузерами Netscape Navigator (начиная с версии 4.0) и Microsoft Explorer (начиная с версии 3.0), позволила использовать стилевые таблицы для решения самого широкого спектра задач - от оформления домашней странички до создания крупного корпоративного Web-узла. Слово каскадные в определении CSS означает возможность объединения отдельных элементов форматирования путем вложенных описаний стиля. Например, атрибуты текста, заданные в тэге <body>, будут распространяться на вложенные тэги до тех пор, пока в них не встретятся стилевые описания, отменяющие или дополняющие текущие параметры. Таким образом, использование таблиц CSS в HTML было весьма эффективно - отпадала необходимость явного задания тэгов форматирования для каждого из элементов документа.
Являясь очень мощным средством оформления HTML- страниц, CSS- таблицы, тем не менее, не могут применяться в XML-документах, т.к. набор тэгов в этом языке не ограничен и использование статических ссылок на форматируемые объекты документа в этом случае невозможно.
Поэтому для форматирования XML- элементов был разработан новый язык разметки, являющийся подмножеством XML, и специально был предназначен для форматирования XML- элементов.
Некоторые его отличия от CSS:
Во-первых, стилевые таблицы XSL позволяют определять оформление элемента в зависимости от его месторасположения внутри документа, т.е. к двум элементам с одинаковым названием могут применяться различные правила форматирования.
Во-вторых, языком, лежащем в основе XSL, является XML, а это означает, что XSL более гибок, универсален и у разработчиков появляется возможность использования средства для контроля за корректностью составления таких стилевых списков (используя DTD или схемы данных)
В-третьих, таблицы XSL не являются каскадными, подобно CSS, т.к. чрезвычайно сложно обеспечить "каскадируемость" стилевых описаний, или, другими словами, возможность объединения отдельных элементов форматирования путем вложенных описаний стиля, в ситуации, когда структура выходного документа заранее неизвестна и он создается в процессе самого разбора. Однако в XSL существует возможность задавать правила для стилей, при помощи которых можно изменять свойства стилевого оформления, что позволяет использовать довольно сложные приемы форматирования
В настоящий момент язык XSL находится на стадии разработки в W3C и в будущем, видимо, станет частью стандарта XML. Это означает, что использование этого механизма является наиболее перспективным способом оформления XML- документов. В текущем рабочем варианте W3C, XSL рассматривается не только как язык разметки, определяющий стилевые таблицы - в него заложены средства, необходимые для выполнения действий по фильтрации информации, выводимой в окно клиента, поиска элементов, сложного поиска, основанного на зависимостях между элементами и т.д. На сегодняшний день единственным браузером, поддерживающим некоторые из этих возможностей, является бета-версия Internet Explorer 5.0, однако в самом ближайшем будущем, безусловно, XSL будет использоваться также широко, как сегодня стандартные тэги HTML.
Так как XML является достаточно абстрактным языком, были разработаны словари XML. Словарь позволяет разработчикам договориться о некотором конечном наборе имен тегов и атрибутов этих тегов. Одним из первых словарей появился XHTML, который понимают большинство браузеров. XHTML часто используют для хранения и редактирования контента в CMS.
Были созданы более специализированные словари, например протокол передачи данных SOAP, который не является человеко-ориентированным и достаточно трудно читаем. Есть коммерческие словари, такие как xCBL и cXML которые используются для передачи данных, ориентированных на торговую деятельность, эти словари включают в себя описание системы заказов, поставщиков, продуктов и прочее. Обычно, описывая какой-либо документ, человек для себя придумывает некоторый словарь, который потом описывается посредством DTD или просто объясняется «на пальцах» заинтересованным лицам.
Одним из интересных словарей, получивших широкое распространение, является FB2 — словарь, описывающий формат книги, со всевозможными сносками, цитатами и даже картинками.
<?xml version="1.0"?>
<journal>
<title>Very Useful Journal</title>
<contacts>
<address>sdsds</address>
<tel>8-3232-121212</tel>
<tel>8-3232-121212</tel>
<email>j@j.ru</email>
<url>www.j.ru</url>
</contacts>
<issues-list>
<issue index="2">
<title>XML today</title>
<date>12.09.98</date>
<about>XML</about>
<home-url>www.j.ru/issues/</home-url>
<articles>
<article ID="3">
<title>Issue overview</title>
<url>/article1</url>
<hotkeys>
<hotkey>language</hotkey>
<hotkey>marckup</hotkey>
<hotkey>hypertext</hotkey>
</hotkeys>
<article-finished/>
</article>
<article>
<title>Latest reviews</title>
<url>/article2</url>
<author ID="3"/>
<hotkeys>
<hotkey/>
</hotkeys>
</article>
<article ID="4">
<title/>
<url/>
<hotkeys/>
</article>
</articles>
</issue>
</issues-list>
<authors-list>
<author ID="1">
<firstname>Ivan</firstname>
<lastname>Petrov</lastname>
<email>vanya@r.ru</email>
</author>
<author ID="3">
<firstname>Petr</firstname>
<lastname>Ivanov</lastname>
<email>petr@r.ru</email>
</author>
<author ID="4">
<firstname>Sidor</firstname>
<lastname>Sidorov</lastname>
<email>sidor@r.ru</email>
</author>
</authors-list>
</journal>
<?xml version="1.0"?>
<!ENTITY idattr 'id ID #IMPLIED'>
<!ENTITY opt 'title?,date,about'>
<!ENTITY cont 'tel*,url*,email*'>
<!ELEMENT title (PCDATA)>
<!ELEMENT firstname (PCDATA)>
<!ELEMENT lastname (PCDATA)>
<!ELEMENT email (PCDATA)>
<!ELEMENT url (PCDATA)>
<!ELEMENT tel (PCDATA)>
<!ELEMENT address (PCDATA)>
<!ELEMENT fax (PCDATA)>
<!ELEMENT date (PCDATA)>
<!ELEMENT home-url (PCDATA)>
<!ELEMENT article-url (PCDATA)>
<!ELEMENT hotkey (PCDATA)>
<!ELEMENT article-finished EMPTY>
<!ELEMENT contents ANY>
<!ELEMENT hotkeys (PCDATA| hotkey)>
<!ELEMENT author (PCDATA| firstname?|lastname?|cont)>
<!ATTLIST author
id ID #REQUIRED>
<!ELEMENT authors (PCDATA| author*)>
<!ELEMENT article (opt,author,article-url,hotkeys*,contents*,article-finished)>
<!ATTLIST article
id ID #REQUIRED>
<!ELEMENT articles (article)>
<!ELEMENT issue (opt,home-url?,articles*)>
<!ATTLIST issue
id ID #REQUIRED
index CDATA #REQUIRED>
<!ELEMENT issues-list (PCDATA| issue*)*>
<!ELEMENT contacts (address, cont)>
<!ELEMENT journal (title?,contacts?,isues-list,authors-list)>
<!ATTLIST journal
id ID #REQUIRED
src CDATA #IMPLIED>
XML-лихорадка затронула многие области современных информационных систем. Наиболее активно развиваются следующие направления XML-эволюции: системы управления контентом; информационные серверы и базы данных; инструментарий для проектирования и создания сайтов; публичные форматы обмена финансовой информацией; системы управления порталами; системы управления торговыми площадками.