XSL学习笔记3 XSLT的模板规则<xsl:value-of>和<xsl:for-each>
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lavasoft.blog.51cto.com/62575/60416 |
XSL学习笔记3 XSLT的模板规则<xsl:value-of>和<xsl:for-each>
1、<xsl:value-of>元素
<xsl:value-of>元素是选择当前节点的值,用于在结果树中创建一个文本节点。例如<xsl:value-of select="Name" />就是选择Name节点的值。 select属性是必须的,用于指定要计算的表达式,表达式计算的结果将被转换为一个字符串值。如果字符串为空,那么文本节点将不会被创建。 注意,每个xsl文件都需要导入xsl的命名空间,http://www.w3.org/TR/WD-xsl,例如在xml头声明之后加入:<p xmlns:xsl="http://www.w3.org/TR/WD-xsl">
2、<xsl:for-each>元素
<xsl:for-each>元素逐个(select)选择某条件,应用条件。select属性是必须的,用于指定一个表达式,该表达式计算结果必须是一个节点集。<xsl:for-each>元素的内容是一个模板,对于每一个被选择的节点,实例化该模板。 for-each还支持排序,order-by语句,它的语法是以分号(;)分隔、作为排序标准的列表。在列表元素前添加加号(+)表示按此标记的内容以升序排序,添加减号(-)表示逆序排序。作为一种简化的表示就是,排序标准列表就是由select规定的标记的子标记的序列,每个标记之间以(;)分隔。
employee.xml
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="src/employees44.xsl"?> <employees> <employee sn="E-200402100001"> <name>zhangsan</name> <age>25</age> <monthly_pay mode="cash"> 1200.00 </monthly_pay> </employee> <employee sn="E-200402100006"> <name>lisi</name> <age>28</age> <monthly_pay mode="cash"> 1600.00 </monthly_pay> </employee> <employee sn="E-200503220001"> <name>wangwu</name> <age>30</age> <monthly_pay mode="credit_card"> 3500.00 </monthly_pay> </employee> </employees> employee.xsl
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head></head> <xsl:apply-templates/> </html> </xsl:template> <xsl:template match="employees"> <body> <table border="1"> <xsl:for-each select="employee"> <tr> <td><xsl:value-of select="name"/></td> <td><xsl:value-of select="age"/></td> <td><xsl:value-of select="monthly_pay"/></td> </tr> </xsl:for-each> </table> </body> </xsl:template> </xsl:stylesheet> 通过xslt处理器转换为html结果为:
<html>
<head> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <table border="1"> <tr> <td>zhangsan</td> <td>25</td> <td>1200.00</td> </tr> <tr> <td>lisi</td> <td>28</td> <td>1600.00</td> </tr> <tr> <td>wangwu</td> <td>30</td> <td>3500.00</td> </tr> </table> </body> </html> 本文出自 “熔 岩” 博客,请务必保留此出处http://lavasoft.blog.51cto.com/62575/60416 本文出自 51CTO.COM技术博客 |



leizhimin
博客统计信息
热门文章
最新评论
友情链接