我想用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>
答案 0 :(得分:0)
键的范围是包含元素。将<xs:key>
定义作为<xs:element name="questionPool">
元素定义的子项,并从选择器的XPath中删除第一步以匹配新上下文。