ГОСТ Р ИСО/МЭК 8825-4 — 2009
Приложение В
(справочное)
Примеры EXTENDED-XER кодирования с использованием команд кодирования XER
В.1 Введение
В.1.1 Эго приложение содержит обучающую информацию и примеры применения команд кодирова
ния XER.
П р и м е ч а н и е — Все примеры АСН.1 в этом приложении предполагают использование среды
AUTOMATICTAGS.
В.1.2 Обычно команды кодирования требуется назначать спецификации АСН.1 только в том случае, когда
разработчику требуется соответствие фактической формы XML кодирования форме, определенной другими спе
цификациями или приемлемой для других инструментов XML. В противном случае, может быть использована
только АСН.1 (с кодированием BASIC-XER или CXER).
В.1.3 Если АСН.1 используется как нотация определения схемы, то дополнительное использование ко
манд кодирования будет в общем случае обеспечивать более компактное XML кодирование, чем использование
только АСН.1. но результаты кодирования будут представлять собой гораздо более длинные тексты, чем при
использовании АСН.1 с Правилами Уплотненного Кодирования (PER).
П р и м е ч а н и е — Примеры (а также идентификаторы и использованные имена типов), предназна
чены для иллюстрации особенностей EXTENDED-XER и. вобщем, не представляют собой реальных специфи
каций.
В.1.4 Команды кодирования XER делятся на две большие категории.
В.1.5 В первую категорию попадают команды кодирования, которые, обычно,полезныпри
разработке формы документа XML. Они, как правило, допустимы даже при отсутстствии DEFAULTS GLOBAL
MODIFIED-ENCODINGS. Двумя наиболее полезными из них являются ATTRIBUTE и LIST, и впВ.2 представле ны
простые примеры их использования.
В.1.6 Во вторую категорию попадают команды кодирования, которые предназначены для поддержки
отображения из W3C XML Schema, специфицированного в ИСО/МЭК 8825-5. Они обычно требуют наличия
DEFAULTS GLOBAL MODIFIED-ENCODINGS вразделе управления кодированием, но это не показано в примерах. В
этих примерах предполагается, что любой тип ссылки, начинающийся с "XSD*. будет импортирован из прило жения
А ИСО/МЭК 8825-5. В пункте В.З приводятся примеры их использования. Эти примеры не являются полными
модулями АСН.1 и полными XML-документами: модуль заголовков, как правило, опущен, а также
предполагается, что любой XML атрибут, начинающийся с “asnl:". будет управляющим атрибутом, использу
ющим пространство имен asn1 для управляющего атрибута, когда предполагается, что префикс "asn1“ уже
декларирован. (На практике, если источником результата кодирования является схема W3C XML Schema,
более вероятно использование префикса "xsi" с пространством имен XSI).
В.1.7Почти во всех случаях команды кодирования, снабженные префиксами, используются дня ясности,
хотя в реальной спецификации большая краткость (и более четкое отделение определения абстрактного
синтаксиса or проблем кодировки) будет достигнута за счет использования Раздела Управления Кодированием.
В.2 Простые примеры
В.2.1 Бейсбольная карточка:
BBCard::= SEQUENCE {
name [ATTRIBUTEJ IA5String.
team (ATTRIBUTE] IA5String.
age INTEGER,
position IA5String,
handedness ENUMERATED {
left-handed,
right-handed,
ambidextrous },
batting-average REAL}
Игнорируя команду кодирования (BASIC-XER), мы получим:
<BBCard>
<name>Jorge Posada</name>
<team>New York Yankees</team>
<age>29</age>
<position>C</position>
<handedness><right-handed/></handedness>
72