Ниже приведен мой xsl-файл, основанный на условии, что MaterialSalesText выбирает только первое значение.
<xsl:element name="DMI">
<xsl:element name="D_808">F</xsl:element>
<xsl:element name="S_723">
<xsl:element name="D_801_7">
<xsl:choose>
<xsl:when test="../*[local-name()='SalesOrganisationID']='FAB' and ../*[local-name()='DistributionChannelCode']='SF'">
<xsl:value-of select="..//*[local-name()='MaterialSalesText']"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Product/Note"/>
</xsl:otherwise>
</xsl:choose>
SalesOrganisationID
& DistributionChannelCode
& MaterialSalesText
находятся в локальном пространстве имен SalesOrganisationID
& DistributionChannelCode
находятся на уровне заголовка MaterialSalesText
находятся на уровне Item
/ Product
Note
находятся в своих собственных пространствах имен и на уровне Item
/ Product
.
Note
и material
повторяются несколько раз на основе Item, основываясь на условии, что по-прежнему записывается только первое значение.