无效架构或缺少命名空间 - 通过 notepad++ 进行 XML 验证

问题描述 投票:0回答:1

我正在尝试通过记事本++验证 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>

有人可以看看出了什么问题吗?

xml validation notepad++ xsd-validation
1个回答
0
投票

我们无法在这里看到全貌,因为您显示的 XSD 包含一些您未向我们显示的文件的包含和导入。

然而,事实上它一开始就说找不到根元素名称的声明,这表明它根本没有找到架构。

我也深深怀疑您的架构的 targetNamespace 为

http://www.sigedis.be/db2p/declarations/vapz/v1

和默认命名空间

https://www.sigedis.be/db2p/declarations/vapz/v1

不过,这些不是同一件事(因为它不完整而无法自己运行)我无法确切地看到它会如何失败。

© www.soinside.com 2019 - 2024. All rights reserved.