XSLT - Добавление класса к чему-то с классом?

При использовании XSLT, как я применяю класс к элементу, который уже имеет класс? Путем я делаю его, это заменяет класс, который уже присутствует? Как я добавил бы класс в дополнение к существующему классу? Мой код следующие:

<xsl:if test="data[@alias = 'off'] = 1">
    <xsl:attribute name="class">off</xsl:attribute>
</xsl:if>
<xsl:if test="$currentPage/ancestor-or-self::node/@id = current()/@id">
    <xsl:attribute name="class">active</xsl:attribute>
</xsl:if>

Спасибо.

14
задан Probocop 26 May 2010 в 09:21
поделиться

2 ответа

И наоборот:

<xsl:attribute name="class">
  <xsl:if test="data[@alias = 'off'] = 1">off </xsl:if>
  <xsl:if test="$currentPage/ancestor-or-self::node/@id = current()/@id">active </xsl:if>
</xsl:attribute>

Обратите внимание на дополнительный пробел, который я поставил после каждого значения атрибута. XSLT-процессор самостоятельно отсекает конечное пространство от значения атрибута, поэтому нет необходимости выполнять сложную обработку пространства.

17
ответ дан 1 December 2019 в 12:12
поделиться

вы можете объединить текущее значение атрибута класса с новым:

<xsl:if test="$currentPage/ancestor-or-self::node/@id = current()/@id">
    <xsl:attribute name="class">
      <xsl:value-of select="concat(@class,' active')"/>
    </xsl:attribute>
</xsl:if>
7
ответ дан 1 December 2019 в 12:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: