我正在使用ORACLE XMLTRANSFORM函数来使用XSL文件转换XML文件。
在我的XSL文件中,我得到了这段代码:
<xsl:element name="recurrent">
<xsl:choose>
<xsl:when test="($annee_int>$annee_obs) and ($annee_int!='') and ($annee_obs!='')">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;”上。但是我仍然无法解释为什么我得到了这个结果。
在我的XSL中,我需要将变量转换为数字:
number($ annee_int)&gt; number($ annee_obs)