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

时间:2009-09-10 12:38:00

标签: xsd

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

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

2 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:0)

我认为XSD CANT可以做到这一点,因为模式只验证STRUCTURE(树),而不是VALUES(尽管你可以检查值格式)。 您应该考虑其他验证方式。

相关问题