我有一个看起来像这样的XML:我正在寻找一种方式来强制执行包含在Artifact
小号Artifact
元素的数量限制数量
<Artifacts count="2">
<Artifact>
...
</Artifact>
<Artifact>
...
</Artifact>
</Artifacts>
应通过使用XSD模式等于“count”属性的值。
尽管我找到了通过使用XSD 1.1规范来实现这一目标的可能方法,但我想知道如果没有它,即基于XSD 1.0规范,它是否完全有可能。
编辑:我会尝试提供一个更多的问题的上下文,以便更加精确。
XML文件将作为输入提供给C++应用程序。问题在于开发环境强制使用Xerces v。2.8.0库进行分析。据我了解,这个版本不支持XSD 1.1标准。
当然,我可以添加额外的代码,以便在XSD验证后检查Artifact
元素的正确出现次数。我希望有一种方法可以避免额外的代码段,并完全验证基于XSD的输入文件。
谢谢您的答复。我希望能有一种方法来操纵模式来做我的出价,但似乎没有。 我会给它更多的时间来看看是否有其他用户提出的任何疯狂的想法,否则这个答案是伟大的和正确的!与此同时,我正在创建具有此限制的模式,并且正在研究如何合并XLST和XPath。 – Vag 2015-04-01 12:29:46
这是正确的,我也会挑战OP的设计,这需要一个仅反映子属性数量的属性。 – kjhughes 2015-04-01 14:32:44
@kjhughes好点,我试图编辑这个到我的答案 - 让我知道,如果它仍然需要改进。 – 2015-04-01 14:41:19