我有一個看起來像這樣的XML:我正在尋找一種方式來強制執行包含在Artifact
小號Artifact
元素的數量限制數量
<Artifacts count="2">
<Artifact>
...
</Artifact>
<Artifact>
...
</Artifact>
</Artifacts>
應通過使用XSD模式等於「count」屬性的值。
儘管我找到了通過使用XSD 1.1規範來實現這一目標的可能方法,但我想知道如果沒有它,即基於XSD 1.0規範,它是否完全有可能。
編輯:我會嘗試提供一個更多的問題的上下文,以便更加精確。
XML文件將作爲輸入提供給C++應用程序。問題在於開發環境強制使用Xerces v。2.8.0庫進行分析。據我瞭解,這個版本不支持XSD 1.1標準。
當然,我可以添加額外的代碼,以便在XSD驗證後檢查Artifact
元素的正確出現次數。我希望有一種方法可以避免額外的代碼段,並完全驗證基於XSD的輸入文件。
謝謝您的答覆。我希望能有一種方法來操縱模式來做我的出價,但似乎沒有。 我會給它更多的時間來看看是否有其他用戶提出的任何瘋狂的想法,否則這個答案是偉大的和正確的!與此同時,我正在創建具有此限制的模式,並且正在研究如何合併XLST和XPath。 – Vag 2015-04-01 12:29:46
這是正確的,我也會挑戰OP的設計,這需要一個僅反映子屬性數量的屬性。 – kjhughes 2015-04-01 14:32:44
@kjhughes好點,我試圖編輯這個到我的答案 - 讓我知道,如果它仍然需要改進。 – 2015-04-01 14:41:19