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

Вид материалаКурс лекций
Версии TEI
TEI Light
Разрабатываемая версия
TEI Light
Разметка основной части текста
Разметка вводной части текста
Титульный лист
Фрагменты титульного листа и других вводных элементов документа
Разметка завершающей части текста
Подобный материал:
1   ...   9   10   11   12   13   14   15   16   17

Версии TEI

Текущая стабильная версия


Текущей стабильной версией TEI является версия 4. Предыдущие версии разрабаты­ва­лись, в основ­ном, для SGML. В версии 4 DTD разработано так, что обеспечивает поддер­ж­ку как SGML-документов, так и XML-документов. Для работы с XML-документами при использовании полного варианта TEI, однако, необходимо включение соответствующего модуля:

Руководства по настройке и применению текущей стабильной версией TEI находятся на сайте консорциума TEI 7.

TEI Light


Кроме полного варианта DTD TEI существует официальный упрощенный вариант, т.н. TEI Light. TEI Light включает несколько наиболее употребительных модулей TEI:

% TEI.prose 'INCLUDE' >
% TEI.linking 'INCLUDE' >
% TEI.analysis 'INCLUDE' >
% TEI.figures 'INCLUDE' >
% TEI.extensions.ent SYSTEM 'teilitex.ent' >
% TEI.extensions.dtd SYSTEM 'teilitex.dtd' >
% TEI.XML "INCLUDE">

DTD TEI Light не содержит условных разделов. Руководство по TEI Light также можно найти на сайте консорциума TEI (причем на русском языке 7).

Разрабатываемая версия


В настоящее время разрабатывается пятая версия TEI. Она разрабатывается с использова­нием XML-схемы. Рабочий вариант пятой версии TEI (вместе с предварительной версией документации) находится на «фабрике проектов» Source Forge (проект TEI).

TEI Light


Объявление типа документа TEI Light, как правило, используется для разметки единст­вен­ного доку­мен­та (а не для разметки корпусов как целого). Именно такое применение TEI Light мы и будем рассматривать. Для единственного документа доку­мент TEI Light всегда имеет один и тот же корневой элемент с именем TEI.2, состоящий из заголовка TEI и собственно размеченного текста («текста TEI»):

Заголовок TEI (часто называемый «электронный титульный лист»), как видно из приведённого объявления элемента TEI.2, обязан присутствовать. В заголовке TEI содер­жится информация, аналогичная той, что находится на титульном листе печатного текс­та (метаданные). Она может содержать до четырех частей: библиографическое описание ма­шиночитаемого текста, описание способа разметки, небиблиографическое описание текс­та (параметры текста), и архив исправлений. Более подробно заголовок будет расс­мот­рен ниже.

Текст TEI может быть монолитным (отдельное произведение) или объединенным (на­бор отдельных произведений, как, например, в антологии). В любом случае текст мо­жет иметь необязательные вводную (front) и закрывающую (back) части. Между ними располагается основная часть текста (body), которая, в случае объединенного текста, мо­жет состоять из групп (group), а они, в свою очередь, из других групп или текстов:

Вспомогательные элементы могут встречаться почти всюду -->
'anchor | gap | index | interp | interpGrp | lb | milestone | pb'>

text
((%text.aux;)*,
(front, (%text.aux;)*)?,
(body | group),
(%text.aux;)*,
(back, (%text.aux;)*)?
)
>

В результате разметки монолитного текста получается структура, подобная приведенной ниже:


Заголовок TEI -->

Вводная часть ...-->
Тело текста ... -->
Завершающая часть ... -->



Объединенный текст также имеет необязательные вводную и закрывающую части. Между ними располагается одна или несколько групп текстов, каждая из которых тоже может иметь свои собственные вводные и завершающие части. Таким образом, в результате раз­метки объединенного текста получается структура, подобная приведенной ниже:


ок объединенного текста -->


















Разметка основной части текста


Элемент body содержит всю основную часть одного монолитного текста, исключая то, что относится к вводной или завершающей частям текста. Этот элемент включает нес­коль­ко классов элементов:
  • Блочная структура текста

Сюда входят абзац (p) и разделы (div1div7, div), аналогичные частям, главам и секциям (вместе взятым) DocBook; заголовки и заключения (head и trailer) раз­де­лов. В этот же класс элементов включаются обозначения структур, специ­фи­ческих для определенного жанра: строфа (lg), стихотворная строка (l), обо­значение персо­нажа (speaker) и прямой речи персонажа (sp), авторские за­ме­чания (stage, как пра­вило, в тексте пьесы).
  • Закладки

Закладки – это, прежде всего, номера строк (lb, этим элементом помечаются так­же разрывы строк) и страниц (pb). Номера строки страниц обычно связаны с конкрет­ным изданием. Кроме этих элементов, в классе закладок присутствует эле­мент, пред­назначенный для обозначения произвольного маркера – milestone.
  • Выделения

Выделения общего вида (когда причина выделения неизвестна) размечаются эле­мен­том hi (от английского highlight). В том случае, когда причина выделения яс­на, можно использовать специализированные элементы, размечающие слова или фразы: выделяемые с целью получения лингвистического или риторического эф­фек­та (emph); написанные на языке, отличающемся от языка основного текста (foreign); упомянутые, но не использованные (mentioned); рассматриваемые как технический термин (term); содержащие название произведения (title).

Большинство элементов, не связанных непосредственно с выделениями в тексте, име­ет атрибут rend, значения которого позволяют передавать типографские осо­бенности выделения (например, особенности шрифта и блочность или потоковость выделения).
  • Цитаты

TEI позволяет размечать 4 вида цитат: цитата общего вида (речь или мысль, от­меченные как принадлежащие другому автору (независимо от того, действительно ли данный отрывок является цитатой); в сюжетно-повествовательных текстах таким образом отмечается прямая речь персонажа или оратора, а в словарях элемент этот элемент можно использовать для обозначения реальных или искусственных приме­ров использования) размечается элементом q; слова или фразы упомянутые, но не использованные (mentioned); слова или фразы, за которые автор или рассказчик сни­мает с себя ответственность, что обозначается кавычками или курсивом (soCalled); слова или фразы, которые представляют собой толкование (глоссу) или определение какого-либо другого слова или фразы (gloss).
  • Примечания

Любые примечания, которые печатаются в виде сносок, примечаний в конце текста, маргиналий (примечаний на полях) или как-либо по-иному, следует обозначать с помощью одного и того же элемента note.
  • Перекрёстные ссылки и связи

Перекрёстные ссылки и связи внутри документа TEI и перекрёстные ссылки и связи с другими документами (TEI и не TEI) размечаются по-разному. Для ссылок внутри документа TEI используются два элемента: ref и ptr (первый – контейнер, кото­рый может содержать текст и/или другие элементы; второй – пустой). Ссылка всегда должна вести к элементу, поэтому для создания в документе точек или сегментов, на которые можно было бы ссылаться, можно использовать любые элементы TEI, в том числе и специально для этого предназначенные: anchor и seg (первый – пустой – для создания точки, на которую можно сослаться; второй – контейнер – для отметки произвольного отрезка текста).

Для связи с другими документами используются элементы xref и xptr, причем для указания точки связывания в других документах используется язык XPath.

Для всех элементов TEI определены атрибуты связывания, позволяющие во многих случаях обойтись без использования элементов ref, ptr, anchor и seg.
  • Редакторская правка, пропуски, удаления и дополнения

Элементы этого класса используются для разметки исправлений, т.е. изменений, внесенных редактором в тех местах, где по его мнению, в оригинале имеется ошиб­ка. Кроме исправления или нормализации слов и фраз, редакторы и публикаторы могут предложить вставить пропущенные материалы, не публиковать некоторые ма­териалы или ввести материалы, вычеркнутые из оригинала. Кроме того, некото­рые материалы могут оказаться исключительно сложными для передачи, поскольку их непросто разместить на странице (например, рисунки рукописи).
  • Имена, даты, числа, сокращения и адреса

Этот класс содержит элементы: для разметки имён собственных (name), относящихся к персонам, и т.н. «называющих строк» (rs), которые представляют собой имена собственные, относящиеся к объектам (географические названия, названия кораблей и т.п.); дат (date) и времён (time); чисел (num); сокращений (abbr) с указанием соот­вет­ствующих полных форм (в виде значения атрибута expan элемента abbr); адре­сов (addr). Адрес (addr), в свою очередь, состоит из строк адреса (addrLine).
  • Списки

Этот класс элементов содержит собственно список (list) и элемент списка (item). Нумерованность или маркированность списка управляются атрибутами. Ненумеро­ван­ный и немаркированный список может использоваться как глоссарий; в этом слу­чае для терминов используется элемент label, а определения размечаются эле­ментом item. Элемент label позволяет размечать достаточно произвольные спис­ки.
  • Библиографические ссылки

Для разметки библиографических ссылок используется элемент bibl. Его содержи­мое может (но необязательно) быть структурировано с помощью элементов author (первичные сведения об ответственности), title (заглавие), editor (вторичные сведения об ответственности), imprint, publisher и pubPlace (сведения о пуб­ли­кации), series (сведения о серии), biblScope (подробность и уровень опи­сания).
  • Таблицы

Этот класс элементов содержит три элемента: table, row, cell.
  • Рисунки и графика

Для рисунков и графики используется один из двух элементов: figure или figDescr. Первый используется тогда, когда графика должна быть представлена в электронном документе; в этом случае графический файл должен быть представлен т.н. неразбираемой сущностью XML. Элемент используется для описания графи­чес­кого компонента текста в том случае, когда этот компонент по каким-то причинам не будет визуализирован.
  • Интерпретация и анализ

Этот класс элементов на самом деле содержит элементы, назначение которых может меняться от приложения к приложению. Для выделения неделимых фрагментов текста (часто – слов, например, для синтаксической разметки) используется эле­мент s. Элементы s не следует вкладывать друг в друга, хотя это формально и не запре­щено. Для создания «опорных точек» – фрагментов текста, на которые можно ссылаться, используется элемент seg. Для произвольных интерпретаций (коммен­тариев, морфологической разметки и пр.) используется пустой элемент interp, со­держащий интерпретирующую аннотацию, которую можно связать с некоторой частью текста. Элементы interp можно объединять в группы – контейнеры interpGrp.
  • Техническая документация

Элементы этого класса применяются как для разметки документации (подобно DocBook), так и для целей подготовки документов TEI к публикации.

Некоторые элементы этого класса предназначены для разметки специфических фрагментов текстов документации: кратких примеров (eg); фрагментов кода (code), идентифика­торов (ident); имена элементов XML или SGML (gi); ключевых слов на формальном языке (kw); математических, химических и иных формул (formula). Для записи фор­мул, как правило, используется TEX и, при необходимости, секции символьных дан­ных ( ... ]]>).

Другие элементы предназначены для указания мест в документе, в которые будут по­мещены разделы, создаваемые обрабатывающим документ приложением: раз­де­лы общего вида (divGen) и указатели (index).

Кроме элементов, руководство 7 (разработанное ещё в до-Юникодовскую эру) настоя­тель­но рекомендует для всех символов, отличных от латиницы и цифр, а также от небольшого набора знаков препинания, использовать общие сущности, обозначающие соответствую­щий символ, например, % вместо знака "%" (DTD TEI Light содержит 340 объяв­лений подобных сущностей). В настоящее время применение XML/Unicode эту рекомен­дацию сделало неактуальной, её следует соблюдать только в том случае, если документ будет обрабатываться в ус­таревшем приложении.

Разметка вводной части текста


Структура вводной части текста определяется следующим объявлением:

(
(divGen | titlePage | anchor | gap | index | interp
| interpGrp | lb | milestone | pb)*,
(
(
(argument | byline | docAuthor | docDate | docEdition
| docImprint | docTitle | epigraph | head
| titlePart),
(argument | byline | docAuthor | docDate | docEdition
| docImprint | docTitle | epigraph | head
| titlePart
| titlePage | anchor | gap | index
| interp | interpGrp | lb | milestone | pb)*
)
|
(div,
(div | divGen | titlePage | anchor | gap | index | interp
| interpGrp | lb | milestone | pb)*
)
|
(div1,
(div1 | divGen | titlePage | anchor | gap | index
| interp | interpGrp | lb | milestone | pb)*
)
)?
)
>

Фактически, вводная часть текста может содержать информацию о титульном листе (titlePage) и/или его фрагментах и/или элементах, расположенных на контртитуле, обороте титульного листа и т.п. (части объявления, начинающиеся с элемента argument), а также различные вводные тексты (элементы div и div1).

Титульный лист


Никакие вложенные в элемент front элементы не являются обязательными (обратите внимание на наличие знаков * и ?), однако рекомендуется использовать по крайней мере элемент titlePage, описывающий титульный лист произведения, или те элементы, которые входят в него, но могут быть использованы непосредственно в элементе front:


(
(anchor | gap | index | interp | interpGrp | lb
| milestone | pb)*,
(byline | docAuthor | docDate | docEdition | docImprint
| docTitle | epigraph | figure | titlePart),
(byline | docAuthor | docDate | docEdition | docImprint
| docTitle | epigraph | figure | titlePart
| anchor | gap | index | interp | interpGrp
| lb | milestone | pb)*
)
>

В структуре титульного листа могут быть выделены следующие элементы, не являющиеся служебными:
  • docTitle

Содержит название документа, включая все его составляющие, в том виде, как они приведены на титульном листе. Должен содержать по крайней мере один элемент titlePart.


(
(anchor | gap | index | interp | interpGrp | lb | milestone | pb)*,
(titlePart,
(anchor | gap | index | interp | interpGrp | lb | milestone | pb)*
)+
)
>
  • titlePart

Содержит подразделы или части названия произведения, как они представлены на ти­тульном листе; этот элемент используется также для свободно размещаемых фраг­ментов титульного листа, не являющихся частями названия документа, для указания авторства и т.д. Может включать разнообразные элементы разметки.
  • byline

Содержит первичные сведения об ответственности, приведенные на титульном листе, либо в начале или в конце произведения.
  • docAuthor

Содержит имя автора документа, как приведено на титульном листе (часто, но не всегда содержится в элементе byline).
  • docDate

Содержит дату (создания, печати) документа, как она представлена (обычно) на титульном листе.
  • docEdition

Содержит сведения о редакции документа («Издание 2-е, исправленное и допол­нен­ное»), как они представлены на титульном листе.
  • docImprint

содержит сведения об издании (место и дату публикации, название издательства), как представлено (обычно) в нижней части титульного листа.
  • epigraph

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

Фрагменты титульного листа и других вводных элементов документа


Руководство 7 ошибочно описывает некоторые элементы, как допустимые во вводной и завершающей частях текста. Текущая версия DTD TEI Light некоторые из описанных в 7 элементов допускает только в завершающей части текста, но не во вводной. Приведу не­ко­торые элементы, допустимые во вводной части текста (другие допустимые в этом месте элементы уже описаны выше):
  • argument

Формальный список или описание тем, раскрываемых в данном подразделе текста.
  • head

Заголовок. Может содержать многочисленные элементы фразовой разметки. Во ввод­ной части документа часто содержит элементы argument и byline и следу­ю­щие эле­менты:
  • salute

Содержит приветствие, предваряющее предисловие, посвятительное послание или другой раздел текста, а также приветствие в конце письма, предисловия и т.п.
  • dateline

Содержит краткое описание места, дату, время и т.п. создания письма, газетной статьи или другого произведения, предваряющее его как осо­бый вид заголовка.
  • opener

Группирует вместе элементы dataline, byline, salute или подобную им ин­формацию, которая появляется в качестве вступительной части в начале разде­ла, особенно в начале письма. Может содержать многочисленные элементы фразовой разметки.

Крупные блоки текста во вводной части следует выделять с помощью элементов div или div1.

Разметка завершающей части текста


Структура завершающей части текста отличается от структуры вводной части наличием в ней (в конце завершающей части) элементов trailer и/или closer и определяется сле­дующим объявлением:

(
(divGen | titlePage | anchor | gap | index
| interp | interpGrp | lb | milestone | pb)*,
(
(
(argument | byline | dateline | docAuthor | docDate
| epigraph | head | opener | salute | signed),
(argument | byline | dateline | docAuthor | docDate
| epigraph | head | opener | salute | signed
| titlePage | anchor | gap | index | interp
| interpGrp | lb | milestone | pb)*
)
|
(div,
(div | divGen | titlePage | anchor | gap | index
| interp | interpGrp | lb | milestone | pb)*
)
|
(div1,
(div1 | divGen | titlePage | anchor | gap | index
| interp | interpGrp | lb | milestone | pb)*
)
)?,
(trailer | closer)*
)
>

Элементы trailer и closer почти неотличимы друг от друга – они содержат, в основ­ном, элементы фразовой разметки, closer может содер­жать три элемента, который не могут входить в trailer: знакомые нам salute и dateline, а также signed, который содержит заключительное приветствие и т.п., следующее за разделом текста.