深入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 中的模式都是选择模式.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值