У меня есть схема источника и назначения, подобная следующей
Схема источника:
<Root>
<STDS>
<COD>
<NAM>
<AGE>
</STDS>
</Root>
Схема назначения ::
<Root>
<Students>
<Code100>
<Name>
<Age>
<Code50>
<Name>
<Age>
</Code50>
</Code100>
</Students>
</Root>
На входе источника STDSнеограничена.Узел COD может иметь три значения 100, 200 и 50. Таким образом, любой узел STDS, имеющий значение COD = 50, должен быть добавлен в STDS со значением COD = 100 до текущего узла STDS.
У меня естьввод, например.
<Root>
<STDS>
<COD>200</COD>
<NAM>ABC</NAM>
<AGE>20</AGE>
</STDS>
<STDS>
<COD>100</COD>
<NAM>XYZ</NAM>
<AGE>21</AGE>
</STDS>
<STDS>
<COD>50</COD>
<NAM>JJJ</NAM>
<AGE>22</AGE>
</STDS>
<STDS>
<COD>200</COD>
<NAM>JKL</NAM>
<AGE>23</AGE>
</STDS>
<STDS>
<COD>100</COD>
<NAM>MMM</NAM>
<AGE>24</AGE>
</STDS>
<STDS>
<COD>50</COD>
<NAM>NNN</NAM>
<AGE>25</AGE>
</STDS>
</STDS>
<STDS>
<COD>50</COD>
<NAM>LLL</NAM>
<AGE>26</AGE>
</STDS>
</Root>
Мне нужен вывод, подобный следующему
<Root>
<Students>
<Code200>
<Name>ABC</Name>
<Age>20</Age>
</Code200>
<Code100>
<Name>XYZ</Name>
<Age>21</Age>
<Code50>
<Name>JJJ</Name>
<Age>22</Age>
</Code50>
</Code100>
<Name>XYZ</Name>
<Age>21</Age>
</Code100>
<Code200>
<Name>JKL</Name>
<Age>23</Age>
</Code200>
</Code100>
<Name>MMM</Name>
<Age>24</Age>
<Code50>
<Name>NNN</Name>
<Age>24</Age>
</Code50>
<Code50>
<Name>LLL</Name>
<Age>25</Age>
</Code50>
</Code100>
</Students>
</Root>
Я хочу добиться этого в сопоставителе BizTalk без использования пользовательского XSLT.