23

私は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:school」のプレフィックス「sample」がバインドされていません。[9]

4

3 に答える 3

25

XMLでは、次のいずれかを行う必要があります。

A。 _ sample:からプレフィックスを削除しますsample:school

また

B。 _ を変更xmlns="http://www.example.com"し、残りの要素(、、など)にプレフィックスを追加しxmlns:sample="http://www.example.com"ますsample:<sample:element1><sample:element2>

于 2012-02-27T22:41:17.970 に答える
16

このようなエラーが発生した場合、最も簡単な方法はプレフィックス宣言を追加することです。あなたの場合、スキーマに従って、ルート要素に次の属性を追加するだけです。

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

また、これはXML名前空間にかなり関連しています。

于 2012-02-28T12:14:20.227 に答える
1

あなたの質問に対する直接の答えではありませんが、私は自分の問題を解決しようとしているときにここでつまずいたので、誰かにも役立つかもしれません。

Weblogic 10.3.6から12.2.1.2にアップグレードした後、「プレフィックスns2がバインドされていません」というエラーが表示されました。

より高いバージョンでは、デフォルトのJAXB実装はMoxyであるため、javax.xml.bind.JAXBContextをcom.sun.xml.bind.v2.ContextFactoryに変更する必要がありました。

weblogic12.1.3でJAXBContextの実装を指定する方法

于 2018-03-29T09:55:27.463 に答える