gpt4 book ai didi

xml - 是否可以仅在一个 XSD 文件中展平 XML 模式包?

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

我有一个由两个 XSD 文件组成的 XSD 包:比方说 A.xsd 和 B.xsd。模式 A 导入(不包括)B 模式。它们具有不同的命名空间。

我需要在不能很好地与 xsd:imports 配合使用的系统中使用这些模式。

是否可以将 XSD 包扁平化为一个且仅一个 XSD 文件,或者每个命名空间一个 XSD 文件是否是绝对最小值?

最佳答案

每个 xs:schema 元素仅包含一个目标命名空间的声明。但是规范中没有任何内容说明 xs:schema 必须是 XML 文档的根元素。因此,理论上,您可以将两个模式元素都包装在一个包装文件中;在实践中,并非所有 XSD 验证器都会对此作为输入感到满意。

[后来的补充:因为这似乎是一个有争议的问题,也许我应该明确地说,我假设“一个 XSD 文件”是指一个 XML 文档,包含在一个包含 XSD 的文件中。如果您是其他意思,请解释。]

您没有说您在导入时遇到了什么样的问题,但是可能值得尝试的一件事是从 A 中的 xs:import 元素中删除架构位置信息。 xsd(因此导入仅命名所涉及的命名空间,而不是架构文档的位置),并将 A.xsd 和 B.xsd 作为运行时参数传递给处理器。 (大多数但不是所有 XSD 处理器都允许您在调用时指定一些模式文档供它们读取。参数的顺序可能很重要,因此如果第一次不起作用,请尝试颠倒顺序。)

关于xml - 是否可以仅在一个 XSD 文件中展平 XML 模式包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12514361/

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