Анализ DFDL для сообщения спецификации x9.2

Привет, у меня есть требование, похожее на следующее: есть сообщение о спецификации x9.2, например.

Формат заголовка для сообщения 97xx

Data Item     Field Name     Attribute
006           MSG.TYPE       4 N
001           MSG.FROM       6 CHR
015           MSG.REPLY      1 CHR
017          MSG.TRACE       6 N
002           MSG.DATE       8 N
003           MSG.TIME       4 N
004           MSG.SESSION    6 N
009           MSG.MEMBER     11 N
018           MSG.RECORD     7 N

9701 ACCESS AUTHORIZATION REQUEST
STANDARD HEADER
Data Item     Field Name     Attribute
133           MSG.HBAC       8 N
230           MSG.DISCLAIMED 1 CHAR 


I NEED TO CONVERT THIS TO A XML USING DFDL.
Sample XML

    <ROOT>
    <Header>
    <MSG.TYPE></MSG.TYPE>
    .
    .
    .
    .
    <MSG.RECORD></MSG.RECORD>
    </Header>
    <Body>
    <MSG.HBAC></MSG.HBAC>
    <MSG.DISCLAIMED></MSG.DISCLAIMED>
    </Body>
    </ROOT>

Теперь проблема заключается в том, что сообщения спецификации x9.2 могут иметь разные поля для разных типов сообщений, как показано выше, например, для 9701.

Но 9702 будет иметь другой набор элементов данных. Итак, как написать синтаксический анализатор dfdl, который может анализировать все типы сообщений, будь то серия 97xx, серия 95xx или любая другая серия спецификации x9.2.


person kmanu    schedule 19.06.2015    source источник
comment
Если вы не получите ответ на основе DFDL, вы можете повторно запросить решения XSLT 2.0.   -  person kjhughes    schedule 19.06.2015


Ответы (1)


Я никогда не работал с этим специфическим форматом. Но модель DFDL допускает возможность выбора различных типов сообщений (точки неопределенности) и использует либо дискриминаторы, либо инициаторы для разрешения вариантов выбора. Начните с прочтения этой ссылки для фона. Затем перейдите на здесь и получите PDF-файл для лабораторной работы 6.

person Steve Parsons    schedule 19.06.2015
comment
Привет, Стив, я просмотрел обе эти ссылки, но они мне не подходят. Я продолжаю изучать, если я получу какое-либо конкретное решение, я опубликую его здесь. - person kmanu; 22.06.2015