Php XSD架构验证错误:DOMDocument schemaValidate():Element';正文';:验证根目录没有匹配的全局声明可用

Php XSD架构验证错误:DOMDocument schemaValidate():Element';正文';:验证根目录没有匹配的全局声明可用,php,xml,dom,xsd,Php,Xml,Dom,Xsd,XML专家 使用XSD文件在PHP中验证DOM文档时遇到问题。有什么想法吗 验证文件有效(使用其他工具测试) PHP正在访问已验证的XSD文件(通过删除该文件并查看错误) 调用验证之前,已验证的文档是正确的 示例XML <Message xmlns="http://www.org.org/schema/DOCUMENT" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="010" release="006" x

XML专家

使用XSD文件在PHP中验证DOM文档时遇到问题。有什么想法吗

  • 验证文件有效(使用其他工具测试)
  • PHP正在访问已验证的XSD文件(通过删除该文件并查看错误)
  • 调用验证之前,已验证的文档是正确的
示例XML

<Message xmlns="http://www.org.org/schema/DOCUMENT" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="010" release="006" xsi:schemaLocation="http://www.org.org/schema/DOCUMENT SS_DOCUMENT_XML_10_6MU.xsd">
   <Header>
      <To Qualifier="P">3365310</To>
      <From Qualifier="D">6438058169001</From>
      <MessageID>52e2a28345cf152e2a2836e3c1</MessageID>
      <SentTime>2014-01-24T09:27:31.5Z</SentTime>
      <PrescriberOrderNumber>PON12341</PrescriberOrderNumber>
   </Header>
   <Body>
   <!-- more content here, removed for sample -->
   </Body>
</Message>
错误消息

Message:  DOMDocument::schemaValidate(): Element 'Body': No matching global declaration available for the validation root.

健全性检查:在验证之前尝试转储$doc。是的,它是同一个文档。嗯。。。你是如何定义
体型的
?我感觉到这个问题在追求简洁的过程中被删掉了。例如,人们有。如果我们假设您正在从文件中读取文档或将其从电线上拔下,那么我们可能会错过这些问题。在未发布的代码中可能存在无数其他未预料到的问题源@JK,你能给出一个最小的完整的例子来说明这个问题吗?谢谢
$doc->schemaValidate('SS_DOCUMENT_XML_10_6MU.xsd') 
Message:  DOMDocument::schemaValidate(): Element 'Body': No matching global declaration available for the validation root.