ГОСТ Р ИСО 24610-2—2013
8 Декларация системы элементов
П р и м е ч а н и е — Данный раздел представляет собой модифицированный вариант раздела 18.11 реко
мендаций TEI Guidelines PS. 2005. посвященного рассмотрению декларации системы элементов. Более детальное
обсуждение процедур логического вывода на основе FSD и еще один представительный пример можно найти в жур
нальной публикации Д. Теренса Лэнгендона и Гэри Ф. Саймонса (7).
8.1 Общие сведения
Стандартная декларация системы элементов (FSD) предназначена для использования в сочета
нии соструктуройэлементов (fs). соответствующей требованиям ИСО 24610-1:2006, хотя можетприме
няться и для документирования любых систем структурных элементов. Цели такого использования
изложены в разделе 1(«Область применения») вышеуказанногостандарта.
FSD реализует важную функцию точного документирования того информационного содержимого
(контента), которое кодировщик, определенный системой разметки структур элементов, использовал в
текстенаязыкеXML. Крометого. FSD — этоещеиважныйресурс, которыйстандартизуетправилалоги
ческого вывода, применяемые в программных средствахдля контроля правильности разметкиструктур
элементов в тексте идля обеспечения полной интерпретации недоопределенных структурэлементов.
Следует, однако, иметь в виду, что возможен целый ряд терминологических расхождений между
настоящимстандартом и сложившейсяпрактикойкакформальнойлогики, таки прикладнойлингвистики
типизированныхструктурэлементов. В частности то, что вструктурахэлементов понимается как«интер
претация» структуры, на самом деле не является таковой в модельно-теоретическом смысле, а пред
ставляет собой минимально информативное (или. что то же. наиболее общее) расширение (см. 5.6)
данной структуры элементов, которое соответствует множествуограничений, декларированных в FSD.
В рамкахлингвистического приложениятакаясистема ограниченийявляетсяосновным выразительным
средством грамматики используемого естественного языка. Однако существует заметное различие в
понимании того, какую же модельно-теоретическую интерпретацию (если таковая вообще существует)
имеют структуры элементов в подобныхприложениях. Этот аспектформальной интерпретации не име
ет отношения кданному стандарту. Термин valid (адекватная). как правило, относится еще и к области
формальной семантики, но вданном стандарте он обычно используется для описания чисто синтакси
ческого аспекта формальной правильности в смысле, определяемом самой логикой типизированной
структуры элементов, в отличие от понятия «формальная правильность» применительно к уровню
кодирования, охватываемому настоящим стандартом (см. раздел 6).
В следующем подразделе показывается, какимобразом вXML-кодограммедолжна использовать
ся информация заголовкадляформированияссылокналюбые ассоциируемыесней FSD. В разделах3,
4 и 5 описывается общая структура FSD и подробно рассматривается способ кодирования ее
частей. Соответствующий развернутый примердается в Приложении Б.
8.2 Привязка текста к декларациям систем элементов
Чтобы прикладная система программного обеспечения (ПО) могла использоватьдекларации сис
тем элементовдля автоматической интерпретациикодограмм или дажедля отысканиячеловеком соот
ветствующих деклараций, которые документируют систему элементов, используемую при разметке,
должна существовать формальная ссылка из закодированных текстов на соответствующие деклара
ции. Однако схема, в которой декларируется синтаксис системы элементов, должна быть отделена от
схемы представления структуры элементов, которая являетсялишь реализациейэтой системы.
Связь между FSD и документом, в котором используются структуры элементов, объявленные в
этойдекларации, материализуется в настоящем стандарте таким образом, чтобы эта связь не противо
речила правилам ее включения в блок <encodingDesc> заголовка документа <teiHeader> [14]. Элемент
fsdDecI может использоваться применительно к каждому отдельному типу структуры элементов, как
показано ниже (в рамках данного стандарта для определения таких элементов используется «компак
тный» вариант языкасхем RELAX NG):
element fsdDecI
{
att.global.attributes.
attribute type { data enumerated}?
attribute
urt
{ data.pointer},
empty
}
22