XSL ЕСЛИ две переменные никогда не появляются для сравнения - PullRequest
0 голосов
/ 16 апреля 2019

При печати двух переменных $ cID и $ uID я получаю две напечатанные и вижу данные, которые они содержат.

При попытке сравнить два результата никогда не будет выглядеть правдиво, хотя при печати должны быть некоторые случаи.

<xsl:for-each select="document('C:/Users/Scott/Desktop/Uni/dbe/ass1/DBE-work1/DBE-work1/DBE-A1/tweets.xml')">
 <xsl:for-each select='tweets/tweet'>
  <tweet>
   <xsl:variable name="cID" select="user_id"/>
    <xsl:value-of select='$uID'/>
    <xsl:value-of select='$cID'/>
    <xsl:if test="$cID=$uID">
     <xsl:value-of select='$uID'/>
     <xsl:value-of select='$cID'/>
    </xsl:if>
  </tweet>
 </xsl:for-each>
</xsl:for-each>

Токовый выход

 <tweets>
      <tweet>90484508
    15985455
        </tweet>
      <tweet>90484508
    90484508
        </tweet>
      <tweet>90484508
    21157904
        </tweet>
      <tweet>90484508
    90484508
        </tweet>
      <tweet>90484508
    90484508
        </tweet>
    </tweets>

Однако, когда есть два совпадающих идентификатора, в этом примере два последних. Он должен давать повторяющиеся результаты.

1 Ответ

0 голосов
/ 16 апреля 2019

Тим С дал правильный результат.

uID был определен:

 <xsl:variable name="uID" select="id"/>

и имел пробел, который был решен с помощью <xsl:if test="normalize-space($cID) = normalize-space($uID)">

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