0

以下に、XSD の一部を示します。

<xs:element name="MyElement" minOccurs="0" maxOccurs="1">
    <xs:complexType>
        <xs:choice>
            <xs:element maxOccurs="unbounded" name="MyChildElement">
                <xs:complexType>
                    <xs:attribute name="MyAttribute1" type="xs:decimal" use="optional" />
                    <xs:attribute name="MyAttribute2" type="xs:decimal" use="optional" />
                    <xs:attribute name="MyAttribute3" type="xs:decimal" use="optional" />
                </xs:complexType>
            </xs:element>
        </xs:choice>
    </xs:complexType>
</xs:element>

次の両方の XML を受け入れます。

<MyElement>
    <MyChildElement MyAttribute1="10" />
    <MyChildElement MyAttribute2="10" />
</MyElement>

<MyElement>
    <MyChildElement MyAttribute1="10" MyAttribute2="10" MyAttribute3="10" />
</MyElement>

XSD が最初のもののみを受け入れるようにする方法があるかどうかを知りたいのですが、それは各要素に対して 1 つの属性のみです。
ありがとうございました。

4

2 に答える 2

1

XSD 1.0 にはありません。XSD 1.1 では、アサーションを使用してそれを行うことができます。XSD 1.1 は現在、Saxon と Xerces でのみサポートされています。

于 2013-09-12T09:43:01.837 に答える