ГОСТ Р ИСО 24610-2—2013
{
att.global.attributes
fsDecl.attributes.
fsDecl.cont
}
fsDGd.content =fsDescr?, fDecl+, fsConstraints?
fsDecl.attributes =
attribute type {data.enumerated},
attribute baseTypes { list { data.name+}}?
fsDescr = element fsDescr
{
att.global.attributes
fsDescr.content
}
fsDescr.content = macro.limitedContent
АтрибутbasoTyposдает именаодногоили несколькихтипов, откоторыхданныйтипнаследуетспе
цификации элементов и ограничения; если данный тип содержит спецификацию элементов с тем же
именем, что и у спецификации, наследуемой от любого из типов, определяемых этим атрибутом, или
имеет место наследование несколькихспецификацийс одним итем жеименем, то возможные значения
этогоэлементаопределяются посредством унификации. Аналогичносовокупностьприменимыхограни
чений выводится путем сочетанияограничений, заданныхявно внутриданного элемента, сограничени
ями. которые подразумеваются атрибутом baseTypes.
Когда базовый тип неопределен, ниспецификацияэлементов, ни ограничение не наследуются.
Несмотря на то. что настоящей частью ИСО 24610 предусматривается возможность использова
ния стандартных значений элементов, наследование свойствопределяется как монотонное.
Процесскомбинирования ограничений может приводить к противоречию: например, втом случае,
когдадве спецификациидляодного итого жеэлементаопределяютнесогласованныедиапазоны значе
ний и хотя бы одна из таких спецификаций является обязательной. В подобных случаях адекватной
структуры элементовдля определяемого типа несуществует.
Каждый из типов, определенных в baseTypes. должен представлять собой одно слово, разрешен
ное списком именXML: например, в именинедолжно бытьпробелов, ионо не может начинаться с цифр.
Множественные базовые типы отделяются друг от друга пробелами: например, <fsDecl type="Sub"
baseTypes-’Superl Super2*>.
Атрибут <fsDescr> может содержать любой текст, за исключением определенных служебныхэле
ментов (например, del), используемыхдля транскрибирования существующих текстов.
8.4 Декларации элементов
8.4.1 Общие замечания
Каждый элемент объявляется в элементе <fDecl>. в котором атрибут имени указывает объявляе
мое свойство; этотатрибутсоответствует атрибуту именидекларируемых элементов <f>.
Элемент <fDecl> состоит из трехчастей: необязательного текстового описания, в которомдолжно
объясняться, какой именноэлементи какиеего значения представляются; обязательной спецификации
диапазона значений, которая декларирует разрешенные значения элемента; и необязательной специ
фикациистандартных значений, где декларируются значение поумолчанию, подлежащее выбору в том
случае, когда названный элемент не появляется в <fs>. При этом можетопределяться либо единствен
ное безусловное стандартное значение, либо множество обусловленныхзначений.
8.4.2 Логический вывод типа для обязательных элементов
Если в некоторой структуреэлементов какой-тоэлемент
- не является опциональным (т. е. обязателен),
- не имеет присваиваемого значения или получает значение <default> (см. ИСО 24610-1:2006,
пункт 5.10. Значения по умолчанию) и
- либо не имеетзаданного значения поумолчанию, либо имеет обусловленные стандартные зна
чения, для которых не удовлетворяется ни одно из условий,
тозначениемтакого элементав самом общемадекватном расширенииструктурыэлементовбудет
наиболее общее значение, представленное в его элементе <vRange> в случае блочной организации,
одноэлементного множества и множества с повторяющимися элементами или в списке, содержащем
данный элемент, при сложной организации.
25