Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #53, АПРЕЛЬ 2005 г.

Копилка технологий

Степан Ильин aka Step

Спецвыпуск: Хакер, номер #053, стр. 053-084-4


Важно, что XML-документ проходит проверку по нескольким параметрам. Первая – на семантическую правильность (все ли теги закрыты, проверка на запрещенные символы, перекрытие тегов и т.д.). Вторая – на соответствие хранимых данных типу, обозначенному структурой документа. До сих пор мы считали, что хранимые данные могут иметь произвольное значение и любой тип данных. Это не совсем так. Дело в том, что все предыдущие XML-файлы обозначают логическую структуру документа, но при этом не накладывают ограничений на используемые данные и их атрибуты. Такие документы называются формально правильными и, по правде говоря, в последние время стали особенно широко распространенными. В то же время средствами XML вполне можно описать конкретные правила формирования элементов, типы полей и т.д. Тип элемента может задаваться двумя способами: с использованием DTD (Document Type Definition) или более гибкого современного средства - языка схем XSD (XML Schema Definition). DTD - не самое удобное средство. Громоздкие описания данных поначалу игнорировались большинством парсеров, и спецификация не получила широкого распространения. Язык схем XSD в свою очередь с самого начала разрабатывался для замены DTD и поэтому встроен в XML. По сути, создаваемая для какого-либо документа схема сама является XML-документом, так что может быть обработана любым парсером.

Расширения XML

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

Возьмем, к примеру, упомянутый мной XML-документ, содержащий информацию об авторах Спеца. По сути, это текстовая база данных, которую при желании можно преобразовать и представить в удобном для пользователя виде. Реализовать это несложно. Первое, что приходит в голову - обработать XML с помощью парсера, а затем, используя каскадные таблицы стилей (Cascading Style Sheet, CSS), оформить информацию в виде таблицы HTML. Однако это не самое изящное решение. В большинстве случаев предпочтительнее использовать вспомогательное дополнение XML – расширяемый язык стилей XSL (eXtensible Stylesheet Language). Базовой доктриной XSL является то, что для каждого документа разработчик вправе задать правило, определяющее вид его отображений на экране. XSL-процессор обрабатывает данные в формате XML и таблицу стилей в формате XSL, после чего создает отображение данных в соответствии с заданными стилями. Короче говоря, XSL в первую очередь предназначен для визуального представления XML-документов. С ее помощью можно также сортировать данные, производить по ним поиск, удалять или добавлять прямо из браузера. А использование ее подразделения XSLT в значительной мере упрощает и ускоряет процесс преобразования XML-документа в другие форматы.

Для отображения данных XML-документа совсем не обязательно преобразовывать их именно в HTML. В связи с широким и быстрым распространением XML Web-консорциум (www.w3c.org) разработал модификацию HTML. В результате с января 2000 года язык расширенной гипертекстовой разметки XHTML (EXtensible HyperText Markup Language) официально рекомендуется всем разработчикам для оформления web-документов. Во многом он практически идентичен своему предшественнику (то есть перейти на него совсем несложно), но в тоже время более практичен и функционален. Приоритетные направления – изящное взаимодействие с XML и более жесткие правила по отношению к синтаксису (вспоминаем требования XML).

Назад на стр. 053-084-3  Содержание  Вперед на стр. 053-084-5