Принципы XML и XHTML

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

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

Основы XML

XML является простым и четким языком, предназначенным по своей сути для разметки данных, чтобы веб-мастер могли обрабатывать данные отдельно от документов HTML. XML-документы обладают следующими свойствами:

  • они помечают данные четким и структурированным образом в простой манере: <тег>данные</тег>. В отличие от HTML, предлагающего на выбор некоторый набор тегов, в XML вы сами должны создавать теги;
  • они могут содержать произвольные отступы и пустые пространства для повышения удобства чтения, но так, чтобы эти пустые пространства не находились внутри тегов. С помощью этих отступов можно организовать код так, чтобы визуально он легче воспринимался;
  • они сохраняются в виде простых текстовых файлов с расширением .xml;
  • создать их можно как с помощью текстового редактора, так и спомощью редактора с поддержкой XML;
  • они загружаются с Web-сервера в браузер пользователя с помощью протокола передачи гипертекста HTTP, также как и файлы HTML;
  • они являются неотъемлемыми компонентами приложений на базе XML;
  • они требуют определения типа документа (DTD) или схемы XML для описания данных.

Как работает XML

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

<?xml version="1.0"?>
<response value="ok" xml:lang="en">
<pogoda>
<gorod>Москва</gorod>
<strana>Россия</strana>
<temp>+20</temp>
<veter>
<skorost>5</skorost>
<napr>ЮВ</napr>
</veter>
<nebo>Переменная облачность</nebo>
</pogoda>

Мы видим, что используемые теги понятны любому человеку и задают тип данных. Мы сразу понимаем, чем является тот или иной элемент. Кроме того, во фрагменте отсутствуют теги, отвечающие за форматирование или оформление.

XML в качестве агента обмена

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

XML, DTD и схемы

С помощью XML вы можете задать теги, атрибуты и их значения в отдельном документе, называющемся определение типа документа (DTD). По умолчанию в настоящее время браузеры сравнивают документы HTML с определениями типа документ HTML 4.01 или XHTML 1.0. С помощью тега <!doctype> можно заставить браузер использовать другое DTD, например созданное вами XML DTD. В этом случае браузер сможет использовать дополнительные теги и атрибуты, указанные вами в данном DTD.

HTML, XML и XHTML

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