Я использую ORACLE функцию XMLTRANSFORM для преобразования файла XML с использованием файла XSL.
В моем файле 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;" . Но я все еще не могу объяснить, почему я получил этот результат.