XSL Selectin узлы, кроме первого узла - PullRequest
0 голосов
/ 11 января 2010

HI

Я хочу выбрать все узлы, кроме первого узла. Мои xsl и xml похожи на это, но я не получаю вывод для него.

<Categories>
  <Category>
    <Title>Business</Title>
  </Category>
  <Category>
    <Title>Politics</Title>
  </Category>
</Categories>

мой xsl

<xsl:template match="Categories">
    <xsl:variable name="restallTitles">
      <xsl:value-of select="//*[position() &gt; 1]"/>
    </xsl:variable>
    <xsl:for-each select="Categories/Category">
      <xsl:if test="$restallTitles">
        <xsl:choose>
          <xsl:when test="position() mod 2 = 1">
            <li class=""><xsl:value-of select="Title"/></li>
          </xsl:when>
          <xsl:otherwise>
            <li class="odd"><xsl:value-of select="Title"/></li>
          </xsl:otherwise>
        </xsl:choose>               
      </xsl:if>
    </xsl:for-each>
</xsl:template>

Это не показывает никакого вывода ... у кого-то есть идея, где я ошибаюсь ::

Отредактировано :: Я ожидаю выхода «политика» в данном случае, но в основном я хочу всего, кроме «бизнеса»

1 Ответ

1 голос
/ 11 января 2010

Если вы имеете в виду «все <Category> с, кроме первого в документе», попробуйте:

<xsl:for-each select="(Categories/Category)[position() gt; 1]">
  <li>
    <xsl:if test="position() mod 2 = 1">
      <xsl:attribute name="class">odd</xsl:attribute>
    </xsl:if>
    <a class="video video-lightbox ratio-16-9" href="{$url1}">
      <xsl:value-of select="Title"/>
    </a>
  </li>
</xsl:for-each>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...