2010-11-27 63 views
2

Mon XMLXML Échec de la validation

<?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> 

Je reçois ce résultat en essayant de le valider par 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. 

J'ai aussi omis de valider le XML à http://www.validome.org/xml/validate/

Comment faire Je m'assure que c'est valide?

Répondre

1

je devais faire quelques changements pour valider le 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> 

je devais ajouter le préfixe xmlns avant xsi et le préfixe xsi avant schemaLocation puis je me suis déplacé id-dessus du champ et retiré la précision et attributs d'échelle.

Si vous accédez à the schema dans un navigateur Web et que vous choisissez de visualiser la source ou de la télécharger, vous pouvez lire le schéma pour déterminer à quoi doit ressembler le XML valide.

+0

Ouais, je viens de faire cela aussi, mais le problème est, ce XML a été généré automatiquement à partir de la ligne de commande Doctrine 2. Cela signifie-t-il que Doctrine 2 n'a pas généré de fichier XML valide? – amree

1

Le même problème se produit lors de l'utilisation de NetBeans pour valider un schéma XML (un fichier XSD, comme any-xml-schema-name.xsd).


Avant d'utiliser votre solution, mon code est:

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

, mais il ne parvient pas toujours à valider, avec un message d'erreur: "Vous ne trouvez pas la déclaration de l'élément 'xs: schema'"


maintenant, en utilisant votre solution, je viens de changer le même code de dessus:

<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" 

et cela fonctionne.


Merci!
Marcio Borges Wesley
http://marciowb.info