Text only | Skip links
Skip links||IT Services, University of Oxford

1. Работаем со схемой TEI

Сегодня мы узнаем, как:
  • с помощью шаблона Oxygen создать корректный TEI-документ;
  • с помощью веб-программы Roma создать схему TEI

1.1. Использование шаблона Oxygen

На первом практическом занятии мы создали правильно структурированный документ, но мы в наши задачи не входило задать соответствие документа какой-либо схеме.

В дистрибутив Oxygen входят готовые шаблоны для большого числа популярных схем, в том числе и TEI. Воспользуемся одной из них, чтобы создать простейший паспорт документа TEI для стихотворения, которое мы размечали вчера.

Запускаем Oxygen. И хотя мы видим, что документы, с которыми мы работали в последний раз, открываются автоматически, сегодня мы начнем с создания нового документа.
  1. Как и в прошлый раз, для того чтобы открыть диалоговое окно создания документа, делаем клик на иконе New Document в верхнем левом углу (альтернативные варианты: выбираем New Document в меню File или набираем комбинацию CTRL-N). Но на этот раз выбираем закладку from Templates.

    Выбираем из списка опций TEI P5 - Lite и нажимаем OK.

  2. Открывается новое окно редактирования, в котором уже проставлены необходимые для «действительного» «паспорта TEI-документа» элементы.

    .

    Меняем на русский английский текст, напечатанный вместо заглавия (title), выходных данных (publication statement) и описания источника (sourceDesc) нашего электронного издания стихотворения Пушкина.

  3. Теперь заменим содержимым файла, который мы подготовили вчера, текст <p>Some text here.</p> внутри элемента <text> (расположен за <teiHeader>). Простейший способ — воспользоваться методом «вырезания и вставки»:
    • Активизируем окно, в котором мы работали со стихотворением Пушкина (окно обозначено закладкой pushkin.xml).
    • С помощью мыши полностью выделяем элемент <div type="poem">
    • Нажимаем CTRL-c (или выбираем опцию Copy в меню Edit)
    • Теперь активизируем наш новый файл, который мы только что создали (если мы не сохранили его под другим именем, он, скорее всего, называется untitled.xml).
    • С помощью мыши выделяем текст <p>Some text here.</p> и нажимаем CTRL-v (или выбираем Paste в меню Edit), чтобы заменить его размеченным текстом стихотворения А.С. Пушкина
  4. Теперь посмотрим, пройдет ли наш файл валидацию и, если нет, то что нужно для этого сделать?
  5. Вернемся к <teiHeader> и добавим элемент <revisionDesc>, чтобы указать, когда мы вносили изменения в документ.
    • С помощью мыши помещаем курсор непосредственно за конечным тегом </fileDesc>
    • Набираем символ < и видим, что Oxygen предлагает нам список всех допустимых в данном месте (согласно схеме) элементов и их описания.

    • С помощью стрелок клавиатуры доходим до нужного нам элемента <revisionDesc>, и нажимаем ENTER.
    • Обратите внимание, что сейчас курсор находится внутри начального тега <revisionDesc>, позволяя нам вставить атрибуты. Но сейчас атрибуты нам не нужны, поэтому мы, пользуясь стрелкой «вправо», помещаем курсор перед конечным тегом, и снова набираем <.
    • Программа предлагает нам два элемента: <list> или <change>; мы выбираем второй вариант.
    • Курсор, как и в прошлый раз, находится внутри начального тега, и теперь мы набираем пробел.
    • Из появившегося длинного списка атрибутов, предусмотренных для элемента <change>, выбираем when и нажимаем ENTER.

    • В качестве значения атрибута вводим сегодняшнюю дату в формате ГГГГ-ММ-ДД. А теперь попробуем ввести несуществующую дату (например, 32 августа) и посмотрим, что получится.
    • В качестве содержания элемента <change> набираем небольшой текст (например, ‘Первая версия, прошедшая валидацию по схеме TEI’).
  6. А теперь можно поэкспериментировать и посмотреть, какие элементы могут быть использованы в разных частях нашего документа.
  7. Теперь, чтобы увидеть документ целиком, нажимаем на кнопку Author в нижней части экрана. И не забудьте сохранить документ!

1.2. Создаем схему TEI

В предыдущем задании мы работали с готовой схемой TEI, которая называется TEI Lite. Эта схема достаточна для разметки большей части самых разных TEI-документов, при этом количество предлагаемых ею возможностей значительно больше, чем необходимо подавляющему большинству пользователей. Но если мы хотим создать точно отвечающую нашим потребностям схему (любой сложности), мы можем воспользоваться веб-программой Roma. Для начала попробуем создать очень простую схему.
  1. Открываем http://www.tei-c.org/Roma/ (подойдет любой браузер).
  2. Нажимаем на кнопку, обозначенную «Create Customization from Template». Выбираем «Absolutely Bare» (опция по умолчанию).

  3. Нажимаем на большую красную кнопку в левом нижнем углу окна.
  4. Roma выводит на экран информацию о схеме, которую мы собираемся создать.

  5. Roma предлагает ряд функций, доступ к которым осуществляется с помощью кнопок, расположенных в ряд в верхней части экрана. Предусмотрена и возможность выбора языка интерфейса. Если мы хотим работать на русском языке, выделяем с помощью клика круглую кнопку рядом со словом «Russian», а потом опять нажимаем на большую красную кнопку в левом нижнем углу.

  6. Пока мы просто хотим получить схему. Нажимаем на кнопку с надписью Schema (Схема).
  7. Теперь мы можем выбрать язык схемы из данного списка. Выбираем вариант по умолчанию: Relax NG schema (compact syntax) и опять нажимаем на большую красную кнопку в нижнем левом углу.

  8. Сохраняем полученный файл tei_bare.rnc в нашу рабочую папку. Теперь мы можем перейти к выполнению следующего упражнения.

1.3. Размечаем Mr Punch

Задача этого упражнения - разметить одну из страниц газеты «Punch». Нам помогут файлы из рабочей папки, содержащие:
  • цифровые фотографии каждой страницы (файлы с расширением .jpg, например 147_001.jpg – цифровая фотография первой страницы, файлы собраны в папке Punch/Pages);
  • неразмеченный текст каждой страницы (файлы с расширением .txt, например 147_001.jpg – текст первой страницы, файлы собраны в папке Punch/Text (для второй страницы);
  • иллюстрации (файлы с расширением .png, например 003.png – иллюстрации третьей страницы, файлы собраны в папке XML/Graphics);
  • образец «паспорта TEI» (файл XML/punchHdr.xml), паспорт можно редактировать, либо просто присоединить к документу.

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

Снова запускаем Oxygen и создаем новый документ. Мы это уже умеем. Не забудьте в диалоге Create an XML Document проверить наличие галочки около пункта Use a DTD or Schema.

Открываем закладку Relax NG и находим папку, в которой мы сохранили полученный от Roma в предыдущем упражнении файл tei_bare.rnc. Этот файл и будет нашей схемой.

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

Давайте посмотрим, как глубоко мы можем разметить нашу страницу? Не расстраивайтесь, если ответом на наш вопрос будет: ‘Не слишком!’, ведь «голая» схема по сути предлагает лишь абзацы и списки.

Для того, чтобы иметь в своем распоряжении больше элементов, нам нужно изменить схему. И теперь мы вернемся к Roma и выясним, что еще он может нам предложить.

1.4. Более развернутая схема

Итак, наша задача - создать более сложную модификацию схемы tei_bare, добавив к ней несколько элементов, необходимых для разметки текстов из «Punch».

  1. Запускаем Roma и выбираем персонализацию Bare Bones. Мы уже это делали.
  2. Открываем закладку Modules (Модули). Перед нами список доступных модулей (слева) и выбранные модули (справа).

    )

  3. Чтобы добавить модуль в список выбранных модулей (справа на экране), делаем клик на Add (Добавление ), находящемся в левой стороне экрана рядом со словом figures (‘изображения’).
  4. Посмотрим, какие элементы каждого из модулей используются в нашей схеме. Сначала сделаем клик на слове core из правого списка.
  5. Перед нами длинный список элементов. Мы можем:
    • указать, следует ли включить (кнопка Включить выделена точкой) или исключить (выделена кнопка Исключить) тот или иной элемент;
    • изменить название элемента (не рекомендуется!);
    • сделать клик на вопросительный знак, чтобы прочитать определение этого элемента в «Руководстве TEI» в Интернете...
    • ... или ознакомиться с кратким описанием элемента;
    • сделав клик на Изменение атрибутов , просмотреть список атрибутов, предусмотренных для данного элемента.

  6. Так выглядит минимальный список элементов для элементарной разметки страницы «Punch»: <bibl>, <cit>, <graphic>, <hi>, <l>, <lg>, <name>, <pb>, <q>, <sp>, <speaker> и <stage>. Но ничто не мешает нам рассмотреть и добавить другие элементы!
  7. Если мы закончили выбирать элементы, нажимаем на кнопку Submit Query в левом нижнем углу и таким образом обновляем схему (теперь она содержит все выбранные нами элементы). Нажимаем на кнопку Back и возвращаемся к списку модулей.
  8. Просматриваем список элементов модуля figures (этот модуль мы уже добавили к схеме). Хотя элементов немного, мы можем смело удалить элемент <formula> – он нам не потребуется
  9. Если набор элементов нас устраивает, опять делаем клик на кнопку Схема.
  10. Сохраняем созданную схему в файле формата RNC (как и в прошлый раз).
  11. Мы также можем сделать клик на Documentation и создать документацию для наших коллег.

Теперь дело за вами! Откройте Oxygen и посмотрите, как, используя новую схему, можно усовершенствовать разметку документа, с которым мы работали.

Чтобы заменить старую схему teibare новой, мы должны:
  • удалить размещенную в начале нашего документа инструкцию обработки (она, скорее всего, выглядит так: <?oxygen RNGSchema="http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_bare.rng" type="xml"?>);
  • выбрать опцию «Associate Schema» в меню «Document» → «XML Document»;

  • указать файл, в котором мы сохранили схему, созданную для нас Roma.


Date: 2008-07-07
Copyright University of Oxford