2016-11-02 24 views
1

私はこれら2つのファイル、XMLとXSDを持っています。XSD検証がオフラインで失敗してもオンラインで作業するのはなぜですか?

schedule.xml:

<?xml version="1.0"?> 
    <Schedule xmlns ="schedule" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:noNamespaceSchemaLocation="schedule.xsd"> 
     <Event> 
       <Title>Artificial Intelligence</Title> 
       <Lecture> 
        <Day>Wednesday</Day> 
        <Time>09-11</Time> 
       </Lecture> 
     </Event> 
</Schedule> 

schedule.xsd:私はMacOSのシエラのNeon.1aリリース(4.6.1)を日食使用

<?xml version="1.0"?> 
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
          targetNamespace="schedule" 
          xmlns="schedule" 
          elementFormDefault="qualified"> 
     <xsd:element name="Schedule"> 
      <xsd:complexType> 
       <xsd:sequence> 
        <xsd:element name="Event" maxOccurs="unbounded"> 
         <xsd:complexType> 
          <xsd:sequence> 
           <xsd:element name="Title" type="xsd:string"/> 
           <xsd:element name="Lecture"> 
            <xsd:complexType> 
             <xsd:sequence> 
              <xsd:element name="Day" type="xsd:string"/> 
              <xsd:element name="Time" type="xsd:string"/> 
             </xsd:sequence> 
            </xsd:complexType> 
           </xsd:element> 
          </xsd:sequence> 
         </xsd:complexType> 
        </xsd:element> 
       </xsd:sequence> 
      </xsd:complexType> 
     </xsd:element> 
    </xsd:schema> 

(10.12.1) 。私は、XMLファイルを検証しようとすると、私は次のエラーを取得する:

cvc-elt.1: Cannot find the declaration of element 'Schedule'. schedule.xml /knowledge1 line 4 XML Problem

が、私は他のPC上でそれを検証してみたり、オンラインでそれが動作するかどうか。私のPC上で

xsi:schemaLocation="schedule schedule.xsd" 

それは、作品:私は、余分なラインを入れた場合のみ 。私の質問は、なぜ私のPC上でのみこのエラーが発生するのですか?私は自分のファイルを修正したくないなぜ私は自分のPC上でのみこのエラーが発生するのか知りたい。

+0

あなたのXMLファイルが混乱していると思われます。ファイルの名前空間が 'schedule'であると述べ、' xsi:noNamespaceSchemaLocation = "schedule.xsd" 'というリンクを提供します。ネームスペースを定義することが何をするのかを研究する必要があります。 –

答えて

1

読むHow to link XML to XSD using schemaLocation or noNamespaceSchemaLocation?

二つの点に特にご注意:

  1. 名前空間を持つ文書にxsi:noNamespaceSchemaLocationのあなたの(間違った)の使用が任意のプロセッサ準XSDを助けませんこの 文書を添付してください。
  2. オンラインでは、 を使用するXSDのより直接的な仕様を提供しているため、オンラインプロセッサではドキュメント内のヒント (不正な)ヒントは必要ありません。
+0

私が主な問題を理解していたので、私は、名前空間が何らかの理由でデフォルトの名前空間(xmlns)とリンクできなかったという名前空間を宣言していないということです。逆にファイルがどこにあるかを指定したり、名前空間に名前を付けると、例えばxmlns:pのように動作します – duke2311

関連する問題