是否有用於xhtml數據的內置模式數據類型?假設我想指定一個包含兩個「woozles」的「boozle」元素,每個元素都是任意的xhtml。我想寫這樣的事情,使用RELAX NG緊湊語法:html/xhtml的內置模式數據類型
namespace nifty = "http://brinckerhoff.org/nifty/"
start = element nifty:boozle {woozle, woozle}
woozle = element nifty:woozle {xhtml}
不幸的是,xmllint然後通知該錯誤:
./lab.rng:43:元素參考:放鬆-NG解析錯誤:引用xhtml沒有匹配的定義 ./lab.rng:43:element ref:Relax-NG語法分析器錯誤:內部發現沒有爲ref定義xhtml
所以我的問題是這樣的:有什麼合理的,我應該把代替上面的「xhtml」?
在這裏給我自己的答案是否認爲是非常糟糕的形式? – 2010-06-18 03:05:06
更好的解決方案是使用帶有多個模式驗證器的XML管道,一個用於您的命名空間,另一個用於xhtml命名空間。我在我的答案評論中鏈接到xhtml模式。 – mdma 2010-06-18 10:45:56
這可能會遇到無知或頑固,但我不清楚如何將您的建議轉換爲聲明性解決方案。簡單地說:您是否建議以這樣的方式編寫Relax NG規範,以便我可以使用jing或xmllint或其他類似工具來驗證我的xml,還是建議更復雜的東西? 順便說一聲:非常感謝您的時間。 – 2010-06-18 15:58:24