Введение
Об авторах
Благодарности

Часть I. Введение в XML


Глава 1. Языки разметки
Теория разметки
Понятие разметки
Языки обобщенной разметки
Описание типа документа
Языки обобщенной разметки: SGML, XML, HTML
HTML: его место
SGML: прадедушка всех языков разметки
Более простое подмножество языков разметки
Различия между XML и SGML
Различия между HTML и XML
Как выглядит XML-документ?
Типы документов XML
В заключение, XML должен
Примеры решений
Создание XML-документа

Глава 2. Памятка по XML
Необходимость в XML
XML сегодня
Как выглядит XML
Компоненты XML
Элементы
Атрибуты
Сущности
Описания типа документа
Короткая история XML
Дебют Web
Начало XML
Поддержка XML в браузерах
Microsoft Internet Explorer
Netscape Navigator
Спецификация XML
Как создавались спецификации
Обзор спецификации XML
Разделы спецификации XML
Как надо читать и понимать спецификацию
Обзор приложений XML
Примеры решений
Задаем параметры
Определяем элемент
Используем элемент в качестве содержания тега
Определяем атрибут
Размещаем символьную сущность в документе
Создаем собственную сущность
Используем объявленную сущность
Читаем спецификацию XML

Глава 3. Практика XML
От HTML к XML
Недостаток расширяемости в HTML
Отсутствие четко определенных структур в HTML
HTML не обеспечивает проверку структуры документа
Различия между XML и HTML
Сравнение HTML- и XML-кода
Как XML и HTML сосуществуют в Web
HTML утрачивает соответствие стандарту
Несоответствия в инструментальных средствах HTML
Преимущества XML
Почему HTML ведет в тупик?
Почему HTML не подходит для управления данными
Различия в синтаксисе
Быстрое преобразование из HTML в XML
Древовидная структура документа XML
Продолжим разметку документа
XML и HTML: принципы эффективной разработки
Примеры решений
Выбор между HTML и XML
Проектирование сайта

Глава 4. Включение XML в корпоративную среду
Зачем нужен XML
Сравнение основных форматов документов с XML
Почему HTML не работает
Почему PDF не работает
Стандартизация является ключевым моментом
Стандартизация простых служебных записей
XML обеспечивает стандарты программирования
Стандартизация данных и их отображения
Межплатформенная совместимость
Пространства имен в XML
Набор стандартных символов и кодирование
XML интегрируется с существующими системами
XML и база данных
Работа с данными, которые у вас есть
Приложения XML в корпоративном мире
Краткий обзор использования XML корпорациями
Примеры решений
XML в работе: система TimeCard компании Siemens


Часть II. Компоненты XML


Глава 5. DTD в XML
Что такое DTD?
Объявления
Объявление XML
Объявление типа документа
Где могут храниться DTD
Общие и системные DTD
Быть или не быть DTD
Внешние и внутренние DTD
Внутренние DTD
Внешние DTD
Части DTD
Символьные данные
Символы пробелов
Сущности
Элементы
Атрибуты
Комментарии
Инструкции обработки
Действительные и правильные документы
Правильные XML-документы
Действительные XML-документы
Путь к созданию хороших проектов DTD
Определение всех составных частей
Определение элементов
Отношения элементов и иерархия
Конструирование элементов
Объявление элементов
Определение атрибутов
Когда нужно использовать атрибуты, а когда - элементы
Определение сущностей
Создание DTD
Использование данного DTD
Примеры решений
Описываем внешнее DTD
Определяем общее DTD
Описываем внутреннее DTD

Глава 6. Приложения и документы XML
Что такое XML-приложение
XML: приложение, которое на все руки мастер
О приложениях, словарях и диалектах
Что такое XML-документ
Объявления
Элементы
Комментарии
Символьные ссылки
Инструкции обработки
Примеры решений
Определяем XML-документ и его DTD
Путеводитель для приложения XML
Классификационный список для работы над приложением

Глава 7. Работа с элементами XML
Снова об элементах
Внимательное рассмотрение элементов
Содержание элемента
Специальные ключевые слова
Атрибуты элементов
Об исключениях (exceptions) и недопущениях (exclusions)
Примеры решений
Объявляем элементы
Правила и порядок применения элементов

Глава 8. Работа с атрибутами XML
Роль атрибутов в XML
Терминология атрибутов
Типы атрибутов
Строковые атрибуты
Маркированные атрибуты
Перечислимые атрибуты
Дополнительные характеристики атрибута
Применение атрибутов
Элементы и атрибуты в MathML
Примеры решений
Описываем строковые атрибуты
Описываем маркированные атрибуты
Описываем перечислимые атрибуты
Добавляем характеристики атрибута к описанию атрибута
Комбинируем спецификации атрибута для формирования объявления
списка атрибутов
Ссылаемся на атрибуты в разметке
Используем параметрические сущности в объявлениях списка
атрибутов
Определяем специальные связывающие атрибуты спецификации XLink
Планируем атрибуты элемента

Глава 9. Создание содержания в XML
Важные термины
Различные типы содержания
Что же такое содержание?
Элементное содержание
Правильное размещение элементов
Символьные данные
Смешанное содержание
Произвольное содержание
Пустые элементы
Разметка на основе содержания и разметка на основе внешнего
представления
Примеры решений
Определяем символьные данные содержания
Определяем элементное содержание
Определяем смешанное содержание
Определяем элементы типа ANY и EMPTY
Включаем параметрические сущности в модели содержания
Планируем модели содержания для DTD

Глава 10. Связывание в XML: язык XLink
Обзор ссылок в XML
Термины связывания в XML
Источники XLink
Принципы разработки XLink
Обзор XLink
Детали языка XLink
Разбираем простую ссылку
Определяем простую внутреннюю связь
Описываем элементы ссылки
Определяем поведение ссылки
Расширенные ссылки
Примеры решений
Создаем простую ссылку XML
Используем простую ссылку в документе
Описываем роль ссылки
Управляем поведением ссылки
Помечаем ссылку
Предопределяем атрибуты и значения ссылки, а также значения
элементов в DTD
Создаем расширенную ссылку XML
Создаем группы и документы расширенных ссылок
Перераспределение атрибутов

Глава 11. Связывание и ссылки в XML: XPointers
Расширенные указатели
Как работают расширенные указатели
Расширенные указатели и локаторы
Разработка расширенных указателей
Примеры решений
Простой расширенный указатель в ссылке XML
Расширенные указатели с термином абсолютного размещения
Расширенные указатели с относительными терминами размещения
Расширенные указатели с охватывающими терминами размещения.
Расширенные указатели со строковыми терминами размещения

Глава 12. Создание и включение сущностей XML
Что такое сущность?
Типы сущностей
Внутренние сущности
Внешние сущности
Текстовые сущности
Двоичные сущности
Параметрические сущности
Предопределенные сущности
Применение общепринятых сущностей
Создаем условные имена для повторяющегося текста и разметки
Примеры решений
Указываем сущности
Объявляем внутренние сущности
Объявляем внешние сущности
Объявляем текстовые сущности
Объявляем двоичные сущности
Объявляем условные обозначения
Объявляем кодировку символов текста сущности
Символьные сущности в XML-документах
Набор символьных сущностей ISO-Latin-1
Создаем параметрические сущности

Глава 13. Обработка XML-документов
0сновы обработки XML-документов
Редакторы XML
Процессоры и анализаторы XML
Анализаторы XML
Процессоры XML
XML и браузеры
Краткая история XML-браузеров
Современные XML-браузеры
CML и интерфейсы прикладных программ
Способы обработки XML
XML и объектная модель документа
XML-документ
Узел XML
Список узлов XML
DOM XML
Обработка баз данных
Примеры решений
Обработка XML-файла при помощи анализатора
Доступ к XML-объектам при помощи DOM XML
Сценарий для доступа к модели объекта



Часть III. Таблицы стилей XML



Глава 14. Каскадные таблицы стилей
Стили и их применение
Доводы в пользу таблицы стилей
Одна таблица стилей - неограниченное множество документов
Отделение стиля от разметки повышает эффективность,
последовательность и управляемость
Один документ - много стилей
Работа со стилями XML
"3а" и "против" применения CSS в XML
Примеры решений
Работаем с "живым" примером
Простая формула таблицы стилей
Регистр и знаки пунктуации
Селекторы в правилах стилей
Объявления в правилах стилей
Специальное группирование объявлений для отдельных
семейств свойств
Класс как селектор
Контекст как селектор
Роль пунктуации в CSS
Единицы измерения в CSS
Определения свойств

Глава 15. Стили в XML
Что такое DSSSL?
Преобразование
Форматирование
Опрос
Выражение
Язык преобразования
Язык стиля
Безотлагательное решение задач
Объявляем DTD для таблицы стилей DSSSL
Определяем правило построения
Создаем определение
Создаем выражение
Определяем sosofo
Обработка элементов-потомков
Таблица стилей DSSSL
Преобразуем документ с одним DTD в документ с другим DTD при
помощи описания преобразования
Определите, подходит ли вам DSSSL
Программное обеспечение DSSSL

Глава 16. Управление стилями в XML: язык XSL
Что такое XSL?
Статус спецификации XSL
Основные термины XSL
Разрешение конфликтов: разбор правила
Примеры решений
Определение базовых конструкций таблицы стилей
Базовые объекты потока DSSSL и CSS в XSL-документах
Создаем правила построения
Объявляем действие
Создаем корневое правило построения
Исследуем DTD XSL

Глава 17. Разработка внешнего вида XML-докумеитов
Краткая история документов
Роль дизайна в создании документа
Элементы технического дизайна
Характеристики процессора и браузера
Цель и назначение приложения XML
Документ должен быть правильным и/или действительным
Возможности и ограничения разметки
Элементы дизайна интерфейса
Содержание
Компоненты стиля
Изображения и другие компоненты мультимедиа
Инструментальные средства навигации
Примеры решений
Определяем цель XML-приложения
Планирование эффективной системы навигации для коллекции
документов


Часть IV. Приложения XML


Глава 18. Специальные XML-приложения
Что такое XML-приложение?
Типы XML-приложений
Приложения Internet
Метаданные и архивные приложения
Мультимедиа-приложения
Финансовые/коммерческие и бизнес-ориентированные приложения
Научные приложения
Образовательные приложения
Приложения для языков
Подробно о приложениях XML
Channel Definition Format (CDF)
Chemical Markup Language (CML)
Mathematical Markup Language (MathML)
Open Software Description (OSD)
Synchronized Multimedia Integration Language (SMIL)
Примеры решений
Новые XML-приложения
Создание канала
Создание математического уравнения
Применение OSD для установки программного обеспечения
Создание файла данных SMIL

Глава 19. Работа с RDF: углубленное изучение XML
Что такое RDF?
Зачем нужен RDF?
RDF как XML-приложение
Важные термины и понятия
Метаданные
Графы
Узлы
ISO 10646
Пространства имен
Схемы
Дублинское ядро
Примеры решений
Сравниваем яблоки и апельсины
Грамматика RDF
Создание пространства имен в XML
Развернутый синтаксис создания RDF-элементов
Сокращенный синтаксис создания RDF-элементов
Связывание описания с ресурсами

Глава 20. CDF
Подробное рассмотрение каналов
Преимущества каналов для пользователя
Преимущества применения каналов для разработчика
CDF и XML
Этапы разработки каналов
Структура канала
Значки и графические изображения логотипа канала
Создание CDF-файла
Пересылка CDF-файла на Web-сервер
Предложение канала потенциальным подписчикам
Возможности канала
Каналы оповещения
Опции карты сайта
Возможности автономной буферизации содержания
Типы активных каналов
Иммерсионные каналы
Каналы оповещения
Каналы новостей
Гибридные каналы
Механизмы доставки канала
Экранные заставки
Электронная почта в формате HTML
Элементы рабочего стола
Принципы разработки каналов
Каналы должны соответствовать типам активного канала
Содержание каналов должно соответствовать пропускной
способности линии связи
Каналы должны быть самодостаточными
Каналы должны быть индивидуализированы
Разработка для Netcaster
Исследуем словарь CDP
Индивидуальные элементы и их атрибуты
Примеры решений
Этапы создания канала
Создание каналов различных типов
Создание каналов с различным типом доставки информации
Создание расширенных возможностей канала
Оптимизируем доставку активных каналов
Оптимизируем канал для подписчиков


Часть V. Руководство пользователя


Глава 21. Преобразование в формат XML
Современные корпоративные документы
Какие документы могут быть преобразованы в XML?
Определяем потребности
Конвертирование в XML-формат
Проблемы конвертирования
Конвертирование HTML в XML
Почему HTML не является лучшим решением для Web-страниц
Почему HTML не подходит для работы со всеми документами
в intranet и Internet
Использование HTML в качестве дополнения к XML
Различия между HTML и XML
Преобразование кода из HTML в XML
Указываем объявление XML
Задаем объявление DOCTYPE
Преобразуем символы в общие сущности
Помещаем значения атрибутов в кавычки
Приведение ссылок в соответствие со спецификацией XLink
Описание таблицы стилей
Приводим комментарии в порядок
Примеры решений
Преобразуем HTML в XML

Глава 22. Инструментальные средства XML
Типы инструментов
Синтаксические анализаторы XML
AElfred
DXP
Expat
Lark
MSXML
TclXML
Xparse
xmlproc
XP
Браузеры XML
Jumbo
Инструментальные средства разработки XML
ADEPT Editor
LT XML
Web Automation Toolkit
WebWriter
Xpublish
Новые инструментальные средства
Примеры решений
Выбор инструмента

Глава 23. XML и Web-браузеры
Малая история браузеров
Как работают браузеры
Поддержка XML со стороны Netscape
Netscape делает ставку на Navigator
Поддержка XML со стороны Microsoft
Поддержка XML в Internet Explorer 4
Будущее XML
Примеры решений
Просмотр данных XML браузером Jumbo

Глава 24. Применение XML
Кто использует XML?
Интерактивное издание Wall Street Journal
Нефть и XML
ZiffNet компании Ziff-Davis
DHL
Примеры решений
Сорняки поселка El Limon
Создание DTD недвижимости


Часть VI. Приложения

Приложение 1. Расширяемый язык разметки 1.0
Аннотация
Статус данного документа
1. Введение
1.1. Происхождение и цели
1.2. Терминология
2. Документы
2.1. Правильные XML-документы
2.2. Символы
2.3. Обычные синтаксические конструкции
2.4. Символьные данные и разметка
2.5. Комментарии
2.6. Инструкции обработки
2.7. Разделы CDATA
2.8. Пролог и объявление типа документа
2.9. Объявление отдельного документа
2.10. Обработка пробелов (пустого пространства)
2.11. Обработка конца строки
2.12. Идентификация языка
3. Логические структуры
3.1. Начальные теги, оконечные теги и теги пустого элемента
3.2. Объявления типа элемента
3.3. Объявления списка атрибута
3.4. Условные разделы
4. Физические структуры
4.1. Отсылки на символ и на сущность
4.2. Объявления сущности
4.3. Анализируемые сущности
4.4. Обработка сущностей и ссылок процессором XML
4.5. Конструкция замещающего текста внутренней сущности
4.6. Предопределенные сущности
4.7. Объявления условных обозначений
4.8. Сущность документа
5. Соответствие
5.1. Процессоры с проверкой и без проверки действительности
5.2. Использование процессоров XML
6.Условные обозначения
Дополнения
А. Ссылки
В. Классы символов
С. XML и SGML (ненормативный раздел)
D.Расширения ссылок на сущность и символьных ссылок
(ненормативный раздел)

Приложение 2. Глоссарий