XML

XML 知识量:7 - 28 - 99

5.4 XSL模板><

定义模板- 5.4.1 -

XML根据XSL样式表的定义显示其内容,XSL中用于定义数据显示样式的元素称为模板。

一个XSL文件中可以定义一个或多个模板,模板就是一组规则,用于实现数据显示的转换。其语法格式为:

<xsl:template match="标记匹配模式">
    <! --显示内容与显示格式的定义-->
</xsl:template>

其中:

  • <xsl:template>是模板定义的开始标记,</xsl:template>是模板定义的结束标记。

  • match属性用于指定将规则应用于XML的哪个节点,match属性必须出现在模板定义的开始标记中。match属性值是一个XPath表达式,与该表达式匹配的XML节点才会被选中和适用定义的显示规则。

  • 模板中可以直接使用所有合法的HTML标记。注意:单行元素(例如:<br>、<hr>等)必须写成<br/>、<hr/>等空元素形式。

  • 模板定义指令不能嵌套,即<xsl:template>元素中不能再嵌套<xsl:template>。

  • 样式表有且只有一个根模板。根模板是与XML中的根节点匹配的模板,其match属性的值为“/”。XSL处理器总是从根模板开始实施XSL变换。

XSL模板示例如下:

<xsl:template match="/">
    <html>
        <head>
            <title>根模板</title>
        </head>
        <body>
            <xsl:apply-templates select="员工列表"/>
        </body>
    </html>
</xsl:template>
<xsl:template match="员工列表">
    <h1>显示员工列表</h1>
    <xsl:apply-templates select="员工"/>
</xsl:template>

调用模板- 5.4.2 -

在XSL中调用模板的语法为:

<xsl:apply-templates select="标记匹配模式"/>

其中:

  • xsl:apply-templates是调用模板的元素。

  • select属性用于标记匹配模式,其值为XPath表达式。

  • XSL处理器在识别出调用模板的元素后,会根据select的值到源树中查找所有与之匹配的标记,再到XSL中为这些标记寻找对应的模板,并依次将模板中的内容放到调用模板元素所在的位置。