2010-11-27 195 views
2

我的XMLXML验证失败

<?xml version="1.0" encoding="utf-8"?> 
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" 
    xsi="http://www.w3.org/2001/XMLSchema-instance" 
    schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping 
        http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"> 
    <entity name="Entities\Aplikasi" table="aplikasi"> 
     <field name="nama" type="string" column="nama" length="20" precision="0" scale="0" unique="1"/> 
     <id name="id" type="integer" column="id"> 
      <generator strategy="AUTO"/> 
     </id> 
    </entity> 
</doctrine-mapping> 

试图通过NetBeans中验证它

XML validation started. 
Checking file:/home/meh/doctrine2/Entities/Mappings/Entities.Apliksi.dcm.xml... 
cvc-elt.1: Cannot find the declaration of element 'doctrine-mapping'. [5] 
XML validation finished. 

我也没在http://www.validome.org/xml/validate/

如何验证XML当我得到这个结果我确定它是有效的?

回答

1

我不得不做出一些改变来验证XML:

<?xml version="1.0" encoding="utf-8"?> 
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping 
       http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"> 
    <entity name="EntitiesAplikasi" table="aplikasi"> 
     <id name="id" type="integer" column="id"> 
      <generator strategy="AUTO"/> 
     </id> 

     <field name="nama" type="string" column="nama" length="20" unique="1"/> 
    </entity> 
</doctrine-mapping> 

我不得不xsi前加上前缀xmlnsschemaLocation前的前缀xsi,然后我搬到上面域ID和去除的精度和规模属性。

如果您在网络浏览器中导航到the schema并选择查看源代码或只是下载它,您可以阅读模式以确定有效的XML应该是什么样子。

+0

是啊,我只是做了太,但问题是,从原则2命令行自动生成该XML。那么,这是否意味着Doctrine 2没有生成有效的XML文件? – amree 2010-11-27 06:13:37

1

使用Netbeans验证任何XML架构(XSD文件,如any-xml-schema-name.xsd)时发生同样的问题。


使用您的解决方案之前,我的代码是:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 

,但它始终无法验证,并显示错误消息:“找不到元素的声明‘XS:模式’”

现在

,使用您的解决方案,我只是改变了相同的代码从上面到:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd" 

它正在工作。


谢谢!
马尔西奥韦斯利博尔赫斯
http://marciowb.info