Ошибка проверки XML - PullRequest
       1

Ошибка проверки XML

2 голосов
/ 27 ноября 2010

Мой 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/

Как мне убедиться, что он действителен?

Ответы [ 2 ]

1 голос
/ 17 ноября 2011

Та же проблема возникает при использовании 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

1 голос
/ 27 ноября 2010

Мне пришлось внести несколько изменений для проверки 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, а затем я переместил id над полем и удалил атрибуты точности и масштаба.

Если вы перейдете к схеме в веб-браузере и выберете просмотр источника или просто загрузите его, вы можете прочитать схему, чтобы определить, как должен выглядеть действительный XML.

...