模式有效性错误:元素没有可用于验证根的匹配全局声明

时间:2014-05-15 20:27:40

标签: xml validation xsd

我正在创建用于验证XML的XSD,但它给了我以下验证错误:

$ xmllint --noout --schema imoveis.xsd imoveis.xml 
imoveis.xml:2: element alugueis: Schemas validity error : Element '{http://www.w3.org/2001/XMLSchema-instance}alugueis': No matching global declaration available for the validation root.
imoveis.xml fails to validate

不确定我忘了什么。

这是我的 XML

<alugueis xmlns="http://www.w3.org/2001/XMLSchema-instance"
          noNamespaceSchemaLocation="imoveis.xsd"
          mes="outubro" ano="2012">

https://gist.github.com/paulodiovani/eb287e24de7be99a2263

这是我的验证 XSD

<schema xmlns="http://www.w3.org/2001/XMLSchema"
        targetNamespace="simulado"
        xmlns:doc="simulado"
        elementFormDefault="qualified">

https://gist.github.com/paulodiovani/b00c682cdd4d8e1b8d7f

1 个答案:

答案 0 :(得分:2)

以这种方式修复XML:

<alugueis xmlns="simulado"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="simulado imoveis.xsd"
          mes="outubro" ano="2012">

然后可以找到你的XSD。您将有进一步的修复(例如condominio),但这些应该是不言自明的。如果没有,请随时再发帖。