Введение
Итак, вы открываете книгу XML: справочник . Это
справочное пособие создавалось с целью ускорить и упростить
поиск исчерпывающей информации, касающейся программирования на
языке XML (Extensible Markup Language — Расширяемый
язык разметки) , служащем для создания новых языков
разметки, а также языков XLink и XPointer,
предназначенных для создания сложных XML-документов. Кроме
этого, в этой книге две главы посвящены стандартам
каскадных таблиц стилей (Cascading Style Sheets —
CSS) и онлайновому языку семантики и спецификации стиля
документа (Document Style Semantics and Specification
Language-Online), а в одном из приложений описан
универсаль ный набор символов (Universal Charater
Set — UCS), известный также как
Unicode 2.0, и поддерживаемые наборы символов.
Помимо этого, в книге содержится множество примеров, которые
могут использоваться как учебный материал или же служить
шаблонами при создании документов.
В этом справочнике рассматривается самая суть
языка XML. Когда нужно создать новый элемент, вам нет
необходимости изучать основы XML; все, что вам нужно, — это
найти имя конструкции (то есть инструкции или
компонента XML, состоящего из инструкций), ее назначение,
синтаксис и атрибуты, а также ознакомиться с примерами
практического применения. Хотя в этой книге не рассматриваются
вопросы написания программ и сценариев для World Wide Web,
книга поможет достичь и этого уровня, а в приложении 4,
«Web-библиография », приводится список ресурсов в Интернете и
множество другой информации по XML. Данное пособие
предназначено программистам, работающим с языком XML, любого
уровня — от новичков до профессионалов.
XML: справочник — это один
из основных справочников по XML, который постоянно должен
находиться на вашем столе рядом с компьютером.
Книга XML: справочник построена таким образом,
чтобы вам было легко ею пользоваться вне зависимости от того,
каким профессиональным опытом вы обладаете. Она состоит из
следующих частей.
Глава 1. Общие сведения. В этой главе
описывается история появления языка XML и рассказывается о
том, как создавать, публиковать и тестировать XML-документы.
Кроме того, в конце главы находятся две таблицы, призванные
помочь вам в поиске нужной конструкции или атрибута языка XML,
о которых рассказывается в следующих главах. Если вы точно
знаете, что вы хотите сделать, но не можете вспомнить имя
конструкции или атрибута, в первой таблице вы найдете краткий
список задач и соответству ющие им конструкции и атрибуты
языка XML. Если вы знаете имя конструкции или атрибута,
найдите его во второй таблице, где указана глава, в которой
описывается соответствующие конструкция или атрибут.
Глава 2. XML. Если вы знаете имя
конструкции или атрибута, но хотите получить дополнительную
информацию о них и об их использовании, обратитесь к этой
главе. Здесь перечислены все конструкции и атрибуты — с
указанием номера конструкции (цифра верхнего индекса, которую
часто можно найти справа от имени конструкции, представляет
собой перекрест ную ссылку на спецификацию XML), ее
назначения, полного синтаксиса и компонентов, комментариями по
использованию, родственными конструкциями и многочисленными
примерами.
Глава 3. XLink. Если вам интересно
узнать, с помощью каких конструкций можно создать в документе
простые и расширенные ссылки, обратитесь к этой главе.
Глава 4. XPointer. Если вам интересно
узнать, с помощью каких конструкций можно создавать в
документе расширенные указатели на расширенные ссылки,
просмотрите эту главу.
Глава 5. Каскадные таблицы стилей. На
протяжении практически всей истории персональных компьютеров
пользователи, создающие документы с помощью текстовых
процессоров, устанавливали стандартные форматы абзацев при
помощи таблиц стилей. Затем они добавляли индивидуальные
правила (иначе, стили) форматирования абзацев из таблиц стилей
как в старых, так и новых документах. Вы сейчас являетесь
свидетелем зарождения эпохи использования таблиц стилей в
электронных документах. В этой главе вы найдете
ознакомительную информацию и обзор каскадных таблиц стилей.
Здесь рассказывается о каждом стиле, его назначении, полном
синтаксисе, даются рекомендации по использованию, приводятся
списки родственных стилей и даются многочисленные примеры.
Глава 6. DSSSL-O. Язык XML также
поддерживает онлайновый язык семантики и спецификации стиля
документа (Document Style Semantics and Specification
Language-Online — DSSSL-O), который представляет собой
альтернативный, имеющий большее количество функций (но и более
сложный) способ стилистического представления документов. В
этой главе рассказывается о каждом стиле, его назначении,
полном синтаксисе, даются рекомендации по использованию,
приводятся списки родственных стилей и избранные примеры.
Приложение 1. Символы и наборы символов
Unicode. Отличительная черта языка XML — это его
интернациональность , то есть возможность применения к
документам, создаваемым на самых разных языках народов мира.
При создании многоязычного документа используются разные
алфавиты и символы, каждый из которых должен поддерживаться. В
этом приложении вы найдете иллюстрированные таблицы символов и
наборы символов (в основном те, которыми пользуются в
англоговорящем мире), а также символы и наборы символов,
отличающиеся от английских.
Приложение 2. Редакторы и утилиты XML.
Для создания и редактирова ния XML-документов на разных
компьютерных платформах используются редакторы и утилиты XML,
которые, упрощая работу, делают ее в то же время более
эффективной. Количество таких редакторов и утилит постоянно
растет. В этом приложении приводится их список, а также имена
разработчиков и URL-ресурсов, где можно получить
дополнительную информацию об этих программах.
n Приложение 3. Глоссарий. Язык XML,
его «родитель» язык SGML, таблицы стилей, Интернет — в
каждой из этих областей используются свои специфические
термины. Если вы впервые встретились с каким-либо термином или
его значение вам не до конца ясно, посмотрите его трактовку в
глоссарии.
n Приложение 4. Web-библиография. Если
вы хотите получить дополнительную информацию по любому
вопросу, рассматриваемому в этой книге, именно здесь вы
найдете обширный список ресурсов по всему, что связано с
языком XML. В этом приложении информация представлена так же,
как и во всех остальных главах книги. Для каждого ресурса
указан его адрес в Интернете и приведено краткое описание.
В этой книге вы встретитесь с двумя типами синтаксиса для
каждой конструкции: расширенной формой Бэкуса-Наура (Extended
Backus-Naur Form — EBNF) и стандартным синтаксисом
программирования.
- Расширенная форма Бэкуса-Наура (EBNF)
Синтаксис EBNF является «официальным» стандартом, которым
пользуются как разработчики новых языков разметки на основе
XML, так и те, кто изучает конструкции и компоненты, из
которых состоят такие языки разметки, как XML, его «родитель»
SGML и их «родственник» HTML. В EBNF приняты следующие
соглашения.
Symbol|symbol::= В синтаксисе XML каждое положение,
известное как
expression правило (rule), определяет одну
конструкцию или
символ. XML является регистрозависимым
языком:
конструкции, которые начинаются с прописной буквы,
представляют собой простое выражение,
то есть
Способ группировки символов или параметров,
а все остальные символы являются строчными.
Примечание: при вводе правила XML в документ
не
вводите символ (symbol) или сочетание ::=,
вводите только
выражение (expression)
#xN Введите #x и N, шестнадцатеричные целые числа
в
соответствии с любым из значений кода UCS-4
ISO/
IEC 1064. Подробнее о символах Unicode
см. главу 1,
«Общие сведения», приложение 1 ,
«Символы и наборы
символов Unicode» и приложение 4,
«Web-библиография»
[a-zA-Z], [#xN-#xN] Введите один из символов интервала от A
до Z или
от #xN до #xN
[^a-z], [^#xN-#xN] Не вводите ни одного символа из
интервала,
показанного рядом символом отрицания (^)
[^abc], [^#xN#xN#xN] Не вводите ни одного символа,
показанного рядом
символом отрицания (^)
"string" Введите строку текста (string) и заключите ее
в двойные кавычки. В выражениях не путайте
двойные
кавычки с одинарными
'string' Введите строку текста (string) и заключите ее
в одинарные кавычки. В выражениях не путайте
двойные
кавычки с одинарными
(expression) Введите выражение (expression), состоящее
из комбинации ранее перечисленных элементов
синтаксиса
XML, и используйте следующий синтаксис,
рассматривая
символ А или B в качестве выражения
A? Символ вопроса (?), закрывающий выражение,
указывает
на то, что это выражение не обязательно
A B Выражения, следующие одно за другим, должны быть
правильно состыкованы. Примечание: диапазон (А—В)
не
имеет символов пробела, а если перед символом
«минус» (—)
и после него ставятся символы пробела (А — В), это
указывает на отсутствие выражения
(см. ниже)
A|B Символ «вертикальная черта» (|) разделяет
выражения
логическим «ИЛИ» (то есть из двух
выражений может
использоваться либо одно, либо
другое); другими словами,
выберите одно из них
A — B Первое выражение должно присутствовать,
а
выражение, следующее за знаком «минус» (—),
должно
отсутствовать
A+ Выражение должно быть использовано один раз
или более
A* Выражение может быть использовано один раз
или более
- Стандартный синтаксис программирования
В стандартном синтаксисе программирования приняты следующие
соглашения.
{ } Вы должны выбрать один из атрибутов, значений,
символов или знаков препинания внутри скобок.
Обычно
обязательные атрибуты перечисляются перед
необязательными
Соглашения, принятые в книге
[ ] Вы можете
выбрать один из атрибутов, значений,
символов или знаков
препинания внутри скобок
| Символ «вертикальная черта» (|) разделяет
выражения
логическим «ИЛИ» (то есть из двух
атрибутов или значений
может использоваться либо
одно, либо другое)
^ Не выбирать ни одного символа или диапазона
символов,
показанного рядом символом отрицания (^)
. . . Все многоточия указывают на неограниченное
продолжение предыдущего атрибута и на то, что
следующий атрибут является окончанием предыдущего
Italics Курсив означает переменную (например,
каталог
или папку, имя файла, путь, символ, число, URI
и т. п.), которую следует ввести. В большинстве
случаев переменную следует заключать в двойные
(" ") или одинарные (' ')кавычки, руководствуясь
при их выборе стандартным синтаксисом; не путайте
в
конструкциях эти типы кавычек
default Если атрибут или значение подчеркнуты, это
значит,
что они используются по умолчанию. Другими
словами, если вы не укажете атрибут или значение,
броузер автоматически использует атрибут
или значение,
заданные в качестве значения
по умолчанию
Соглашения, принятые в книге
В этой книге принят один общий формат для описания
конструкций. В заголовке указано имя конструкции, номер
конструкции (в скобках верхним индексом — только для XML,
XLink и XPointer) и очень краткое описание. Далее следует
назначение конструкции, два типа синтаксиса (только для XML,
XLink и XPointer), информация о компонентах и атрибутах,
входящих в синтаксис конструкции, один или два примера и
список родственных конструкций.
ПРИМЕЧАНИЕ Номер конструкции
(например, [84]) полезен в качестве ссылки на
спецификацию XML или рабочий проект W3C. В этом документе W3C
конструкции упорядочены по номерам с указанием родственных
конструкций или компонентов, использующихся для создания
XML-документов.
В главе 2, «XML», и главе 3, «XLink», некоторые
атрибуты имеют собственные форматы. Атрибуты, у которых нет
номера конструкции, имеют тот же формат, что и конструкция.
Соглашения, принятые в этой книге, таковы:
n языки XML, XLink и XPointer являются
регистрозависимыми, поэтому комбинации прописных и строчных
символов следует вводить точно так, как указано в книге;
n конструкция, атрибуты и единицы, которые
вводятся в XML-документ, указаны моноширинным шрифтом;
n курсивом обозначены новые термины,
смысловые выделения, а также (если вы встретите курсив в
выражениях) переменные (такие, как имя файла, число или URL),
которые вы должны задать. Видя текст, набранный курсивом,
заменяйте его реальным именем файла, числом или URL;
n в главах, посвященных языкам XML, XLink и
XPointer, вы встретите в примерах как обычный, так и
полужирный шрифт, которым выделены элементы,
обрабатываемые указанной конструкцией или атрибутом;
n значения по умолчанию, которые
подставляются автоматически, если вы не указываете конкретного
атрибута, выделены подчеркиванием .
От издательства
Ваши замечания, предложения, вопросы отправляйте по адресу
электронной почты comp@piter.com (издательство «Питер»,
компьютерная редакция).
Мы будем рады узнать ваше мнение!
Подробную информацию о наших книгах вы
найдете на Web-сайте издательства http://www.piter-press.ru.
Благодарности
Ничего не поделаешь — автор, чье имя указано на
обложке книги, посвященной компьютерам или Интернету, является
лишь одним из тех многих, кто несет ответственность за
рождение книги и ее превращение в законченный продукт. Без
поддержки редакторов и специалистов, автор (если использовать
некоторые клише) был бы подобен человеку, оказавшемуся на
бурной реке в лодке без весел, которую выносит в открытое
море, а он не может ничего поделать. И ничто не может
сравниться с поддержкой семьи и друзей, их ободрением , когда
сроки поджимают и автор вынужден цепляться за последнюю
соломинку — технический стандарт. Я хотела бы
поблагодарить тех, чья поддержка столько значит для меня.
Особую благодарность я выражаю принимающему
редактору Лоре Льюин (Laura Lewin) и главному редактору по
развитию Мэтту Лашеру (Matt Lusher). Без вашей поддержки выход
этой книги был бы невозможен.
Я также благодарю других сотрудников
издательства IDG Books за их неоценимую помощь. Спасибо
команде технического редактирования: Биллу Макманусу (Bill
McManus) и Николь Фаунтэн (Nicole Fountain); огромное спасибо
координатору проекта Сюзен Парини (Susan Parini).
За экспертную оценку и внимание к деталям XML
(и другим техническим вопросам) я с радостью говорю спасибо
научному редактору Саймону Сен-Лорану (Simon St. Laurent),
автору книг XML: A Primer и Dynamic HTML: A
Primer, также вышедших в издательстве IDG Books Worldwide,
Inc.
Отдельная благодарность за терпение и
настойчивость моему агенту Мэтту Вагнеру (Matt Wagner) из
компании Waterside Productions.
За постоянную поддержку я благодарна своей
семье и друзьям.
За особый вклад и постоянную поддержку
отдельное спасибо Тони (Toni) и Эли (Eli). И светлой памяти
Инди (Indy).
Наконец, спасибо читателям этой книги.
Надеюсь, вы мне сообщите, что вы думаете об этом издании и как
сделать следующее еще лучше.
Сандра Э. Эдди (Sandra Е. Eddy)
eddygrp@sover.net