Определение
XML (eXtensible Markup Language) — расширяемый язык разметки, разработанный консорциумом W3C для представления информационных ресурсов Web нового поколения. Язык определяется стандартом консорциума. Cейчас действует версия XML 1.0 (вторая редакция), принятая в октябре 2000 года.
Аббревиатуру XML часто используют для обозначения не только самого языка, но и других связанных с ним понятий — определяющего язык стандарта W3C, информационных ресурсов XML, комплекса основанных на этом языке стандартов, называемого далее платформой XML. При отсутствии контекста это приводит к двусмысленности интерпретации обозначаемых таким «усеченным» образом понятий, а иногда и к подмене предмета обсуждения.
Для чего потребовался новый язык разметки?
При создании Web был разработан язык гипертекстовой разметки HTML, являющийся порождением известного метаязыка SGML. В соответствии с синтаксисом SGML был определен набор тегов разметки, совокупность которых и составила язык HTML. Простота языка, его способность служить интегратором текстовых и мультимедийных данных, легкость подготовки и публикации информации, — все это способствовало быстрому росту представленных в Web информационных ресурсов.
Вместе с тем ряд ограничений языка стал сдерживать его развитие. HTML — закрытый язык, пользователь не может добавлять в него свои теги. Расширение функциональности языка может быть осуществлено только в соответствии с длительной процедурой обсуждения и принятия новой версии стандарта в консорциуме W3C. HTML обеспечивает только форматную разметку Web-страниц, определяющую, каким образом они должны представляться на экране монитора или печататься на принтере. Однако он не предназначен для разметки содержания Web-страниц, выделения их структурных элементов, которые можно было бы использовать, например, при поиске в Web. Наконец, одна из самых существенных слабостей HTML заключается в том, что он обладает весьма скромными средствами описания содержимого Web-страниц.
Язык XML
Создание языка XML позволило преодолеть перечисленные ограничения. Пользователи получили возможность самостоятельно определять и применять нужные совокупности тегов разметки. Языки платформы XML обеспечивают разметку не только формата, но и содержания публикуемых в Web документов, предоставляя средства описания содержимого документов и некоторых их свойств.
С синтаксической точки зрения язык XML представляет собой подмножество метаязыка SGML, допускающее сравнительно простую реализацию. XML — это набор небольшого количества операторов, главное назначение которых заключается в определении типов компонентов, составляющих содержимое размечаемых единиц информации (XML-документов), и допустимой их структуры. Такие компоненты называются элементами XML-документа. Они могут иметь свое содержимое и включать в себя параметры, называемые атрибутами элемента. Содержимое элемента может быть пустым, может быть некоторым значением или содержать экземпляры элементов других типов. Атрибуты элемента имеют скалярное значение, они могут быть обязательными или факультативными. Каждый определяемый тип элементов документов идентифицируется именем, которое явно включается в экземпляры элементов этого типа и указывает их границы в содержимом документа. Поэтому имя типа элементов служит тегом разметки. Таким образом, XML служит языком описания данных для XML-документов.
Предостережем читателя. Упоминаемое в названии языка свойство расширяемости не относится к самому языку XML! Пользователи не могут добавить в язык какие-либо синтаксические конструкции. Изменить синтаксис языка может только консорциум W3C, приняв новую версию определяющего его стандарта. Однако консорциум может пополнять функциональные возможности языка, вводя его расширения как самостоятельные стандарты, не изменяя при этом синтаксис самого языка.
Свойство расширяемости относится также к набору тегов разметки, применяемых конкретным пользователем или сообществом пользователей для разметки интересующих их документов. Этот набор может быть расширен самим пользователем путем определения новых тегов.
Платформа XML
Новые средства разметки, предложенные W3C, в отличие от языка HTML, представляют собой модульный комплекс стандартов, имеющих единую синтаксическую основу. Необходимые расширения языка создаются так. С помощью средств языка XML определяется некоторый тип или набор типов элементов XML-документов и принимается соглашение об их функциональности. Такая спецификация проходит установленную процедуру и принимается в качестве стандарта W3C.
По такому принципу функциональность XML расширена стандартами, позволяющими включать в XML-документы гиперссылки (стандарт XLink), идентифицировать фрагменты документов (XPointer), определять форматную разметку документов (XSL), определять их структуру (XML Schema) и семантику (RDF), включать в документ цифровую подпись (XML-Signature), определять запросы (XQuery) и т. д.
Какие метаданные поддерживаются в среде XML?
Стандарты платформы XML позволяют явно представлять и поддерживать метаданные, то есть данные о различных свойствах XML-документов. Благодаря этому обеспечиваются автоматическая проверка правильности структуры XML-документов и снижение уровня «шума» при поиске информационных ресурсов в Web с помощью поисковых машин.
Для описания метаданных используются различные стандарты платформы. Они позволяют описывать допустимую структуру XML-документов и структурные свойства их компонентов (XML DTD — подмножество языка XML, XML Schema, NG Relax), определять содержимое XML-документа средствами простого языка представления знаний типа «объект — свойство — значение» (Resource Definition Framework, RDF), описывать онтологию предметной области (Web Ontology Language, WOL), определяющую понятия и взаимосвязи, в терминах которых описывается содержание документов в стандарте RDF.
Семантический Web
В последние годы начал реализоваться замысел создателей Web, направленный на превращение этой системы в систему семантического уровня. В то время как Web первого поколения строился с ориентацией на обработку содержащейся в нем информации человеком, технологии Web нового поколения должны обеспечивать автоматизированную интерпретацию и обработку информации. Возникает необходимость в средствах формального описания семантики XML-данных.
Где еще применяется язык XML?
Язык XML и базирующаяся на нем технологическая платформа нашли широкое применение в различных областях ИТ главным образом благодаря поддержке языка XML в глобальной коммуникационной среде Web и возможности использования его как языка-посредника для обмена сообщениями, обеспечивающего интероперабельность различного рода систем. Применения стандартов платформы XML охватывают также ряд технологий и стандартов как горизонтальной, так и вертикальной сферы, например, XML-ориентированные базы данных. Одной из центральных областей применения стандартов XML стал электронный бизнес.
Михаил Рувимович Когаловский — заведующий лабораторией систем баз данных Института проблем рынка РАН. С ним можно связаться по электронной почте kogalov@cemi.rssi.ru
Информационная архитектура Web нового поколения
-
Источник: презентация Тима Бернерса-Ли Semantic Web on XML. XML 2000, Washington, DC, December 6, 2000."
Глоссарий
Гипертекст — представление текстовых документов на естественном языке, позволяющее устанавливать и поддерживать предопределенные связи между ними и/или отдельными их фрагментами и обеспечивать возможности навигации в такой структуре для перехода от одного ее компонента к другому.
Метаданные — данные, описывающие какие-либо свойства других данных, например их структуру, формат представления, методы доступа и требуемые для этого полномочия пользователей, место хранения, их содержание, источник, владельца и т.д.
Онтология — описание концептуализации предметной области — ее понятий, их взаимосвязей, а также определений их смысла. Степень формализованности онтологии может быть различной — от описания на естественном языке до определения средствами языков логики первого порядка.
Язык разметки — язык, позволяющий создавать самоописываемые текстовые документы с помощью пометок (тегов), определяющих свойства их фрагментов. К этой категории относятся языки SGML, HTML, XML, математический язык разметки TeX и др.
SGML (Standard Generalized Markup Language) — обобщенный язык разметки сложных документов, стандарт ISO (1986). На его основе созданы различные системы управления документами, а также браузеры для просмотра размеченных документов. SGML — метаязык, на базе которого можно строить разнообразные языки разметки.