XML模式:在元素中使用“限制”与仅使用“类型”

时间:2018-07-31 19:27:12

标签: xml xsd

我正在审查XSD,并寻找机会使其不再那么冗长。

我遇到了很多这样的实例:

<xs:element name="MyElement" maxOccurs="1" minOccurs="1" nillable="false">
    <xs:annotation>
        <xs:documentation>Some documentation</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
        <xs:restriction base="MyType"/>
    </xs:simpleType>
</xs:element>

不等于:

<xs:element name="MyElement" type="MyType" maxOccurs="1" minOccurs="1" nillable="false">
    <xs:annotation>
        <xs:documentation>Some documentation</xs:documentation>
    </xs:annotation>
</xs:element>

如果有关系,请输入以下类型:

<xs:simpleType name="MyType">
    <xs:restriction base="xs:string">
        <xs:maxLength value="100"/>
        <xs:whiteSpace value="collapse"/>
    </xs:restriction>
</xs:simpleType>

1 个答案:

答案 0 :(得分:0)

是的,对于所有实际目的(一定是出于验证目的),它是等效的。我不知道,在这两种情况下,可能会有数据绑定应用程序给出不同的结果。