通过 XSD 的属性和元素的独特组合

Unique combination of attribute and element via XSD

这是我的 XSD 现在的样子:

<xs:element name="Pickers">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="Picker" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:unique name="unique-prefix">
    <xs:selector xpath="st:Picker"/>
    <xs:field xpath="@prefix"/>
  </xs:unique>
</xs:element>

它使选择器属性 prefix 独一无二,例如<Picker prefix="this is unique">

我想修改 XPath,使前缀和 <Picker> 元素内容的组合变得独特,例如<Picker>content</Picker>

所以,这就是我的意思...prefix+content 应该是独一无二的。

这可能吗?我该怎么做?

xs:unique 可以取多个 xs:field children:

<xs:unique name="unique-prefix">
    <xs:selector xpath="st:Picker"/>
    <xs:field xpath="@prefix"/>
    <xs:field xpath="."/>
</xs:unique>