Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы XML-технологий. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
В
этом документе содержится:
– сообщение с заголовком внутри тегов
Сообщение></Сообщение>
и
текстом внутри тегов
– и
мя
тправителя сообщения (Федор) внутри
о
<
– имя адресата сообщения (Петр) внутри тегов Из этих данных можно смело предположить, что в этом
окументе содержится заметка от Федора к Петру. И все вполне
д понятно. Другими словами,
XML
окумент содержит данные с само-
-д
<
Заголовок> </Заголовок>
;
гов
те
<
<
От></От>
Кому></Кому>
;
.
X
ML
-
описанием.
Чтобы закодировать информацию описанным образом, теги
X
в
-д
ML
окументе (например,
<
Кому>
и
<
)
От>
вводятся составителем документа, которые при этом не ограничиваются никакими стандар­тами
окумента.
д
XML
.
Если в
Эти теги были «изобретены» автором этого
окументе можно использовать только те теги,
HTML
-д
которые определяются в стандартах
H
TML
(
<
p>
<
li>
,
и
т. д.), то
XML
X
ML
-
позволяет автору определять свои теги и свою структуру документа, т. е. в языке
нет предопределенных тегов.
X
ML
Пассивность XML-документа. Еще одна важная особенность
-документа заключается в том, что этот документ ничего не
X
ML
делает. Он был создан для структурирования, хранения и передачи информации. Это просто информация, обернутая в теги. Поэтому требуется написать приложения, которые будут отсылать, получать и отображать эти данные.
XML
XML отделяет данные от HTML. В настоящее время
важен для сети, как когда-то был важен
XML
менного Интернета.
– э
то общий инструмент передачи данных
между всеми видами приложений. Если вам в
H
TML
ля рождения совре-
д
H
TML-
окументе необ-
д
та
кже
ходимо отображать динамические данные, то вести этот документ будет слишком затратно, т. к. всякий раз, когда эти данные измени­лись, приходится редактировать
H
документ.
TML-
В стандарте языка
X
файлах
HTML/ CSS
ML
, а для отображения можно воспользоваться языками
и
ли
HTML/XSL
анные можно хранить в отдельных
д
X
ML-
.
При этом вы можете быть уверены, что
31
п
оступающие в каждый раз новые данные не потребуют каких-либо
изменений в коде
H
TML-
окумента.
д
XML упрощает распределение данных. В глобальной сети
компьютерные системы и базы данных используют данные в несо-
ML
вместимых бинарных форматах. Средствами
X
данные создаются и хранятся в простом текстовом формате. Это обеспечивает программную и аппаратную независимость и позволяет легко созда­вать данные, которые могут использоваться самыми разными приложениями.
XML упрощает передачу данных. Одной из самых значимых проблем разработчиков была и остается до сих пор проблема обмена данными между несовместимыми гетерогенными системами. Передача данных в виде
XML
ачительно снижает сложность этой
зн проблемы, так как данные в этом формате могут быть прочитаны в разных несовместимых системах.
XML упрощает модификацию платформы. Переход на новые системы (аппаратные или программные платформы) всегда занимает много времени. Множество данных необходимо конвертировать в новые форматы. При этом часто несовместимые данные теряются.
Хранение данных в текстовом
-формате значительно облег-
X
ML
чает расширение или модернизацию систем, а также переход на новые приложения или браузеры без опасности потерять данные.
Д
2.2
В
ОКУМЕНТ, КАК ЕДИНИЦА ИНФОРМАЦИИ XML
ML
X
нформационную ценность представляют как содержание
и документа, так и его разметка. Разметка позволяет программам определять функции и границы частей документа. Содержание (обычный текст) – это то, что важно для читателя, но оно должно быть представлено осмысленным образом.
X
п
омогает компьюте-
ML
ру форматировать документ так, чтобы он был более понятен не только человеку, но и обрабатывающим его программным средствам.
Слово «документ» вызывает ассоциацию последовательности слов, разбитых на параграфы, разделы и главы, образующие вместе некоторую запись для чтения человеком, например, книгу, статью,
32
оч
ерк. Но в
д
X
ML
окумент представляет собой нечто большее: это основная единица информации, составленная из элементов и разметки в упорядоченном пакете.
Документ может содержать текст, например, рассказ или статью, но этим его возможности не ограничиваются. Он может содержать также базу данных с числами или некую абстрактную структуру, представляющую молекулу или уравнение.
Одним из наиболее перспективных приложений
XML
ляется его
яв использование в качестве формата для обмена данными между при­ложениями. Таким образом, определение документа
XM
м
ожет быть
L
значительно шире нашего традиционного понимания документа.
Документ состоит из частей, называемых элементами. Элементы вкладываются друг в друга, определяя иерархическую структуру и маркируя содержимое документа. На верхнем уровне находится элемент, называемый элементом документа (
document element
или
)
корневым элементом (
ro
ot
el
ement
)
, в котором содержатся все
остальные элементы.
Документ – не то же самое, что файл. Файл – это набор данных, рассматриваемый операционной системой как единое целое, пред­ставленное в памяти в виде физической структуры. Документ
X
ML
определяет данные на логическом уровне и может располагаться в одном или нескольких файлах, причем некоторые из них могут находиться на разных машинах.
В
используется специальная разметка для интеграции
ML
X
содержимого разных файлов в один объект, который можно охарак­теризовать как логическую структуру. Благодаря тому, что документ
XML
не ограничен одним файлом,
по
зволяет создавать документ из
частей, которые могут располагаться где угодно.
А
2.3
НАЛИЗ СТРУКТУРЫ XML-ДОКУМЕНТА
Рассмотрим структуру
XML
-д
окумента
Inventory.xml
,
содержащего сведения о каталоге книг и состоящего из двух основных частей: пролога и элемента «Документ» (его также называют корневым элементом).
33
П
омимо этого, вслед за элементом «Документ» корректно сфор-
мированный
X
окумент может содержать комментарии,
-д
ML
инструкции по обработке, а также пустые строки. В приведенном примере
X
окумента, после основного элемента «Документ»,
-д
ML
содержатся включения, которые вы можете добавлять в каждую из частей.
ПР
2.3.1
Первая строка в
ОЛ ОГ И ВКЛЮЧЕН ИЯ
L-
XM
д
окументе, приведенном на Рис. 2.1, назы­вается прологом. Пролог является необязательным и, как правило, содержит номер версии информацию о кодировке
Кроме этого, он может содержать
.
ML
X
XML-
умента. В данном примере доку-
док
мента пролог состоит из следующих строк:
?xml version="1.0" encoding="UTF-8"?>
< <!-- Имя файла: Inventory.XML--> <?xml-stylesheet type="text/css" “href=Inventory.css”?>
ML
Первая строка представляет собой объявление
XML
на то, что это
-д
окумент, и содержащее номер версии.
(На момент создания курса последняя версия
XML
Объявление
н
е является обязательным, хотя спецификация
требует его включения. Если вы включаете
X
, указывающее
ML
X
имела номер
XM
L
ъявление, оно
-об
.0
1
).
должно находиться в начале документа.
X
Номер версии в
ML
ъявлении в начале пролога документа
-об
может быть заключен как в одинарные, так и в двойные кавычки.
X
Строки в кавычках в
ML
зметке представляют собой константы,
-ра
включаемые непосредственно в текст документа, т.е. литералы.
X
ML-
окументы могут содержать символы в различных междуна-
д родных кодировках. Символьная кодировка определяет уникальный бинарный код для различных символов, используемых в документе.
Юникод – это промышленный стандарт для символьной кодиров-
ки текстового документа и имеет две разновидности:
U
TF-8
и
U
TF-16
:
–
U
использует один байт (8 бит) для представления обще-
TF-8
принятых символов и два (или три) байта для всех остальных симво­лов. Является кодировкой по умолчанию в
QL
S
и
ML
X
и
стандартной кодировкой символов в сети Интернет.
TML-5
H
SS
C
,
avaScript
J
,
HP
P
,
34
,
с. 2.1 Структура XML-файла Inventory.xml
Ри
U
TF-16
–
использует два байта (16 бит) для большинства символов
и три байта для всего остального.
Чтобы не возникало ошибок, необходимо указывать, какая коди-
ML-
X
ровка используется в
TF-8
сальной кодировке
X
д
окументов без информации о кодировке.
ML-
для
U
Кроме этого, большинство систем приложений
с такими кодировками, как
ролог может также содержать одну или несколько инструкций
П
д
окументе, либо сохранять файл в универ-
TF-8
U
.
ISO-8859-1, Windows-1252
вляется кодировкой по умолчанию
я
ML
и
ASCII
X
.
ботает
ра
по обработке. В нашем примере имеются две инструкции по
35
об
работке в прологе, а также инструкция по обработке в разделе,
следующем после элемента «Документ».
ML
X
В данном примере
-об
ъявление включает в себя объявление
документа автономным
(
s
tandalone=’yes’
использоваться в некоторых
ML
X
-документах с целью упростить
Это объявление может
).
обработку документа.
Вторая строка пролога представляет собой комментарий.
Добавление комментариев в
XML
кумент не обязательно, но
-до позволяет сделать его более понятным. Комментарий начинается с символов
<!--
и
заканчивается символами
.
Между этими двумя
-->
группами символов вы можете поместить любой текст (за исклю­чением двойного тире
);
--
XML
-про
цессор проигнорирует его.
В рассматриваемом примере имеется комментарий в прологе,
а также другой комментарий, следующий за элементом «Документ».
В четвертой строке примера содержится инструкция, обеспечи-
X
ML
вающая связывания
содержащей информацию о порядке прохождения по
Inventory01.css
,
тексту документа при обработке приложения
-д
окумента с каскадной таблицей стиля
-процессором.
XSL
Ниже, в Главе 4, мы более подробно ознакомимся с таблицами стилей.
римечание.
П
ML
X
предоставляет этот доступ другим программным модулям, или приложени­ям, которые манипулируют и отображают содержимое документа.
окумент и обеспечивающий доступ к его содержимому. Он также
-д
ML
X
роцессор – это программный модуль, считывающий
-п
Документ содержит две пустые строки в прологе и одну пустую строку в разделе, следующем за элементом «Документ». Пустая строка состоит из одного или нескольких пробелов, символа табуля­ции, возврата каретки или перевода строки. Чтобы улучшить внеш­ний вид и восприятие
X
пробелы и переводы строк между элементами
окумента, вы можете свободно добавлять
-д
ML
-ра
XML
зметки, а также во многих случаях внутри элементов разметки (например, пробел между
и ? в конце
"
yes"
-объявления в рассматриваемом примере).
X
ML
Процессор просто игнорирует пропуски, если только они не
36
н
аходятся внутри элемента, непосредственно содержащего символь-
ные данные.
Л
2.3.2
О
сновное содержание документ определено во второй обяза-
ЕМ ЕНТЫ
Э
тельной части, включающем в себя элемент «Документ», или корне­вой элемент, который в свою очередь содержит дополнительные элементы. Элемент «Документ» и вложенные в него элементы явля­ются основным предметом рассмотрения в этом разделе учебного пособия и содержат фактическую информацию, имеющуюся в документе (для документа, приведенного на Рис. 2.1, это заглавия книг, фамилии авторов и т. д.). Кроме этого система вложений элементов документа отражает логическую структуру информации, содержащейся в нем.
Элементы организованы в иерархическую древовидную струк­туру, в которой одни элементы вложены в другие. Документ должен иметь один и только один элемент верхнего уровня – элемент «Документ», или корневой элемент – а все другие элементы
XML
вложены в него. Представленный ниже
-д
окумент является
корректно сформированным.
XML
В
-д
окументе элементы определяют его логическую струк­туру и несут в себе информацию, содержащуюся в документе (в нашем примере это информация о книгах, такая как заглавие, автор, цена). Типовой элемент состоит из начального тега, содержи­мого элемента и конечного тега. Содержимым элемента могут быть символьные данные, другие (вложенные) элементы, либо сочетание данных и вложенных элементов.
ventory
В данном примере элемент «Документ» –
тег –
<In
ventory>
,
а конечный –
<
/Inventory>
In
,
а содержимым элемента
Его начальный
.
считается текст, расположенный между ними. В качестве содержи­мого элемента можно использовать следующие типы сообщений:
– вложенные элементы – на Рис. 2.1 элемент
в элемент
Inventory,
а
элементы
Book
,
в свою очередь, имеют в своем
B
ook
в
ложен
содержимом вложенные элементы, как показано в нижеследующем листинге:
37
<B
ook> <Title> Приключения Гекльберри Финна </Title> <Author>Марк Твен</Author> <Binding>Бумажный переплет</Binding> <Pages>298</Pages> <Price>355р</Price> </Book>
– с
имвольные данные – это текст, выражающий информацион­ное содержание элемента, например, заглавие определенной книги в элементе
itle>Приключения Гекльберри Финна</Title>
<T
зделы
– ра
бодно размещать любые символы, за исключением строки
и
C
DATA
спользуется для включения в текст элемента символов, ис-
как показано ниже:
,
title
C
DATA
то текстовый блок, в котором вы можете сво-
– э
;
.
Раздел
]]>
пользуемых для разметки текста, т. е. недопустимых для использо­вания в элементах внутри тегов. Пример раздела
C
DATA
в
нутри эле­мента, используемого для включения в текст элемента таких симво­лов, показан в следующем примере:
ext>Как ввести символы <![CDATA[<, >, ‘, “ и &]]></Text>
<T
нструкции по обработке содержат информацию, необходи-
– и
X
мую для
– комментарии – это примечания к
читываются людьми, но игнорируются
ML
-приложений (см. нижеследующий пример);
-д
окументу, которые про-
L
XM
X
ML
-процессором (см. ниже-
следующий пример).
Book>
< <?MyApp Parm1=”value1" Parm2=”value2"?> <Title> Приключения Гекльберри Финна </Title> <Author>Марк Твен</Author> <!-- Здесь можно вставить комментарий --> <Binding>Бумажный переплет</Binding> <Pages>298</Pages> <Price>355р</Price> </Book>
В
ы также можете помещать в ваш документ пустой элемент, т. е.
элемент, не имеющий содержимого. Пустой элемент создается
38
п
утем размещения конечного тега сразу же после начального тега:
либо вы можете использовать специальный тег пустого
<h
r></hr>
элемента:
,
r/>
<h
.
Обе эти нотации являются эквивалентными. Поскольку пустой элемент не имеет содержимого, у вас может возникнуть вопрос о его предназначении. Здесь есть два варианта:
а) вы можете использовать пустой элемент, чтобы указать
риложению выполнить действие или отобразить объект. Аналогом
п
HTML
в
вляется пустой элемент
я
браузеру вставить разрыв строки, а также пустой элемент
BR
который является указанием
,
R
H
, указы-
X
ML
-
вающий на вставку горизонтальной разделительной линии. Другими словами, само присутствие элемента с определенным именем – без какого-либо содержимого – может послужить важной информацией для приложения;
б) пустой элемент может нести информацию посредством атри-
бутов, о которых вы узнаете далее в этом пособии. (С элементами,
H
которые имеют атрибуты, вы еще не встречались). Аналогом в я
вляется пустой элемент
IMG
изображение), содержащий атрибуты,
(
TML
которые сообщают процессору, где искать графический файл и как его отобразить.
Текст в
-документе представляет собой перемежающиеся
X
ML
символьные данные и данные, относящиеся к разметке. Разметка – это текст, ограниченный разделителями и описывающий структуру документа. А именно, начальный и конечный теги элемента, теги пустого элемента, объявления типа документа, инструкции по обра­ботке, ограничители раздела примитивы (
ntity
e
Остальной текст представляет собой символьные
).
CDATA
,
символьные ссылки, ссылки на
данные – реальное информационное содержимое документа (в нашем примере это заглавия, фамилии авторов, цена и другая информация о книге).
римечание. Синтаксический анализатор
П
данные элемента для вую скобку ( поскольку анализатор может интерпретировать ( элемента, раздела
CDATA
)
, амперсенд (
<
ак начало ссылки на примитив или символ, а
к
&
Если вы хотите использовать символы
.
XML
зметки. Вы не можете использовать левую угло-
-ра )
или строку
&
в
составе символьных данных,
]]>
XML
канирует символьные
с
) к
ак начало вложенного
<
ак окончание
к
]]>
<
и
ли
ак часть
к
&
39
имвольных данных, вам необходимо воспользоваться разделом
с Вы также можете использовать любые символы (в том числе те, которых нет на клавиатуре), воспользовавшись ссылкой на символ. Некоторые символы (например, < или &) вы можете вставлять с использованием предо­пределенных ссылок на общие примитивы.
РИ БУТЫ ДЛ Я ЭЛЕМЕ НТОВ
2.3.3
А
Т
CDATA
.
В начальный тег элемента либо в тег пустого элемента вы можете включить одно или несколько описаний атрибутов. Описание атрибута представляет собой пару имя – значение, связан­ную с данным элементом. Например, следующий элемент чает атрибут с именем
<price type="retail">$5.49</price>
type
, которому присвоено значение
Следующий пустой элемент включает атрибут с именем
retail
p
rice
:
в
клю-
ource
S
, который указывает на имя файла, содержащего картинку, которую следует отобразить:
cover_image Source="Faun.gif" />
<
З
адание атрибутов обеспечивает альтернативный способ вклю­чения информации в элемент. Обычно вы помещаете все относя­щиеся к элементу данные, которые хотите отобразить, внутри содержимого элемента. Атрибуты же используются для хранения различных характеристик элемента, которые не обязательно будут отображены (например, категория, или указания по отображению). В спецификации
XM
е установлено строгих разграничений относи-
н
L
тельно типа информации, которую можно описывать с помощью атрибутов или внутри содержимого элемента.
Описание атрибута состоит из имени атрибута, вслед за которым идет знак равенства и значение атрибута. Вы можете выбрать любое имя атрибута, придерживаясь при этом следующих правил:
– имя должно начинаться с буквы или символа подчеркивания
‘
_’
,
после чего могут следовать или не следовать другие буквы,
цифры, символы точки
– спецификация нающиеся с префикса
X
‘.’
ML
тире
,
ог
xml»
«
‘–‘
оваривает, что имена атрибутов, начи-
«зарезервированы для стандартного
,
и подчеркивания;
ил
использования». Хотя для браузера это ограничение значения не
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]