Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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模式产生了一个没有名称空间的XML元素_Xml_Validation_Xsd_Namespaces_Schema - Fatal编程技术网

XML模式产生了一个没有名称空间的XML元素

XML模式产生了一个没有名称空间的XML元素,xml,validation,xsd,namespaces,schema,Xml,Validation,Xsd,Namespaces,Schema,我在使用一个非常简单的模式时遇到了一些问题。在xml正文中,模式指定根元素的第一个子元素被指定为具有xmlns=“”,这给我带来了验证问题 我搜索了又搜索,反复尝试,想弄明白为什么会发生这样的事情,但我没有取得任何成功。这会导致我的服务器代码出现更大的问题,因为我正在编写一个xml正文,并且由于我的元素没有xmlns=“”,所以验证失败 我想了解为什么xmlns=”“是由模式定义产生的,以及如何解决这个问题 以下是模式: <?xml version="1.0" encoding="UTF-

我在使用一个非常简单的模式时遇到了一些问题。在xml正文中,模式指定根元素的第一个子元素被指定为具有xmlns=“”,这给我带来了验证问题

我搜索了又搜索,反复尝试,想弄明白为什么会发生这样的事情,但我没有取得任何成功。这会导致我的服务器代码出现更大的问题,因为我正在编写一个xml正文,并且由于我的元素没有xmlns=“”,所以验证失败

我想了解为什么xmlns=”“是由模式定义产生的,以及如何解决这个问题

以下是模式:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    targetNamespace="http://www.example.org" 
    xmlns="http://www.example.org">

    <xs:simpleType name="XYZ">
        <xs:restriction base="xs:string">
            <xs:maxLength value="10"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="ABC">
        <xs:sequence>
            <xs:element name="PQR" type="XYZ"/>
        </xs:sequence>
    </xs:complexType>

    <xs:element name="A1">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="result" type="ABC"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

</xs:schema>
添加

对于
xs:schema
元素,应该可以解决这个问题。如果我做了这个小修改,然后让Oxygen生成一个示例XML文档,结果是

<?xml version="1.0" encoding="UTF-8"?>
<A1 xmlns="http://www.example.org">
    <result>
        <PQR>PQR0</PQR>
    </result>
</A1>
添加

对于
xs:schema
元素,应该可以解决这个问题。如果我做了这个小修改,然后让Oxygen生成一个示例XML文档,结果是

<?xml version="1.0" encoding="UTF-8"?>
<A1 xmlns="http://www.example.org">
    <result>
        <PQR>PQR0</PQR>
    </result>
</A1>

@戴维:不客气欢迎你提出更多的问题,即使“一天之内”不想解决它们,只要确保它们写得和这一个一样好。@DaveE欢迎你。-欢迎你提出更多的问题,即使你“一天”都不想解决它们,只要确保它们写得和这篇一样好就行了。
System ID: /Users/dev/Desktop/Untitled3.xml
Main validation file: /Users/dev/Desktop/Untitled3.xml
Schema: /Users/dev/Desktop/test.xsd
Engine name: Xerces
Severity: error
Description: cvc-complex-type.2.4.a: Invalid content was found starting with element '{"http://www.example.org":PQR}'. One of '{PQR}' is expected.
Start location: 4:10
End location: 4:13
URL: http://www.w3.org/TR/xmlschema-1/#cvc-complex-type
elementFormDefault="qualified"
<?xml version="1.0" encoding="UTF-8"?>
<A1 xmlns="http://www.example.org">
    <result>
        <PQR>PQR0</PQR>
    </result>
</A1>
xmlns="http://www.example.org"