语法如下:
document(uri, base)
- uri: 表示外部XML文档的URI(Uniform Resource Identifier)。
- base: 可选参数,用于指定相对URI的基本URI。
以下是一个简单的示例,演示了如何在XSLT中使用 document() 函数:
<!-- 输入 XML -->
<root>
<external-doc>external.xml</external-doc>
</root>
<!-- external.xml -->
<data>
<value>42</value>
</data>
<!-- XSLT 转换 -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="root">
<output>
<!-- 使用 document() 函数引入外部文档 -->
<xsl:apply-templates select="document(external-doc)/data"/>
</output>
</xsl:template>
<xsl:template match="data">
<result>
<!-- 在外部文档的上下文中操作节点 -->
The value from external document is: <xsl:value-of select="value"/>
</result>
</xsl:template>
</xsl:stylesheet>
在这个例子中,<xsl:apply-templates select="document(external-doc)/data"/> 使用 document() 函数引入了名为 "external.xml" 的外部文档,并将其作为节点集合传递给匹配 data 的模板。在模板中,我们可以在外部文档的上下文中操作节点。
请注意,使用 document() 函数需要注意安全性和性能方面的考虑。一些XSLT处理器可能对跨域请求进行限制,而且频繁使用远程文档可能会影响性能。
转载请注明出处:http://www.pingtaimeng.com/article/detail/12248/XML