2017-11-10 86 views
0

在我們的項目上,我們自己實現了org.w3c.dom。*接口。我可以在org.w3c DOM模型上使用Saxon嗎?

Saxon是否支持對XPath 2.0查詢的評估不是通過XML本身,而是通過org.w3c.dom。*實例的實例進行評估?

+0

請參閱https://www.saxonica.com/html/documentation/sourcedocs/thirdparty.html –

回答

1

是的,它的確如此。您可以使用JAXP XPath接口或s9api接口:我們建議使用s9api,因爲JAXP接口從來沒有爲XPath 2.0的更豐富的數據模型而設計,例如無法返回一系列字符串。

當使用Saxon的原生TinyTree模型時,Saxon比DOM運行時慢了5-10倍。當然,如果是您自己實現DOM,那麼(a)性能可能會有所不同,並且(b)總會存在錯誤的風險,例如您的DOM可能與DOM規範100%一致,但仍然與撒克遜已經測試過的任何DOM實現行爲不同。

Saxon-EE 9.8引入了一種處理DOM樹導航的新方法,稱爲Domino模型。這爲建立DOM樹的索引產生了前期成本,以提高後續導航的性能。如果DOM是可變的(即,如果內容在一個XPath表達式評估與另一個XPath表達式評估之間改變),則不要使用它,因爲這種更改會使索引無效。

相關問題