我可以在XSD中表達它嗎?XML Schema(XSD) - 如果一個元素具有特定值,則必須存在另一個元素,反之亦然
例如: 一個元素是必需的名爲EmployedMoreThanThirteenWeeks的布爾元素,如果該值設置爲false,我希望模式要求存在另一個名爲EmploymentDate的元素。反之,如果值是真的,理想情況下EmploymentDate元素應該被拒絕,但我可以接受它是可選的。
我可以在XSD中表達它嗎?XML Schema(XSD) - 如果一個元素具有特定值,則必須存在另一個元素,反之亦然
例如: 一個元素是必需的名爲EmployedMoreThanThirteenWeeks的布爾元素,如果該值設置爲false,我希望模式要求存在另一個名爲EmploymentDate的元素。反之,如果值是真的,理想情況下EmploymentDate元素應該被拒絕,但我可以接受它是可選的。
編號XSD只是定義結構和數據類型,而不是關係。可以在元素之間添加鍵引用,但這不會阻止無效節點,只是無效的值。
您可以創建一個XSLT文件(XML樣式表),它將爲您驗證XML文件並生成錯誤報告。
我認爲XSD CANT可以做到這一點,因爲模式僅驗證STRUCTURE(樹),而不驗證VALUES(儘管您可以檢查數值格式)。 您應該考慮其他驗證方式。
「否」是Schema 1.0的正確答案。 Schematron或XML Schema 1.1提供解決方案http://www.xfront.com/ExtendingSchemas.html http://www.ibm.com/developerworks/library/x-xml11pt2/ –