Назначение переменных XSL - PullRequest
1 голос
/ 22 ноября 2011

У меня есть еще один простой вопрос о переменной xsl. Я пытаюсь оценить выражение и переключить суффикс «AM» или «PM». Переменная никогда ничего не оценивает. Я даже изменил свой тест на безуспешно.

<xsl:variable name="DisplayAMPM">
  <xsl:choose>
    <xsl:when test="number(substring($LastBootUpTime, 9,2))>11">
      <xsl:value-of select="PM"/>
    </xsl:when>
    <xsl:otherwise>
      <xsl:value-of select="AM"/>
    </xsl:otherwise>
  </xsl:choose>
</xsl:variable>
<xsl:copy-of select="DisplayAMPM"/>

Ответы [ 2 ]

3 голосов
/ 22 ноября 2011

Если вы используете value-of, поместите «AM» и «PM» в кавычки, чтобы процессор видел их в виде строки.

Кроме того, если вы ссылаетесь на переменную, как вы пытаетесь сделать в copy-of, не забудьте $.

<xsl:variable name="DisplayAMPM">
  <xsl:choose>
    <xsl:when test="number(substring($LastBootUpTime, 9,2))>11">
      <xsl:value-of select="'PM'"/>
    </xsl:when>
    <xsl:otherwise>
      <xsl:value-of select="'AM'"/>
    </xsl:otherwise>
  </xsl:choose>
</xsl:variable>
<xsl:copy-of select="$DisplayAMPM"/>
0 голосов
/ 22 ноября 2011

В вашем атрибуте test есть беглый символ >, который, конечно, должен быть &gt;. Во-вторых, вы не копируете свою переменную ($DisplayAMPM), вместо этого вы копируете (несуществующий?) DisplayAMPM набор дочерних узлов элемента.

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