2017-02-01 3 views
0

XMLスキーマを作成してアップロードしました。これは有効です。私はそれを使って文書を作成しようとしましたが、それは認識されません。私はスキーマ属性のさまざまな組み合わせを試みました。目標は、ドキュメント内のタグに名前空間接頭辞を使用しないことです。ここでは、テスト文書のスタートだ:文書内でXMLスキーマを呼び出す

<?xml version="1.0" encoding="UTF-8"?> 
<indexdata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.LevTechInc.com/Schemas/IXML.xsd" 
    xmlns="http://www.LevTechInc.com/Schemas/IXML.xsd"> 
    <source creator="Txt2Arc" version="3.0" time="2017-01-20T14:41:49"/> 
    <fonts> 
    <font id="0"> 
    <fname>Arial</fname> 
    <aname>Arial</aname> 
    </font> 
    </fonts> 
    ... 
</indexdata> <!-- added by edit to complete the XML --> 

答えて

0

xsi:schemaLocationは二つの部分、名前空間URIおよびXMLスキーマ文書を取得するために使用されるURLを持っています。

リモートスキーマ文書

<?xml version="1.0" encoding="UTF-8"?> 
<indexdata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.LevTechInc.com/Schemas/IXML.xsd http://www.LevTechInc.com/Schemas/IXML.xsd" 
xmlns="http://www.LevTechInc.com/Schemas/IXML.xsd"> 
    <source creator="Txt2Arc" version="3.0" time="2017-01-20T14:41:49"/> 
    <fonts> 
     <font id="0"> 
      <fname>Arial</fname> 
      <aname>Arial</aname> 
     </font> 
    </fonts> 
</indexdata> 

を参照。しかし、テスト文書は、いくつかの理由http://www.LevTechInc.com/Schemas/IXML.xsdでスキーマに関して有効ではありません:あなたのケースでは、両方のは、以下の作品と全く同じ文字列であるため、要素がhttp://www.LevTechInc.com/Schemas/IXML.xsd名前空間(sourcefonts)に存在していて、要素が存在しない(records)はありません。テスト文書は、デフォルトの名前空間で終わる要素を避けるために、いくつかの場所でxmlns=""を導入することであろう修正する


素朴な方法。 接頭と宣言へ

xmlns="http://www.LevTechInc.com/Schemas/IXML.xsd" 

:しかし、よりよい解決策は、デフォルトの名前空間宣言を有効にすることです

xmlns:ixml="http://www.LevTechInc.com/Schemas/IXML.xsd" 

のみこの名前空間であるべき一つの要素でそれを使用し、 indexdata。その後、文書は

働いているようだ

<?xml version="1.0" encoding="UTF-8"?> 
<ixml:indexdata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.LevTechInc.com/Schemas/IXML.xsd http://www.LevTechInc.com/Schemas/IXML.xsd" 
xmlns:ixml="http://www.LevTechInc.com/Schemas/IXML.xsd"> 
    <source creator="Txt2Arc" version="3.0" time="2017-01-20T14:41:49"/> 
    <fonts> 
     <font id="0"> 
      <fname>Arial</fname> 
      <aname>Arial</aname> 
     </font> 
    </fonts> 
    <records></records> 
</ixml:indexdata> 
+0

おかげでこのスキーマの有効なインスタンスになります。 –

+0

@DaveReamそれを聞いてうれしいです。私の投稿があなたの質問に答えたなら、それを受け入れることを検討してください。ありがとう!回答受諾の詳細については、http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-workを参照してください。 –

関連する問題