gpt4 book ai didi

xml - 是否可以限制 XSD 属性遵循数字顺序?

转载 作者:数据小太阳 更新时间:2023-10-29 02:23:43 24 4
gpt4 key购买 nike

例如,如果我有以下 XML 文档:

<course name="math">
<grade attempt="1">F</grade>
<grade attempt="2">F</grade>
<grade attempt="3">B</grade>
</course>

我如何使用 XSD 来验证属性“attempt”只有在出现 1 时才具有值 2,在出现 2 时才具有值 3,等等?

编辑:为了更清楚,我需要的是让第一个元素在属性中具有值“1”的可能性,并且每个后续兄弟的值都增加一个。

最佳答案

是的,这是可能的,但不是在 XSD 1.0 中。

最简单的解决方案:完全删除@attempt 属性;它什么也没增加。

我建议您重新审视明确强制执行约束的目标,如果隐含的话,这些约束本来是免费的。去掉@attempt属性,它只用来标识grade元素在序列中的位置,让序列暗示后面的序列位置不能存在没有以前的职位已经存在。

XSD 1.0 无法以其原始形式帮助处理您的请求,使用 XSD 1.1 断言或 Schematron 或外部代码是多余的。只需删除 @attempt 即可轻松使用 XSD 1.0,应用程序开发也将得到简化。您可以根据序列位置在需要的任何位置生成尝试编号。

关于xml - 是否可以限制 XSD 属性遵循数字顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29346309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com