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>