2016-11-16 951 views
1

3つのXMLファイルを検証しようとしていますが、どちらも同じ2つのエラーが発生します。検証に使用されたスキームは、スキーム生成関数(特に3つのXMLを使用)を使用してOxygen 18.0で作成されました。XML検証:cvc-complex-type.2.4.a:要素{..}で始まる無効なコンテンツが見つかりました

エラーは以下のとおりです。

cvc-complex-type.2.4.a: Invalid content was found starting with element '{"http://www.tei-c.org/ns/1.0":p}'. One of '{"http://www.tei-c.org/ns/1.0":div}' is expected. 

cvc-complex-type.2.4.b: The content of element 'div' is not complete. One of '{"http://www.tei-c.org/ns/1.0":p}' is expected. 

彼らはいつもに囲まれて、次の要素を参照してください。** **

<?xml version="1.0" encoding="utf-8"?> 
<text rend="Section" xml:lang="kat">  
     <body> 
      <**div** type="Content" n="1"> 
     <div type="Section" n="1"> 
      <**p**> 

私はそれかどうかわかりませんスキームが間違っていることが原因です(今すぐアップロードできないという問題があります)。または、ドキュメント自体が原因でeエラー。しかし、すべての文書は整形式です。 他の情報源によれば、デフォルトをelementFormDefault="qualified"に変更することで修正されていますが、私のXMLには既に含まれています。エラーは、targetNamespace="http://www.tei-c.org/ns/1.0"(XMLの一部)に関連付けられるか、要素の順序が間違っていると考えられます。 minOccurs="0"と関係しているかもしれませんが、この時点では、非常に多くのスレッドを読んで、わかりやすい解決策を見失ってしまっています。

明白がチェックトリプルです:タグが正しく終了

  </div></div>  
     </body> 
    </text> 

これで閉鎖されている上で使用されるXML:http://pastebin.com/USKZxXM4

答えて

1

divのコンテンツモデルは、それが空であること、または構成されてすることができますあなたのXMLが1を持っていることを考えると

<xs:sequence minOccurs="0"> 
    <xs:element ref="ns1:div"/> 
    <xs:element ref="ns1:p"/> 
    </xs:sequence> 

divpのシーケンスの

<xs:sequence> 
    <xs:element ref="ns1:div" minOccurs="0"/> 
    <xs:element ref="ns1:p" minOccurs="0"/> 
    </xs:sequence> 

両方が存在する可能性がある場合、またはいずれかの選択:div子と要素とp子を持つ別のdiv要素は、あなたの代わりにdivのコンテンツモデルは、オプションの子供のシーケンスで行う必要があります。

<xs:choice> 
    <xs:element ref="ns1:div"/> 
    <xs:element ref="ns1:p"/> 
    </xs:choice> 

1つだけ存在する場合は、

+0

これは意味があり、うまく機能しました。ありがとうございました! – user80407

関連する問題