Хотя основное внимание в этом документе уделено использованию системы TEI для кодирования существующих "до-электронных" документов, такая же процедура может использоваться и для кодирования новых. При подготовке новых документов (таких как этот, например) настоятельно рекомендуется использование SGML: структура документов в этом случае представлена в явном виде, один и тот же электронный текст может использоваться в различных целях например, чтобы обеспечить как интерактивные гипертекстовые или просмотровые версии, так и хорошо отформатированные типографские версии документа из общего SGML-оригинала.
Для достижения этих целей в TEI Lite включено небольшое число дополнительных элементов как расширение основного списка TEI DTD; упомянутые дополнительные элементы используются для обозначения характерных особенностей технических документов вообще и связанных с SGML документов в частности.
Для обозначения характерных особенностей технических документов можно воспользоваться следующими элементами:
Приведенный ниже пример показывает, как можно использовать эти элементы для кодирования отрывка из вводного курса по программированию на языке ФОРТРАН:
<p>It is traditional to introduce a language with a program like the following: <eg> CHAR*12 GRTG GRTG = 'HELLO WORLD' PRINT *, GRTG END </eg></p> <p>This simple example first declares a variable <ident>GRTG</ident>, in the line <code>CHAR*12 GRTG</kw>, which identifies <ident>GRTG</ident> as consisting of 12 bytes of type <kw>CHAR</kw>. To this variable, the value <mentioned>HELLO WORLD</mentioned> is then assigned. This is followed by a <kw>PRINT</kw> statement and an <kw>END</kw> statement.
Обрабатывая текст, подобный приведенному выше, с помощью форматирующего приложения, можно указать этому приложению приемы правильного форматирования (например, сохранить строки оригинала или использовать другой шрифт). Точно так же, использование таких тегов, как <ident> и <kw>, значительно облегчает построение правильного указателя.
Элемент <formula> используется для того, чтобы включить в текст в качестве отдельной единицы математическую или химическую формулу. Поскольку для представления формул, как правило, используется множество самых разнообразных специальных символов и функций, не встречающихся в обычном тексте, возникает необходимость представить основную часть формулы в специализированной системе записи (в специализированной нотации). Используемую нотацию следует определить с помощью атрибута notation, как это показано на следующем примере:
<formula notation=tex> \(E = mc^{2}\) </formula>
Нотация Tex для TEI Lite DTD является стандартной; можно использовать и другие нотации, но их необходимо сначала определить с помощью объявления notation в DTD.
Внутри элемента <formula> допускается почти любая последовательность символов, если она будет обрабатываться процессором, воспринимающим SGML. Данные, не измененные программой синтаксического разбора, проходят для обработки в приложение, которое определяется заданной нотацией. Единственным исключением из этого правила является то, что программа синтаксического разбора распознает всякую последовательность символов, напоминающую окончание тега SGML, т.е. знак "меньше" (<), за которым сразу же следует знак "косая черта" (/) и алфавитный символ. Ниже приведен пример последовательности символов, которая окажется причиной того, что анализатор SGML обнаружит ошибки:
<formula notation=tex> \(E = mc^{2}</a\) </formula>
К счастью, встретить последовательность символов </ в большинстве используемых на практике математических нотаций крайне маловероятно. Если же это произойдет, следует воспользоваться особыми средствами, описание которых не входит в задачу данного руководства (более подробная информация приведена в полной версии Принципов TEI).
Эта проблема более актуальна, когда темой технического документа является кодирование SGML, а сам документ кодируется в SGML. Очевидно, что в таком документе необходимо четко разграничить разметку SGML, приводимую в качестве примеров, и собственно разметку документа, причем в примерах очень вероятно появление знаков окончания тегов. Наиболее общим решением является выделение тела каждого SGML-примера как содержащего данные, поскольку программа синтаксического разбора не проверяет их соответствие разметке SGML. Это достигается путем выделения примеров в специальную конструкцию SGML, которая называется отмеченная секция CDATA. Ниже приведен пример такой конструкции:
<p>A list should be encoded as follows: <eg><![ CDATA [ <list> <item>First item in the list</item> <item>Second item</item> </list> ]]> </eg> The <gi>list</gi> element consists of a series of <gi>item</gi> elements.
Использованный в примере элемент <list> не будет рассматриваться как составная часть самого документа, поскольку он введен в пределах отмеченной секции (которая начинается объявлением специальной разметки <![ CDATA [ и заканчивается символами ]]>).
Следует отметить также использование элемента <gi> для выделения тегами ссылок на имена элементов SGML (или идентификаторы) в основной части текста.
Большинство современных систем обработки документов способны автоматически генерировать целые разделы, например, содержание или предметный указатель. В системе TEI Lite предусмотрен элемент для обозначения места, где следует разместить такой сгенерированный раздел.
Элемент <divGen> можно разместить в любом месте, где допускается появление элемента подраздела, как это показано в следующем примере:
<front> <titlePage> ... </titlePage> <divGen type=toc> <div type='Preface'><head>Preface</head> ... </div> </front> <body> ... </body> <back> <div1><head>Appendix</head> ... </div1> <divGen type=index n='Index'> </back>
В этом примере продемонстрировано также использование атрибута type для обозначения различных типов генерируемых разделов: в первом случае это содержание (toc), а во втором -- указатель.
Если необходимо закодировать уже существующий указатель или содержание (а не сгенерировать их заново), следует воспользоваться элементом <list>, который описан в разделе Списки.
В то время как автоматическое создание содержания в правильно размеченном тегами документе обычно не является проблемой, создание указателя хорошего качества зачастую требует более тщательной разметки. Может оказаться недостаточным просто составить список всех частей, отмеченных каким-либо определенным тегом, хотя выбор, например, всех случаев появления таких элементов, как <term> или <name> часто оказывается хорошей отправной точкой для формирования указателя.
В TEI DTD предусмотрен специальный тег <index>, которым можно воспользоваться как для обозначения частей документа, которые следует включить в указатель, так и для определения способа его формирования.
Например, второй абзац этого раздела мог бы выглядеть следующим образом:
... В TEI DTD преусмотрен специальный тег <gi>index</gi>, <index level1='указатель'> <index level1='index (тег)' level2='использование при генерации указателя'> которым можно воспользоваться ...
Элемент <index> можно использовать и для того, чтобы зафиксировать некоторые формы пояснений или аналитической информации. Например, при изучении произведений Овидия с целью сравнительного стилистического анализа весьма желательно зарегистрировать ссылки поэта на различных персонажей. В приведенных ниже строках его Метаморфоз подобное исследование должно зафиксировать следующие упоминания поэтом Юпитера (как deus, se, и как подлежащее для сказуемого confiteor [во флективной форме номер 227]), на Юпитера в образе быка (как imago tauri fallacis и как подлежащее для сказуемого teneo) и т.д. (Этот анализ взят с разрешения авторов из работы Вилларда Мак-Карти и Бартона РайтаАналитическая ономастика "Метаморфоз" Овидия(Издание Принстонского университета, в печати). Сделаны некоторые упрощения.)
<l n=3.001>iamque deus posita fallacis imagine tauri <l n=3.002>se confessus erat Dictaeaque rura tenebat
Это требование можно было бы удовлетворить с помощью элемента <note>, описанного в разделе Примечания, или элемента <interp>, рассмотренного в разделе Интерпретация и анализ. Здесь показано, как можно достичь поставленной цели с помощью элемента <index>.
Предполагается, что конечной целью является генерирование нескольких указателей: одного для имен богов (он назван dn), другого для ономастических ссылок (он назван on), третьего для местоименных ссылок (он назван pr) и т.д. Ниже приведен пример того, как можно решить эту задачу:
<l n=3.001>iamque deus posita fallacis imagine tauri <index index="dn" level1="Iuppiter" level2="deus"> <index index="on" level1="Iuppiter (taurus)" level2="imago tauri fallacis"></l> <l n=3.002>se confessus erat Dictaeaque rura tenebat <index index="pr" level1="Iuppiter" level2="se"> <index index="v" level1="Iuppiter" level2="confiteor (v227)"> <index index="mons" level1="Dicte" level2="rura Dictaea"> <index index="regio" level1="Creta" level2="rura Dictaea"> <index index="v" level1="Iuppiter (taurus)" level2="teneo (v9)"></l>
Для каждого приведенного выше элемента <index> статья указателя будет создаваться в соответствующем указателе, причем в качестве заглавного слова используется значение атрибута level1, в качестве вторичного ключевого слова значение атрибута level2, которое содержит это слово в именительном падеже. Реальная ссылка будет взята из контекста, в котором появляется элемент <index>, т.е. в данном случае его содержит идентификатор элемента <l>.
Последние изменения: Суб Июл 4 20:14:12 MSD 1998
Сгенерировано TEItools