Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 8825-4-2006 Информационная технология (ИТ). Правила кодирования АСН.1. Часть 4. Правила XML кодирования (XER)

     

Приложение А
(справочное)

     
Примеры кодирования


Настоящее приложение иллюстрирует применение правил XML кодирования, а также содержит XML разметку представления записи (гипотетической) данных о персонале, которая определяется с использованием АСН.1.

    А.1 АСН.1 описание структуры записи

Ниже представлена структура гипотетической кадровой записи данных с использованием АСН.1, определенной в ИСО/МЭК 8824-1 и идентичной описанной в ИСО/МЭК 8825-1 (приложение А):

PersonnelRecord :: = [APPLICATION 0] IMPLICIT SET {

name

Name,

title

[0] VisibleString,

number

EmployeeNumber,

dateOfHire

[1] Date,

nameOfSpouse

[2] Name,

children

[3] IMPLICIT

SEQUENCE OF Childlnformation DEFAULT {}}

Childlnformation :: = SET

{ name

Name,

dateOfBirth

[0] Date}

Name :: = [APPLICATION 1] IMPLICIT SEQUENCE

{ givenName

VisibleString,

initial

VisibleString,

familyName

VisibleString}

EmployeeNumber :: = [APPLICATION 2] IMPLICIT INTEGER

Date :: = [APPLICATION 3] IMPLICIT VisibleString - YYYYMMDD


Примечание - Теги используются только для сравнения с примером предыдущей версии ИСО/МЭК 8824-1 и не влияют на XML кодирование.

    А.2 АСН.1 описание значений записи

Ниже представлены значения кадровой записи данных "John Smith's" с использованием основной нотации значений АСН.1:

{ name

{givenName "John", initial "P", familyName "Smith"},

title

"Director",

number

51,

dateOfHire

"19710917",

nameOfSpouse {givenName "Mary", initial "T", familyName "Smith"},

children

{{name {givenName "Ralph", initial "T", familyName "Smith"},

dateOfBirth "19571111"},

{ name {givenName "Susan", initial "B", familyName "Jones"},

dateOfBirth "19590717" }}}

A.3 Базовое XML представление значения записи

Представление значения записи, приведенной выше (после применения базовых правил XML кодирования), предполагает пустой пролог.

Длина этого кодирования в BASIC-XER имеет 653 октета без всех разделителей. Для сравнения: та же запись, кодированная с UNALIGNED вариантом PER (см. ИСО/МЭК 8825-1), имеет 84 октета, с ALIGNED вариантом PER - 94 октета, с BER (см. ИСО/МЭК 8825-2), используя форму определенной длины, - не менее чем 136 октетов и с BER, используя форму неопределенной длины, - не менее чем 161 октет.

<PersonnelRecord>

<name>

<givenName>John</givenName>

<initial>P</initial>

<familyName>Smith</familyName>

</name>

<title>Director</title>

<number>51 </number>

<dateOfHire>19710917</dateOfHire>

<nameOfSpouse>

<givenName>Mary</givenName>

<initial>T</initial>
<familyName>Smith</familyName>

</nameOfSpouse>

<children>

<Childlnformation>

<name>

<givenName>Ralph</givenName>

<initial>T</initial>

<familyName>Smith</familyName>

</name>

<dateOfBirth>19571111</dateOfBirth>

</Childlnformation>

<Childlnformation>

<name>

<givenName>Susan</givenName>

<initial>B</initial>

<fam8ilyName>Jones</familyName>

</name>

<dateOfBirth>19590717</dateOfBirth>

</Childlnformation>

</children>

</PersonnelRecord>

A.4 Каноническое XML представление значения этой записи

Ниже представлено значение записи, приведенной выше (после применения канонических правил XML кодирования):

<PersonnelRecord><name><givenName>John</givenName><initial>P</initial><familyName<Smith</familyName>

</name><number>51</number><title>Director</title><dateOfHire>19710917</dateOfHire><nameOfSpouse><given     Name>Mary</givenName><initial>T</initial><familyName>Smith</familyName></nameOfSpouse><children><Childl-     nformation><name><givenName>Ralph</givenName><initial>T</initial><familyName>Smith</familyName></name>     <dateOfBirth>19571111</dateOfBirth></Childlnformation><Childlnformation><name><givenName>Susan</givenName>     <initial>B</initial><familyName>Jones</familyName></name><dateOfBirth>19590717</dateOfBirth></Childlnformation>

</children></PersonnelRecord>