如何在Java中處理不斷髮展的XML模式?我有一個用例,我必須在Java應用程序中支持一組舊的和不斷髮展的XML模式(即支持Foo v1,v2,v3,v4,v5)。如何在Java中處理不斷髮展的XML模式
我的使用案例包括 - 讀寫針對不同版本的foo XML模式 的所有富XML內容 - 合併富XML的內容,可以在不同的編寫針對使用不同的版本OVAL XML模式(即合併富V1與Foo v5)。
foo的XML架構是相當複雜的,有一種已知的向後兼容性問題,因此有可能是富V1 XML的內容可以使用美孚v3的XML模式失敗的XML模式驗證。
我想到了2種方法 1)使用Java XML數據綁定(如JAXB)併爲每個XML模式版本生成一組綁定。以Foo XML模式爲例,我將爲Foo XML模式v1至v5生成5組綁定。面臨的挑戰是如何從Foo XML內容的版本與其他版本的XML內容進行合併。
2)創建一組Java數據模型,並使用SAX,DOM,JDOM手動分析它,並試圖解決所有的向後兼容性問題,我可能會。現在的挑戰是我必須在沒有JAXB的幫助下自己解析XML。
我想獲得的是什麼來處理不斷髮展的XML架構的最佳方法一些建議。 Java XML數據綁定到正確的路徑還是創建我自己的Java數據模型並手動解析它?
我不知道'XSLT'能在這裏工作嗎?如果不是這樣,我可能會採用多種綁定方式,然後使用自己編寫的一套額外常用集合來組合您的方法。每次要使用xml數據時都要經過通用設置。 – atomman
順便說一句Java是一個詞,而不是縮寫 –