Я использую инструменты интеграции Azure (раньше назывался BizTalk) для перевода входящего 856. Для начала я просто пытаюсь получить рабочую карту и дословно скопировать скрипт из книги Pro Mapping в книге BizTalk 2009Джимом Доусоном, и я использую его пример ввода и вывода.Я сталкиваюсь со следующей ошибкой:
'xsl: elemment' не может быть дочерним элементом элемента xsl: element. "
Вот мой сценарий XSLT:
<xsl:variable name="RailRoadCar" select="concat(//s0:TD3/TD302,//s0:TD3/TD303)"/>
<xsl:variable name="OrderNum" select="//s0:PRF/PRF01"/>
<xsl:for-each select="//s0:HLLoop1[s0:HL/HL03='I']/s0:MAN[not(MAN02=preceding::s0:MAN/MAN02)]">
<xsl:variable name="ItemID" select="MAN02"/>
<xsl:element name="s0:ItemLoop">
<xsl:element name="ItemID"><xsl:value-of select="$ItemID"/></xsl:element>
<xsl:element name="OrderNum"><xsl:value-of select="OrderNum"/></xsl:element>
<xsl:element name="RailRoadCar"><xsl:value-of select="RailRoadCar"/></xsl:element>
<xsl:for-each select="//s0:HLLoop1[s0:HL/HL03='I' and s0:MAN/MAN02=$ItemID]">
<xsl:variable name="HLPack" select="s0:HL/HL02"/>
<xsl:element name="PackLoop">
<xsl:elemment name="PackID">
<xsl:value-of select="//s0:HLLoop1[s0:HL/HL01=$HLPack and s0:HL/HL03='P']/s0:MAN/MAN02"/>
</xsl:elemment>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:for-each>
Я также пытался поместить квалификатор пространства имен в элемент PackLoop, например, так:, но это приводит к той же ошибке. Может кто-нибудь помочь сСинтаксис здесь?
Спасибо, Натан