2010-03-31 45 views
1

因此情況如下:XML Schema與Java代碼的運行時綁定

我有一個應用程序,它爲XML文件提供編輯功能。該文件遵循特定的Schema。 Schema屬於Schema的一個子集,它實際上遵循着從一個到另一個的演化路線 - 因此它們彼此並沒有太大的不同。

模式之間的主要區別是字符串標籤的枚舉。

我現在需要以XML格式保存「元數據」(這是第二種類型的XML文件)。這個「元數據」包含模式中列舉的集合中的標籤列表。

應用程序可以在運行時接受新模式並進行自我調整。

因此我必須由兩個模式包含存儲在XML中的「元數據」的基本結構一個靜態和一個含有「適當的」標籤枚舉進行驗證的XML文件。後一個模式在運行時確定。

我瀏覽了JAXB,XMLBeans和JiBX。

我無法弄清楚什麼樣的技術選擇,將允許對代碼和架構中,將獲益最多我用例的方式運行時綁定。

有什麼建議嗎?

謝謝!

+0

你想用「綁定」實現什麼功能?或者你只需​​要在運行時驗證? – lexicore 2010-03-31 13:14:34

+1

Firstoff我希望在運行時驗證,一旦完成,我希望有方便的對象來表示文件中的數據,這樣我就可以繼續對它們做一些「有趣的事情」。 – Yaneeve 2010-03-31 13:18:35

+0

用戶是否直接在應用程序中編輯XML文件?而不是讓他們在更高層次的抽象中工作? – 2010-03-31 13:25:40

回答

1

這是an article on validation

至於「得心應手對象」 - 即使是在運行時,即使JAXB - 好,你竟然可以編譯XML模式到Java類。問題是你不能從運行時創建的類中獲益,因爲你的代碼不知道它們。

我會在一些XML架構的API(如XSOM)的方向思考。

+1

我會看看XSOM - 聽起來很有趣 – Yaneeve 2010-03-31 13:36:05

+0

還有其他選擇(例如Xerces Schema API http://xerces.apache.org/xerces2-j/javadocs/xs/index.html),請檢查一下更適合您的需求。 – lexicore 2010-03-31 13:38:48