0

そのため、現在の学期の学業スケジュールを格納する XML スキーマ定義を作成する任務を負っています。私は自分の名前と学年、および各アカデミック クラスの追加要素を含めることになっています。クラスは 4 つ以上、8 つ以下でなければならないというルールを適用する必要があります。クラスごとに、指定子、コース名、インストラクター名、および現在の全体的なパーセンテージが必要です。また、それらがすべて適切なデータ型であることを確認する必要もあります。

私の問題は、名前と学年に一部を入れることにあるようです。現在、私は持っています:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:element name="classSchedule">               
    <xs:complexType>
        <xs:attribute name="name" type="xs:string"/>
        <xs:attribute name="classYear" type="xs:int"/>
            <xs:sequence minOccurs="4" maxOccurs="8">
                <xs:element name="class">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="courseDesignator" type="xs:string"/>
                            <xs:element name="courseName" type="xs:string"/>
                            <xs:element name="instructorName" type="xs:string"/>
                            <xs:element name="currentGrade" type="xs:float"/>
                        </xs:all>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>       
    </xs:element>
</xs:schema>

現在、sequenceタグがタグの下に来ないというエラーが表示されますcomplexType

名前と学年は学生に関する情報であり、各学生は 4 ~ 8 のクラスを持っています。今のところ、名前と学年を入力するのに苦労している理由がわかりません。名前と学年の 2 行を取り出すと、XSD はエラーなしで適切に保存されます。

4

1 に答える 1

1

スキーマはほとんど問題ありませんが、complexTypeノードの定義では、シーケンスの後に属性が必要です。例えば:

<xs:complexType>
  <xs:sequence minOccurs="4" maxOccurs="8">
    <xs:element name="class">
      <xs:complexType>
        ...
      </xs:complexType>
    </xs:element>
  </xs:sequence>
  <xs:attribute name="name" type="xs:string"/>
  <xs:attribute name="classYear" type="xs:int"/>
</xs:complexType>
于 2013-03-30T18:56:46.660 に答える