XSLTProcessor - 将 XSLT 样式表转换应用于 XML 文档,以生成新的 XML 文档
非标准
该功能是非标准的。请尽量不要在生产环境中使用它:因为每个用户不一定会正常运行。它的实现可能存在很大的不兼容性,并且将来可能会改变行为。
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
XSLTProcessor
将 XSLT 样式表转换应用于 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
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 支持 | ≤18 | 支持 | 不支持 | 支持 | 支持 |
clearParameters | 支持 | 12 | 支持 | 不支持 | 支持 | 支持 |
getParameter | 支持1 | 12 | 支持 | 不支持 | 支持2 | 支持 |
importStylesheet | 支持 | 12 | 支持 | 不支持 | 支持 | 支持 |
removeParameter | 支持 | 12 | 支持 | 不支持 | 支持 | 支持 |
reset | 支持 | 12 | 支持 | 不支持 | 支持 | 支持 |
setParameter | 支持1 | 12 | 支持 | 不支持 | 支持2 | 支持 |
transformToDocument | 支持4 | 12 | 支持5 | 不支持 | 支持6 | 支持 |
transformToFragment | 支持4 | 12 | 支持5 | 不支持 | 支持6 | 支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS 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
。