浅析XSLT(Extensible Stylesheet Language Tranform)

[b]题记[/b]:XML将数据的传输和展现分离,专注与数据的传输,XSLT是将数据转化为html来显示.如果是css是html的样式语言的话,xslt就是xml的样式语言.

[b]1.XLST与XML[/b]
声明为xlst文件:
<?xml version = "1.0" encoding = "UTF-8" ?>
<xsl:stylesheet version = "1.0" xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">

xml文件引入xls文件:
<?xml-stylesheet type="text/xsl" href="test.xsl" ?>

[b]2.XLST语法:[/b]
[list]
[*]<xsl:template match=""/>:声明使用的XML文件片段, match="/"为全文
[*]<xsl:for-each select=""/>: 搜索对应的节点,相当于selectNodes.
[*]<xsl:value-of sleect=""/>: 取节点指,相当于node.getText()
[*]<xsl:if test="node[condition]"/>: 条件查询
[*]<xsl:choose><xsl:when test=""/><xsl:otherwise/></xsl:choose>: 条件遍历,相当于switch.
[/list]
其他语法请参考xslt教程.

[b]3.XSLT例子[/b]
xml文件:
<?xml version = "1.0" encoding = "UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="test.xsl" ?>
<bookstore>
<book>
<name>Regular Express</name>
<price>100</price>
<publisher>OReilly</publisher>
</book>
<book>
<name>Header First Java</name>
<price>50</price>
<publisher>OReilly</publisher>
</book>
<book>
<name>Header First Design Pattern</name>
<price>80</price>
<publisher>OReilly</publisher>
</book>
<book>
<name>Header First EJB</name>
<price>90</price>
<publisher>OReilly</publisher>
</book>
</bookstore>


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

<xsl:template match="/">
<html>
<head>
<title>Test XSLT</title>
</head>
<body>
<table border = "1">
<tr bgcolor="#9acd32">
<th align="left">Name</th>
<th align="left">Price</th>
<th align="left">Publisher</th>
</tr>
<xsl:for-each select="/bookstore/book">
<xsl:if test="price > 80">
<tr bgcolor="red">
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="price"/></td>
<td><xsl:value-of select="publisher"/></td>
</tr>
</xsl:if>
<xsl:choose>
<xsl:when test="price > 60">
<tr bgcolor="orange">
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="price"/></td>
<td><xsl:value-of select="publisher"/></td>
</tr>
</xsl:when>
<xsl:otherwise>
<tr bgcolor="grey">
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="price"/></td>
<td><xsl:value-of select="publisher"/></td>
</tr>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值