2010-11-27 210 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