找不到元素声明 'xsd:schema'

Can not find declaration of element 'xsd:schema'

我收到了来自政府的一堆 xsd 文件,但使用它们与他们的服务器通信时,我们收到了一个空答案。 没有任何反馈,所以我们不知道自己做错了什么。

当我验证他们的 xsd 文件时,他们产生了以下错误: 第 17 行:找不到元素 'xsd:schema'.

的声明

这里的聪明人有没有看出哪里不对?

xsd 文件: http://dimoweb.com/4aps/xsd/ehealth-kmehr/XSD/kmehr-1_8.xsd

验证结果: http://www.validome.org/xml/validate/?lang=en&viewSourceCode=1&url=http://dimoweb.com/4aps/xsd/ehealth-kmehr/XSD/kmehr-1_8.xsd

xsd 文件的前 18 行:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!-- edited with XMLSpy v2009 (http://www.altova.com) by Smals-MVM ASBL/VZW (Smals-MVM ASBL/VZW) --> 
<!--  
  Kmehr-Bis Message: types 

  XSchema 
 --> 
<xsd:schema  
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:DT="http://www.ehealth.fgov.be/standards/kmehr/dt/v1" 
  xmlns:CD="http://www.ehealth.fgov.be/standards/kmehr/cd/v1" 
  xmlns:ID="http://www.ehealth.fgov.be/standards/kmehr/id/v1" 
  xmlns:sig="http://www.w3.org/2000/09/xmldsig#" 
  xmlns:enc="http://www.w3.org/2001/04/xmlenc#" 
  xmlns="http://www.ehealth.fgov.be/standards/kmehr/schema/v1" 
  targetNamespace="http://www.ehealth.fgov.be/standards/kmehr/schema/v1" 
  elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.8"> 
 <xsd:import namespace="http://www.ehealth.fgov.be/standards/kmehr/cd/v1" schemaLocation="cd-1_8.xsd"/> 

非常感谢!

Can not find declaration of element 'xsd:schema'

此错误表明您正在尝试验证 XSD 本身。当然,采取防御措施并没有错,但是 你的第一个怀疑应该是关于你的 XML 请求对这些 XSD 的有效性,而不是 XSD 的有效性他们自己。见 How to validate a xml schema if you really want to validate the XSDs themselves. The error message above only indicates that the meta XSD (Schema for Schemas) 从未被发现;您的 XSD 验证从未开始。

如果 XSD 确实无效,请与其所有者进行对话并请求更正。

假设 XSD 本身是有效的,并且这确实是您作为新手应该开始的地方,请根据这些 XSD 验证您的请求。您收到的错误消息应该足以修复您的请求。 (如果不是,请搜索错误消息并从其他帖子中获取线索。只有当这也没有帮助时,您才应该寻求有关验证错误的帮助。)

顺便说一句,该服务应该回复一个错误响应来指示失败原因,但您不能总是指望这一点,这使得请求的客户端验证变得更加重要。