XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ak="http://www.bilibili.com/namespace" version="2.0">
<xsl:template match="/">
<html>
<body>
<h1>Contracts of book name</h1>
<xsl:for-each-group select="/ak:bookstore/ak:book" group-by="fuck:title">
<xsl:sort select="current-group-key()"/>
<p>The book name is
<b><xsl:value-of select="current-group-key()"/></b>
<ul>
<xsl:apply-templates select="current-group-key()">
<xsl:sort select="ak:author"/>
</xsl:apply-templates>
</ul>
</p>
</xsl:for-each-group>
</body>
</html>
</xsl:template>
<xsl:template match="ak:book">
<li>
<xsl:value-of select="ak:author"/>
</li>
</xsl:template>
</xsl:stylesheet>`
外壳:
C:\ Users \ Administrator \ Desktop \ xml \ try&gt; java -jar D:\ saxon \ saxon9he.jar -o:try.html book.xml try.xslt
错误:
xsl表达式中{current-group-key()}中的静态错误:try.xslt的第11行第47行中的sort / @ select:XPST0017:未知系统函数current-group-key()
xsl:value-of / @中表达式中{current-group-key()}中的静态错误选择第13行try.xslt第55列:XPST0017:未知系统函数current-group-key()
xsl中表达式{current-group-key()}中的静态错误:apply-templates / @ select第15行try.xslt第59列:XPST0017:未知系统函数current-group-key()
在样式表编译期间报告了错误。
这是我的代码和shell。为什么Saxon9-HomeEdition不能分析它?
答案 0 :(得分:2)
该函数名为current-grouping-key()
(https://www.w3.org/TR/xslt20/#current-grouping-key),而不是current-group-key()
。我想<xsl:apply-templates select="current-group-key()">
应为<xsl:apply-templates select="current-group()">
(https://www.w3.org/TR/xslt20/#current-group)。