<xsl:include> 元素

包含另一个 XSLT 文件。

<xsl:include
  href = "uri-reference"/>

特性

  • href
    必需。 标识要包含的 XSLT 文件的统一资源标识符 (URI) 引用。

元素信息

出现次数

无限制

父元素

xsl:stylesheetxsl:transform

子元素

(无子元素)

备注

XSLT 文件可以使用 <xsl:include> 元素包含另一个 XSLT 文件。 href 属性值为标识要包含的文件的 URI 引用。 相对 URI 相对于 <xsl:include> 元素的基本 URI 进行解析。

<xsl:include> 元素只允许作为 <xsl:stylesheet> 元素的子元素。

在 Microsoft® XML 核心服务 (MSXML) 中处理包含时,就好像在树级别进行。 注意,这与 XML 树的文档对象模型 (DOM) 视图不同。 通过 href 属性值定位的资源作为 XML 文档进行分析,该文档中的 <xsl:stylesheet> 元素的子元素替换包含文档中的 <xsl:include> 元素。 与 <xsl:import> 不同,包含的模板规则与包含样式表中的模板规则具有相同的优先级。 因此,在包含样式表和包含的样式表均包含一个元素的模板规则时,模板将根据文档顺序调用。 如果包含样式表中的模板在包含的模板之后,将调用前者。 否则,将调用后者。

如果 XSLT 文件直接或间接包含自身,将出错。

如果多次包含某个 XSLT 文件,可能会因为重复的定义造成错误。 这种多次包含如果是间接的,就不太明显。 例如 A、B、C 和 D 全部是 XSLT 文件。 文件 B、C 和 D 包含其他 XSLT 文件,如下所示:

  • B 包含 A。

  • C 包含 A。

  • D 包含 B 和 C。

XSLT 文件 D 将两次间接包含 XSLT 文件 A。 要避免此错误,可以将 B 中的所有内容(除了包含的 A 之外)分成独立的 XSLT 文件 B1,并将 B 更改为包含 B1 和 A。 然后对 C 使用同样的方法,最后将 D 更改为包含 A、B1、C1。

示例

下面的主题提供 <xsl:include> 的示例。