gpt4 book ai didi

xslt - xsl :sort with apply-templates not sorting

转载 作者:行者123 更新时间:2023-12-02 11:45:01 24 4
gpt4 key购买 nike

我有一个相当大的 XSL 文档,用于完成许多事情的作业。它几乎完成了,但我错过了必须对其进行排序的要求,但我无法让它工作。这是正在发生的事情的 SSCCE。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<!-- Root Document -->
<xsl:template match="/">

<html>
<body>

<xsl:apply-templates select="staff">
<xsl:sort select="member/last_name" />
</xsl:apply-templates>

</body>
</html>

</xsl:template>

<xsl:template match="member">
<xsl:value-of select="first_name" />&#160;<xsl:value-of select="last_name" /> <br/>
</xsl:template>

</xsl:stylesheet>

XML 文件如下所示

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="sort.xsl"?>

<staff>
<member>
<first_name>Joe</first_name>
<last_name>Blogs</last_name>
</member>

<member>
<first_name>John</first_name>
<last_name>Smith</last_name>
</member>

<member>
<first_name>Steven</first_name>
<last_name>Adams</last_name>
</member>

</staff>

我原以为工作人员会按姓氏列出,但他们没有得到排序。请记住,我在 XSLT 方面非常缺乏经验。

最佳答案

    <xsl:apply-templates select="staff">
<xsl:sort select="member/last_name" />
</xsl:apply-templates>

选择人员元素并对它们进行排序,但只有一个人员元素,因此这是一项无操作。

更改为

    <xsl:apply-templates select="staff/member">
<xsl:sort select="last_name" />
</xsl:apply-templates>

然后选择所有成员元素并对它们进行排序。

关于xslt - xsl :sort with apply-templates not sorting,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9824703/

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