首页 > 解决方案 > 带有 GT 的 XMLTRANSFORM;操作员

问题描述

我正在使用 ORACLE XMLTRANSFORM 函数来使用 XSL 文件转换 XML 文件。

在我的 XSL 文件中,我得到了这部分代码:

                  <xsl:element name="recurrent">
                    <xsl:choose>
                      <xsl:when test="($annee_int&gt;$annee_obs) and ($annee_int!=&apos;&apos;) and ($annee_obs!=&apos;&apos;)">O</xsl:when>
                      <xsl:otherwise>N</xsl:otherwise>
                    </xsl:choose>
                  </xsl:element>
                  <xsl:element name="anneeIntegration">
                    <xsl:value-of select="$annee_int"/>
                  </xsl:element>
                  <xsl:element name="anneeObservation">
                    <xsl:value-of select="$annee_obs"/>
                  </xsl:element>

并得到了这个结果:

            <recurrent>O</recurrent>
            <anneeIntegration>2018</anneeIntegration>
            <anneeObservation>2019</anneeObservation>

我不明白为什么recurrent="O" 而不是recurrent="N"。使用 Altova 和相同的输入文件,我的同事得到了经常性 =“N”。

我做了几次尝试,我认为问题来自运营商“gt;” . 但我仍然无法解释为什么我得到这个结果。

标签: oraclexslt

解决方案


在我的 XSL 中,我需要将变量转换为数字:

数字($annee_int)> 数量($annee_obs)


推荐阅读