Конвертировать XML представление в формат JSON на основании расширенного JSONschema документа, содержащего xpath поле для конечных узлов, которые должны быть заполнены значениями из входного XML документа
Пример полностью локального запуска
node index -s ./local/source -d ./local/dest -e ./local/error -c ./local/schemas
- входные XML мониторятся в папаке: ./local/dest
- выходные файлы в папке ./local/dest
- папка с известными схемами: ./local/schemas
Приемник и источник данных - Kafka, схемы - локально
node index -k localhost:9092 -s tpk -g xml2json -d jtpk.{{templateId}} -e etpk -c ./schemas
- кластер брокера: localhost:9092
- группа читателя: xml2json
- входная очередь: tpk
- выходные очереди: по шаблону, например jtpk.1.2.643.5.1.13.13.14.113.9.1
- папка с известными схемами: ./local/schemas
Конвертация должна производиться на основе схемы, описывающей структуру выходного JSON и xPath для выражения извлечения значений.
Пример схемы
Можно получить по команде
node index -h
- KAFKA_BROKERS=kafka:9092,kafka-1:9092
- строка с адресами Kafka- KAFKA_SOURCE_TOPIC=semd.raw
- имя топика, из которого получать XML- KAFKA_TARGET_TOPIC=semd.dep_{{templateId}}
- имя топика, в который передавать JSON маска выходного топика. Если имя топика содержит {{templateId}} - писать в разные выходные топики по имени, формируемом с маской из трех последних разрядов templateId СЭМД- KAFKA_DMQ_TOPIC=dmq.cda
- имя топика, для сообщений, при обработке которых возникла ошибка- KAFKA_CONSUMER_GROUP=cda.cnv
- имя kafka producer- CDA_CNV_SRC=./templates/
- адрес каталога с шаблонами конвертации