繼此tutorial我將我的733行模式重構爲16個獨立的文件或子模式,每個文件或子模式都有其自己的命名空間。現在頂級模式只有77行。計劃是使用這些子模式構建其他頂級模式。使用XSLT自動生成XML模式
問題是,大多數頂級模式都非常相似,只是在一些低級別的細節上有所不同。例如,當一個頂級架構支持全部PaymentMethodType
(參見tutorial)時,另一個頂級架構可能僅支持VISA和MasterCard。目前,我創建頂級模式的方法涉及相當多的重複。例如,我目前創建支持VISA和MasterCard的頂級架構的方法將涉及重複Main.xsd
和OrderType.xsd
,但是定製CommonTypes.xsd
並重新使用CustomerTypes.xsd
。 (因爲我的實際模式更長,所涉及的重複次數更多。)
我覺得這種重複是不可接受的,主要是因爲它引入了維護挑戰,即我將不得不維護具有不同名稱的任意數量的相同子模式。
我想知道的是,如果有一種方法不通過某種類型的配置文件(XSLT或許?)自動生成模式,以避免重複子模式。
而且,是它所有的子模式來聲明相同的目標命名空間在此情況下(就像XML架構命名空間xs
很好的做法,但定製子模式聲明不同的命名空間?
我已經充分考慮了這種情況,但從來沒有設計出這樣的優雅方法。請關注此線程。 –
在這種情況下,您可能還需要關注以下主題: http://www.oxygenxml.com/pipermail/oxygen-user/2012-November/004455.html – Olumide