You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XML验证报错:无法解析'kontekst:HovedOplysninger'元素声明的含义?

XML验证错误解析:Src-resolve: Cannot Resolve The Name 'kontekst:HovedOplysninger' To A(n) 'element Declaration' Component

问题背景

从未接触过XML的用户在验证一份XML文档时收到上述错误,以下是错误提示、关联的XML和XSD代码,以及错误含义的解析。

错误提示

Src-resolve: Cannot Resolve The Name 'kontekst:HovedOplysninger' To A(n) 'element Declaration' Component.

相关代码

XML代码

<?xml version="1.0" encoding="UTF-8"?>
<urn:VirksomhedKalenderHent_I xmlns:urn="urn:oio:skat:nemvirksomhed:ws:1.0.0"
                              xmlns:ns="http://rep.oio.dk/skat.dk/basis/kontekst/xml/schemas/2006/09/01/"
                              xmlns:ns1="http://rep.oio.dk/skat.dk/motor/class/virksomhed/xml/schemas/20080401/"
                              xmlns:urn1="urn:oio:skat:nemvirksomhed:1.0.0">
    <ns:HovedOplysninger>
        <ns:TransaktionIdentifikator>33593B0D-E7CF-40A2-AE76-530B72DE6AE3</ns:TransaktionIdentifikator>
        <ns:TransaktionTid>2017-04-24T12:00:00.146+02:00</ns:TransaktionTid>
    </ns:HovedOplysninger>
    <ns1:VirksomhedSENummerIdentifikator>12345678</ns1:VirksomhedSENummerIdentifikator>
    <urn1:AngivelseTypeNavn>qwerty</urn1:AngivelseTypeNavn>
    <urn:AngivelseBetalingFristHentFra>
        <urn1:SoegeDatoFraDate>2017-01-01</urn1:SoegeDatoFraDate>
        <urn1:SoegeDatoTilDate>2017-03-31</urn1:SoegeDatoTilDate>
    </urn:AngivelseBetalingFristHentFra>
</urn:VirksomhedKalenderHent_I>

XSD代码

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:nemvirksomhedws="urn:oio:skat:nemvirksomhed:ws:1.0.0"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="urn:oio:skat:nemvirksomhed:ws:1.0.0"
           elementFormDefault="qualified" attributeFormDefault="unqualified"
           version="1.0" xmlns:nemvirksomhed="urn:oio:skat:nemvirksomhed:1.0.0"
           xmlns:virksomhed="http://rep.oio.dk/skat.dk/motor/class/virksomhed/xml/schemas/20080401/"
           xmlns:kontekst="http://rep.oio.dk/skat.dk/basis/kontekst/xml/schemas/2006/09/01/"
           xml:lang="DA">
    <xs:annotation>
        <xs:documentation/>
    </xs:annotation>
    <xs:import namespace="http://rep.oio.dk/skat.dk/basis/kontekst/xml/schemas/2006/09/01/"
               schemaLocation="../../../../skat_dk/basis/kontekst/xml/schemas/2006/09/01/HovedOplysninger.xsd"/>
    <xs:import namespace="urn:oio:skat:nemvirksomhed:1.0.0"
               schemaLocation="../../1_0_0/SoegeDatoTilDate.xsd"/>
    <xs:import namespace="urn:oio:skat:nemvirksomhed:1.0.0"
               schemaLocation="../../1_0_0/SoegeDatoFraDate.xsd"/>
    <xs:import namespace="http://rep.oio.dk/skat.dk/motor/class/virksomhed/xml/schemas/20080401/"
               schemaLocation="../../../../skat_dk/motor/class/virksomhed/xml/schemas/20080401/VirksomhedSENummerIdentifikator.xsd"/>
    <xs:import namespace="urn:oio:skat:nemvirksomhed:1.0.0"
               schemaLocation="../../1_0_0/AngivelseTypeNavn.xsd"/>
    <xs:element name="VirksomhedKalenderHent_I"
                type="nemvirksomhedws:VirksomhedKalenderHent_IType">
    </xs:element>
    <xs:complexType name="VirksomhedKalenderHent_IType">
        <xs:sequence>
            <xs:element ref="kontekst:HovedOplysninger"/>
            <xs:element ref="virksomhed:VirksomhedSENummerIdentifikator"/>
            <xs:element ref="nemvirksomhed:AngivelseTypeNavn"/>
            <xs:element name="AngivelseBetalingFristHentFra">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element ref="nemvirksomhed:SoegeDatoFraDate"
                                    minOccurs="0"/>
                        <xs:element ref="nemvirksomhed:SoegeDatoTilDate"
                                    minOccurs="0"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:schema>

错误含义及原因分析

这个错误直白来讲:XML验证器在处理XSD时,找不到命名空间http://rep.oio.dk/skat.dk/basis/kontekst/xml/schemas/2006/09/01/(XSD里用kontekst作为前缀)下名为HovedOplysninger的元素声明。

可能的具体原因:

  • 导入的XSD文件路径错误:XSD中通过schemaLocation指定的HovedOplysninger.xsd路径不存在或层级错误,导致验证器无法读取该文件。
  • 目标XSD文件未定义对应元素:即使找到了HovedOplysninger.xsd,文件里也没有声明HovedOplysninger元素,或者该元素的命名空间与导入的不匹配。
  • (注:XML和XSD中的命名空间绑定是一致的,此问题可排除)

解决方向

  1. 检查HovedOplysninger.xsd的路径是否正确,确认文件存在于XSD指定的相对路径下,也可尝试使用绝对路径测试。
  2. 打开HovedOplysninger.xsd文件,确认其中存在<xs:element name="HovedOplysninger">的声明,且该文件的targetNamespace必须与导入的命名空间完全一致。
  3. 确保验证工具能正确加载所有依赖的XSD文件,部分工具需要手动配置XSD搜索路径。

内容的提问来源于stack exchange,提问作者clarkk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 02:49:54