xml - XSD 子元素可选/必需,基于父属性名称

标签 xml xsd

我正在开发 XSD 验证代码,并且我正在尝试找出如何验证具有

的 XML 文件
<root>
    <elementA attribute1=ID>
    ...
    </elementA>
    <elementA attribute2=ID>
    ...
    </elementA>
</root>

我想制作 XSD,它根据属性名称验证相同的元素,并使某些子元素对于 attribute1 是可选的,而对于 attribute2 是必需的。

请注意,“...”是相同的元素,其中一些字段对于 attribute1 是可选的。

最佳答案

在 XSD 1.0 中,元素的类型只能取决于元素名称,而不取决于其属性。 XSD 1.1 通过称为“条件类型分配”的工具消除了此限制。 XSD 1.1 目前仅在 Xerces 和 Saxon 中实现。

关于xml - XSD 子元素可选/必需,基于父属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11661550/

相关文章:

xml - 将十六进制颜色代码转换为 HSL 值,反之亦然?

xml - Tomcat 服务器会自动识别并执行跨域策略文件吗?

xsd - 如何从 http wsdl url 访问 xsd 文件?

c++ - xerces - 处理标签名称中的命名空间

c++ - 检查更新(将远程 XML 文件与本地变量进行比较)

.net - 如何使用单个 XMLDataSource 嵌套 Repeater?

R:巨大(> 20GB)文件的xmlEventParse期间的内存管理

XSD 注释和文档元素,以及如何使用它们

java - 如果未设置命名空间前缀,则解码对象为 null

java - IntelliJ 中缺少架构定义