XMLTRANSFORM和gt;运算符

问题描述 投票:0回答:1

我正在使用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和相同的输入文件,我的同事出现了recurrent =“ N”。

我尝试了几次,我认为问题出在操作员“ gt;”上。但是我仍然无法解释为什么我得到了这个结果。

oracle xslt
1个回答
0
投票

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

number($ annee_int)&gt; number($ annee_obs)

© www.soinside.com 2019 - 2024. All rights reserved.