Error en la validación de XML
-
28-09-2019 - |
Pregunta
Mi 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>
Me estoy poniendo este resultado cuando se trata de validar a través de 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.
También pudo validar el XML en http://www.validome.org/xml/validate /
¿Cómo asegurarse de que es válida?
Solución
he tenido que hacer algunos cambios para validar el 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>
he tenido que añadir el prefijo antes xmlns
xsi
y la xsi
prefijo antes schemaLocation
y luego me mudé Identificación por encima del campo y quité los atributos de precisión y escala.
Si se desplaza a la esquema en un navegador web y elegir ver fuente o simplemente descargarlo se puede leer el esquema para determinar cuál es el XML válido debe ser similar.
Otros consejos
El mismo problema ocurre durante el uso de NetBeans para validar cualquier esquema XML (XSD un archivo, como cualquier-XML-esquema-name.xsd).
Antes de utilizar la solución, era mi código:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
pero siempre falla al validar, con el mensaje de error: "No se encuentra la declaración de elemento 'xs: schema'"
Ahora, usando su solución, acabo de cambiar el mismo código de arriba a:
<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"
y que está trabajando.
Gracias!
Marcio Borges Wesley
http://marciowb.info