Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Объявление типов элементов

Конструкции языка

 

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

 

Элементы данных

 

Элемент - это структурная единица XML- документа. Заключая слово rose в в тэги <flower> </flower>, мы определяем непустой элемент, называемый <flower>, содержимым которого является rose. В общем случае в качестве содержимого элементов могут выступать как просто какой-то текст, так и другие, вложенные, элементы документа, секции CDATA, инструкции по обработке, комментарии, - т.е. практически любые части XML- документа.

 

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

 

<flower>rose</flower>

<city>Novosibirsk</city>

 

,а эти - нет:

 

<rose>

<flower>

rose

 

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

Например, опишем месторасположение Новосибирских университетов (указываем, что Новосибирский Университет расположен в городе Новосибирске, который, в свою очередь, находится в России), используя для этого вложенность элементов XML:

 

<country id="Russia">

<cities-list>

<city>

<title>Новосибирск</title>

<state>Siberia</state>

<universities-list>

<university id="2">

<title>Новосибирский Государственный Технический Университет</title>

<noprivate/>

<address URL="www.nstu.ru"/>

<description>очень хороший институт</description>

</university>

<university id="2">

<title>Новосибирский Государственный Университет</title>

<noprivate/>

<address URL="www.nsu.ru"/>

<description>тоже не плохой</description>

</university>

</universities-list>

</city>

</cities-list>

</country>

 

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

 

В XML документе, как правило, определяется хотя бы один элемент, называемый корневым и с него программы-анализаторы начинают просмотр документа. В приведенном примере этим элементом является <country>

 

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

Например, прочитав фрагмент <city>Holliwood</city> мы можем догадаться, что речь в этой части документа идет о городе, а вот во фрагменте <restaurant>Holliwood</restaurant> - о забегаловке.

 

Объявление типов элементов

 

В валидном XML-документе вы должны полностью объявить тип каждого элемента, который вы используете в документе, в объявлении типа элемента внутри DTD. Объявление типа элемента указывает на типы элементов, которые содержит документ, порядок следования элементов, а также описание содержимого элементов.

 

 

Объявление типа элемента имеет следующую обобщенную форму:

 

<!ELEMENT Имя опись_содержимого>

 

Здесь Имя есть имя объявляемого типа элемента. Опись одержимого - это описание содержимого, которое определяет, что может содержать элемент.

 

Ниже приведено объявление типа элемента с именем TITLE, для содержимого которого могут использоваться только символьные данные (дочерние элементы не допускаются):

 

<!ELEMENT TITLE (#PCDATA)>

 

А вот объявление для типа элемента с именем GENERAL, содержимое которого может быть любым:

 

<!ELEMENT GENERAL ANY>

 

В качестве последнего примера рассмотрим законченный XML-документ с двумя типами элементов. Объявление типа элемента COLLECTION указывает, что он может содержать один или несколько элементов CD, a объявление типа элемента CD указывает, что он может содержать только символьные данные. Заметим, что документ соответствует этим объявлениям, и, следовательно, является валидным:

 

<?xml version="1.0"?>

<!DOCTYPE COLLECTION

[

<!ELEMENT COLLECTION (CD)+>

<!ELEMENTCD(#PCDATA)>

<!-- Вы также можете включать комментарии в DTD. -->

]

>

<COLLECTION>

<CD>Mozart Violin Concertos 1,2, and 3</CD>

<CD>Telemann Trumpet Concertos</CD>

<CD>Handel Concetti Grossi Op. 3</CD>

</COLLECTION>

 

Вы можете объявить определенный тип элемента в данном документе только один раз.

 



<== предыдущая лекция | следующая лекция ==>
V. Руководство мероприятием | 
Поделиться с друзьями:


Дата добавления: 2017-02-24; Мы поможем в написании ваших работ!; просмотров: 324 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лучшая месть – огромный успех. © Фрэнк Синатра
==> читать все изречения...

2205 - | 2096 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.