• 您的位置我爱Aspx >> XML/XLST >> 深入XSL(3)---模板规则和模式(转)
  • 深入XSL(3)---模板规则和模式(转)

  • 作者:aspxer  来源:internet  日期:2007-5-20 0:28:44  关键字:xsl
  • 深入XSL(3)---模板规则和模式(转)

    p; 深入XSL(3)

    ---模板规则和模式

    翻译:孙一中

    模板规则

    模板规则由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 中的模式都是选择模式.

    ------------------------------------------------------------------------------

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:深入XSL(5)---联合样式表(转)
    下一篇:深入XSL (2)---样式表结构(转)