XML (англ. eXtensible markup language – «расширяемый язык разметки») – один из стандартных языков разметки.
Рекомендован Консорциумом Всемирной паутины (W3C). Так же, как HTML, XML был разработан на основе SGML и является его разновидностью (подмножеством). Слово «расширяемый» подразумевает, что задачей языка является не строгая фиксация разметки с помощью тегов (как в HTML), а возможность создания разметки самим разработчиком.
У XML есть ряд преимуществ:
Эти преимущества привели к широкой популярности языка XML и его широкому использованию в разных программных проектах.
Разработчик получил возможность создавать с помощью XML новые элементы по собственному усмотрению. Таким образом, более точно можно представлять фрагменты данных.
Например, если в HTML верстальщик может разделить текст только на абзацы (цитаты тоже, по сути, являются абзацами) и заголовки, то в XML можно выделять любые части документа.
Для того чтобы не возникло путаницы и хаотического нагромождения разметки, разработчику достаточно определить перечень собственных элементов в Описании типа документа (Document Type Definition - DTD) или схеме, а в дальнейшем придерживаться этого списка. Стандарт не запрещает экспериментировать с именами элементов при создании файлов.
Сегодня XML достаточно широко используется в веб-технологиях. Он особенно полезен, когда происходит не просто обмен данными (документами), а когда данные невозможно вписать в обычную модель документа. Таким примером является лента новостей формата RSS, поскольку она представляет собой поток однотипных мини-документов, а не единый документ в привычном понимании.
Напротив, если документ имеет очень простую структуру, то применение XML будет в таком случае избыточным и затратным. Поэтому в таких случаях применяются другие технологии.