深入XSLT第四章 --- 模板规则和模式

深入XSLT --- 模板规则和模式

模板规则

模板规则由xsl:template元素来规定."match"属性标识了规则应用的源节点(集).xsl:template. 例如:一个XML文档可能包含下面的内容:

This is an <emph>important</emph> point.

下列的模板规则匹配emph类型的元素,另有一个模板产生一fo:sequence 格式化对象,其font-weight属性为粗体(bold).

<xsl:template match="emph">
<fo:sequence font-weight="bold">
<xsl:process-children/>
</fo:sequence>
</xsl:template>

xsl:process-children元素会递归处理”父”元素的“子”节点。

模式

一个模式是一个字符串,它用于匹配XML源文件中的一个元素.最通常的模式规定了匹配元素的类型名称. 例如, emph模式匹配类型为emph的元素.更复杂的模式规定了相匹配元素的”祖先”节点的元素类型.例如, olist/item 模式匹配类型为item并且父亲元素为olist类型的元素. “祖先”序列中的每个元素类型之后可以跟着一系列由逗号分隔的限定词. 如, list[attribute(ordered)="yes")]/item[first-of-type()] 匹配item类型的元素,位于相同层次的元素的第一个,而且父节点类型为list,属性名”ordered”的值为”yes”. 

这部分详细描述了模式的语法和语义.匹配元素的模式被认为是匹配模式(match pattern). xsl:template 的模式就是匹配模式. 一个模式也可以用来选择一系列的节点;这样的模式被认为是选择模式(select pattern).在一个选择模式中, 存在一个当前节点来提供选择的前后关系.该模式会选择相匹配的一列源节点.这些节点是以文件来排序的. xsl:process, xsl:for-each 和xsl:value-of 中的模式都是选择模式.

时间: 2024-10-27 07:35:18

深入XSLT第四章 --- 模板规则和模式的相关文章

深入XSLT第五章--- 模板

深入XSLT第五章--- 模板 1 概述 当应用于源元素的规则被确定后,就要具体实现该规则的模板.一个模板能包含文字结果的元素, 字符数据和产生结果树部分的指令.指令由XSL名域中的元素来表示,可以选择后代元素来处理. 有两类这样的指令, xsl:process-children 和xsl:process; xsl:process-children指令处理源元素的邻近子元素, 而xsl:process指令处理由指定模式来选择的元素.见下例: <xsl:template match="cha

深入XSL(3)---模板规则和模式(转)

模板   深入XSL(3)---模板规则和模式翻译:孙一中  模板规则 模板规则由xsl:template元素来规定."match"属性标识了规则应用的源节点(集).xsl:template. 例如:一个XML文档可能包含下面的内容: This is an <emph>important</emph> point. 下列的模板规则匹配emph类型的元素,另有一个模板产生一fo:sequence 格式化对象,其font-weight属性为粗体(bold). <

Knockout应用开发指南 第四章:模板绑定

原文:Knockout应用开发指南 第四章:模板绑定 模板绑定The template binding 目的 template绑定通过模板将数据render到页面.模板绑定对于构建嵌套结构的页面非常方便.默认情况, Knockout用的是流行的jquery.tmpl模板引擎.使用它的话,需要在安装页面下载和引用jquery.tmpl和jQuery框架.或者你也可以集成其它的模板引擎(虽然需要了解Knockout 内部知识才行).   例子 <div data-bind='template: &quo

《PHP程序设计》 第四章 程序控制

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />  第四章 程序控制      本章深入PHP内部,讲述如何使用函数.表达式和语句以实现对程序的控制.      前面的章节初步介绍了怎样操作数据,如果我们将操作数和操作符看作是构筑元件的话,那么它们组合起来即可形成表达式.进一步讲,表达式可以构成语句,语句用于组成函数,而函数则可用来组成程序.      提示:在学习有关编

3D编程:第四章 Hello,Shaders

第四章 Hello,Shaders 本章,会编写第一个shaders.介绍HLSL语法,FX文件格式,数据结构等等.学完本章,你就具备了深入学习图形编程的基础知识. Your First Shader 使用一种新的编程语言编写第一个程序时都会使用经典的编程例子"Hello,World!",程序输出就是一行文字"Hello,World!".我们遵守这一历史悠久的传统,编写第一个shader程序"Hello,Shaders!",但是这次的输出是一种固

WF从入门到精通(第十四章):基于状态的工作流

学习完本章,你将掌握: 1.理解状态机的概念以及它怎样被模拟到工作流处理中的 2.创建基于状态的工作流 3.运用初始(initial)和终止(terminal)状态条件 4.使用代码进行状态的切换 在第四章"活动和工作流类型介绍"中,我阐述过你使用WF所能创建的工作流类型,在那里我提到过基于状态的工作流.基于状态的工作流模型被认为是有限自动机(finite state machine).基于状态的工作流在工作流需要和外部事件进行许多交互的场合中大出风头.在事件触发并被工作流处理的时候,

magento 开发 -- 深入理解Magento第四章 – 模型和ORM基础

第四章 – 模型和ORM基础 对于任何一个MVC架构,模型(Model)层的实现都是占据了很大一部分.对于Magento来说,模型占据了一个更加重要的位置,因为它常常包含了一部分商业逻辑代码(可以说它对,也可以说它错).这些代码在其他的MVC框架中往往出现在控制器或者帮助函数中. 传统的PHP MVC架构中的模型 本来MVC的定义就不是很清晰,不同的人有不同的看法,而对于模型的定义争议就更多了.在MVC模式被广泛采用之前,PHP程序员往往通过SQL语句直接操作数据库.也有些程序员通过一个SQL抽

《网络零售学》——第四章网络零售的基本规律与原理

第四章 网络零售的基本规律和原理 第一节 网络零售的经济学特征及基本理论 一.关于经济学基本原理 (一)经济学(economics) 经济学的定义:研究在资源稀缺和理性人假设下资源的合理配置:或者说经济学研究的是人在约束条件下的选择行为.经济学认为相对于人们的欲望,经济资源总是短缺的.经济学就是研究如何合理地配置和充分利用稀缺的经济资源来满足人们的多种需求的科学. 经济学的英语Economics是由希腊文οκο?[oikos]而来,意思是家庭.家族.财产权(family,household,es

【PMP】Head First PMP 学习笔记 第四章 项目整合管理

第四章 项目整合管理 项目经理每天的工作 力保项目顺利进行 紧密监督以确保计划进行 计划本身不完善需要予以修正 即使是更大的项目的子项目,也要有收尾的过程 6个整合管理过程 整合管理划分为6个过程,项目经理必须掌握的核心职责. 1.制订项目章程 授权你展开工作的文档,通常由赞助人(为项目提供资金的人)交给你. 2.制订项目管理计划 项目管理计划涵盖了所有知识领域,很大一部分就是告诉你在出现问题时如何处理变更. 3.指导和管理项目执行 确保所有人都在做他们本该做的事,项目创建的产品和项目确实满足干