对 XLST 中的节点进行排序

发布于 2024-08-04 12:54:01 字数 314 浏览 4 评论 0原文

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

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

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

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

This code selects the nodes, I want to work on...:

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

How can I put a sort/orderby in there, so items with newer createdDate are displayed first?

I'm using the CWS starter kit, and need to change the order of items displayed in SubNavi.xslt

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ゞ花落谁相伴 2024-08-11 12:54:01

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

<xsl:for-each select="$rootTextpageNode">
<xsl:sort select="@createDate" order="descending" />
    <xsl:value-of select="@nodeName" />
</xsl:for-each>

You can do a sort in the first line after a for-each, like so:

<xsl:for-each select="$rootTextpageNode">
<xsl:sort select="@createDate" order="descending" />
    <xsl:value-of select="@nodeName" />
</xsl:for-each>
眼角的笑意。 2024-08-11 12:54:01

不确定是否可以为此变量分配添加排序 - 通常,您在应用模板或执行 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在哪里放置排序信息

Marc

Not sure if you can add sorting to this variable assignment - typically, you sort either when you apply a template, or when you do a foreach:

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

or

<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>

See Sorting XSLT and Where to put the Sort information

Marc

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文