В. А. Капустин Содержание Формальные структуры текстовых документов 1 Курс лекций

Вид материалаКурс лекций
Несколько вводных слов
Элементы DocBook
Элементы иерархии
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   17

DocBook

Несколько вводных слов


DocBook требует планирования структуры создаваемого текста. Хотя формально DocBook в состоянии обеспечивать разметку некоторых элементов бесструктурного текста, наибо­лее эффективно применение DocBook именно для текстов с предварительно продуман­ной структурой (это не значит, конечно, что эту структуру невозможно изменить в про­це­с­се работы над текстом). «Просто текст» (как в «Блокноте» или редакторах типа TextPad), также как и текст, подготавливаемый в текстовых процессорах типа Microsoft Word, также как и текст, подготавливаемый в виде HTML-страниц, вообще говоря, либо бесструк­тур­ны, либо (в случае Word/HTML) содержат смесь структурных и чисто оформительских ком­понентов. Отделение структуры от оформления в этих случаях требует существенных усилий (разработки стилей для всех структурных элементов). DocBook прин­ципиально абстрагируется от оформления и описывает только структуру текста.

В результате автор не должен думать об оформлении и может сосредоточиться на собст­венно тексте, а дизайнер – думать только об оформлении.

У такого подхода есть оборотная сторона – такой подход приводит как к непростым тех­ническим проблемам, так и проблемам нетехническим.

Технические проблемы включают прежде всего необходимость (как правило) нетривиаль­ной обработки текста размечен­но­го для получения текста оформленного. В настоящем кур­се мы познакомимся с такой об­ра­боткой (XSLT). Вторая техническая проблема касает­ся, в основном, именно документации и связана с управлением текстами. Дело в том, что различные компоненты документации часто используют одни и те же фрагменты текста. Обеспечить включение требуемого фрагмента текста с соблюдением структуры всего текста может быть непростой задачей.

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

Решение и тех и других (технических и нетехнических) проблем облегчается при наличии соответствующих инструментов. Мы познакомимся с одним из них – Altova Authentic.

Элементы DocBook


DocBook – приложение XML. Это означает, что:
  1. существует DTD DocBook (для DocBook версий 4.* этого достаточно, для DocBook версий ≥5.0 применяется XML-схема),
  2. текст, подготовленный в формате DocBook, является XML-документом,
  3. этот XML-документ является не только правильно сформированным, но и правильным, т.е. структура его элементов соответствует DTD (и схеме).

Формально это означает, что изучение DocBook сводится к изучению сотен элементов, представленных в DTD DocBook. Фактически чаще всего применяются немногие из этих элементов, и поэтому можно начать изучение именно с них. Кроме того, элементы DocBook можно сгруппировать по характеру их использования. Именно с такой группи­ровки мы и начнем знакомство с ними.

Итак, по характеру использования элементы DocBook распадаются на две группы:
  • элементы иерархии
  • элементы прозы (информационного пула, как называет их Норман Уолш)

Элементы иерархии определяют общую, наиболее грубую структуру текста. Элементы прозы определяют локальные структуры: списки, выделения (собственно выделения, за­ме­чания и т.п.), цитаты, примеры, уравнения, рисунки и др. Одна и та же иерархия мо­жет быть использована с разным текстом (и разными локальными структурами в нём), одни и те же фрагменты текста (с локальными структурами в нём) могут быть погружены в разные иерархии.

Элементы иерархии


Сначала я перечислю несколько элементов иерархии (элементам прозы будет посвящены последующие занятия):
  • set – набор книг («собрание сочинений)
  • book – книга
  • part – часть
  • reference – набор справочных записей, указатель
  • preface; chapter; appendix; bibliography; glossary – предисловие; глава; приложение; список публикаций; словарь терминов
  • article – статья
  • section, sect1...sect5, simplesect – раздел; подраздел уровня 1...5; раздел, не имеющий подразделов
  • refentry – элемент указателя
  • refsect1...refsect3 – разделы указателя

Затем рассмотрим примеры:

Книга


PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"-open.org/docbook/xml/4.3/docbookx.dtd">


An Example Book

Norman
Walsh


2004
Sun Microsystems, Inc.

1234
Our Favorite Sponsor


Introduction

...

The First Chapter

...



An Appendix

...




Статья

YPE article
PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"-open.org/docbook/xml/4.3/docbookx.dtd">


An Example Article

Norman
Walsh


2004
Sun Microsystems, Inc.


15 Nov - 19 Nov 2004
XML 2004


A Section

...


An Appendix

...




FAQ

PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"-open.org/docbook/xml/4.3/docbookx.dtd">

Sample Questions



Question para 1


Question para 2




Answer para 1


Answer para 2




Imponderables



Why?







Why did the chicken cross the road?




To get to the other side




Some other silly reason I've forgotten.







Медиа-объекты

PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"-open.org/docbook/xml/4.3/docbookx.dtd">















Energy is equal to mass times the speed of
light squared.




E=mc2




Описание функции

PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"-open.org/docbook/xml/4.3/docbookx.dtd">


#include <pwd.h>
#include <sys/types.h>



struct passwd *getpwnam

const char *
name





struct passwd *getpwuid

uid_t
uid