В. А. Капустин Содержание Формальные структуры текстовых документов 1 Курс лекций
Вид материала | Курс лекций |
- Курс лекций по дисциплине " основы компьютерных технологий" Часть I. Microsoft Word, 432.92kb.
- Сферы использования текстовых документов, 52.06kb.
- Курс, 1-й семестр лекции (51 час), экзамен практикум на ЭВМ (68 часов), зачет (с оценкой), 24.4kb.
- Календарный план курса учебных занятий по спецкурсу «Формальные языки моделирования, 61.45kb.
- Тема: Создание документов в текстовых редакторах, 13.54kb.
- Н. Э. Баумана Кафедра Компьютерные системы и сети Г. С. Иванова, Т. Н. Ничушкина Оформление, 109.65kb.
- Формальные и неформальные структуры, их роль в организации содержание, 304.91kb.
- Текстовые редакторы это программы для создания и редактирования текстовых документов, 263.8kb.
- Курс лекций Преподаватель Михайлов Н. Л. Рыбинск 2001, 562.19kb.
- Курс лекций Барнаул 2001 удк 621. 385 Хмелев В. Н., Обложкина А. Д. Материаловедение, 1417.04kb.
Версии 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;)*)?
)
>
В результате разметки монолитного текста получается структура, подобная приведенной ниже:
Тело текста ... -->
Объединенный текст также имеет необязательные вводную и закрывающую части. Между ними располагается одна или несколько групп текстов, каждая из которых тоже может иметь свои собственные вводные и завершающие части. Таким образом, в результате разметки объединенного текста получается структура, подобная приведенной ниже:
Разметка основной части текста
Элемент body содержит всю основную часть одного монолитного текста, исключая то, что относится к вводной или завершающей частям текста. Этот элемент включает несколько классов элементов:
- Блочная структура текста
Сюда входят абзац (p) и разделы (div1 … div7, 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, который содержит заключительное приветствие и т.п., следующее за разделом текста.