Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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_Null_Xml Validation - Fatal编程技术网

Xml XSD验证失败,因为空值是无效的小数

Xml XSD验证失败,因为空值是无效的小数,xml,xsd,null,xml-validation,Xml,Xsd,Null,Xml Validation,我在编写有效的XSD时遇到了一个问题,该XSD描述了一个十进制数的潜在空值 我正在尝试验证以下XML <RatioDe fieldId="011" nil="true"></RatioDe> 这个元素对应的XSD描述是 <xs:element minOccurs="0" maxOccurs="1" name="RatioDe" nillable="true"> <xs:complexType> <xs:simpl

我在编写有效的XSD时遇到了一个问题,该XSD描述了一个十进制数的潜在空值

我正在尝试验证以下XML

<RatioDe fieldId="011" nil="true"></RatioDe>

这个元素对应的XSD描述是

  <xs:element minOccurs="0" maxOccurs="1" name="RatioDe" nillable="true">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:decimal">
          <xs:attribute name="fieldId" type="xs:string" />
          <xs:attribute name="nil" type="xs:boolean" />
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>

基本上,错误信息是

元素“RatioDe”无效-值“”不是有效的“十进制”-字符串“”不是有效的十进制值


目前,我还不知道如何在xsd中更改以使xml有效。

您需要在实例文档中使用
xsi:nil
,而不仅仅是
nil
,即

<RatioDe fieldId="011" xsi:nil="true"/>

并确保
xsi
前缀是在文档中的某个地方定义的(使用
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“