Мне нужна помощь в выяснении того, как я могу сортировать цены в приведенном ниже примере ... например, в порядке возрастания. Как вы можете видеть, что я попробовал, но это не работает ... я думаю, потому что я только получать определенные элементы, которые имеют номер версии больше или равно 1XSL Сортировка в цикле
<?xml version="1.0" encoding="ISO8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match ="/">
<html>
<head>
<title>Apps List</title>
</head>
<body>
<h1>Application List</h1>
<table border="1">
<tr>
<th>Name</th>
<th>Type</th>
<th>Version</th>
<th>Price</th>
</tr>
<!-- for loop start-->
<xsl:for-each select="app/appCategory">
<xsl:sort select="appType/@price" order="ascending" data-type="number" />
<xsl:variable name="appType" select="@type"/>
<!-- for loop start-->
<xsl:for-each select="appItem">
<!-- if statement start-->
<xsl:if test = "@version >= 1"> <!-- >= means >= -->
<tr>
<td><xsl:value-of select="."/></td>
<td><xsl:value-of select="$appType"/></td>
<td><xsl:value-of select="@version"/></td>
<td>£<xsl:value-of select="@price"/></td>
</tr>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Вот файл XML:
<?xml version="1.0" encoding="ISO8859-1" ?>
<?xml-stylesheet type="text/xsl" href="q2.xsl"?>
<app>
<appCategory type="Productivity">
<appItem fileName="Messages" version="0.2" price="34.99">Thunderbird</appItem>
<appItem fileName="Contacts" version="2.0" price="3.00">Convenience Book</appItem>
<appItem fileName="Calendar" version="1.0" price="45.00">ForgetMilk</appItem>
<appItem fileName="Email" version="1.3" price="3.45">Email</appItem>
</appCategory>
<appCategory type="Games">
<appItem fileName="BrickBreaker" version="7.1" price="14.99">Brick Breaker</appItem>
<appItem fileName="WordMole" version="4.1" price="22.99">Word Mole</appItem>
<appItem fileName="FistOfAwesome" version="4.1" price="3.99">Fist of Awesome</appItem>
</appCategory>
<appCategory type="Social networking">
<appItem fileName="BlackBerry Messenger" version="0.2" price="0.99">Blackberry Messenger</appItem>
<appItem fileName="Twitter" version="1.1" price="24.99">Twitter</appItem>
<appItem fileName="Facebook" version="0.5" price="44.99">Facebook</appItem>
<appItem fileName="Grodog" version="0.5" price="1.99">Grodog</appItem>
<appItem fileName="LinkedIn" version="2.1" price="3.59">LinkedIn</appItem>
<appItem fileName="YouTube" version="5.5" price="1.59">YouTube</appItem>
</appCategory>
</app>
вы должны показать нам свой источник XML, чтобы выяснить, почему это не сортировка правильно ... кстати > = такая же, как > = и несколько более читаемым. .. соответственно вы можете использовать < для ниже –