Xml XSD错误:验证根目录没有匹配的全局声明
当我尝试验证XML文件时,出现以下错误: xml:3:element person:Schemas有效性错误:elementXml XSD错误:验证根目录没有匹配的全局声明,xml,xsd,xml-namespaces,xsd-validation,xml-validation,Xml,Xsd,Xml Namespaces,Xsd Validation,Xml Validation,当我尝试验证XML文件时,出现以下错误: xml:3:element person:Schemas有效性错误:element{http://www.namespace.org/person}person:验证根目录没有匹配的全局声明 这是person.xml文件的内容: <?xml version="1.0"?> <p:person xmlns:p="http://www.namespace.org/person"> <f
{http://www.namespace.org/person}person
:验证根目录没有匹配的全局声明
这是person.xml文件的内容:
<?xml version="1.0"?>
<p:person xmlns:p="http://www.namespace.org/person">
<firstName>name</firstName>
<surName>surname</surName>
<secondName>n2</secondName>
</p:person>
名称
姓
氮气
这是person.xsd文件的内容:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:p="http://www.namespace.org/person"
version="1.0">
<xs:element name="person">
<xs:complexType>
<xs:group ref="credential"/>
</xs:complexType>
</xs:element>
<xs:group name="credential">
<xs:sequence>
<xs:element name="firstName" type="xs:string"/>
<xs:element name="surName" type="xs:string"/>
<xs:element name="secondName" type="xs:string"/>
</xs:sequence>
</xs:group>
</xs:schema>
该错误指示命名空间元素
{http://www.namespace.org/person}在给定的XSD中找不到person,因为p
元素不在http://www.namespace.org/person
名称空间。通过添加targetNamespace=”来更正此问题http://www.namespace.org/person“
到XSD的xs:schema
根元素。接下来,调整对凭证组的引用,使其也使用该名称空间
总之,以下XML对以下XSD有效:
XML
名称
姓
氮气
XSD
该错误指示命名空间元素{http://www.namespace.org/person}在给定的XSD中找不到person,因为p
元素不在http://www.namespace.org/person
名称空间。通过添加targetNamespace=”来更正此问题http://www.namespace.org/person“
到XSD的xs:schema
根元素。接下来,调整对凭证组的引用,使其也使用该名称空间
总之,以下XML对以下XSD有效:
XML
名称
姓
氮气
XSD
<?xml version="1.0"?>
<p:person xmlns:p="http://www.namespace.org/person">
<firstName>name</firstName>
<surName>surname</surName>
<secondName>n2</secondName>
</p:person>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:p="http://www.namespace.org/person"
targetNamespace="http://www.namespace.org/person"
version="1.0">
<xs:element name="person">
<xs:complexType>
<xs:group ref="p:credential"/>
</xs:complexType>
</xs:element>
<xs:group name="credential">
<xs:sequence>
<xs:element name="firstName" type="xs:string"/>
<xs:element name="surName" type="xs:string"/>
<xs:element name="secondName" type="xs:string"/>
</xs:sequence>
</xs:group>
</xs:schema>