以下は、要素と要素params
を含むルート要素を持つドキュメントを定義する XML スキーマです。どちらのタイプの要素にも属性があります。atomicParam
complexParam
name
<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
可能性があります。foo
name
- いずれ
complexParam
かの属性の値 (たとえばbar
) がある場合、どのatomicParam
要素もこの属性と同じ値を持つべきではありません。同時に、別 の属性が存在するcomplexParam
可能性があります。bar
name
これは可能ですか?