Ошибка проверки схемы xml "префикс не связан"
Я совершенно новичок в XML Schema и пытаюсь убрать основы. Вот мой код схемы xml (filename: example1.xsd):
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:sample="http://www.example"
targetNamespace="http://www.example.com"
elementFormDefault="qualified">
<xs:element name="school">
<xs:complexType>
<xs:sequence>
<xs:element name="element1" type="xs:string"/>
<xs:element name="element2" type="xs:string"/>
<xs:element name="element3" type="xs:string"/>
<xs:element name="element4" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Вот документ XML.
<?xml version="1.0" encoding="UTF-8"?>
<sample:school xmlns="http://www.example.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="./example1.xsd">
<element1>hello</element1>
<element2>hello</element2>
<element3>hello</element3>
<element4>hello</element4>
</sample:school>
При попытке проверить файл xml я получаю сообщение об ошибке из netbeans, которая гласит:
Префикс "образец" для элемента "образец: школа" не связан. [9]
Ответы
Ответ 1
В вашем XML вам также необходимо:
А. Удалите префикс sample:
от sample:school
или
В. Измените xmlns="http://www.example.com"
на xmlns:sample="http://www.example.com"
и добавьте префикс sample:
к остальным элементам (<sample:element1>
, <sample:element2>
и т.д.)
Ответ 2
Когда вы получаете такую ошибку, самый простой способ - добавить объявление префикса; в вашем случае, согласно схеме, просто добавьте в свой корневой элемент следующий атрибут:
xmlns:sample="http://www.example.com"
Кроме того, это скорее связано с пространствами имен XML.