排序输出实验

给定如下XML文档:

a.xml

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="c.xslt"?>
<all_books>
    <item_books>
        <book_number>8475484848</book_number>
        <book_name>XML技术</book_name>
        <price>80</price>
    </item_books>
    <item_books>
        <book_number>35235348</book_number>
        <book_name>Python programming</book_name>
        <price>65</price>
    </item_books>
    <item_books>
        <book_number>67676348</book_number>
        <book_name>Java development</book_name>
        <price>76</price>
    </item_books>
    <item_books>
        <book_number>27974348</book_number>
        <book_name>NodeJS development</book_name>
        <price>90</price>
    </item_books>
</all_books>

提出如下设计需求:

1、设计合适的XSLT文件,应用程序可调用XSLT文件中的降序模板实现格式化以上XML数据并按“price”降序输出。

2、设计合适的XSLT文件,应用程序可调用XSLT文件中的升序模板实现格式化以上XML数据并按“price”升序输出。

 要求:

  1. 1排序
  2. 2、价格80或80以上的用加粗显示

运行效果:


b.xslt

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
    <xsl:output method="html" indent="yes"/>
    <xsl:template match="/">
        <div style="width:600px;margin:0 auto 0 auto">
            <table border="1" width="400px">
                <tr>
                    <th>书号</th>
                    <th>书名</th>
                    <th>价格</th>
                </tr>
                <xsl:for-each select="all_books/item_books">
                    <xsl:sort order="descending" data-type="number" select="price" />
                   
                    <tr>
                        <td>
                            <xsl:value-of select="book_number"/>
                        </td>
                        <td>
                            <xsl:value-of select="book_name"/>
                        </td>
                        <td>
                            <xsl:if test="price &gt;= 80">
                                <span style="font-weight:bold;">
                                    <xsl:value-of select="price"/>
                                </span>
                                </xsl:if>
                                <xsl:if test="price &lt; 80">
                                    <xsl:value-of select="price"/>
                                    </xsl:if>
                        </td>
                    </tr>
                </xsl:for-each>
            </table>
        </div>
    </xsl:template>
</xsl:stylesheet>

c.xslt

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
    <xsl:output method="html" indent="yes"/>
    <xsl:template match="/">
        <div style="width:600px;margin:0 auto 0 auto">
            <table border="1" width="400px">
                <tr>
                    <th>书号</th>
                    <th>书名</th>
                    <th>价格</th>
                </tr>
                <xsl:for-each select="all_books/item_books">
                    <xsl:sort order="ascending" data-type="number" select="price" />
                    <tr>
                        <td>
                            <xsl:value-of select="book_number"/>
                        </td>
                        <td>
                            <xsl:value-of select="book_name"/>
                        </td>
                        <td>
                            <xsl:if test="price &gt;= 80">
                                <span style="font-weight:bold;">
                                    <xsl:value-of select="price"/>
                                </span>
                                </xsl:if>
                                <xsl:if test="price &lt; 80">
                                    <xsl:value-of select="price"/>
                                    </xsl:if>
                                    </td>
                                </tr>
                            </xsl:for-each>
                        </table>
                    </div>
                </xsl:template>
            </xsl:stylesheet>

提示: 

运行结果:

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值