XMLTRANSFORM с помощью gt; оператор - PullRequest
0 голосов
/ 02 апреля 2020

Я использую ORACLE функцию XMLTRANSFORM для преобразования файла XML с использованием файла XSL.

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

1 Ответ

0 голосов
/ 02 апреля 2020

В моем XSL мне нужно приводить переменные как числа:

число ($ annee_int)> число ($ annee_obs)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...