XSLTProcessor - 将 XSLT 样式表转换应用于 XML 文档,以生成新的 XML 文档

非标准
该功能是非标准的。请尽量不要在生产环境中使用它:因为每个用户不一定会正常运行。它的实现可能存在很大的不兼容性,并且将来可能会改变行为。

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

XSLTProcessorXSLT 样式表转换应用于 XML 文档,以生成新的 XML 文档作为输出。它可以用于加载 XSLT 样式表,操作 <xsl:param> 参数值,并将转换应用于文档。

语法

构造函数没有参数。

new XSLTProcessor()

方法

[Throws] void XSLTProcessor.importStylesheet(Node styleSheet)

导入 XSLT 样式表。如果给定的节点是文档节点,则可以传递完整的 XSL 转换或文字结果元素转换;否则,必须为 <xsl:stylesheet><xsl:transform> 元素。

[Throws] DocumentFragment XSLTProcessor.transformToFragment(Node source, Document owner)

通过使用 XSLTProcessor.importStylesheet() 函数导入的样式表来转换节点源。结果文档片段的所有者文档是所有者节点。

[Throws] Document XSLTProcessor.transformToDocument(Node source)

通过使用 XSLTProcessor.importStylesheet() 函数导入的样式表来变换节点源。

生成的对象取决于样式表的输出方法

输出方式 结果类型
html HTMLDocument
xml XMLDocument
text XMLDocument,只有一个根元素,为 <transformiix:result>,节点为文本

[Throws] void XSLTProcessor.setParameter(String namespaceURI, String localName, any value)

在导入的 XSLT 样式表中设置参数。(设置 <xsl:param> 的值。)namespaceURI 的值为 null 时认为是空字符串。

[Throws] any XSLTProcessor.getParameter(String namespaceURI, String localName)

从 XSLT 样式表获取参数的值。namespaceURI 值为 null 时认为是空字符串。

[Throws] void XSLTProcessor.removeParameter(String namespaceURI, String localName)

如果参数是先前设置的,则将其删除。这将使 XSLTProcessor 使用样式表中指定的参数默认值。namespaceURI 值为 null 时认为是空字符串。

void XSLTProcessor.clearParameters()

XSLTProcessor 中删除所有设置的参数。然后,XSLTProcessor 将使用 XSLT 样式表中指定的默认值。

void XSLTProcessor.reset()

XSLTProcessor 中删除所有参数和样式表。

属性

非 Web 公开的属性

以下属性是 [ChromeOnly] 的,并且不会显示在 Web 内容中:

[ChromeOnly] attribute unsigned long XSLTProcessor.flags

用于调整处理器行为的标志。无法通过调用 XSLTProcessor.reset() 进行重置。默认值:0

可能的值为:

名称 效果
(无) 0
DISABLE_ALL_LOADS 1 禁用加载外部文档(例如,通过 <xsl:import>document()

规范

不属于任何规范。 这是源自 Gecko 的专有接口。

Gecko IDL

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持 支持≤18 支持 不支持 支持 支持
clearParameters 支持12 支持 不支持 支持 支持
getParameter 支持112 支持 不支持 支持2 支持
importStylesheet 支持12 支持 不支持 支持 支持
removeParameter 支持12 支持 不支持 支持 支持
reset 支持12 支持 不支持 支持 支持
setParameter 支持112 支持 不支持 支持2 支持
transformToDocument 支持412 支持5 不支持 支持6 支持
transformToFragment 支持412 支持5 不支持 支持6 支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 支持 支持 未知 支持 未知 支持 支持
clearParameters 支持 支持 未知 支持 未知 支持 支持
getParameter 支持1 支持1 未知 支持 未知 支持2 支持
importStylesheet 支持 支持 未知 支持 未知 支持 支持
removeParameter 支持 支持 未知 支持 未知 支持 支持
reset 支持 支持 未知 支持 未知 支持 支持
setParameter 支持1 支持1 未知 支持 未知 支持2 支持
transformToDocument 支持4 支持4 未知 支持5 未知 支持6 支持
transformToFragment 支持4 支持4 未知 支持5 未知 支持6 支持

1. Chrome 仅支持字符串值。

2. Opera 仅支持字符串值。

3. Samsung Internet 仅支持字符串值。

4. 如果发生错误,Chrome 将返回 null

5. 如果发生错误,Firefox 将触发异常。

6. 如果发生错误,Opera 返回 null

7. 如果发生错误,Samsung Internet 返回 null

相关链接