gpt4 book ai didi

html - XSLT 按属性值排序

转载 作者:太空狗 更新时间:2023-10-29 14:46:05 26 4
gpt4 key购买 nike

我有一个关于如何根据属性值排序的问题。

我有以下源文档,我想按标题类值的值对轨道项目进行排序。

希望有人能提供帮助。

 <trackList>

<track>
<location>http://localhost/vmydoc</location>
<title class="STD">Data Two</title>
</track>
<track>
<location>http://localhost/vmydoc</location>
<title class="SH">Data Three</title>

</track>
<track>
<location>http://localhost/vmydoc</location>
<title class="STD">Data Four</title>

</track>
<track>
<location>http://localhost/vmydoc</location>
<title class="SH">Data Five</title>

</track>
</trackList>

最终输出应该是这样的:

<trackList>

<track>
<location>http://localhost/vmydoc</location>
<title class="SH">Data Three</title>

</track>

<track>
<location>http://localhost/vmydoc</location>
<title class="SH">Data Five</title>

</track>

<track>
<location>http://localhost/vmydoc</location>
<title class="STD">Data Four</title>

</track>
<track>
<location>http://localhost/vmydoc</location>
<title class="STD">Data Two</title>
</track>
</trackList>

我已经尝试了以下但它不起作用。

<xsl:for-each-group select="title" group-by="@class">

<xsl:for-each select="current-group()">
<xsl:value-of select="@class" />
</xsl:for-each>

</xsl:for-each-group>

谢谢。

最佳答案

您可以按如下方式执行此操作:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>

<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>

<xsl:template match="trackList">
<xsl:copy>
<xsl:apply-templates select="track">
<xsl:sort select="title/@class"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>

</xsl:stylesheet>

在您的样本输入上运行时,结果是:

<trackList>
<track>
<location>http://localhost/vmydoc</location>
<title class="SH">Data Three</title>

</track>
<track>
<location>http://localhost/vmydoc</location>
<title class="SH">Data Five</title>

</track>
<track>
<location>http://localhost/vmydoc</location>
<title class="STD">Data Two</title>
</track>
<track>
<location>http://localhost/vmydoc</location>
<title class="STD">Data Four</title>

</track>
</trackList>

关于html - XSLT 按属性值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17713493/

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