#xml #xslt #maps #schema #biztalk
#xml #xslt #Карты #схема #biztalk
Вопрос:
Моя проблема заключается в следующем:
В моем входном файле у меня есть запись, которая содержит элемент с номером. Эта запись встречается только один раз.
В моем выходном файле мне нужно создать 2 записи, которые содержат это число.
Использование циклического функтоида не подходит для моей цели, поскольку в выходном файле создается только одна запись.
Моя схема ввода (номер Одетты — это элемент, который мне нужно сопоставить):
Моя схема вывода:
Итак, мне нужно создать 2 вхождения NADLoop1, каждое из которых содержит OdetteNumber. Я пытался использовать функцию циклирования таблицы, но поскольку NadLoop1 уже задействован в нескольких других циклах на карте, я получаю сообщение об ошибке «Переменная или параметр ‘var’ либо не определены, либо находятся вне области видимости»
По возможности я хотел бы избежать использования XSLT, поскольку остальная часть карты создается с помощью visual mapper, но если это единственное решение, я готов реализовать его в XSLT.
Комментарии:
1. Чтобы оставаться в теме, я думаю, вам следует запросить
biztalk
решение, которое вы хотите. В случае, если такового нет, вы могли бы запросить более общееXSLT
решение. Обратите внимание, что для последнего вам нужно предоставить больше контекста.
Ответ №1:
В выходной схеме EDI вы можете создать выделенный NAD (не NADLoop1) для каждого из значений, например, NAD_1 и NAD_2.
Пользовательские поля EDI описаны здесь: Сервер BizTalk: Возможности EDI не только для HIPAA
По сути, это копирование определения для NAD и переименование элемента NAD.
Пожалуйста, не забудьте отметить ответы как полезные или принятые, если это так.
Комментарии:
1. Спасибо за ваш ответ, но мне не разрешено изменять определение схемы. Я могу видеть, как ваше решение будет работать, хотя.
2. @Leth Дело в том, что это намного усложняет задачу. Если вы объясните их возражения, мы можем помочь вам объяснить, почему они, ну, в общем, неправы.