Syntax - Version 1

Content

1. Introduction

2. Scope

3. Characterset

3.1. Latin-1
3.2. Reserved characters

4. Structure

4.1. General structure
4.2. Structure of a segment group
4.3. Structure of a segment
4.4. Structure of a data element

5. Compression techniques

5.1. Exclusion of segments
5.2. Omitting data elements
5.3. Truncating data elements
5.4. Omitting constituent data elements
5.5. Truncating constituent data elements

6. Segments

6.1. XGH segment, header of a group of exchange units
6.2. XGT segment, trailer of a group of exchange units
6.3. XEH segment, header of an exchange unit
6.4. XET segment, trailer of an exchange unit
6.5. XRH segment, header of a segment group
6.6. XRT segment, trailer of a segment group

7. Formal grammar

8. Example

 

1. Introduction

This standard describes the rules applicable to the structuring of the user data and the additional service data in view of the exchange of information.

The syntax as described is based on the ISO 9735 standard which has been adopted by the United Nations Economic Committee for Europe (UNECE) as the syntax rules for the electronic exchange of information in administration, commerce and transport (EDIFACT).

This is version 1 of this standard.

 

2. Scope

This syntax applies to all information exchanges within the Assurnet-2 architecture where different partners are involved (such as the log-deal, the new response-record, . ).

 

3. Characterset

3.1. Latin-1

Unless the information exchanging partners agree on the usage of some other characterset, the Latin-1 characterset (ISO 8859-1) will be used, exeption made for the NUL character (hexadecimal : 00). This characterset comprises all characters used by Westerneuropean languages such as Dutch and French.

The NUL character (hexadecimal : 00) has in most development environments some special function, and therefore shall not be used within exchanges.

3.2. Reserved characters

The following characters have some special function :

    the apostrophe (') indicates the end of a segment the plus sign (+) separates the segment header from the data elements the colon (:) separates the constituent data elements from each other the question mark (?) cancels the special function of the following reserved character.
? preceding ', +, : en ? gives these characters back their regular meaning. This way, and as an example, the meaning of 10?+10=20 is actually 10+10=20. A regular question mark is represented by ??.

 

4. Structure

Within a group of exchanged units, the segments must be represented in the order as pictured hereunder.

An exchange group can comprise multiple exchange units.

An exchange unit can comprise multiple segment groups.

A segment group comprises segments and/or segment groups.

A segment comprises simple data elements and/or composite data elements.

4.1. General structure

An exchange group comprises :

    Exchange Group header - XGH - mandatory Exchange Unit header - XEH - mandatory Segment(s) (with user data) - - as needed Segment group(s) - - as needed Exchange Unit trailer - XET - mandatory Exchange Group trailer - XGT - mandatory

4.2. Structure of a segment group

A segment group comprises :

    Segment group header - XRH - mandatory Segment (with group data) - - mandatory Segment(s) (with user data) - - as needed Segment group(s) - - as needed Segment group trailer - XRT - mandatory

4.3. Structure of a segment

A segment comprises :

    Segment code - - mandatory Data element separator - + - mandatory Simple or composite data elements - - as needed Segment end indicator - ' - mandatory

4.4. Structure of a data element

A data element comprises :

    A simple data element, or A composite data element, with component data elements component data element separators A data element separator

A simple data element comprises only one data element value.

A composite data element comprises multiple component data elements.

A component data element comprises only one data element value.

The last component data element will not be followed by a component data element separator. The last data element will not be followed by a data element separator.

 

5. Compression techniques

Non-significant characters of data elements must be omitted. These characters will not be exchanged: examples given are zeros heading numeric values, or signs filling alphanumeric values (fillers).

Note that a single zero preceding a decimal separator can be significant, an that a zeor can be significant if specified with the data element.

The following rules apply for the compression of the exchange units.

In the examples given the "TAG" represents the segment code, the "DE" represents a data element and the "CE" represents a component data element.

5.1. Exclusion of segments

Segments without data elements must be excluded (omitted completely, together with their code).

5.2. Omitting data elements

Data elements are identified by means of their position in a segment, as defined in the Telebib segments repository. Whenever a data element, which in turn is followed by another data element, is omitted, a data element separator is exchanged in place of such omitted data element.

TAG+DE+DE+++DE+DE+DE' Two data elements have been omitted.

5.3. Truncating data elements

Whenever one or more data elements are omitted at the end of a segment, such segment may be truncated by means of the segment end indicator. In this case the data element separators of the omitted data elements are not exchanged.

TAG+DE+DE+++DE' In the example of point 5.2., the two last data elements were omitted and the segment has been truncated.

5.4. Omitting component data elements

Component data elements are identified by means of their position in a composite data element. Whenever a component data element is omitted, a component data element separator is exchanged in place of such omitted component data element.

TAG+DE+CE:CE+CE:::CE' Two component data elements were omitted in the third data element.

5.5. Truncating component data elements

Whenever one or more component data elements are omitted at the end of a composite data element, such composite data element may be truncated by means of the data element separator. In this case the component data element separators of the omitted component data elements are not exchanged.

TAG+DE+CE+CE' In the example of point 5.4., the last component data element of the first composite data element is omitted, and the last three component data elements of the second composite data element are omitted. Both composite data elements have been truncated, which is shown in the first by the data element separator, and in the last by the segment end indicator.

 

6. Segments

6.1. XGH segment, header of a group of exchange units

6.1.1. Function

Opens a group of exchange units

6.1.2. Content

    Syntax version number - (mandatory)
    Sender identification (composite d.e.) - mandatory)
       Sender domain address - (mandatory)
       Sender user address
       Sender type, coded
    Recipient identification (composite d.e.) - (mandatory)
       Recipient domain address - (mandatory)
       Recipient user address
       Recipient type, coded
    Group type

6.2. XGT segment, trailer of a group of exchange units

6.2.1. Function

Closes a group of exchange units

6.2.2. Content

Syntax version number - (mandatory)

6.3. XEH segment, header of an exchange unit

6.3.1. Function

Opens and specifies an exchange unit

6.3.2. Content

    Exchange unit type - (mandatory)
    Exchange unit type version number - (mandatory)
    Exchange unit / action, coded
    Sender exchange unit identifier
    Recipient exchange unit identifier
    Domain
    Application return code
    Error code
    Currency conversion indicator
    Exchange unit issue date/time
    Exchange unit issuing details (composite data element)
       Exchange unit issuing format
       Exchange unit issuing application
       Exchange unit issuing application version number
       Exchange unit business content description
       Exchange unit business content description version

6.4. XET segment, trailer of an exchange unit

6.4.1. Function

Closes an exchange unit

6.4.2. Content

Exchange unit type - (mandatory)

6.5. XRH segment, header of a segment group

6.5.1. Function

Opens a segment group and indicates the nesting level

6.5.2. Content

Segment group level number - (mandatory)

6.6. XRT segment, trailer of a segment group

6.6.1. Function

Closes a segment group

6.6.2. Content

Segment group level number - (mandatory)

 

7. Formal grammar

This part describes the formal grammar of our syntax in BNF notation.

exchange is the root element of the tree structure, and represents the exchange group as described in the above text.

exchange:
      exchange-group-header exchange-unit-list exchange-group-trailer

exchange-group-header:
      XGH+ syntax-version + address + address '
      XGH+ syntax-version + address + address + string '

exchange-group-trailer:
      XGT+ syntax-version '

exchange-unit-list:
      exchange-unit
      exchange-unit-list exchange-unit

exchange-unit:
      exchange-unit-header segment-list block-list exchange-unit-trailer

exchange-unit-header:
      XEH+ string + exchange-unit-version '
      XEH+ string + exchange-unit-version + string '
      XEH+ string + exchange-unit-version + stringopt + string '
      XEH+ string + exchange-unit-version + stringopt + stringopt + string '
      XEH+ string + exchange-unit-version + stringopt + stringopt + stringopt + string '

exchange-unit-trailer:
      XET+ string '

segment-list:
      segmentopt
      segment-list segment

block-list:
      blockopt
      block-list block

segment:
      tag + data-element-list '

block:
      block-header id-segment segment-list block-list block-trailer

block-header:
      XRH+ number '

block-trailer:
      XRT+ number '

id-segment:
      segment

tag:
      tag-letter tag-letter tag-letter

data-element-list:
      data-element
      data-element-list list-plus data-element

list-plus:
      +
      list-plus +

data-element:
      simple-data-element
      composite-data-element

simple-data-element:
      string
      number

composite-data-element:
      simple-data-element
      composite-data-element list-colon simple-data-element

list-colon:
      :
      list-colon :

syntax-version:
      1
      01

exchange-unit-version:
      digit
      digit digit

address:
      string
      string : string

string:
      init-string
      string list-spaceopt init-string

init-string:
      not-reserved
      escape-sequence

list-space:
      space
      list-space space

number:
      digit-list
      - digit-list

digit-list:
      digit
      digit-list digit

digit:
      one of the following figures
      0 1 2 3 4 5 6 7 8 9

escape-sequence:
      ?+
      ?:
      ?'
      ??

tag-letter:
      one of the following letters
      A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

not-reserved:
      a character from the Latin-1 characterset exept + : ' ?, the binary nul and the space character

 

 

 

8. Example

Syntax as used in TELEBIB2

(Business) informationvaluesyntax
  XGH+1+LR212+0079'
  XEH+01+2'
Contract start date23.02.1996 
Contract start time00.00DTM+033:23021996000000:002'
Renewal date23.02DTM+004:2302:003'
Fraction, coded1ATT+A325+1'
Paymentmeans, coded4ATT+A600+4'
  XRH+1'
Intermediate's agency id at insurer16048PTY+002+16084:002:0060'
Intermediate's reference0051105000RFF+017:0051105000'
  XRT+1'
  XRH+1'
  PTY+003'
Policyholder, nameLessens 
Policyholder, firstname Véronique  
Policyholder, title, coded3NME+001+LESSENS:VERONIQUE+3'
Policyholder, address, streetrue Ernest Cambier 
Policyholder, address, building number23 
Policyholder, address, box number2 
Policyholder, address, postal code7800 
Policyholder, address, cityAth 
Policyholder, address, country, codedBADR+002+RUE ERNEST Cambier:23:2+7800+ATH+B'
Policyholder, Date of birth16.03.1969DTM+001:16031969'
Policyholder, Driver since20.02.1989DTM+009:20021989'
Policyholder, Telephone068.28.34.87COM+001:068283487'
Policyholder, Language, coded1ATT+A10C+1'
Policyholder, Nationality, codedBATT+A121+B'
Policyholder, Gender, coded2ATT+A124+2'
Policyholder, Civil status, coded2ATT+A123+2'
Policyholder, Physical or Legal person, coded1ATT+A131+1'
  XRH+2'
Policyholder, declaration, driver's licence history, coded2QRS+5V0D+2'
  XRT+2'
  XRH+2'
Policyholder, declaration, legal action pending, coded2QRS+5V0E+2'
  XRT+2'
  XRH+2'
  DOC+003'
Policyholder, driver licence, date20.02.1989DTM+010:20021989'
Policyholder, driver licence, referenceFA074290RFF+009:FA074290'
Policyholder, driver licence, type, codedBATT+A192+B'
  XRT+2'
  XRT+1'
  XRH+1'
  ROD+001'
Vehicle, action, coded3GIS+500C+3'
Vehicle, makeVolkswagen 
Vehicle, modelGolf 
Vehicle, type1.9 DNME+005+VOLKSWAGEN:GOLF:1.9 D'
Vehicle, year1994DTM+012:1994:004'
Vehicle, registration date23.01.1995DTM+013:23021995'
Vehicle, chassisnumberVWZW1HZTB0799RFF+011:VWZW1HZTB0799'
Vehicle, conformitynumber934472RFF+012:934472'
Vehicle, usage, coded11ATT+5200+11'
Vehicle, fueltype, coded2ATT+5015+2'
Vehicle, fleet, coded2BIN+5230+2'
Vehicle, convertible, coded1BIN+5601+1'
Vehicle, sports, coded2BIN+5602+2'
Vehicle, financed, coded2BIN+5606+2'
Vehicle, antitheftsystem, coded1BIN+5608+1'
Vehicle, roadtax coverage, coded1BIN+5401+1'
Vehicle, catalogvalue (VAT excl.)513719MOA+008:513719'
Vehicle, insureable value (VATexcl.)557189MOA+011:557189'
Vehicle, roadtax20000MOA+038:20000'
Vehicle, power in kW66QTY+004:66::001'
Vehicle, seats number4QTY+002:4'
  XRH+2'
  PTY+004'
Vehicle, regular driver = policyholder, coded1GIS+A20Z+1'
  XRT+2'
  XRH+2'
  ICD+510'
Vehicle, liability, action, coded6GIS+P000+6'
Vehicle, liability, startdate23.02.1996DTM+008:23021996'
Vehicle, liability, bonus level, coded06ATT+5340+06'
  XRT+2'
  XRH+2'
  ICD+541'
Vehicle, own damages, action, coded6GIS+P000+6'
Vehicle, own damages, startdate23.02.1996DTM+008:23021996'
Vehicle, own damages, value type, coded2ATT+5400+2'
Vehicle, own damages, exemption type, coded1ATT+P11T+1'
Vehicle, own damages, finite period, coded2BIN+P10U+2'
Vehicle, own damages, exemption percentage3PCD+014:3'
  XRT+2'
  XRH+2'
  ICD+551'
Vehicle, fire, action, coded6GIS+P000+6'
Vehicle, fire, startdate23.02.1996DTM+008:23021996'
Vehicle, fire, finite period, coded2BIN+P10U+2'
  XRT+2'
  XRH+2'
  ICD+552'
Vehicle, theft, action, coded6GIS+P000+6'
Vehicle, theft, startdate23.02.1996DTM+008:23021996'
Vehicle, theft, exemption type, coded1ATT+P11T+1'
Vehicle, theft, finite period, coded2BIN+P10U+2'
Vehicle, theft, exemption percentage3PCD+014:3'
  XRT+2'
  XRH+2'
  ICD+553'
Vehicle, windscreen, action, coded6GIS+P000+6'
Vehicle, windscreen, startdate23.02.1996DTM+008:23021996'
Vehicle, windscreen, finite period, coded2BIN+P10U+2'
  XRT+2'
  XRH+2'
  ICD+SA:002:0060'
Vehicle, special cover, action, coded6GIS+P000+6'
Vehicle, special cover, startdate23.02.1996DTM+008:23021996'
Vehicle, special cover, duration (years)1DTM+006:1:104'
Vehicle, special cover, exemption type, coded1ATT+P11T+1'
Vehicle, special cover, finite period, coded2BIN+P10U+2'
Vehicle, special cover, exemption percentage3PCD+014:3'
  XRT+2'
  XRH+2'
  SRO+001'
Vehicle, accessory, type 1, value7430MOA+010:7430'
  XRT+2'
  XRH+2'
  SRO+004'
Vehicle, accessory, type 4, value25300MOA+010:25300'
  XRT+2'
  XRH+2'
  SRO+004'
Vehicle, accessory, type 4, value10000 MOA+010:10000'
  XRT+2'
  XRT+1'
  XET+01'
  XGT+1'