gpt4 book ai didi

list - 获取 xsl 1.0 仅显示列表中组中的第一项

转载 作者:行者123 更新时间:2023-12-02 17:52:18 24 4
gpt4 key购买 nike

这是博客文章的类别索引 - 我只想使用 xsl v1.0 显示一次类别。每个类别都会有多个帖子。期望的结果是:

Cat Name 1
cat Name 2
Cat Name 3

我认为对项目进行分组并仅显示组中的第一个(使用猫名作为键)会起作用,但 Muenchian 方法有点超出了我的能力。因此,如果有更简单的方法或 Muenchian 方法的简单解释,我们将非常感激。

XML

<Root>
<Schema>
<Field Type="Lookup" DisplayName="Category name" Required="FALSE" ShowField="Category_x0020_name" Name="Category_x0020_name" Group="" />
<Field ReadOnly="TRUE" Type="Computed" Name="LinkTitle" DisplayName="Post number" />
</Schema>
<Data ItemCount="1">
<Row Category_x0020_name="" LinkTitle="" />
</Data>
</Root>

xsl:

 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:template match="/">
<table border="0" cellpadding="0" cellspacing="0">
<h3>Categories</h3>
<xsl:for-each select="//Data/Row">
<xsl:if test="./@Category_x0020_name !=''">
<tr valign="top"> <td>
<a href="/cat{./@LinkTitle}.aspx">
<xsl:value-of select="./@Category_x0020_name" /></a></td> </tr>
</xsl:if>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>

最佳答案

不要害怕 Meunchian 方法。使用一次,您就可以在需要时应用它。

  • 收集所需数据并分组到一个键中
  • 使用诸如
  • 之类的谓词将模板应用于 仅具有相同键的一个节点

generate-id()=generate-id(key(...)[1])

这就是使用 Meunchian 分组需要了解的内容。从这里开始:

<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:key name="Cat" match="Data/Row" use="@Category_x0020_name"/>

<xsl:template match="/*/Data">
<xsl:apply-templates select="Row
[generate-id()
= generate-id(key('Cat',@Category_x0020_name)[1])]"/>
</xsl:template>

<xsl:template match="Row">
<xsl:value-of select="concat(@Category_x0020_name,'&#xA;')"/>
</xsl:template>

</xsl:stylesheet>

关于list - 获取 xsl 1.0 仅显示列表中组中的第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6658524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com