Xml 最小长度不适用于以下代码。当我为Name指定空白值时,它通过了模式验证(它应该抛出错误)

Xml 最小长度不适用于以下代码。当我为Name指定空白值时,它通过了模式验证(它应该抛出错误),xml,xsd,schema,soapui,xsd-validation,Xml,Xsd,Schema,Soapui,Xsd Validation,最小长度不适用于以下代码。当我为FirstName指定空白值时,它通过了soapui中的模式验证(它应该抛出错误) 它通过了验证,因为当您为元素提供空值时,有效值是默认值“John”,它对类型有效。谢谢Michael。在接受默认值之前,如何在其上添加minlength限制1?我试图在minlength之后添加默认的内部限制,但默认的内部限制无效如果您不想允许空内容,请不要定义默认值。这是要求:)我必须!!这是一个矛盾。您不能同时说“如果内容为空,请使用X作为默认值”和“内容不允许为空”。要求如

最小长度不适用于以下代码。当我为FirstName指定空白值时,它通过了soapui中的模式验证(它应该抛出错误)



它通过了验证,因为当您为元素提供空值时,有效值是默认值“John”,它对类型有效。

谢谢Michael。在接受默认值之前,如何在其上添加minlength限制1?我试图在minlength之后添加默认的内部限制,但默认的内部限制无效如果您不想允许空内容,请不要定义默认值。这是要求:)我必须!!这是一个矛盾。您不能同时说“如果内容为空,请使用X作为默认值”和“内容不允许为空”。要求如下-将值默认为“ABC”,但如果我从SOAP UI手动删除该值,它会抛出一个错误,表示该值不能为空。你觉得这听起来还矛盾吗?
<xsd:element minOccurs="1" name="FirstName" default="John" >
            <xsd:simpleType>
                <xsd:union>
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                        <xsd:minLength value="1"/>
                        <xsd:enumeration value="John"/>
                        <xsd:enumeration value="Kyle"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:union>
            </xsd:simpleType>
            </xsd:element>