XSLT <xsl:apply-templates>
❮ XSLT 元素参考完整版
定义和用法
<xsl:apply-templates> 元素将模板应用于当前元素或当前元素的子节点。
如果我们在 <xsl:apply-templates> 元素中添加 select 属性,它将只处理与属性值匹配的子元素。我们可以使用 select 属性指定子节点的处理顺序。
语法
<xsl:apply-templates select="表达式" mode="名称">
<!-- 内容:(xsl:sort|xsl:with-param)* -->
</xsl:apply-templates>
属性
属性 | 值 | 描述 |
---|---|---|
select | 表达式 | 可选。指定要处理的节点。星号 (*) 选择整个节点集。如果省略此属性,将选择当前节点的所有子节点。 |
mode | 名称 | 可选。如果为同一个元素定义了多种处理方式,则在它们之间进行区分。 |
示例 1
将一个单独的 h1 元素包裹在文档中的每个 title 元素周围
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="title">
<h1><xsl:apply-templates/></h1>
</xsl:template>
</xsl:stylesheet>
示例 2
将一个单独的 h1 元素包裹在所有作为 message 子节点的 title 元素周围
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="message">
<h1><xsl:apply-templates select="title"/></h1>
</xsl:template>
</xsl:stylesheet>
示例 3
将一个单独的 h1 元素包裹在所有 mode 属性设置为 "big" 的 message 子节点周围
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="message">
<h1><xsl:apply-templates select="*" mode="big"/></h1>
</xsl:template>
</xsl:stylesheet>
❮ XSLT 元素参考完整版