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

1. Из чего состоит текст?

2. А это тот же текст или нет?

3. Онтология текста

Где прячется текст? Что он?
  • Форма букв и их расположение на странице?
  • Оригинал этой копии?
  • История, которую мы читаем? или замысел автора?

Текст - это абстракция, созданная или сообществом читателей, или для этого сообщества. Разметка кодирует и конкретезирует подобные абтрактные положения.

4. Кодирование текста

  • Текст шире, чем последовательность кодированых знаков - у текста есть
    • структура, содержание
    • и возможность разных прочтений
  • Кодирование, или разметка, позволяет формально зафиксировать разные слои текста

Только то, что выражено формально, может быть автоматически обработано

5. В чем смысл разметки?

  • Сделать явным (для машины) то, что подразумеватся (читателем)
  • Обогатить текст, дополняя его различными аннотациями
  • Получить возможность повторно использовать тот же материал
    • в различных форматах
    • в различных контекстах
    • различными пользователями

(Обычно,) размечая текст, полезно следовать собственному представлению о том, что представляет собой то или иное явление текста, а не внешнему проявлению этого явления

6. Разметка как научная деятельность

  • Разметка документа может рассматриваться как интеллектуальная деятельность
  • Разрабатывая систему разметки и решая, какие стороны оригинального текста она будет отражать, автор разметки решает задачи публикатора текста
  • (Практически) не существует нейтральной разметки -- любая разметка предполагает интерпретацию
  • Разметка может быть использована при решении научных проблем, и поиск оптимальных способов разметки для подобных целей можно рассматривать как самостоятельную научную работа
  • Хорошая система кодирования текста создается не так легко и не так бытро, как многим бы хотелось
  • Для создания действительно эффективной системы разметки необходимо детальное исследование текста, и оно должно предшествовать кодированию

7. Какие преимущества дает нам разметка?

Сравним:
<lb/>
<hi rend="dropcap">H</hi>
<g ref="#WYNN"/>ÆT WE GARDE
<lb/>na in gear-dagum þeod-cyninga
<lb/>þrym gefrunon, hu ða æþelingas
<lb/>ellen fremedon. oft scyld scefing sceaþe
<supplied>na</supplied>
<lb/>þreatum, moneg<ex>um</ex> mægþum meodo-setl
<supplied>a</supplied>
<lb/>of<damage>
 <desc>blotted</desc>
</damage>teah ...
и
<lg>
 <l>Hwæt! we Gar-dena in gear-dagum</l>
 <l>þeod-cyninga þrym gefrunon,</l>
 <l>hu ða æþelingas ellen fremedon,</l>
</lg>
<lg>
 <l>Oft Scyld Scefing sceaþena þreatum,</l>
 <l>monegum mægþum meodo-setla ofteah;</l>
 <l>egsode Eorle, syððan ærest wearþ</l>
 <l>feasceaft funden...</l>
</lg>

8. Несколько аббревиатур

SGML Стандартный обобщенный язык разметки (Standard Generalized Markup Language)
HTML Язык разметки гипертекста (Hypertext Markup Language)
W3C Консорциум Всемирной паутины (World Wide Web Consortium)
XML Расширяемый язык разметки (eXtensible Markup Language)
DTD Определение или декларация типа документа (Document Type Definition or Declaration)
CSS Каскадные таблицы стилей (Cascading Style Sheet)
Xpath Язык XML Path
XSLT XSL-трансформации, расширяемый язык таблицы стилей - трансформации (eXtensible Stylesheet Language - Transformations)
XQuery Язык запросов XML (XML Querying)
RELAXNG Язык регулярных выражений для XML, Новое поколение (Regular Expression Language for XML, New Generation)

да, в этом ряду должна быть и TEI, Инициатива кодирования текстов

9. XML: что это такое и зачем он нам нужен?

  • XML - это структурированные данные, представленные как цепочка текста
  • XML похож на HTML, но при этом:
    • XML может расширяться
    • XML должен быть правильно структурированным
    • XML может быть валидирован
  • XML является независимым от приложения, платформы, торговой марки
  • Использование XML дает новые возможности публикатору и позволяет облегчить интеграцию данных

10. Терминология XML

XML-документ может содержать:
  • элементы, которые в свою очередь могут содержать атрибуты
  • инструкции обработки
  • комментарии
  • ссылки на объекты (entity references)
  • размеченные разделы (CDATA, IGNORE, INCLUDE)

XML документ должен быть правильно структурирован и может быть валидирован

11. Правила игры в XML

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

12. Дерево XML

  • XML документ кодируется как линейная последовательность буквенных символов
  • Документ начинается специальной инструкцией обработки
  • Границы элемента размечаются открывающим и закрывающим тегами
  • Символы < and & ВОЛШЕБНЫЕ, и, если они Вам нужны, придется выкручиваться
  • Комментарии выделяются знаками <!- - и - ->
  • Раздел CDATA выделяется как <![CDATA[ и ]]>
  • Атрибуты (пары название/значение) задаются в открывающем теге и могут следовать в любом порядке
  • Сноски на объекты ограничены знаками & и ;

13. Полный состав XML-документа

<?xml version="1.0"?> <greetings xmlns="http://www.example.com/ns"> <hello type="fulsome">Привет, мир!</hello> </greetings>
  • XML-декларация
  • Декларация пространства имен
  • Корневой элемент документа
  • Другие элементы и содержание
  • Атрибут и его значение

14. XML-декларация

<?xml version="1.0" encoding="iso-8859-1"?>
XML-документ должен начинаться XML-декларацией которая:
  • определяет документ как XML документ и указывает, к какой версии стандарта XML он относится
  • может сообщать о кодировке буквенных символов (в том случае, если не используется предусмотренная по умолчанию и рекомендованная кодировка UTF-8)

15. Декларация пространства имен

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

<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:math="http://www.mathml.org"> <p>...<math:expr>...</math:expr>...</p>...</TEI>
  • Декларация пространства имен связывает префикс пространства имени с внешним идентификатором URI типа
  • Пространство имен, выбираемое по умолчанию, должно быть декларировано с помощью xmlns
  • Остальные пространства имен должны имень специально заявленный префикс
  • Все документы TEI декларируются в рамках пространства имен TEI
  • Пространство имен xml доступно во всех XML-документах; TEI использует его для глобальных атрибутов xml:id и xml:lang

16. Декларация типа документа (DTD)

Иногда можно встретить необязательную декларацию DocType (DTD):

<?xml version="1.0" ?> <!DOCTYPE greeting SYSTEM "greeting.dtd []">
  • DTD - это способ связать документ с его схемой (но в W3C или RELAXNG для подобных целей DTD не используется)
  • Подмножество DTD используется для того, чтобы представить дополнительные декларации для деклараций схемы, например для внешних файлов
  • Подмножество DTD может быть внутренним, внешним или смешанным

DTD уже "вышли из моды" -- предпочтение отдается схемам RELAXNG или W3C

17. Синтаксис XML: мелкий шрифт

Что значит правильно структурированный документ?

  1. Есть корневой узел, содержащий весь XML-документ
  2. Каждое из подчиненных деревьев расположено в отведенном ему месте корневого узла
  3. Названия всегда реагируют на изменения регистра
  4. Открывающие и закрывающие теги всегда строго обязательны (кроме случаев комбинированного использования начального и конечного тега для обозначения пустого узла)
  5. Значение атрибутов всегда дано в кавычках

Примечание: Ваш документ может быть валидирован в дополнение к правильному оформлению. Это значит, что Вы соблюли все правила выбранной схемы, например, TEI.

18. Проверьте Ваши знания XML

  • В каких разметках нет ошибок?
    • <seg>some text</seg>
    • <seg><foo>some</foo> <bar>text</bar></seg>
    • <seg><foo>some <bar></foo> text</bar></seg>
    • <seg type="text">some text</seg>
    • <seg type='text'>some text</seg>
    • <seg type=text>some text</seg>
    • <seg type = "text">some text</seg>
    • <seg type="text">some text<seg/>
    • <seg type="text">some text<gap/></seg>
    • <seg type="text">some text< /seg>
    • <seg type="text">some text</Seg>


Date: 2008-07-13
Copyright University of Oxford