Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XML模式:使用;“限制”;vs仅仅使用;“类型”;在一个元素中_Xml_Xsd - Fatal编程技术网

XML模式:使用;“限制”;vs仅仅使用;“类型”;在一个元素中

XML模式:使用;“限制”;vs仅仅使用;“类型”;在一个元素中,xml,xsd,Xml,Xsd,我正在审查XSD,并寻找机会使其不那么冗长 我遇到过很多这样的例子: <xs:element name="MyElement" maxOccurs="1" minOccurs="1" nillable="false"> <xs:annotation> <xs:documentation>Some documentation</xs:documentation> </xs:annotation> &

我正在审查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>


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

对于simpleType,您可以安全地消除
minOccurs
maxOccurs
。除了默认值之外,它们不会在序列之外做出贡献。nillable=“false”也是默认值(99%的时间都在使用),因此不需要说明。(有时代码看起来好像是由按行付费的人编写的。)一般来说,这些代码在我的模式中是按顺序排列的,但这很好。谢谢你,吉多特。迈克尔——或者是我看到的模式中的人物:)。酷!这可能会使该模式中至少有几百行被删除。