ошибка проверки схемы xml "префикс не привязан"

Я совершенно новичок в XML-схеме и пытаюсь получить основы. Вот мой код схемы xml (имя файла: 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, которое говорит: Префикс " sample "для элемента" sample:school " не связан. [9]

3 ответов


в вашем XML вам либо нужно:

A. Удалить sample: префикс от sample:school

или

B. Изменить xmlns="http://www.example.com" to xmlns:sample="http://www.example.com" и добавить sample: префикс для остальных элементов (<sample:element1>, <sample:element2>, etc.)


когда вы получаете такую ошибку, самый простой способ-добавить объявление префикса; в вашем случае, согласно схеме, просто добавьте в свой корневой элемент следующий атрибут:

xmlns:sample="http://www.example.com"

кроме того, это скорее связано с пространства имен XML.


Это не прямой ответ на ваш вопрос, но я пришел сюда, пытаясь решить свои собственные проблемы, так что, возможно, это поможет кому-то тоже.

моя собственная ошибка "префикс ns2 не связан" появилась после обновления с Weblogic 10.3.6 до 12.2.1.2.

в более высокой версии по умолчанию реализация JAXB-Moxy, поэтому мне пришлось изменить javax.XML.связывать.JAXBContext на com.солнце.XML.связывать.П2.ContextFactory.

как указать реализацию JAXBContext в weblogic 12.1.3