Использование выбора когда сделать условие с параметром для применения шаблонов вызывает XSLT - PullRequest
0 голосов
/ 01 июня 2018

Я нахожусь в ситуации, когда мне нужно отправить параметры на основе определенного условия.Я попытался использовать элемент select-when внутри элемента apply templates, но это недопустимо.

Элемент применения шаблонов с параметром:

<xsl:apply-templates select="Header/Amounts/Totals/TotalLineAmount[string(text())]" mode="MOALoop">
    <xsl:with-param name="qualifier" select="'203'">

Это мой выбор, когда:

<xsl:choose>
            <xsl:when test="imdQualifier != ''">
              <xsl:value-of select="$imdQualifier"/>
            </xsl:when>
            <xsl:otherwise>
              <xsl:value-of select="$qualifier"/>
            </xsl:otherwise>
          </xsl:choose>

Если imdQualifier! = '', То параметр долженбыть $ imdQualifier, в противном случае это должно быть 203.

Как я могу реализовать эту логику внутри элемента применения шаблонов?

1 Ответ

0 голосов
/ 01 июня 2018

Возможно, вы хотите это сделать ...

<xsl:apply-templates select="Header/Amounts/Totals/TotalLineAmount[string(text())]" mode="MOALoop">
   <xsl:with-param name="qualifier">
      <xsl:choose>
        <xsl:when test="imdQualifier != ''">
          <xsl:value-of select="$imdQualifier"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="'203'"/>
        </xsl:otherwise>
      </xsl:choose>
   </xsl:with-param>
</xsl:apply-templates>
...