HTML5草案specifies(目前至少),URI about:legacy-compat
可用於依賴符合XML的doctype(其中<!DOCTYPE html>
isn 「T)。如何在XSLT處理器中使用HTML5的「about:」協議
所以我碰巧有HTML5驗證的XML文件,與啓動包:
<!DOCTYPE html SYSTEM "about:legacy-compat">
不幸的是,當我用這樣的XHTML5文檔與任何XSLT處理器一樣的Xalan或撒克遜人,他們自然試試解決(無法解析的)URI。
有什麼辦法可以讓他們忽略URI或者在底層隱藏它嗎?嘗試解決它在這些文檔的早期發生,所以例如撒克遜的-dtd:off
開關在這裏沒有效果。
編輯:低級別的方法sed -n '2,$p' <htmlfile> | otherapp
遺憾的是僅適用,直到我開始使用document()
XPath函數加載另一個XHTML5文件。
編輯2:我玩弄XML catalogs,讓他們與薩克森和Xalan一起工作。然而,然後我總是得到一個
java.net.MalformedURLException: unknown protocol: about
嗯,這並不奇怪,但我怎麼能繞過這個?永遠不應該解析URL,只是扔掉。
你想用xslt實現什麼?你要從html5轉到..?基本上,任何東西, – Wivani
。在特定情況下,使用FOP(Xalan)處理XSL-FO,並使用XSLT2和Saxon分割* more * HTML5。 – Boldewyn
但是我更關心基本的「如何解決URI的解決方案」這個基本問題:「URL」,而不是特定的XSLT問題。這只是我的用例。 – Boldewyn