Мой 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/
Как мне убедиться, что он действителен?
Та же проблема возникает при использовании 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
Мне пришлось внести несколько изменений для проверки 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 над полем и удалил атрибуты точности и масштаба.
xmlns
xsi
schemaLocation
Если вы перейдете к схеме в веб-браузере и выберете просмотр источника или просто загрузите его, вы можете прочитать схему, чтобы определить, как должен выглядеть действительный XML.