Ошибка проверки XML
-
28-09-2019 - |
Вопрос
Мой 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>
Я получаю этот результат, когда пытаясь подтвердить его через 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.
Я также не смогли подтвердить XML в http://www.validome.org/xml/validate/
Как мне убедиться, что это действительно?
Решение
Мне пришлось сделать несколько изменений для проверки 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>
Я должен был добавить префикс xmlns
до xsi
и префикс xsi
до schemaLocation
И затем я переместил идентификатор выше поля и удалил точность и масштабные атрибуты.
Если вы перейдите к Схема В веб-браузере и выберите «Просмотр» или просто загрузите его, вы можете прочитать схему, чтобы определить, какой должен выглядеть действительный XML.
Другие советы
Эта же проблема возникает при использовании NetBeans, чтобы подтвердить любую XML-схему (файл XSD, например, любой 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.