XSL学习笔记5 mode属性
对某一个元素做多次处理,那么选择<xsl:apply-template元素处理。
如果要每次对同一个元素处理输出不同的结果,那么就需要使用mode属性。
<xsl:template>和<xsl:apply-templates>都有一个mode属性,只有在这两个元素里面同时设定了mode属性,并且属性值相同,那么模板规则才会匹配。
例如:
employees.xml
<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="employees.xsl"?>
<!--这是公司雇员的信息-->
<employees>
<employee sn="E-200402100001">
<name>zhangsan</name>
<age>25</age>
<!--月薪小于等于2000元的雇员工资,以现金方式发放-->
<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>
<!--月薪高于2000元的雇员工资,以信用卡转帐的方式发放-->
<monthly_pay mode="credit_card">
3500.00
</monthly_pay>
</employee>
</employees>
employees.xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<table border="1">
<xsl:apply-templates select="employees/employee" mode="table"/>
</table>
<xsl:apply-templates select="employees/employee" mode="list"/>
</xsl:template>
<xsl:template match="employee" mode="table">
<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:template>
<xsl:template match="employee" mode="list">
<ul>
<li><xsl:value-of select="name"/></li>
<li><xsl:value-of select="age"/></li>
<li><xsl:value-of select="monthly_pay"/></li>
</ul>
</xsl:template>
</xsl:stylesheet>
输出的HTML文件:
<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>
<ul>
<li>zhangsan</li>
<li>25</li>
<li>1200.00</li>
</ul>
<ul>
<li>lisi</li>
<li>28</li>
<li>1600.00</li>
</ul>
<ul>
<li>wangwu</li>
<li>30</li>
<li>3500.00</li>
</ul>
IE中显式效果:
看到了吧,匹配了两次模板。
分享到:
相关推荐
XSL(Extensible ...对于初学者来说,从理解基本概念和语法开始,然后逐步实践,通过创建简单的转换项目来加深理解,是学习XSL的有效途径。记住,实践是最好的老师,不断尝试和改进,你将在XSL的世界中游刃有余。
### XSL 学习知识点详解 #### 一、XSL 概述 XSL(Extensible Stylesheet Language,可扩展样式表语言)是一种用于控制 XML 数据呈现方式的标准语言。类似于 CSS 对于 HTML 的作用,XSL 使得 XML 数据能够按照预定义...
在“xsl学习”这个主题中,我们主要关注如何使用XSL进行数据转换和呈现。 XML是一种标记语言,常用于存储和传输结构化数据。然而,XML文档本身并不规定如何显示这些数据,这就需要XSL来完成样式化和布局的工作。...
**XSL学习资料** XSL(Extensible Stylesheet Language)是一种强大的XML(eXtensible Markup Language)转换语言,主要用于将XML数据转换成其他格式,如HTML、PDF或纯文本,以便于显示或打印。本学习资料包针对...
使用模板美化后看起来更直观,用过的都说好! 使用教程:https://blog.csdn.net/X_sweelg/article/details/118367076
### XSL简明教程(5): 使用Order-by属性进行排序 在XML与XSL的世界里,数据处理变得异常灵活和强大。本章节我们将探讨如何利用XSL中的`order-by`属性来对XML文档进行排序,这在实际应用中非常有用,尤其是在需要根据...
2. **XSL学习.doc**:可能是作者编写的详细教程或笔记,涵盖XSL的高级特性,如XPath表达式、模式匹配、导入导出、命名空间、样式表组合等。此外,文档可能还包含了一些实用技巧和解决常见问题的方法。 3. **XSL速查...
学习XSL函数有助于编写复杂的转换规则,使XML数据更加符合输出需求。 **XSL元素**: XSL元素是XSL样式表的基本构建块,它们定义了如何转换XML文档。常见的XSL元素包括模板(`<xsl:template>`),用于定义如何处理...
学习XSL-FO的基本元素和属性,如page-sequence、flow、block等,能够帮助你创建复杂的页面布局和格式化输出。 6. **实践与调试**: 通过实际编写XSL转换和查看结果,是巩固理论知识的最佳方法。使用XSLT处理器...
其中,`select` 属性用于指定模板应应用于哪些节点,`mode` 属性则用于指定模式名称。 **例子:** ```xml <xsl:template match="/"> <xsl:apply-templates select="/root/message" /> </xsl:template> ```...
XSL-FO 简介 XSL-FO 的简介。包括其概念和作用。 XSL-FO 文档 本章将解 XSL-FO 文档的结构。 ...XSL-FO 区域 ...本章讲解 XSL-FO 的区域模型(area model)。...完整的 XSL-FO 对象列表,以及它们的属性。
学习XSL不仅包括理解基本概念,还需要掌握如变量、函数、模板选择、流控制(如条件语句和循环)、以及如何导入和链接其他XSL样式表等高级特性。此外,熟悉XPath的语法和功能对于有效使用XSL至关重要,因为XPath是...
随着Internet的发展,越来越多的信息进入互联网,信息的交换、检索、保存及再利用等迫切的需求使HTML这种最常用的标记语言已越来越捉襟见肘。HTML将数据内容与表现融为一体,可修改性、数据可检索性差,而XML借鉴了...
本教程大全是为初学者设计的,包含了一系列丰富的学习资源,旨在帮助初学者快速掌握XSL的核心概念和技术。 1. **XSL基础概念** - **XSLT**:XSL Transformations,XSL的主要部分,用于转换XML文档。 - **XSL样式...
对xml+xsl实现分页排序的改进,使支持对所有数据...同样xml+xsl实现排序原理:xsl可以按照节点的属性来排序,我们可以通过动态改变xsl的相关属性值来达到动态排序的目的。如果两个合起来用,却只能对当前页进行排序。
在IT行业中,XSL(Extensible Stylesheet Language)是一种用于转换XML(Extensible Markup Language)文档的语言,而XPath(XML Path Language)则是用于在XML文档中查找信息的查询语言。JavaScript,作为Web开发中...
5. **实际应用**:尝试将XML和XSL应用于实际项目中,比如生成动态报告、创建可配置的网页布局等。 6. **调试和测试**:使用XML和XSLT的验证工具和调试器来检查和修复错误,确保转换结果符合预期。 通过这些练习,...