我正在尝试通过记事本++验证 XML 文件,但出现以下错误:
架构无效或缺少命名空间
当我通过另一个 XML 验证器进一步调查时,我收到以下错误:
XML 文档中的错误: 2:262 cvc-elt.1:找不到元素“SecondPillarPensionVAPZDeclarationsFile”的声明。
文件 xml 架构中的错误: 31:367 TargetNamespace.2:预计没有命名空间,但架构文档的目标命名空间为“http://www.sigedis.be/db2p/declarations/vapz/v1”。
请在下面找到我的 XML 和 XSD:
<?xml version="1.0" encoding="UTF-8"?>
<SecondPillarPensionVAPZDeclarationsFile xmlns="http://www.sigedis.be/db2p/declarations/vapz/v1" xmlns:person="http://kszbcss.fgov.be/types/DB2P/Common/Identification/Person/v3" xmlns:db2p-declarations-common="http://www.sigedis.be/db2p/declarations/common/v1" namespace="http://www.sigedis.be/db2p/declarations/vapz/v1">
<AdministrativeData>
<db2p-declarations-common:DeclarationFileId>000000002</db2p-declarations-common:DeclarationFileId>
<db2p-declarations-common:Sender>0000000000</db2p-declarations-common:Sender>
<db2p-declarations-common:Registrant>0000000000</db2p-declarations-common:Registrant>
<db2p-declarations-common:CreationMoment>2024-04-01T00:42:06+01:00</db2p-declarations-common:CreationMoment>
<db2p-declarations-common:Environment>DB2PSIM</db2p-declarations-common:Environment>
</AdministrativeData>
<Declarations>
<DeclarationVAPZ>
<CreateAccountVAPZ sequence="1">
<RegistrantId>BAL-VA00000000</RegistrantId>
<Regulation>
<SigedisId>2000-0000-0000-0000-0000-0000</SigedisId>
</Regulation>
<Affiliate>
<person:Ssin>00000000000</person:Ssin>
<person:PersonData>
<person:Name>
<person:Name>TEST</person:Name>
<person:FirstName>TEST</person:FirstName>
</person:Name>
<person:Birth>
<person:Date>1990-01-01</person:Date>
<person:BelgianLocation>
<person:Municipality>ANTWERPEN</person:Municipality>
</person:BelgianLocation>
</person:Birth>
<person:Gender>F</person:Gender>
</person:PersonData>
</Affiliate>
<AffiliationDate>2024-04-01</AffiliationDate>
<InvestementTypeReservesInsurer>NoFund</InvestementTypeReservesInsurer>
</CreateAccountVAPZ>
</DeclarationVAPZ>
</Declarations>
</SecondPillarPensionVAPZDeclarationsFile>
XSD:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="https://www.sigedis.be/db2p/declarations/vapz/v1" xmlns:db2p-declarations-common="http://www.sigedis.be/db2p/declarations/common/v1" xmlns:common="http://kszbcss.fgov.be/types/DB2P/Common/v3" targetNamespace="http://www.sigedis.be/db2p/declarations/vapz/v1" elementFormDefault="qualified" version="1.6.3">
<xs:import namespace="http://kszbcss.fgov.be/types/DB2P/Common/v3" schemaLocation="../../Common/Common_v3.xsd"/>
<xs:import namespace="http://www.sigedis.be/db2p/declarations/common/v1" schemaLocation="../common/db2pDeclarationsCommonBaseComponents_v1.xsd"/>
<xs:include schemaLocation="db2pDeclarationsVAPZDeclaration_v1.xsd"/>
<xs:element name="SecondPillarPensionVAPZDeclarationsFile">
<xs:complexType>
<xs:sequence>
<xs:element name="AdministrativeData" type="db2p-declarations-common:AdministrativeDataRequestType"/>
<xs:element name="Declarations" type="DeclarationsTypeVAPZ"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SecondPillarPensionVAPZDeclarationsResponseFile">
<xs:annotation>
<xs:documentation>Dit element beschrijft het antwoord voor de pensioeninstelling</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="InformationCustomer" type="common:InformationCustomerType">
<xs:annotation>
<xs:documentation>Information block that will be used by the integrator for diagnostic use.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InformationCBSS" type="common:InformationCBSSType">
<xs:annotation>
<xs:documentation>Information block for CBSS.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AdministrativeData" type="db2p-declarations-common:AdministrativeDataResponseType"/>
<xs:element name="Status" type="common:StatusType"/>
<xs:element name="DeclarationsResponses" type="DeclarationsResponsesTypeVAPZ" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
有人可以看看出了什么问题吗?
我们无法在这里看到全貌,因为您显示的 XSD 包含一些您未向我们显示的文件的包含和导入。
然而,事实上它一开始就说找不到根元素名称的声明,这表明它根本没有找到架构。
我也深深怀疑您的架构的 targetNamespace 为
http://www.sigedis.be/db2p/declarations/vapz/v1
和默认命名空间
https://www.sigedis.be/db2p/declarations/vapz/v1
不过,这些不是同一件事(因为它不完整而无法自己运行)我无法确切地看到它会如何失败。