XML Schema(XSD) - 如果一个元素具有特定值,则必须存在另一个元素,反之亦然

lox*_*lox 13 xsd

我可以在XSD中表达这个吗?

例如:一个元素是名为EmployedMoreThanThirteenWeeks的必需bool元素,如果该值设置为false,我希望模式要求存在另一个名为EmploymentDate的元素.如果值为true则相反,那么理想情况下应该拒绝EmploymentDate元素,但我可以接受它是可选的.

Wim*_*ink 7

不是.XSD只定义结构和数据类型,而不是关系.可以在元素之间添加键引用,但这不会阻止无效节点,只会无效值.

您可以创建一个XSLT文件(XML样式表),它将为您验证XML文件,从而生成错误报告.

  • 从Schema 1.0开始,"否"是正确的答案.Schematron或XML Schema 1.1提供解决方案http://www.xfront.com/ExtendingSchemas.html http://www.ibm.com/developerworks/library/x-xml11pt2/ (2认同)