以下は、要素と要素paramsを含むルート要素を持つドキュメントを定義する XML スキーマです。どちらのタイプの要素にも属性があります。atomicParamcomplexParamname
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://companyname.org/"
xmlns:tns="http://companyname.org/"
>
<element name="params" type="tns:ParamsType"/>
<complexType name="ParamsType">
<sequence>
<element name="atomicParam" type="tns:AtomicParamType" minOccurs="0" maxOccurs="unbounded"/>
<element name="complexParam" type="tns:ComplexParamType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="ComplexParamType">
<simpleContent>
<extension base="string">
<attribute name="name" type="string" use="required"/>
</extension>
</simpleContent>
</complexType>
<complexType name="AtomicParamType">
<simpleContent>
<extension base="string">
<attribute name="name" type="string" use="required"/>
</extension>
</simpleContent>
</complexType>
</schema>
私の目標は、次の制約をname属性に適用することです。
- いずれ
atomicParamかの属性の値 (たとえばfoo) がある場合、どのcomplexParam要素もこの属性と同じ値を持つべきではありません。同時に、別の属性が存在するatomicParam可能性があります。fooname - いずれ
complexParamかの属性の値 (たとえばbar) がある場合、どのatomicParam要素もこの属性と同じ値を持つべきではありません。同時に、別 の属性が存在するcomplexParam可能性があります。barname
これは可能ですか?