Convalida XML non riuscita
-
28-09-2019 - |
Domanda
Il mio XML
<?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>
sto ottenendo questo risultato quando si cerca di convalidarlo con 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.
Ho anche non è riuscito a convalidare l'XML a http://www.validome.org/xml/validate /
Come faccio a essere sicuro che sia valido?
Soluzione
ho dovuto fare alcune modifiche per convalidare l'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>
ho dovuto aggiungere il prefisso prima xmlns
xsi
e la xsi
prefisso prima schemaLocation
e poi mi sono trasferito id sopra il campo e rimosso gli attributi di precisione e di scala.
Se si passa a il schema in un browser web e scegli vista origine o semplicemente scaricarlo potete leggere lo schema per determinare ciò che l'XML valido dovrebbe essere simile.
Altri suggerimenti
Lo stesso problema si verifica durante l'utilizzo di Netbeans per convalidare qualsiasi schema XML (un file XSD, come ogni-xml-schema-name.xsd).
Prima di utilizzare la soluzione, il mio codice è:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
ma non riesce sempre a convalidare, con messaggio di errore: "Impossibile trovare la dichiarazione di elemento 'xs: schema'"
Ora, usando la soluzione, ho appena cambiato lo stesso codice dall'alto per:
<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"
e si sta lavorando.
Grazie!
Marcio Borges Wesley
http://marciowb.info