2012-04-22 6 views
1

関連する質問を確認しましたが、この問題を解決するために探していましたが、ここに私のxmlファイルへの私のコードスキーマの妥当性エラー:要素 'game':検証ルートに一致するグローバル宣言がありません

<?xml version="1.0" encoding="UTF-8"?> 



<game xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="game.xsd"> 
<info> 
    <name>"Mensch, aergere dich nicht!"</name> 
    <description>"Mensch ärgere dich nicht ist ein Gesellschaftsspiel für zwei bis sechs Personen." 
       <i>"Das Spielbrett ist in der Einzelausgabe doppelseitig bedruckt" 
        <b> "sodass Mensch ärgere dich nicht für maximal sechs Spieler"</b> 
       </i> 
       <b>"auf der einen und maximal vier Spieler auf der anderen Seite spielbar ist." 
       </b>  
    </description> 
    <started>2012-09-24-06:00</started> 
    <players number="2"> 
     <screenname player="1">"Onat Derebek"</screenname> 
     <screenname player="2">"Kutay Derebek"</screenname> 
    </players> 
    <rounds>1</rounds> 
    <winner player="1"></winner> 
</info> 
<moves> 
<!-- Erste figuren --> 
    <roll player="1">6</roll> 
    <piece player="1" nr="1" field="26"/> 

    <roll player="2">6</roll> 
    <piece player="2" nr="5" field="36"/> 

    <roll player="1">6</roll> 
    <piece player="1" nr="1" field="32"/> 


</moves> 

、ここでは私のXSDファイル時間で、私はこの問題を解決する必要が

<element name="game"> 
    <complexType> 
     <sequence> 
      <element name="info" type="tns:infoType" maxOccurs="1" minOccurs="1"></element> 
      <element name="moves" type="tns:movesType" maxOccurs="1" minOccurs="1"></element> 
     </sequence> 
    </complexType> 
</element> 


<complexType name="infoType"> 
    <sequence> 
     <element name="name" type="string" maxOccurs="1" 
      minOccurs="0"> 
     </element> 
     <element name="description" type="tns:descriptionType" 
      maxOccurs="1" minOccurs="0"> 
     </element> 
     <element name="started" type="dateTime" maxOccurs="1" 
      minOccurs="0"> 
     </element> 
     <element name="players" minOccurs="0"> 
      <complexType> 
       <sequence> 
        <element name="screenname" minOccurs="0" maxOccurs="4"> 
         <complexType> 
          <simpleContent> 
           <extension base="string"> 
            <attribute name="player" 
             type="tns:playerType" use="required"> 
            </attribute> 
           </extension> 
          </simpleContent> 
         </complexType> 
        </element> 
       </sequence> 

       <attribute name="number" type="tns:playerType" use="required"></attribute> 
      </complexType> 
     </element> 
     <element name="rounds" type="int" minOccurs="0"></element> 
     <element name="winner" minOccurs="0"> 
      <complexType> 
       <attribute name="player" type="tns:playerType" use="required"></attribute> 
      </complexType> 
     </element> 
    </sequence> 
</complexType> 

<complexType name="descriptionType" mixed="true"> 
    <choice maxOccurs="unbounded" minOccurs="1"> 
     <element name="i" type="tns:descriptionType"></element> 
     <element name="b" type="tns:descriptionType"></element> 
    </choice> 
</complexType> 


<complexType name="movesType"> 
    <choice minOccurs="0" maxOccurs="unbounded"> 
     <element name="roll" nillable="false"> 
      <complexType mixed="false"> 
       <simpleContent> 
        <extension base="tns:simpleIntType"> 
         <attribute name="player" use="required"> 
          <simpleType> 
           <restriction base="int"> 
            <minInclusive value="1"></minInclusive> 
            <maxInclusive value="4"></maxInclusive> 
           </restriction> 
          </simpleType> 
         </attribute> 
        </extension> 
       </simpleContent> 
      </complexType> 
     </element> 
     <element name="piece"> 
      <complexType> 
       <attribute name="nr" use="required"> 
        <simpleType> 
         <restriction base="int"> 
          <minInclusive value="1"></minInclusive> 
          <maxInclusive value="16"></maxInclusive> 
         </restriction> 
        </simpleType> 
       </attribute> 
       <attribute name="player" use="required"> 
        <simpleType> 
         <restriction base="int"> 
          <minInclusive value="1"></minInclusive> 
          <maxInclusive value="4"></maxInclusive> 
         </restriction> 
        </simpleType> 
       </attribute> 
       <attribute name="field" use="required"> 
        <simpleType> 
         <restriction base="int"> 
          <minInclusive value="1"></minInclusive> 
          <maxInclusive value="72"></maxInclusive> 
         </restriction> 
        </simpleType> 
       </attribute> 
      </complexType> 
     </element> 
    </choice> 
</complexType> 

<simpleType name="simpleIntType"> 
    <restriction base="int"> 
     <maxInclusive value="6"></maxInclusive> 
     <minInclusive value="1"></minInclusive> 
    </restriction> 
</simpleType> 


<simpleType name="playerType"> 
    <restriction base="int"> 
     <minInclusive value="1"></minInclusive> 
     <maxInclusive value="4"></maxInclusive> 
    </restriction> 
</simpleType> 

にコードされています大学のプロジェクトにアップロードする必要があるので、

答えて

3

私はドイツの幼年期の休暇中に "Menschärgeredich nicht"を演奏したことを思い出しています。実際、私たちは私たちと共に家を持ち出しました。それはLudoとしてイギリスで知られているゲームに似ていますが、ルールの微妙な違いは、それがはるかに優れていることを意味します。

私はその後うまくいけば、あなたは時間管理に関する有益な教訓を学んできた時間

でこの問題を解決する必要があります。

明らかにルート要素(ゲーム)の要素宣言があります。あなたは私たちにあなたのスキーマ文書のxs:schema要素を示していないので、名前空間に問題がある可能性があります。スキーマバリデーターを間違って呼び出したという説明が考えられます。

0

あなたの問題は、あなたのデフォルトネームスペースとしてhttp://www.w3.org/2001/XMLSchemaを使用しているので、すべてのタイプがそのネームスペースで定義されているのに対し、XMLファイルはネームスペースを使用していないということです。

http://www.w3.org/2001/XMLSchemaに接頭辞(例:xmlns:xs = "http://www.w3.org/2001/XMLSchema")を関連付けて、ターゲットの名前空間なしでスキーマを定義するようにしてください。方法。

<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 

    <xs:element name="game"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element name="info" type="infoType" maxOccurs="1" minOccurs="1"></xs:element> 
      <xs:element name="moves" type="movesType" maxOccurs="1" minOccurs="1"></xs:element> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 


    <xs:complexType name="infoType"> 
    <xs:sequence> 
     <xs:element name="name" type="xs:string" maxOccurs="1" 
      minOccurs="0"> 
     </xs:element> 
     <xs:element name="description" type="descriptionType" 
      maxOccurs="1" minOccurs="0"> 
     </xs:element> 
     <xs:element name="started" type="xs:dateTime" maxOccurs="1" 
      minOccurs="0"> 
     </xs:element> 
     <xs:element name="players" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="screenname" minOccurs="0" maxOccurs="4"> 
       <xs:complexType> 
       <xs:simpleContent> 
        <xs:extension base="xs:string"> 
        <xs:attribute name="player" 
         type="playerType" use="required"> 
        </xs:attribute> 
        </xs:extension> 
       </xs:simpleContent> 
       </xs:complexType> 
      </xs:element> 
      </xs:sequence> 

      <xs:attribute name="number" type="playerType" use="required"></xs:attribute> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="rounds" type="xs:int" minOccurs="0"></xs:element> 
     <xs:element name="winner" minOccurs="0"> 
     <xs:complexType> 
      <xs:attribute name="player" type="playerType" use="required"></xs:attribute> 
     </xs:complexType> 
     </xs:element> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="descriptionType" mixed="true"> 
    <xs:choice maxOccurs="unbounded" minOccurs="1"> 
     <xs:element name="i" type="descriptionType"></xs:element> 
     <xs:element name="b" type="descriptionType"></xs:element> 
    </xs:choice> 
    </xs:complexType> 


    <xs:complexType name="movesType"> 
    <xs:choice minOccurs="0" maxOccurs="unbounded"> 
     <xs:element name="roll" nillable="false"> 
     <xs:complexType mixed="false"> 
      <xs:simpleContent> 
      <xs:extension base="simpleIntType"> 
       <xs:attribute name="player" use="required"> 
       <xs:simpleType> 
        <xs:restriction base="xs:int"> 
        <xs:minInclusive value="1"></xs:minInclusive> 
         <xs:maxInclusive value="4"></xs:maxInclusive> 
        </xs:restriction> 
       </xs:simpleType> 
       </xs:attribute> 
      </xs:extension> 
      </xs:simpleContent> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="piece"> 
     <xs:complexType> 
      <xs:attribute name="nr" use="required"> 
      <xs:simpleType> 
       <xs:restriction base="xs:int"> 
       <xs:minInclusive value="1"></xs:minInclusive> 
       <xs:maxInclusive value="16"></xs:maxInclusive> 
       </xs:restriction> 
      </xs:simpleType> 
      </xs:attribute> 
      <xs:attribute name="player" use="required"> 
      <xs:simpleType> 
       <xs:restriction base="xs:int"> 
       <xs:minInclusive value="1"></xs:minInclusive> 
        <xs:maxInclusive value="4"></xs:maxInclusive> 
       </xs:restriction> 
      </xs:simpleType> 
      </xs:attribute> 
      <xs:attribute name="field" use="required"> 
      <xs:simpleType> 
       <xs:restriction base="xs:int"> 
       <xs:minInclusive value="1"></xs:minInclusive> 
        <xs:maxInclusive value="72"></xs:maxInclusive> 
       </xs:restriction> 
      </xs:simpleType> 
      </xs:attribute> 
     </xs:complexType> 
     </xs:element> 
    </xs:choice> 
    </xs:complexType> 

    <xs:simpleType name="simpleIntType"> 
    <xs:restriction base="xs:int"> 
     <xs:maxInclusive value="6"></xs:maxInclusive> 
     <xs:minInclusive value="1"></xs:minInclusive> 
    </xs:restriction> 
    </xs:simpleType> 


    <xs:simpleType name="playerType"> 
    <xs:restriction base="xs:int"> 
     <xs:minInclusive value="1"></xs:minInclusive> 
     <xs:maxInclusive value="4"></xs:maxInclusive> 
    </xs:restriction> 
    </xs:simpleType> 
</xs:schema> 
関連する問題