Пример применения

Up Структура тега Типы тегов Синтаксис АСН.1 Пример применения

Пример применения АСН.1

Рассмотрим применение АСН.1 на примере некоторой записи учета кадров. Ниже приведена структура записи учета кадров и ее значение для конкретного служащего.

Имя: Петр Борисович Иванов
Должность: Директор
Учетный номер: 23
Дата приема на работу: 14 июня 1997 г.
Имя жены: Ольга Олеговна Иванова
Число детей: 2
   
Информация о ребенке:  
Имя: Олег Петрович Иванов
Дата рождения: 16 марта 1990 г.
   
Информация о ребенке:  
Имя: Анна Петровна Иванова
Дата рождения: 5 декабря 1993 г.

Структура каждой записи учета кадров формально описана ниже с помощью стандартных обозначений для типов данных.

PersonnelRecord::= [APPLCATION 0] IMPLICIT SET

{

Name,

title

[0] VisibleString ,

number

EmployeeNumber,

dateOfHire

[1] Date,

NameOfWife

[2] Name,

children

[3] IMPLICIT SEQUENCE OF ChildInformation

DEFAULT {} }

ChildInformation::=SET

 

{

Name,

dateOfBirth

[0] Date}

Name::= [APPLICATION 1] IMPLICIT SEQUENCE

{givenName

VisibleString

inital

VisibleString

familyName

VisibleString}

 

EmployeeNumber::= [APPLICATION 2] IMPLICIT integer

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

Далее приводится значение записи учета кадров для Иванова Петра Борисовича, определенное с помощью нотации АСН.1.

{

{givenName “Peter“, initial “Borisovich“, familyName “Ivanov“},

title

“Director“,

number

23,

dateOfHire

19970614

NameOfWife

{givenName “Olga“, initial “Olegovna“, familyName “Ivanova“},

children

 

 

{{{ givenName “Oleg“, initial “ Petrovich“, familyName “Ivanov“},

dateOfBirth “19900316“},

{{ givenName “Anna“, initial “ Petrovna “, familyName “Ivanova“},

dateOfBirth “19931205“}}}

 

Ниже приводится представление в октетах приведенного выше значения записи. Значения идентификаторов, длин и целочисленные величины приведены в шестнадцатеричной записи, по две шестнадцатеричные цифры на октет. Значения содержимого знаковых строк показаны в виде текста, по одному знаку на октет.

 

Personnel

Record

Длина

Содержимое

60

83

Name

Длина

Содержимое

61

1B

VisibleString

Длина

Содержимое

1A

05

“Peter“

VisibleString

Длина

Содержимое

1A

0A

“Borisovich“

VisibleString

Длина

Содержимое

1A

06

“Ivanov“

title

Длина

Содержимое

A0

0A

VisibleString

Длина

Содержимое

1A

08

“Director“

number

Длина

Содержимое

42

01

17

dateOfHire

Длина

Содержимое

A1

0A

Date

Длина

Содержимое

43

08

“19970614“

NameOfWife

Длина

Содержимое

A2

13

VisibleString

Длина

Содержимое

1A

04

“Olga“

VisibleString

Длина

Содержимое

1A

08

“Olegovna“

VisibleString

Длина

Содержимое

1A

07

“Ivanova“

[3]

Длина

Содержимое

A3

52

Set

Длина

Содержимое

31

27

Name

Длина

Содержимое

61

19

VisibleString

Длина

Содержимое

1A

04

“Oleg “

VisibleString

Длина

Содержимое

1A

09

“Petrovich“

VisibleString

Длина

Содержимое

1A

06

“Ivanov“

DateOfBirth

Длина

Содержимое

A0

0A

Date

Длина

Содержимое

43

08

“19900316“

Set

Длина

Содержимое

31

27

Name

Длина

Содержимое

61

19

VisibleString

Длина

Содержимое

1A

04

“Anna “

VisibleString

Длина

Содержимое

1A

08

“Petrovna“

VisibleString

Длина

Содержимое

1A

07

“Ivanova“

DateOfBirth

Длина

Содержимое

A0

0A

Date

Длина

Содержимое

43

08

“19931205“

 

 

Иерархия тегов для данной записи приведена на рис.5 .

 

Пример применения АСН.1

Рассмотрим применение АСН.1 на примере некоторой записи учета кадров. Ниже приведена структура записи учета кадров и ее значение для конкретного служащего.

 

Имя: Петр Борисович Иванов
Должность: Директор
Учетный номер: 23
Дата приема на работу: 14 июня 1997 г.
Имя жены: Ольга Олеговна Иванова
Число детей: 2
   
Информация о ребенке:  
Имя: Олег Петрович Иванов
Дата рождения: 16 марта 1990 г.
   
Информация о ребенке:  
Имя: Анна Петровна Иванова
Дата рождения: 5 декабря 1993 г.

Структура каждой записи учета кадров формально описана ниже с помощью стандартных обозначений для типов данных.

PersonnelRecord::= [APPLCATION 0] IMPLICIT SET

{

Name,

title

[0] VisibleString ,

number

EmployeeNumber,

dateOfHire

[1] Date,

NameOfWife

[2] Name,

children

[3] IMPLICIT SEQUENCE OF ChildInformation

DEFAULT {} }

ChildInformation::=SET

 

{

Name,

dateOfBirth

[0] Date}

Name::= [APPLICATION 1] IMPLICIT SEQUENCE

{givenName

VisibleString

inital

VisibleString

familyName

VisibleString}

EmployeeNumber::= [APPLICATION 2] IMPLICIT integer

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

Далее приводится значение записи учета кадров для Иванова Петра Борисовича, определенное с помощью нотации АСН.1.

{

{givenName “Peter“, initial “Borisovich“, familyName “Ivanov“},

title

“Director“,

number

23,

dateOfHire

19970614

NameOfWife

{givenName “Olga“, initial “Olegovna“, familyName “Ivanova“},

children

 

 

{{{ givenName “Oleg“, initial “ Petrovich“, familyName “Ivanov“},

dateOfBirth “19900316“},

{{ givenName “Anna“, initial “ Petrovna “, familyName “Ivanova“},

dateOfBirth “19931205“}}}

Ниже приводится представление в октетах приведенного выше значения записи. Значения идентификаторов, длин и целочисленные величины приведены в шестнадцатеричной записи, по две шестнадцатеричные цифры на октет. Значения содержимого знаковых строк показаны в виде текста, по одному знаку на октет.

Personnel

Record

Длина

Содержимое

60

83

Name

Длина

Содержимое

61

1B

VisibleString

Длина

Содержимое

1A

05

“Peter“

VisibleString

Длина

Содержимое

1A

0A

“Borisovich“

VisibleString

Длина

Содержимое

1A

06

“Ivanov“

title

Длина

Содержимое

A0

0A

VisibleString

Длина

Содержимое

1A

08

“Director“

number

Длина

Содержимое

42

01

17

dateOfHire

Длина

Содержимое

A1

0A

Date

Длина

Содержимое

43

08

“19970614“

NameOfWife

Длина

Содержимое

A2

13

VisibleString

Длина

Содержимое

1A

04

“Olga“

VisibleString

Длина

Содержимое

1A

08

“Olegovna“

VisibleString

Длина

Содержимое

1A

07

“Ivanova“

[3]

Длина

Содержимое

A3

52

Set

Длина

Содержимое

31

27

Name

Длина

Содержимое

61

19

VisibleString

Длина

Содержимое

1A

04

“Oleg “

VisibleString

Длина

Содержимое

1A

09

“Petrovich“

VisibleString

Длина

Содержимое

1A

06

“Ivanov“

DateOfBirth

Длина

Содержимое

A0

0A

Date

Длина

Содержимое

43

08

“19900316“

Set

Длина

Содержимое

31

27

Name

Длина

Содержимое

61

19

VisibleString

Длина

Содержимое

1A

04

“Anna “

VisibleString

Длина

Содержимое

1A

08

“Petrovna“

VisibleString

Длина

Содержимое

1A

07

“Ivanova“

DateOfBirth

Длина

Содержимое

A0

0A

Date

Длина

Содержимое

43

08

“19931205“

Иерархия тегов для данной записи приведена на рис.5 .

wpe6.gif (9849 bytes)