Даже сейчас, когда XML прошел достаточно долгий путь своего развития, и широко применяется во многих областях, он остается таинственным инструментом, назначение которого не всегда понятно. С одной стороны, он действительно может быть очень удобным средством для описания, хранения и преставления информации, но, с другой стороны, есть даже некоторая эйфория от его возможностей, которая вызывает стремление использовать его там, где существуют другие удобные инструменты (например, иногда пытаются с помощью его заменить реляционные базы данных). Что скрывается за этими таинственными буквами? XML — это аббревеатура от eXtensible Markup Language (расширяемый язык разметки). Его главной задачей является представление структурированных данных в виде текстового файла, оставляя его понятным как для человека, так и для программ, которые его будут обрабатывать. Однако есть и другая задача, для которой широко используется XML, и именно благодаря ей он так широко известен. Благодаря его стандартизации и гибкости, на основе этого языка создают и другие языки разметки, которые часто называют подмножествами языка XML. Иными словами, XML предоставляет стандарт, на основе которого вы можете создать свой собственный язык разметки, удовлетворяющий именно вашим требованиям. Примером такого языка может служить широко известный язык разметки HTML. Конечно сам HTML, строго говоря, нельзя считать подмножеством XML, так как он не удовлетворяет многим его требованиям, но правильно оформленный HTML документ часто будет не отличим от документа XML:
<html> <body> <p>Правильно оформленный HTML-документ <b>не отличим</b> от документа XML </p> </body> </html>
Приведенный пример удовлетворяет требованиям как XML-документа, так и HTML, но на практике в HTML-документах можно встретить много того, что в XML-документе будет ошибкой: пропуск закрывающих тегов, отсутствие кавычек при описании атрибутов тегов, нарушение вложенности элементов и так далее. Часто эти ошибки противоречат даже спецификациям HTML, но браузеры, так или иначе, пытаются обрабатывать такие ошибки верстки, отставляя их незамеченными для верстальщика. Тем не менее предполагается, что версия HTML 4.1 будет последней версией HTML, и следующим страндартом станет xHTML 1.0, который будет строго следовать правилам языка XML, и который уже с полным правом можно будет назвать подмножеством языка XML. Принимая во внимание вышесказанное, можно сказать, что если вы хорошо представляете себе правильную HTML-верстку, то переход на стандарты XML не вызовет у вас особых трудностей.
XML очень похож на HTML
Языки разметки, которые являются подмножествами XML, используются во многих новых технологиях, так или иначе связанных с интернетом. Например, помимо xHTML, существует такой язык, как WML, использующийся для создания wap-сайтов, который сразу учитывает многие особенности мобильных устройств с ограниченными ресурсами. Технология rss, предназначенная для обмена новостями между сайтами или краткого их просмотра (не вы ходите на новостные сайты, а они сообщают вам, что о них нового), также основывается на языке разметки, являющимся подмножеством XML. Иногда XML используется для обмена данными между клиентскими и серверными приложениями — например, в протоколе сервера обмена сообщениями jabber, что позволяет программистам использовать большое количество разработанных библиотек и инструментов для XML, что ускоряет и облегчает работу с этим сервером. XML широко используется в системах электронного бизнеса, разрабатываемых не без участия Microsoft (BizTalk), что и обеспечило широкую известность XML. В настоящее время в рамках этого проекта уже накоплено большое количество схем XML, описывающих языки для различных сфер бизне