3

此代码选择节点,我想处理...:

<xsl:variable name="rootTextpageNode" 
     select="$currentPage/ancestor-or-self::node [@level = 2 and
             @nodeTypeAlias = 'CWS_Textpage']" />

如何在其中放置排序/排序依据,以便首先显示具有较新 createdDate 的项目?

我正在使用 CWS 入门工具包,需要更改 SubNavi.xslt 中显示的项目顺序

4

2 回答 2

5

您可以在 for-each 之后的第一行中进行排序,如下所示:

<xsl:for-each select="$rootTextpageNode">
<xsl:sort select="@createDate" order="descending" />
    <xsl:value-of select="@nodeName" />
</xsl:for-each>
于 2009-09-13T12:54:58.627 回答
4

不确定是否可以向此变量分配添加排序 - 通常,您在应用模板或执行 foreach 时进行排序:

<xsl:template match="employees">
    <xsl:apply-templates>
      <xsl:sort select="salary"/>
    </xsl:apply-templates>
  </xsl:template>

或者

<xsl:for-each select="catalog/cd">
  <xsl:sort select="artist"/>
  <tr>
    <td><xsl:value-of select="title"/></td>
    <td><xsl:value-of select="artist"/></td>
  </tr>
</xsl:for-each>

请参阅对 XSLT 进行排序以及将排序信息放在何处

马克

于 2009-09-13T12:55:29.603 回答