我是xsl的新手。我正在尝试按照页面数量排序一系列书籍。为此,我写了一个简单的xsl文件,但它给了我一个有线输出。它排序了一些元素,它也留下一些未排序的元素。为什么我有这个输出?如何解决?
输出:
xml文件:
<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet type='text/xsl' href='sort.xslt'?>
<book>
<entry type='child'>
<title>amar boi</title>
<page>100</page>
</entry>
<entry type='child'>
<title>adhunik biggan</title>
<page>200</page>
</entry>
<entry>
<title>machine design</title>
<page>10000</page>
</entry>
<entry type='child'>
<title>amar bondhu rashed</title>
<page>100</page>
</entry>
<entry>
<title>baler boi</title>
<page>1000</page>
</entry>
<entry>
<title>fanush</title>
<page>90</page>
</entry>
</book>
Xsl文件:
<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0' >
<xsl:template match='/'>
<html>
<body>
<table style='border:1px solid black;'>
<thead>
<tr>
<td>title</td>
<td>page</td>
</tr>
</thead>
<xsl:apply-templates select='book/entry'>
<xsl:sort select='page'/>
</xsl:apply-templates>
</table>
</body>
</html>
</xsl:template>
<xsl:template match='book/entry'>
<tr>
<td><xsl:value-of select='title'/></td>
<td><xsl:value-of select='page'/></td>
</tr>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:2)
您可以尝试将数据类型=&#39; <&#39; 添加到xsl:sort:
<xsl:sort select='page' data-type='number' />
当前的排序输出看起来像被视为字符串,这是数据类型的默认值。