Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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 如何为一个元素设置多个范围以及XSD中的默认值?_Xml_Xsd - Fatal编程技术网

Xml 如何为一个元素设置多个范围以及XSD中的默认值?

Xml 如何为一个元素设置多个范围以及XSD中的默认值?,xml,xsd,Xml,Xsd,我正在写一个XSD。如果我有这样一个元素,我想将Value的默认值设置为整数。看起来,如果元素有一个数字范围,我就可以这样做,但是如果我有多个范围,如下图所示,我就不能向值添加默认值。有没有办法向定义了多个范围的元素添加默认值?我认为这对于类型xs:union是不允许的,但我确定如何获得默认值和一组范围 <xs:element name="Value" default="20"> <xs:annotation> <xs:documentati

我正在写一个XSD。如果我有这样一个元素,我想将
Value
的默认值设置为整数。看起来,如果元素有一个数字范围,我就可以这样做,但是如果我有多个范围,如下图所示,我就不能向
值添加默认值。有没有办法向定义了多个范围的元素添加默认值?我认为这对于类型
xs:union
是不允许的,但我确定如何获得默认值和一组范围

<xs:element name="Value" default="20">
    <xs:annotation>
        <xs:documentation xml:lang="en">
            Some Random Annotation
        </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
        <xs:union>
            <xs:simpleType>
                <xs:restriction base='xs:integer'>
                    <xs:minInclusive value="20"/>
                    <xs:maxInclusive value="30"/>
                </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
                <xs:restriction base='xs:integer'>
                    <xs:minInclusive value="40"/>
                    <xs:maxInclusive value="54"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
</xs:element>

一些随机注释

可以为union设置默认值,只要它与union定义的类型一致。在本例中,默认值20满足第一个简单类型的约束,因此可以。如果默认值为200,则不允许使用。

默认值是元素声明的一部分,而不是类型定义的一部分;只要作为默认值提供的值在类型的值空间内,就可以接受。(也就是说,如果您收到错误消息,这不是原因。)