验证XML模式实例时,“无法解析XPath中的前缀'vat'”

时间:2018-07-16 07:25:23

标签: xml xpath namespaces schema

尝试在架构上验证XML文档时出现上述错误。以下是我的架构中的示例。前缀“ vat”用于FileReference元素上,但是据我所知,它在模式头中声明,并且与targetNamespace具有相同的值。

<?xml version="1.0" encoding="UTF-16"?>
-<xs:schema xml:lang="en" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="targetNamespace" elementFormDefault="qualified" 
    xmlns:vat="targetNamespace" 
    xmlns:b="http://schemas.microsoft.com/BizTalk/2003">
    <xs:element name="VATRefund">
        <xs:annotation>
            <xs:documentation>VAT Refund XML file root element.</xs:documentation>
        </xs:annotation>
        <xs:complexType>   
            <xs:sequence>
                <xs:element name="FileReference" type="vat:FileReference_Type">
                    <xs:annotation>
                        <xs:documentation>Unique file reference. May be chosen freely as long as it is different from all previous ones.</xs:documentation>
                    </xs:annotation>
                </xs:element>

我该如何解决此错误,可能是什么原因导致的?以下是我用于验证的文件中的示例。

<?xml version="1.0" encoding="utf-8"?>
<ns0:VATRefundUpload xmlns:ns0="targetNamespace">
    <ns0:FileReference>2064745</ns0:FileReference>

1 个答案:

答案 0 :(得分:0)

我看到的一个问题是您的xsd和xml具有不同的根节点-VATRefund和VATRefundUpload。 如果是错字,请提供正确的样本输入。