|
3月15日(金) |
|
今回はXMLスキーマをどう書いていくかを考えていきます。 モンコレは6種のカードからなるので、次のようにスキーマを記述します。 <xsd:element name="mcml"> <xsd:complexType> <xsd:sequence> <xsd:element name="ユニット" type="unitType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="アイテム" type="itemType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="戦闘スペル" type="battleSpellType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="儀式スペル" type="ceremonySpellType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="地形" type="landformType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="召喚術師" type="summonerType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> これは、"mcml"というタグに"ユニット"などのタグが含まれることを表しています。 "complexType"というのは複合型を表します。たしか。 "sequence"はタグがこの順番で現れることを示しています。また、"minOccurs"と"maxOccurs"は タグの出現回数を示します。上記のものは0〜∞出現することを表しています。 具体的には実際のタグは次のような感じになります。 <mcml> <ユニット></ユニット> <ユニット></ユニット> <アイテム></アイテム> <地形></地形> </mcml> スキーマを記述することにより、パーサを使ってそのXML文章が正しいかを検査することが出来ます。 次回は"ユニット"タグについて考えます。 |
|
8月8日(木) |
という事で、今回は"ユニット"タグです。"ユニット"タグのスキーマは以下のようになります。
<xsd:complexType name="unitType">
<xsd:complexContent>
<xsd:extension base="cardType">
<xsd:sequence>
<xsd:element name="属性" type="attributeType"/>
<xsd:element name="種族" type="xsd:string"/>
<xsd:element name="レベル" type="levelType"/>
<xsd:element name="攻撃力" type="xsd:nonNegativeInteger"/>
<xsd:element name="防御力" type="xsd:nonNegativeInteger"/>
<xsd:element name="進軍タイプ" type="advanceType"/>
<xsd:element name="常備能力" type="standingAbilityType" minOccurs="0"/>
<xsd:element name="特殊能力" type="specialAbilityType" minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:extension base="cardType">より"ユニット"タグはcardTypeを拡張して作られていることがわかります。
また、属性等は〜Typeで定義されています。攻撃力等は非負整数と定義されていることが
わかると思います。
次回は、cardTypeやattributeTypeの説明をします。
|
|
|