Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4_XML_-_lektsii.doc
Скачиваний:
11
Добавлен:
25.08.2019
Размер:
221.7 Кб
Скачать

Синтаксис языка xml

Общие положения

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

Рассмотрим пример XML документа.

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

<note>

<to>Сергей</to>

<from>Наталья</from>

<heading>Напоминание</heading>

<body>Не забудь принести конспект!</body>

</note>

Первая строка в документе является строкой объявления типа документа. В первой строке указывается версия XML и кодировка, которая используется в документе. В нашем случае документ соответствует версии 1.0 спецификации XML, и использует кодировку Windows-1251 (кириллица).

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

Следующая строка определяет корневой элемент документа. Это все равно, что сказать: «этот документ — записка (note)».

  • <note>

Последующие 4 строки описывают 4 элемента записки (note):

  • <to>Сергей</to> - кому

  • <from>Наталья</from> - от кого

  • <heading>Напоминание</heading> - заголовок

  • <body>Не забудь принести конспект!</body> - содержание (тело документа).

Последняя строка указывает на завершение корневого элемента:

  • </note>

Все элементы XML должны иметь закрывающий тег:

  • <p>1-й параграф</p>

  • <p>2-й параграф</p>

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

Следует обратить особое внимание на тот факт, что XML теги чувствительны к регистру. В XML документе тег <Letter> это не то же самое, что тег <letter>. Открывающий и закрывающий теги должны быть написаны одинаково с учетом регистра, например:

  • <Message>Это неправильно!</message>

  • <message> Это правильно</message>

В XML документе все элементы обязательно должны быть строго вложенными:

  • <b><i>Этот текст печатается жирным курсивом</i></b>

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

  • <note>

  • --------

  • --------

  • --------

  • </note>

Все остальные элементы должны быть потомками корневого элемента, т.е. представлять дочерние элементы.

Любой элемент может иметь свой дочерний элемент. Дочерние элементы должны быть строго вложены в родительский элемент:

<root>

<child>

<subchild>………</subchild>

</child>

</root>

В рассмотренном примере: root - это корень, child - потомок, а subchild потомок потомка.

Значения атрибутов должны быть заключены в кавычки, например:

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

<note date="12/11/2008" >

<to>Сергей</to>

<from>Наталья</from>

</note>

XML элементы могут иметь атрибуты, которые следуют парой друг за другом: “название атрибута / значение атрибута”, например:

<note date="12/11/2008" time=”12:00” >

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

В XML, команды CR/LF (перевода строки и возврата каретки) преобразуется в LF. Новая строка всегда обозначается как LF.

В Windows приложениях новая строка обычно записывается как пара специальных символов: возврат каретки (CRcarriage return) и перевод строки (LFline feed). Эта пара спецсимволов подобна действиям при печати на печатной машинке, в случае, когда вы переходите на следующую строку. В Unix приложениях новая строка обычно обозначается только символом LF.

Коментарии

Синтаксис для записи комментариев в XML аналогичен синтаксису, принятому в HTML, например:

<!-- Это комментарий -->

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