ГОСТ Р ИСО 24610-2—2013
8.3 Общая структура декларации системы элементов
Декларация системы элементов кодируется как документ типа <fsd>. Помимо своих глобальных
атрибутов этотдокумент содержитдве части: опциональный заголовок(которыйдает библиографичес
кую информацию для файла) и совокупности деклараций структур элементов, каждая из которых опре
деляет один тип структуры элементов. Каждая декларация структуры элементов, в свою очередь,
состоит из трех частей: опционального описания (которое дает словесный комментарий, поясняющий,
что именно кодирует данный тип структуры элементов); обязательной совокупности деклараций эле
ментов (которая устанавливает ограничения по диапазону значений и задает значения по умолчанию
для элементов структуры данного типа) и опциональных ограничений структуры элементов (которые
определяют в число другихограничения насовместную встречаемость значений элементов). Рекомен
дуется кодировать заголовок как элемент <teiHeader> (см. [14], глава 2). Прочие вышеперечисленные
компоненты уникальны для деклараций системы элементов. Поэтому появляется целый ряд новых
элементов, представленныхниже:
- <fsd> (feature system declaration) содержит декларацию системы элементов;
- <fsDecl> (feature structure declaration) декларирует один тип структуры элементов:
- <fsDescr> [feature structure description (в FSD)] описывает в текстовой форме, что именно харак
теризуется типом структуры элементов, объявленным во вложении <fsDecl>;
- <fDecl> (feature declaration) декларирует единственный элемент, определяя его имя. способ
организации, диапазондопустимых значений и, возможно, но не обязательно — его значение, присваи
ваемое по умолчанию;
- <fsConstraints> (feature-structure constraints) определяет другие конкретные ограничения,
накладываемые на адекватные структуры элементов внутри данной FSD.
Декларации элементов иограничения структур элементов рассматриваются вдвух последующих
подразделах (8.4 и 8.5). Спецификация аналогичных элементов <fsDec!> может быть упрощена путем
введения иерархии наследования для различных типов структур элементов. Каждый элемент <fsDecl>
можетсодержатьодно или несколькоимен базовыхтипов basoTypos. откоторыхон наследуетдеклара
ции элементов и ограничения (эти типы часто называются «супертипами»).
Предположим, для примера, что <fsDecl type="Basic*> содержит <fDecl name=’one*> и <fDecl
name=’two”>. a <fsDecl type="Derived" baseTypes=“Basic"> содержит только <fDocl name="three’>.Тогда
любойэкземпляр <fstype=”Derived">долженвключатьв себя всетри элемента. Это происходитпотому,
что <fsDecl type="Derived"> наследует две декларации элементов от <fsDecl type=*Basic">, когда он
определяет базовый тип Basic.
Пример — Приведенный ниже пример показывает общую структуру полной декларации FSD
<(sd>
<telHeader>
<!—Заголовок как для документа TEI -->
<i’telHeader>
-tsDecI type=*SomeName*>
<fsDescr>Onnct4BaeT сущность, представляемую данным типом fs </feDeecr>
<IDecl name=*featureOne">
<!—Декпарация для featureOne ->
<i’fDecl>
<fOecl name=’featureTwo">
<!—Декларация для featureTwo -->
<itOecl>
<fsConstralnts>
<t—Здесь указываются ограничения структуры элементов ->
</fsConstralnts>
</fsDecl>
<»sDecl type=’AnomerType">
<!—Декларируется другой тип структуры элементов -->
<)feDecl>
</lsd>
Формальное определение <fsd> иее компонентов выглядитследующим образом:
elementfsd {att.global.attributes, fsd.content)
fsd.content =teiHeader?. fsDecl+
fsDecI =elementfsDecJ
24