Explorar o código

Merge pull request #2 from Battlecruiser/items_xsd

refactor the items.xsd
Rumen Nikiforov %!s(int64=10) %!d(string=hai) anos
pai
achega
6176080bee
Modificáronse 1 ficheiros con 252 adicións e 313 borrados
  1. 252 313
      L2J_DataPack/dist/game/data/xsd/items.xsd

+ 252 - 313
L2J_DataPack/dist/game/data/xsd/items.xsd

@@ -1,319 +1,258 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.1" encoding="UTF-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+	<xs:complexType name="setType">
+		<xs:attribute name="name" use="required">
+			<xs:simpleType>
+				<xs:restriction base="xs:token">
+					<xs:enumeration value="armor_type" />
+					<xs:enumeration value="attack_range" />
+					<xs:enumeration value="auto_destroy_time" />
+					<xs:enumeration value="blessed" />
+					<xs:enumeration value="bodypart" />
+					<xs:enumeration value="capsuled_items" />
+					<xs:enumeration value="change_weaponId" />
+					<xs:enumeration value="crystal_count" />
+					<xs:enumeration value="crystal_type" />
+					<xs:enumeration value="damage_range" />
+					<xs:enumeration value="default_action" />
+					<xs:enumeration value="duration" />
+					<xs:enumeration value="element_enabled" />
+					<xs:enumeration value="enchant_enabled" />
+					<xs:enumeration value="enchant4_skill" />
+					<xs:enumeration value="enchanted" />
+					<xs:enumeration value="equip_condition" />
+					<xs:enumeration value="equip_reuse_delay" />
+					<xs:enumeration value="ex_immediate_effect" />
+					<xs:enumeration value="etcitem_type" />
+					<xs:enumeration value="for_npc" />
+					<xs:enumeration value="handler" />
+					<xs:enumeration value="icon" />
+					<xs:enumeration value="immediate_effect" />
+					<xs:enumeration value="is_depositable" />
+					<xs:enumeration value="is_destroyable" />
+					<xs:enumeration value="is_dropable" />
+					<xs:enumeration value="is_freightable" />
+					<xs:enumeration value="is_magic_weapon" />
+					<xs:enumeration value="is_oly_restricted" />
+					<xs:enumeration value="is_premium" />
+					<xs:enumeration value="is_questitem" />
+					<xs:enumeration value="is_sellable" />
+					<xs:enumeration value="is_stackable" />
+					<xs:enumeration value="is_tradable" />
+					<xs:enumeration value="isAttackWeapon" />
+					<xs:enumeration value="isForceEquip" />
+					<xs:enumeration value="item_skill" />
+					<xs:enumeration value="allow_self_resurrection" />
+					<xs:enumeration value="material" />
+					<xs:enumeration value="mp_consume" />
+					<xs:enumeration value="oncrit_chance" />
+					<xs:enumeration value="oncrit_skill" />
+					<xs:enumeration value="onmagic_chance" />
+					<xs:enumeration value="onmagic_skill" />
+					<xs:enumeration value="price" />
+					<xs:enumeration value="random_damage" />
+					<xs:enumeration value="recipe_id" />
+					<xs:enumeration value="reduced_mp_consume" />
+					<xs:enumeration value="reduced_soulshot" />
+					<xs:enumeration value="reuse_delay" />
+					<xs:enumeration value="shared_reuse_group" />
+					<xs:enumeration value="soulshots" />
+					<xs:enumeration value="spiritshots" />
+					<xs:enumeration value="time" />
+					<xs:enumeration value="unequip_skill" />
+					<xs:enumeration value="use_condition" />
+					<xs:enumeration value="useSkillDisTime" />
+					<xs:enumeration value="useWeaponSkillsOnly" />
+					<xs:enumeration value="weapon_type" />
+					<xs:enumeration value="weight" />
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+		<xs:attribute name="val" type="xs:token" use="required" />
+	</xs:complexType>
+	<xs:complexType name="playerType">
+		<xs:attribute name="castle">
+			<xs:simpleType>
+				<xs:restriction base="xs:integer">
+					<xs:minInclusive value="-1" />
+					<xs:maxInclusive value="9" />
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+		<xs:attribute name="clanHall" type="xs:normalizedString" />
+		<xs:attribute name="class_id_restriction" type="xs:normalizedString" />
+		<xs:attribute name="cloakStatus" type="xs:boolean" />
+		<xs:attribute name="isHero" type="xs:boolean" />
+		<xs:attribute name="insideZoneId" type="xs:normalizedString" />
+		<xs:attribute name="level">
+			<xs:simpleType>
+				<xs:restriction base="xs:positiveInteger">
+					<xs:minInclusive value="1" />
+					<xs:maxInclusive value="85" />
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+		<xs:attribute name="pledgeClass">
+			<xs:simpleType>
+				<xs:restriction base="xs:integer">
+					<xs:minInclusive value="-1" />
+					<xs:maxInclusive value="11" />
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+		<xs:attribute name="levelRange" type="xs:token" />
+		<xs:attribute name="races" type="xs:token" />
+		<xs:attribute name="sex" type="xs:byte" use="optional" />
+		<xs:attribute name="fort" type="xs:integer" fixed="-1" />
+		<xs:attribute name="chaotic" type="xs:boolean" />
+		<xs:attribute name="subclass" type="xs:boolean" />
+		<xs:attribute name="SiegeZone" type="xs:positiveInteger" />
+		<xs:attribute name="flyMounted" type="xs:boolean" />
+		<xs:attribute name="instanceId" type="xs:normalizedString" />
+		<xs:attribute name="categoryType" type="xs:normalizedString" />
+		<xs:attribute name="pkCount" type="xs:int" />
+		<xs:attribute name="vehicleMounted" type="xs:boolean" />
+	</xs:complexType>
+	<xs:complexType name="andType">
+		<xs:choice maxOccurs="unbounded" minOccurs="0">
+			<xs:element name="using" type="usingType" />
+			<xs:element name="player" type="playerType" />
+			<xs:element name="target" type="targetType" />
+			<xs:element name="not" type="notType" />
+			<xs:element name="game" type="gameType" />
+			<xs:element name="or" minOccurs="0" type="andType" />
+		</xs:choice>
+	</xs:complexType>
+	<xs:complexType name="gameType">
+		<xs:simpleContent>
+			<xs:extension base="xs:string">
+				<xs:attribute type="xs:string" name="night" />
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	<xs:complexType name="notType">
+		<xs:sequence>
+			<xs:element name="using" minOccurs="0" type="usingType" />
+			<xs:element name="player" minOccurs="0" type="playerType" />
+			<xs:element name="target" minOccurs="0" type="targetType" />
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="usingType">
+		<xs:simpleContent>
+			<xs:extension base="xs:string">
+				<xs:attribute type="xs:string" name="kind" use="optional" />
+				<xs:attribute type="xs:string" name="slot" use="optional" />
+				<xs:attribute type="xs:string" name="weaponChange" use="optional" />
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	<xs:complexType name="targetType">
+		<xs:attribute name="levelRange" type="xs:token" />
+		<xs:attribute name="categoryType" type="xs:normalizedString" />
+	</xs:complexType>
+	<xs:complexType name="enchantType">
+		<xs:attribute name="order" type="xs:token" use="required"
+			fixed="0x0C" />
+		<xs:attribute name="stat" use="required" type="statType" />
+		<xs:attribute name="val" type="xs:integer" fixed="0"
+			use="required" />
+	</xs:complexType>
+	<xs:simpleType name="statType">
+		<xs:restriction base="xs:token">
+			<xs:enumeration value="mAtk" />
+			<xs:enumeration value="mDef" />
+			<xs:enumeration value="pAtk" />
+			<xs:enumeration value="pDef" />
+			<xs:enumeration value="sDef" />
+			<xs:enumeration value="mAtk" />
+
+			<xs:enumeration value="pAtkAngle" />
+			<xs:enumeration value="pAtkRange" />
+			<xs:enumeration value="pAtkSpd" />
+			<xs:enumeration value="rCrit" />
+			<xs:enumeration value="rShld" />
+			<xs:enumeration value="rEvas" />
+			<xs:enumeration value="accCombat" />
+			<xs:enumeration value="darkRes" />
+			<xs:enumeration value="earthRes" />
+			<xs:enumeration value="fireRes" />
+			<xs:enumeration value="holyPower" />
+			<xs:enumeration value="holyRes" />
+			<xs:enumeration value="maxMp" />
+			<xs:enumeration value="waterRes" />
+			<xs:enumeration value="windRes" />
+			<xs:enumeration value="magicSuccRes" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:complexType name="condType">
+		<xs:choice maxOccurs="unbounded" minOccurs="0">
+			<xs:element name="using" type="usingType" />
+			<xs:element name="and" type="andType" />
+			<xs:element name="not" type="notType" />
+			<xs:element name="player" type="playerType" />
+			<xs:element name="target" type="targetType" />
+		</xs:choice>
+		<xs:attribute type="xs:short" name="msgId" use="optional" />
+		<xs:attribute type="xs:byte" name="addName" use="optional" />
+		<xs:attribute type="xs:string" name="msg" use="optional" />
+	</xs:complexType>
+	<xs:complexType name="addType">
+		<xs:attribute name="order" use="required">
+			<xs:simpleType>
+				<xs:restriction base="xs:token">
+					<xs:enumeration value="0x08" />
+					<xs:enumeration value="0x10" />
+					<xs:enumeration value="0x30" />
+					<xs:enumeration value="0x40" />
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+		<xs:attribute name="stat" use="required" type="statType" />
+		<xs:attribute name="val" type="xs:decimal" use="required" />
+	</xs:complexType>
+	<xs:complexType name="forType" mixed="true">
+		<xs:choice maxOccurs="unbounded" minOccurs="0">
+			<xs:element name="add" type="addType" />
+			<xs:element name="mul" type="addType" />
+			<xs:element name="sub" type="addType" />
+			<xs:element name="basemul" type="addType" />
+			<xs:element name="set" type="addType" />
+			<xs:element name="enchant" maxOccurs="2" minOccurs="0" type="enchantType" />
+		</xs:choice>
+		<xs:attribute type="xs:string" name="name" use="optional" />
+		<xs:attribute type="xs:byte" name="val" use="optional" />
+	</xs:complexType>
+	<xs:complexType name="itemType">
+		<xs:sequence maxOccurs="1" minOccurs="1">
+			<xs:element name="set" maxOccurs="unbounded" minOccurs="1"
+				type="setType" />
+			<xs:element name="cond" maxOccurs="2" minOccurs="0" type="condType" />
+			<xs:element name="for" maxOccurs="1" minOccurs="0" type="forType" />
+		</xs:sequence>
+		<xs:attribute name="id" use="required">
+			<xs:simpleType>
+				<xs:restriction base="xs:positiveInteger">
+					<xs:minInclusive value="1" />
+					<xs:maxInclusive value="65535" />
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+		<xs:attribute name="name" type="xs:normalizedString" use="required" />
+		<xs:attribute name="type" use="required">
+			<xs:simpleType>
+				<xs:restriction base="xs:token">
+					<xs:enumeration value="Armor" />
+					<xs:enumeration value="EtcItem" />
+					<xs:enumeration value="Weapon" />
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+	</xs:complexType>
 	<xs:element name="list">
 		<xs:complexType>
-			<xs:sequence maxOccurs="1" minOccurs="1">
-				<xs:element name="item" maxOccurs="100" minOccurs="1">
-					<xs:complexType>
-						<xs:sequence maxOccurs="1" minOccurs="1">
-							<xs:element name="set" maxOccurs="unbounded" minOccurs="1">
-								<xs:complexType>
-									<xs:attribute name="name" use="required">
-										<xs:simpleType>
-											<xs:restriction base="xs:token">
-												<xs:enumeration value="armor_type" />
-												<xs:enumeration value="attack_range" />
-												<xs:enumeration value="auto_destroy_time" />
-												<xs:enumeration value="blessed" />
-												<xs:enumeration value="bodypart" />
-												<xs:enumeration value="capsuled_items" />
-												<xs:enumeration value="change_weaponId" />
-												<xs:enumeration value="crystal_count" />
-												<xs:enumeration value="crystal_type" />
-												<xs:enumeration value="damage_range" />
-												<xs:enumeration value="default_action" />
-												<xs:enumeration value="duration" />
-												<xs:enumeration value="element_enabled" />
-												<xs:enumeration value="enchant_enabled" />
-												<xs:enumeration value="enchant4_skill" />
-												<xs:enumeration value="enchanted" />
-												<xs:enumeration value="equip_condition" />
-												<xs:enumeration value="equip_reuse_delay" />
-												<xs:enumeration value="ex_immediate_effect" />
-												<xs:enumeration value="etcitem_type" />
-												<xs:enumeration value="for_npc" />
-												<xs:enumeration value="handler" />
-												<xs:enumeration value="icon" />
-												<xs:enumeration value="immediate_effect" />
-												<xs:enumeration value="is_depositable" />
-												<xs:enumeration value="is_destroyable" />
-												<xs:enumeration value="is_dropable" />
-												<xs:enumeration value="is_freightable" />
-												<xs:enumeration value="is_magic_weapon" />
-												<xs:enumeration value="is_oly_restricted" />
-												<xs:enumeration value="is_premium" />
-												<xs:enumeration value="is_questitem" />
-												<xs:enumeration value="is_sellable" />
-												<xs:enumeration value="is_stackable" />
-												<xs:enumeration value="is_tradable" />
-												<xs:enumeration value="isAttackWeapon" />
-												<xs:enumeration value="isForceEquip" />
-												<xs:enumeration value="item_skill" />
-												<xs:enumeration value="allow_self_resurrection" />
-												<xs:enumeration value="material" />
-												<xs:enumeration value="mp_consume" />
-												<xs:enumeration value="oncrit_chance" />
-												<xs:enumeration value="oncrit_skill" />
-												<xs:enumeration value="onmagic_chance" />
-												<xs:enumeration value="onmagic_skill" />
-												<xs:enumeration value="price" />
-												<xs:enumeration value="random_damage" />
-												<xs:enumeration value="recipe_id" />
-												<xs:enumeration value="reduced_mp_consume" />
-												<xs:enumeration value="reduced_soulshot" />
-												<xs:enumeration value="reuse_delay" />
-												<xs:enumeration value="shared_reuse_group" />
-												<xs:enumeration value="soulshots" />
-												<xs:enumeration value="spiritshots" />
-												<xs:enumeration value="time" />
-												<xs:enumeration value="unequip_skill" />
-												<xs:enumeration value="use_condition" />
-												<xs:enumeration value="useSkillDisTime" />
-												<xs:enumeration value="useWeaponSkillsOnly" />
-												<xs:enumeration value="weapon_type" />
-												<xs:enumeration value="weight" />
-											</xs:restriction>
-										</xs:simpleType>
-									</xs:attribute>
-									<xs:attribute name="val" type="xs:token" use="required" />
-								</xs:complexType>
-							</xs:element>
-							<xs:element name="cond" maxOccurs="2" minOccurs="0">
-								<xs:complexType>
-									<xs:choice maxOccurs="1" minOccurs="1">
-										<xs:element name="and" maxOccurs="1" minOccurs="0">
-											<xs:complexType>
-												<xs:choice maxOccurs="1" minOccurs="1">
-													<xs:element name="player" maxOccurs="unbounded" minOccurs="1">
-														<xs:complexType>
-															<xs:attribute name="castle">
-																<xs:simpleType>
-																	<xs:restriction base="xs:integer">
-																		<xs:minInclusive value="-1" />
-																		<xs:maxInclusive value="9" />
-																	</xs:restriction>
-																</xs:simpleType>
-															</xs:attribute>
-															<xs:attribute name="clanHall" type="xs:normalizedString" />
-															<xs:attribute name="class_id_restriction" type="xs:normalizedString" />
-															<xs:attribute name="cloakStatus" type="xs:boolean" />
-															<xs:attribute name="isHero" type="xs:boolean" />
-															<xs:attribute name="level">
-																<xs:simpleType>
-																	<xs:restriction base="xs:positiveInteger">
-																		<xs:minInclusive value="1" />
-																		<xs:maxInclusive value="85" />
-																	</xs:restriction>
-																</xs:simpleType>
-															</xs:attribute>
-															<xs:attribute name="pledgeClass">
-																<xs:simpleType>
-																	<xs:restriction base="xs:integer">
-																		<xs:minInclusive value="-1" />
-																		<xs:maxInclusive value="11" />
-																	</xs:restriction>
-																</xs:simpleType>
-															</xs:attribute>
-															<xs:attribute name="races" type="xs:token" />
-															<xs:attribute name="subclass" type="xs:boolean" />
-															<xs:attribute name="instanceId" type="xs:normalizedString" />
-															<xs:attribute name="categoryType" type="xs:normalizedString" />
-														</xs:complexType>
-													</xs:element>
-												</xs:choice>
-											</xs:complexType>
-										</xs:element>
-										<xs:element name="player" maxOccurs="unbounded" minOccurs="1">
-											<xs:complexType>
-												<xs:attribute name="castle">
-													<xs:simpleType>
-														<xs:restriction base="xs:positiveInteger">
-															<xs:minInclusive value="1" />
-															<xs:maxInclusive value="9" />
-														</xs:restriction>
-													</xs:simpleType>
-												</xs:attribute>
-												<xs:attribute name="chaotic" type="xs:boolean" />
-												<xs:attribute name="clanHall" type="xs:normalizedString" />
-												<xs:attribute name="class_id_restriction" type="xs:normalizedString" />
-												<xs:attribute name="cloakStatus" type="xs:boolean" />
-												<xs:attribute name="flyMounted" type="xs:boolean" />
-												<xs:attribute name="fort" type="xs:integer" fixed="-1" />
-												<xs:attribute name="insideZoneId" type="xs:normalizedString" />
-												<xs:attribute name="instanceId" type="xs:normalizedString" />
-												<xs:attribute name="isHero" type="xs:boolean" />
-												<xs:attribute name="level">
-													<xs:simpleType>
-														<xs:restriction base="xs:positiveInteger">
-															<xs:minInclusive value="1" />
-															<xs:maxInclusive value="85" />
-														</xs:restriction>
-													</xs:simpleType>
-												</xs:attribute>
-												<xs:attribute name="levelRange" type="xs:token" />
-												<xs:attribute name="pkCount" type="xs:nonNegativeInteger" fixed="0" />
-												<xs:attribute name="pledgeClass">
-													<xs:simpleType>
-														<xs:restriction base="xs:integer">
-															<xs:minInclusive value="-1" />
-															<xs:maxInclusive value="11" />
-														</xs:restriction>
-													</xs:simpleType>
-												</xs:attribute>
-												<xs:attribute name="races" type="xs:token" />
-												<xs:attribute name="sex">
-													<xs:simpleType>
-														<xs:restriction base="xs:nonNegativeInteger">
-															<xs:minInclusive value="0" />
-															<xs:maxInclusive value="1" />
-														</xs:restriction>
-													</xs:simpleType>
-												</xs:attribute>
-												<xs:attribute name="SiegeZone" type="xs:positiveInteger" fixed="126" />
-												<xs:attribute name="vehicleMounted" type="xs:boolean" />
-												<xs:attribute name="categoryType" type="xs:normalizedString" />
-											</xs:complexType>
-										</xs:element>
-										<xs:element name="target" maxOccurs="unbounded" minOccurs="1">
-											<xs:complexType>
-												<xs:attribute name="levelRange" type="xs:token" />
-												<xs:attribute name="categoryType" type="xs:normalizedString" />
-											</xs:complexType>
-										</xs:element>
-									</xs:choice>
-									<xs:attribute name="msgId" type="xs:positiveInteger" />
-									<xs:attribute name="addName" type="xs:integer" fixed="1" />
-								</xs:complexType>
-							</xs:element>
-							<xs:element name="for" maxOccurs="1" minOccurs="0">
-								<xs:complexType>
-									<xs:choice maxOccurs="unbounded" minOccurs="1">
-										<xs:element name="add" maxOccurs="unbounded" minOccurs="0">
-											<xs:complexType>
-												<xs:attribute name="order" use="required">
-													<xs:simpleType>
-														<xs:restriction base="xs:token">
-															<xs:enumeration value="0x10" />
-															<xs:enumeration value="0x40" />
-														</xs:restriction>
-													</xs:simpleType>
-												</xs:attribute>
-												<xs:attribute name="stat" use="required">
-													<xs:simpleType>
-														<xs:restriction base="xs:token">
-															<xs:enumeration value="accCombat" />
-															<xs:enumeration value="darkRes" />
-															<xs:enumeration value="earthRes" />
-															<xs:enumeration value="fireRes" />
-															<xs:enumeration value="holyPower" />
-															<xs:enumeration value="holyRes" />
-															<xs:enumeration value="mAtk" />
-															<xs:enumeration value="maxMp" />
-															<xs:enumeration value="mDef" />
-															<xs:enumeration value="pAtk" />
-															<xs:enumeration value="pDef" />
-															<xs:enumeration value="waterRes" />
-															<xs:enumeration value="windRes" />
-														</xs:restriction>
-													</xs:simpleType>
-												</xs:attribute>
-												<xs:attribute name="val" type="xs:decimal" use="required" />
-											</xs:complexType>
-										</xs:element>
-										<xs:element name="enchant" maxOccurs="2" minOccurs="0">
-											<xs:complexType>
-												<xs:attribute name="order" type="xs:token" use="required" fixed="0x0C" />
-												<xs:attribute name="stat" use="required">
-													<xs:simpleType>
-														<xs:restriction base="xs:token">
-															<xs:enumeration value="mAtk" />
-															<xs:enumeration value="mDef" />
-															<xs:enumeration value="pAtk" />
-															<xs:enumeration value="pDef" />
-															<xs:enumeration value="sDef" />
-														</xs:restriction>
-													</xs:simpleType>
-												</xs:attribute>
-												<xs:attribute name="val" type="xs:integer" fixed="0" use="required" />
-											</xs:complexType>
-										</xs:element>
-										<xs:element name="mul" maxOccurs="unbounded" minOccurs="0">
-											<xs:complexType>
-												<xs:attribute name="order">
-													<xs:simpleType>
-														<xs:restriction base="xs:token">
-															<xs:enumeration value="0x08" />
-															<xs:enumeration value="0x30" />
-														</xs:restriction>
-													</xs:simpleType>
-												</xs:attribute>
-												<xs:attribute name="stat">
-													<xs:simpleType>
-														<xs:restriction base="xs:token">
-															<xs:enumeration value="magicSuccRes" />
-														</xs:restriction>
-													</xs:simpleType>
-												</xs:attribute>
-												<xs:attribute name="val" type="xs:decimal" />
-											</xs:complexType>
-										</xs:element>
-										<xs:element name="set" maxOccurs="unbounded" minOccurs="0">
-											<xs:complexType>
-												<xs:attribute name="order" type="xs:token" fixed="0x08" use="required" />
-												<xs:attribute name="stat" use="required">
-													<xs:simpleType>
-														<xs:restriction base="xs:token">
-															<xs:enumeration value="mAtk" />
-															<xs:enumeration value="pAtk" />
-															<xs:enumeration value="pAtkAngle" />
-															<xs:enumeration value="pAtkRange" />
-															<xs:enumeration value="pAtkSpd" />
-															<xs:enumeration value="rCrit" />
-															<xs:enumeration value="rShld" />
-															<xs:enumeration value="sDef" />
-														</xs:restriction>
-													</xs:simpleType>
-												</xs:attribute>
-												<xs:attribute name="val" type="xs:integer" use="required" />
-											</xs:complexType>
-										</xs:element>
-										<xs:element name="sub" maxOccurs="unbounded" minOccurs="0">
-											<xs:complexType>
-												<xs:attribute name="order" type="xs:token" use="required" fixed="0x10" />
-												<xs:attribute name="stat" use="required">
-													<xs:simpleType>
-														<xs:restriction base="xs:token">
-															<xs:enumeration value="rEvas" />
-														</xs:restriction>
-													</xs:simpleType>
-												</xs:attribute>
-												<xs:attribute name="val" type="xs:integer" use="required" />
-											</xs:complexType>
-										</xs:element>
-									</xs:choice>
-								</xs:complexType>
-							</xs:element>
-						</xs:sequence>
-						<xs:attribute name="id" use="required">
-							<xs:simpleType>
-								<xs:restriction base="xs:positiveInteger">
-									<xs:minInclusive value="1" />
-									<xs:maxInclusive value="65535" />
-								</xs:restriction>
-							</xs:simpleType>
-						</xs:attribute>
-						<xs:attribute name="name" type="xs:normalizedString" use="required" />
-						<xs:attribute name="type" use="required">
-							<xs:simpleType>
-								<xs:restriction base="xs:token">
-									<xs:enumeration value="Armor" />
-									<xs:enumeration value="EtcItem" />
-									<xs:enumeration value="Weapon" />
-								</xs:restriction>
-							</xs:simpleType>
-						</xs:attribute>
-					</xs:complexType>
-				</xs:element>
+			<xs:sequence>
+				<xs:element name="item" type="itemType" minOccurs="1"
+					maxOccurs="unbounded" />
 			</xs:sequence>
 		</xs:complexType>
 	</xs:element>