<Имя спецификации формата данных>
Mappings
<Имя отображения> : <Тип отображения>
Type1 : <Тип 1>
Type2 : <Тип 2>
Map ; Таблица соответствий
Список сопоставлений вида <Значение типа 1> : <Значение типа 2>
[Default : <Значение типа 2>]
Описывает сопоставление. Сопоставления (mapping) служат для конверсии значений разных типов при форматировании и разборе посылок. Маппинг описывается в стиле тип на тип, далее идут паросочетания, задающие логику конверсии. Существует два вида отображений - полное и направленное. Для полного отображения должны контролироваться однозначные определения значения типа 1 по значению типа 2 и наоборот. Для направленных отображений это не обязательное условие. Для направленных отображений может быть указана опциональная конструкция Default, что позволяет сокращать число задаваемых паросочетаний. В коде обработчиков в зависимости от типа отображения может быть использована следующая конструкция:
Перечислимый тип:
DeviceType | тип устройства
2 : 2
PinPad : 1 | пинпад
CardReader : 2 | кардридер
Таблица сопоставлений:
<DeviceType.PinPad> : "PP"
<DeviceType.CardReader> : "CR"
Сопоставление:
Main
Mappings
DeviceType : directed
Type1 : DeviceType
Type2 : string
Map
PinPad : "PP"
CardReader : "CR"
Код:
Set:
?device : <DeviceType.CardReader>
?variable : <Transform: Main, DeviceType, ?device>
Результат:
В переменной ?variable будет содержаться строка "CR"