Нажмите "Enter", чтобы перейти к содержанию

Xml документы: Язык XML — Описание технологии

Содержание

Что такое XML

Язык XML предназначен для хранения и передачи данных. HTML же предназначен для отображения данных.

Прежде чем продолжить, убедитесь, что вы обладаете базовыми знаниями в HTML. Если вы не знаете что такое HTML, то разобраться в этом вам поможет учебник HTML для начинающих. Итак,

Что такое XML?

  • XML — аббревиатура от англ. eXtensible Markup Language (пер. расширяемый язык разметки).
  • XML – язык разметки, который напоминает HTML.
  • XML предназначен для передачи данных, а не для их отображения.
  • Теги XML не предопределены. Вы должны сами определять нужные теги.
  • XML описан таким образом, чтобы быть самоопределяемым.

Разница между XML и HTML

XML не является заменой HTML. Они предназначены для решения разных задач: XML решает задачу хранения и транспортировки данных, фокусируясь на том, что такое эти самые данные, HTML же решает задачу отображения данных, фокусируясь на том, как эти данные выглядят. Таким образом, HTML заботится об отображении информации, а XML о транспортировке информации.

XML ничего не делает

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

Следующий пример представляет некую заметку от Джени к Тови, сохраненную в формате XML:


<?xml version="1.0" encoding="UTF-8"?>
<note>
   <to>Tove</to>
   <from>Jani</from>
   <heading>Напоминание</heading>
   <body>Не забудь обо мне в эти выходные!</body>
</note>

Приведенная запись вполне самоописательна. Здесь есть информация об отправителе и получателе. Также присутствуют данные заголовка и само сообщение. И при всем при этом этот документ XML не делает ничего. Это просто информация, обернутая в теги. Кто-то должен написать программу, которая будет отсылать, получать и отображать эти данные.

В XML вы изобретаете свои собственные теги

Теги в вышеприведенном примере (например, <to> и <from>) не определяются никакими стандартами XML. Эти теги были «изобретены» автором этого XML документа.

Все потому, что в языке XML нет предопределенных тегов.

Так, в HTML все используемые теги предопределены. HTML документы могут использовать только те теги, которые определяются в стандартах HTML (<p>, <li> и т. д.).

XML позволяет автору определять свои языковые теги и свою структуру документа.

XML – это не замена HTML

XML – это дополнение HTML.

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

XML – это программно- и аппаратно-независимый инструмент для транспортировки информации.

XML – везде

В настоящее время XML также важен для сети, как когда-то был важен HTML для рождения современного Интернета. XML – это общий инструмент передачи данных между всеми видами приложений.

Как используется XML Вверх Учебник XML для начинающих

Устройство XML документа

Устройство XML документа

Цель лабораторной работы:

  1. Познакомиться с языком разметки данных XML.
  2. Изучить правила построения HTML документов

Теоретические сведения

Устройство XML документа

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

Несомненным достоинством XML является и то, что это достаточно простой язык. Основных конструкций в XML мало, но, несмотря на это, с их помощью можно создавать разметку документов практически любой сложности.

Для демонстрации структуры XML документа лучше обратиться к какому нибуть примеру. Рассмотрим следующий XML документ:

Текст текст … элемент> Текст текст текст текст текст… элемент> … корневой_элемент>

Рассмотрим данный пример подробно. Первая строка документа определяет его как XML документ, построенный в соответствии с первой версией языка (

version=»1. 0″). В этой же конструкции можно указать и кодировку, в которой создан документ:

xml version="1.0" encoding="Windows-1251" ?>.

Кодировкой по умолчанию для XML является unicode. Далее находится открывающий тэг корневого (главного) элемента <корневой_элемент>, содержащий элемент <элемент>, который, в свою очередь, содержит элемент <еще_элемент атрибут=»значение» /> с атрибутом атрибут. Как видно из примера, правила записи элементов, атрибутов и их значений в XML ничем не отличаются от правил записи элементов атрибутов и их значений в HTML (также есть открывающие и закрывающие тэги элементов, элементы с содержимым и без и т.д.), только набор элементов несколько расширен, благодаря чему мы и можем «нагрузить» разметку семантикой.

Ниже приводятся несколько правил построения XML документа. Итак:

  • любой XML документ должен начинаться строкой <?xml version=»1.0″ ?>
  • любой XML документ должен иметь единственный (не более, не менее!) корневой элемент; например, в HTML для этих целей использовался элемент <html>, в примере выше — это <корневой_элемент>.
  • кодировкой по умолчанию для символов XML документа является Unicode кодировка UTF-8, поэтому XML файлы должны быть сохранены в соответствующей кодировкой или в 1-й строке документа должна быть задана кодировка документа, например encoding=»Windows-1251″ (при работе только с латиницей это никак себя не проявляет, так как кодировка этих символов в ASCII совпадает с UTF-8).
  • правила записи большинства конструкций языка совпадает с правилами
    XHTML
    , изучавшемся вами ранее (более подробно речь об основных конструкциях языка пойдет далее в уроке).

XML документ представляет собой обыкновенный текстовый файл с расширением .xml. Единственная особенность их заключается в том, что для символов файла рекомендуется использовать кодировку Unicode.

Основные конструкции XML

Помимо элементов, атрибутов и текста, документы могут содержать и другие конструкции, такие как комментарии, инструкции по обработке и секции символьных данных. Эти базовые составляющие используются для того, чтобы чтобы гибко, но в четком соответствии со стандартами, размечать документы любой сложности. Рассмотрим эти конструкции поподробнее.

Элемент

Тэги в XML документе не просто размечают текст — они выделяют объект, называемый элементом. Элементы являются основными структурными единицами XML — именно они иерархически организуют информацию, содержащуюся в документе. Элементы могут быть пустыми, т.е. не содержать ни данных, ни других конструкций, или непустыми — включать в себя текст, другие элементы и т. п.

Пустой элемент имеет следующий вид:

<элемент атрибут="значение" атрибут="значение" ... />

Примерами таких элементов в знакомом HTML являются: <br />, <img src=»images/picture.gif» /> и др.

Непустые элементы имеют вид:

<элемент атрибут="значение" атрибут="значение" ...>         . ..         Содержимое элемента         ... </элемент>

В HTML таких элементов большинство: <body></body>, <p></p> — в этих элементах может располагаться как текст, так и другие элементы (таблицы, рисунки…).

Необходимо помнить об обной очень важной особенности XML: имена в XML — регистро-зависимы, то есть <Sample-element />, <SAMPLE-ELEMENT /> и <sample-element /> — совершенно разные элементы.

Легко заметить, что документ, состоящий из вложенных друг в друга элементов, подобен дереву: родительский элемент является корнем, дочерние элементы — ветками, а если они не содержат ничего более — листьями:

Графически этот пример выглядит следующим образом:

В данном случае <library> является корнем, <book> и </publisher> — ветви, а <title>, <author>, <name> и <homepage> — листья

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

В противном случае не может быть и речи о иерархической структуре документа.

Атрибут

В элементах можно использовать атрибуты с присвоенными им значениями. Атрибут задается следующим образом:

атрибут = "значение"

В отличие от HTML в XML атрибуты всегда должны иметь значение! Значение атрибута заключается в двойные или одинарные кавычки. При необходимости, можно использовать одинарные кавычки внутри двойных и наоборот.

<company name = 'Акционерное Общество "Витязь"' ... /> ... <book author = "О'Генри" ... />

Имена в XML регистро-зависимые. Это относится не только к элементам, но и к атрибутам.

Символьные данные: секция CDATA

Секция CDATA выделяет часть документа, внутри которых текст не должен восприниматься как разметка. CDATA означает буквально «character data» — символьные данные. Вот пример секции CDATA:

<![CDATA[         содержимое ]]>

Внутри секции CDATA могут располагаться любые символы, даже < и & — они не будут восприниматься анализатором как управляющие. Единственная последовательность, которая не должна присутствовать в CDATA, это «]]>» — окончание символьных данных.

Комментарии

XML документ может содержать комментарии, записываемые следующим образом:

<!-- Это комментарий --> ... <!-- комментарии могут охватывать несколько строк -->

Текст комментария может состоять из любых символов, кроме двух «-» подряд («—«).

Задание на лабораторную работу

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

The Apache Software Foundation создала набор ПО, представляющего собой парсеры и другое обеспечение для работы с XML. Одним из таких известных парсеров является Xerces. Он существует в виде отдельного ПО, реализованного на С++ или Java. Чтобы не ограничивать Вас в выборе инструментальной среды и ОС, будем использовать Java реализацию ввиду ее кроссплатформенности и простоты использования.

Замечание. Для запуска Java приложения необходимо, чтобы на компьютере была установлена Java машина от Sun. Желательно с Java SDK.

Проверить действительность My.XML можно командой

java sax.counter my.xml

При необходимости нужно явно указать путь к архивам Xerces ключом

-classpath

java -classpath "PATH\XercesImpl.jar;PATH\XercesSamples.jar" sax.Counter my.xml

(замените PATH на свой путь к местоположению архивов)

Сам Xerces можно скачать отсюда или с официального сайта.

Основы XML — разметка и структура XML документов

В данной статье мы начинаем изучение языка XML и подробно рассмотрим такие моменты, как разметка и структура XML-документа. Данная информация есть базовой в изучении XML, поэтому рекомендую тщательно проработать этот материал, чтобы не оставалось никаких вопросов. От этого зависит ваш успех в будущем и скорость изучения как самого XML, так и XSLT, который мы будем изучать сразу после освоения XML.

Итак, XML (eXtensible Markup Language) – это язык для текстового выражения информации в стандартном виде. Сам по себе он не имеет операторов и не выполняет никаких вычислений. Таким образом, XML – это метаязык, главной задачей которого есть описание новых языков документа.

Чтобы лучше понять суть вышесказанного, давайте перейдем непосредственно к примерам и первым делом рассмотрим разметку XML-документов.

Разметка XML документов

Разметка XML-документа практически ничем не отличается от разметки обычного HTML-документа (Как создать HTML страницу. HTML теги и атрибуты. Работа с текстом, списками и изображениями в HTML). Одним из преимуществ XML являет то, что он позволяет создавать неограниченное количество тегов.  Таким образом, каждый тег имеет свою семантику, то есть несет определенный смысл. Для наглядности давайте рассмотрим XML-документ со списком книг.

<books>
  <book>
    <author>Автор 1</author>
    <name>Название 1</name>
    <price>Цена 1</price>
  </book>
  <book>
    <author>Автор 2</author>
    <name>Название 2</name>
    <price>Цена 2</price>
  </book>
  <book>
    <author>Автор 3</author>
    <name>Название 3</name>
    <price>Цена 3</price>
  </book>
</books>

Как видно с примера выше, все очень банально и просто. При этом XML-документ несет куда более подробную информацию по сравнению с обычным HTML-документом. В нашем примере очень просто понять, что тег <author> отвечает за автора книги, тег <name> — за название, тег <price> — за цену и т.д. Таким образом, каждый тег имеет свой смысл.

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

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

  1. Явным образом выделили в XML-документе структуру, что в свою очередь сделало возможным дальнейшую программную обработку документа, например, при помощи технологии XSLT, которую мы будем изучать чуть позже. При этом одной из главных особенностей является то, что данный документ по прежнему остается понятным обычному человеку.
  2. Отделили данные в XML-документе от того, каким образом они должны быть представлены визуально. Это в свою очередь дало широкие возможности для публикации данных на разных носителях, например, на бумаге или в сети интернет.

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

Одним словом, XML является очень простым языком с небольшим набором основных конструкций, но в то же время он предоставляет неограниченные возможности для описания данных. Таким образом, каждый разработчик как бы сам изобретает свой собственный язык, который ограничивается лишь фантазией самого разработчика.

Структура XML документов

Для того чтобы представить структуру XML документов давайте рассмотрим самый простой пример документа XML.

<?xml version="1.0" encoding="utf-8"?>
<pricelist>
  <book>
    <title>Книга 1</title>
    <author>Автор 1</author>
    <price>Цена 1</price>
  </book>
  <book>
    <title>Книга 2</title>
    <author>Автор 2</author>
    <price>Цена 2</price>
  </book>
  <book>
    <title>Книга 3</title>
    <author>Автор 3</author>
    <price>Цена 3</price>
  </book>
</pricelist>

Итак, мы видим, что данный пример практически ничем не отличается от предыдущего за исключением немного изменившихся тегов и нескольких атрибутов. Главное отличие здесь заключается в первой строчке, которая определяет файл как XML документ, построенный в соответствии с первой версией языка. Более подробно об этом мы поговорим в следующих статьях рубрики «Уроки XML и XSLT».

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

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

На этом все. Удачи вам и успехов в изучении основ XML.