1

私はxmlスキーマに関しては初心者です。とにかくここに私の質問があります:

私は次の要素を持っています

<property name="propA">some-value</property>

そして、次のような空の要素を XSD で防止したいと考えています。

<property name="propB" />
<property name="propC"></property>

以下に示すように、現在の XSD でこれを達成するにはどうすればよいですか。

<xs:complexType name="property">
    <xs:simpleContent>
        <xs:extension base="xs:string">
            <xs:attribute name="name" type="xs:string" use="required" />
        </xs:extension>
    </xs:simpleContent>
</xs:complexType>
4

1 に答える 1

1

このために独自の simpleType を作成できます。例えば ​​:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> 
    <xs:element name="property" type="property"/>
    <xs:complexType name="property">
        <xs:simpleContent>
            <xs:extension base="nonEmptyString">
                <xs:attribute name="name" type="xs:string" use="required" />
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:simpleType name="nonEmptyString">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
于 2013-01-29T16:27:18.923 に答える