繁体   English   中英

XML Schema 如何使每个元素的子元素唯一?

[英]XML Schema how to make sub-elements unique for each element?

我想用我的 xml 模式完成的是使每个 questionPool 的问题都是唯一的 - 不是所有的 questionPools。 在我的 xml 文件中,我有这个代码,评论说我想做什么:

<questionPools>
    <questionPool>
        <question idref="question1"/>
        <question idref="question2"/>
    </questionPool>
    <questionPool>
        <question idref="question3"/>
        <question idref="question1"/>    <!-- Duplicate but not in question pool so allowed -->
        <question idref="question3"/>    <!-- Not allowed because duplicate in question pool -->
    </questionPool>
</questionPools>

我已经尝试过了,但它会检查所有问题,而不是特定于一个池的问题:

<xsd:key name="keyQuestionPool">
    <xsd:selector xpath="questionPools/questionPool/question"/>
    <xsd:field    xpath="@idref"/>
</xsd:key>

键的 scope 是包含元素。 <xs:key>定义作为<xs:element name="questionPool">元素定义的子元素,并从选择器的 XPath 中删除第一步以匹配新上下文。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM