1

私は関連する質問をチェックし、この問題を解決するために周りを見回していますが、私は救済策を見つけることができないと思います。これが私のxmlファイルへの私のコードです

<?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>

大学のプロジェクトにアップロードする必要があるため、この問題を1時間で解決する必要があります

4

2 に答える 2

3

ドイツでの子供時代の休暇中に「Menschärgeredichnicht」を演奏したことを思い出します。実際、私たちはセットを家に持ち帰りましたが、それでも実家を訪ねると時々出てきます。イギリスでルドーとして知られているゲームに似ていますが、ルールの微妙な違いは、それがはるかにうまく機能することを意味します。

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

次に、時間管理についての役立つレッスンを学んだことを願っています。

明らかに、ルート要素(ゲーム)の要素宣言があります。スキーマドキュメントのxs:schema要素を表示していないため、名前空間に問題がある可能性があります。しかし、より可能性の高い説明は、スキーマバリデーターを誤って呼び出したということだと思います。

于 2012-04-23T08:59:00.680 に答える
0

問題は、XSDでhttp://www.w3.org/2001/XMLSchemaデフォルトの名前空間として使用しているため、すべてのタイプがその名前空間で定義されているのに対し、XMLファイルは名前空間を使用していないことだと思います。

プレフィックス(例:xmlns:xs = "http://www.w3.org/2001/XMLSchema"`)に関連付け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>
于 2012-04-23T12:22:33.420 に答える