Saxon 10 XQuery处理中DominoTree模型启用方式咨询
Saxon 10 切换至 DominoTree 模型的实现方式
直接配置启用(推荐)
Saxon 10企业版支持通过配置参数直接指定内部使用DominoTree模型,你给出的代码完全有效:
EnterpriseConfiguration pc = new EnterpriseConfiguration(); pc.setTreeModel(2);
这里的2对应Saxon内部TreeModel.DOMINO_TREE的枚举标识,配置完成后,Saxon在解析XML时会自动采用DominoTree处理,无需手动转换DOM对象。
手动转换已有DOM对象
如果已经持有现成的W3C DOM Document对象,也可以手动将其转换为DominoTree后传入Saxon,你提供的代码同样可行:
org.w3c.dom.Document doc = builder.parse(new InputSource(new StringReader(xml))); DominoTree domTree = DominoTree.makeTree(doc, eeconfig, "systemID");
这种方式适合需要复用已有DOM实例的场景,但如果是直接从XML源解析处理,第一种配置方式更简洁高效。
注意事项
DominoTree是Saxon EE(企业版)专属特性,必须使用Saxon EE版本才能生效,社区版不支持该树模型。
内容的提问来源于stack exchange,提问作者jmashalk
相关产品推荐
相关产品推荐

