0

XSD に対して Xml が正しく検証されません。xml ファイルを開いたときに、ブラウザが少なくとも何らかの一般的なエラー メッセージを表示することを期待しています。

私のXmlファイルはnote.Xmlの下にあります

    <?xml version="1.0"?>
    <note
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:SchemaLocation="note.xsd">
      <from>Jani</from>
      <heading>Reminder</heading>
      <body>Don't forget me this weekend!</body>
      </note>

私のXsdファイルはnote.xsdの下にあります

      <?xml version="1.0"?>
      <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
       targetNamespace="http://www.w3schools.com"
       xmlns="http://www.w3schools.com"
         elementFormDefault="qualified"><xs:element name="note">
        <xs:complexType>
         <xs:sequence>
         <xs:element name="from" type="xs:string"/>
         <xs:element name="heading" type="xs:string"/>
         <xs:element name="body" type="xs:string"/>
         </xs:sequence>
        <xs:attribute name="to" type="xs:string" use="required"/>
         </xs:complexType>
          </xs:element></xs:schema>

note.xml ファイルと note.xsd ファイルの両方が同じフォルダーにあります。エラーが発生しない理由を教えてもらえますか? xsdでxmlファイルを検証する方法を教えてください。ありがとうございました、

4

1 に答える 1

1

3 つの問題:

  1. xsi:schemaLocation属性値は、次のように、名前空間 URI とスキーマ ドキュメント URI を空白で区切ったシーケンスにする必要があります。xsi:schemaLocation="http://www.w3schools.com note.xsd"
  2. あなたが書いた:

    ブラウザが少なくともある種の一般的なエラーを通過することを期待しています

    実際に検証ツールを使用していることは明らかではありません。XML ドキュメントを開いたときに XML スキーマを検証するブラウザーはありません。

  3. スキーマは http://www.w3schools.com名前空間 URI を対象としていますが、ドキュメントは null (または空の) 名前空間 URI の下にあります。 属性のxsi:noNamespaceSchemaLocation 代わりにを使用しても、これは検証エラーに なります。xsi:schemaLocation入力ソースにデフォルトの名前空間宣言を追加したいかもしれません xmlns="http://www.w3schools.com"...
于 2010-12-20T14:37:00.627 に答える