0

以下は、要素と要素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属性に適用することです。

  1. いずれatomicParamかの属性の値 (たとえばfoo) がある場合、どのcomplexParam要素もこの属性と同じ値を持つべきではありません。同時に、別の属性が存在するatomicParam可能性があります。fooname
  2. いずれcomplexParamかの属性の値 (たとえばbar) がある場合、どのatomicParam要素もこの属性と同じ値を持つべきではありません。同時に、別 の属性が存在するcomplexParam可能性があります。barname

これは可能ですか?

4

1 に答える 1