XML

XML (англ. eXtensible Markup Language — расширяемый язык разметки; произносится [экс-эм-эл]) — рекомендованный Консорциумом Всемирной паутины (W3C) язык разметки. Спецификация XML описывает XML-документы и частично описывает поведение XML-процессоров (программ, читающих XML-документы и обеспечивающих доступ к их содержимому). XML разрабатывался как язык с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком, с подчёркиванием нацеленности на использование в Интернете. Язык называется расширяемым, поскольку он не фиксирует разметку, используемую в документах: разработчик волен создать разметку в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка. Сочетание простого формального синтаксиса, удобства для человека, расширяемости, а также базирование на кодировках Юникод для представления содержания документов привело к широкому использованию как собственно XML, так и множества производных специализированных языков на базе XML в самых разнообразных программных средствах.

XML является подмножеством SGML. В принципе, XML является базой данных с древовидной структурой. Реляционная модель данных в этой структуре не поддерживается. В связи с этим, использование XML как базы данных полезно, но только с человеком-оператором.

Пример XML документа:

<?xml version="1.0"?>
<journal>
<title>Very Useful Journal</title>
<contacts>
<address>sdsds</address>
<tel>8-3232-121212</tel>
<email>j@j.ru</email>
<url>www.j.ru</url>
</contacts>
<issues-list> <issue index="2"> <title>XML today</title> <date>12.09.98</date> <about>XML</about> <home-url>www.j.ru/issues/</home-url> <articles> <article ID="3"> <title>Issue overview</title> <url>/article1</url> <hotkeys> <hotkey>language</hotkey> <hotkey>marckup</hotkey> <hotkey>hypertext</hotkey> </hotkeys> </article> <article> <title>Latest reviews</title> <url>/article2</url> <author ID="3"/> <hotkeys>
</hotkeys> </article>
</articles>
</issue>
</issues-list>
<authors-list> <author ID="1"> <firstname>Ivan</firstname> <lastname>Petrov</lastname> <email>vanya@r.ru</email> </author> <author ID="3"> <firstname>Petr</firstname> <lastname>Ivanov</lastname> <email>petr@r.ru</email> </author> </authors-list>
</journal>