我還沒有想出一個好的,乾淨的方式來做到這一點,所以我會給你帶來我的困境!XML元素覆蓋
我想用XML表示一個配置。我有一些領域,一些需要,一些不是,大多數都有嚴格的限制。我有一個基本的配置,我將代表作爲config.xml中可能有這樣一些內容:
...
<config>
<element-a value="3.2" />
<element-b value="hello world" />
</config>
...
有相關聯的模式,說這兩個領域的需要。一個是浮動,一個是一個字符串。現在我有另一個配置,它與第一個相似,只有一個小改動。我謹代表這樣說:
...
<include base-config="config.xml">
<config>
<element-a value="1.5" />
</config>
...
實際上,這種新的配置拉一切從基本配置文件中的元素,只規定了什麼是壓倒一切的。我不能爲此使用相同的模式,因爲現在所有的元素都是可選的,但是我想對數據保持相同的約束(最好不必創建一個新的模式,並且所有元素都是「可選的」)。
是否有符合XML標準的方式來做到這一點?或者任何人有幸完成了這一切?也許你有一個你想分享的設計模式?
目前,我期待具有每架構的兩個副本,並在處理步驟然後過載更新的元素我將加載鹼。這是一個麻煩的方法,所以希望有更好的方法。
假設我擁有BaseSchema和OverrideableSchema包含的GlobalTypes。我如何挑選和選擇BaseSchema中需要的元素,以及OverrideableSchema中的可選元素? – Anthony 2011-04-01 23:15:14
(至於讀取實際的配置和執行超載,我完全預期的XML不由我在這裏。我在實施的解決辦法是總是需要一個基礎包括通過了嚴格的架構。) – Anthony 2011-04-01 23:16:19