XSD文件中<element>
的minOccurs
屬性的默認值爲1 (source)。
考慮你有一個XSD指定一個包含2個元素的複合類型:<el1>
和<el2>
。
如果您提供僅包含<el2>
的XDocument
,則XDocument
將不會生效。
相反,你會得到消息:
如何使用XSD檢查丟失元素的XML
The element Message in namespace ___ has invalid child element el2 in namespace ___. List of possible elements expected: el1
這基本上是<el2>
錯誤,其中一個期望的複雜類型的錯誤不包含<el1>
。
我的問題是:
有沒有一種方法,以檢查是否所有<element>
標籤都有效,其具有minOccurs
> 0存在?
我會說這是使用XSD驗證XML時非常基本的檢查。
我認爲它工作正常,但錯誤信息只是誤導。它說「這不是我期望看到的下一個元素」。如果你不喜歡這個消息,你的問題是你的驗證器,而不是你的模式。 – Nemo
也許你是對的,但是當我錯過了minOccurs = 1的更多元素時,我只有第一個失蹤的錯誤。對用戶的反饋一次報告1個缺失元素效率不高。 @Nemo:瞭解其他驗證器嗎? – Peter