我們正在嘗試爲我們的XSD提供一個好的模型。這是問題:多級XSD約束
List
I-> Item1
I->Element1
I->Element2
I->Element3
I-> Item2
I->Element1
I->Element2
I->Element3
I-> Item3
I->Element1
I->Element2
I->Element3
ReferenceToElement
I-> Item1/Element1
我們得到了一個模型,我們需要兩個嵌套列表。所以有一個帶有「項目」的列表,每個項目都有一個包含元素的列表。所以我們想引用這些元素。
第一種方法
每個項目/元素確實有一些屬性。數字屬性在所有項目中都是唯一的。此外,數字屬性在所有元素中都是唯一的,因爲父項的編號以其編號進行編碼。例如,對於item.no = 2,所有元素將看起來像這個2xx,所以201,202等。這當然會將元素限制爲100,這對我們來說很好。
爲了保持所引用元素的存在性,我們創建了一個約束條件,使所有條目都是唯一的以及所有條目中的所有元素。所以我們參考一個元素看起來就像這樣
Reference
- ItemNo
- ElementNo
這樣我們確保項目以及元素存在。我知道這兩個戰隊之間存在一個問題,因爲引用的項目不一定在elementno中隱含地陳述。例如ItemNo = 1,但ElementNo = 202。這種方式驗證會告訴我們至少這些元素是否存在。主要的缺點是我們需要關注所有殺死我們的元素中數字的正確分配。
第二條本辦法
我們不會使用該約束的elementNo,但留在貨號。這樣我們就可以在所有元素上使用簡單的數字,但是在模式驗證期間,我們會放棄elementNo上的參考迭代。這對我們來說似乎是最好的方式。
問:
有沒有一種方法來模擬兩上演着XSD能力的參考?我讀了一些關於斷言的內容,但在這種情況下它似乎沒有幫助我們。