From f925df4b98dcae3fdbc501ab84c010906aebc093 Mon Sep 17 00:00:00 2001
From: MELERIX <MELERIX@users.noreply.github.com>
Date: Sat, 28 Apr 2012 04:18:27 +0000
Subject: [PATCH] BETA: Fixed XSDs from [8795] & [8798].

---
 .../dist/game/data/accessLevels.xml           |   2 +-
 .../dist/game/data/adminCommands.xml          |   2 +-
 .../dist/game/data/faenor/Valentines.xml      |  17 +--
 .../dist/game/data/xsd/accessLevels.xsd       |  25 ++++
 .../dist/game/data/xsd/adminCommands.xsd      |  16 +++
 .../dist/game/data/xsd/adminData.xsd          |  40 ------
 .../dist/game/data/xsd/faenor.xsd             | 135 +++++++-----------
 7 files changed, 104 insertions(+), 133 deletions(-)
 create mode 100644 L2J_DataPack_BETA/dist/game/data/xsd/accessLevels.xsd
 create mode 100644 L2J_DataPack_BETA/dist/game/data/xsd/adminCommands.xsd
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/xsd/adminData.xsd

diff --git a/L2J_DataPack_BETA/dist/game/data/accessLevels.xml b/L2J_DataPack_BETA/dist/game/data/accessLevels.xml
index a764e3d422..95db72ceea 100644
--- a/L2J_DataPack_BETA/dist/game/data/accessLevels.xml
+++ b/L2J_DataPack_BETA/dist/game/data/accessLevels.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/adminData.xsd">
+<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/accessLevels.xsd">
 	<!-- Access levels -->
 	<access level="-1" name="Banned" nameColor="FFFFFF" titleColor="FFFFFF" isGM="false" allowPeaceAttack="false" allowFixedRes="false" allowTransaction="false" allowAltg="false" giveDamage="false" takeAggro="false" gainExp="false" />
 	<access level="0" name="User" nameColor="FFFFFF" titleColor="FFFFFF" childAccess="0" isGM="false" allowPeaceAttack="false" allowFixedRes="false" allowTransaction="true" allowAltg="false" giveDamage="true" takeAggro="true" gainExp="true" />
diff --git a/L2J_DataPack_BETA/dist/game/data/adminCommands.xml b/L2J_DataPack_BETA/dist/game/data/adminCommands.xml
index d1be0ba3d8..76e66a5779 100644
--- a/L2J_DataPack_BETA/dist/game/data/adminCommands.xml
+++ b/L2J_DataPack_BETA/dist/game/data/adminCommands.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/adminData.xsd">
+<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/adminCommands.xsd">
 	<!-- ADMIN ADMIN -->
 	<admin command="admin_admin" accessLevel="7" />
 	<admin command="admin_admin1" accessLevel="7" />
diff --git a/L2J_DataPack_BETA/dist/game/data/faenor/Valentines.xml b/L2J_DataPack_BETA/dist/game/data/faenor/Valentines.xml
index a91fab2f72..200121310e 100644
--- a/L2J_DataPack_BETA/dist/game/data/faenor/Valentines.xml
+++ b/L2J_DataPack_BETA/dist/game/data/faenor/Valentines.xml
@@ -1,25 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <Event ID="Valentines Event" Active="14 Feb 2005-16 Feb 2005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/faenor.xsd">
 	<Droplist>
 		<AllDrop Items="4209-4217" Count="1,1" Chance="5%" />
 	</Droplist>
+	<EventEnd>
+		<Take From="AllPlayers">
+			<Item ItemID="4209-4217" />
+		</Take>
+	</EventEnd>
 	<Message Type="OnJoin" Msg="Valentine's Event:\nCollect all 9 Hearts Blocks to recieve a reward!!\n(Quest Item.. All monster's have a chance to drop.)" />
 	<Npc ID="12371">
 		<Condition>
 			<Inventory Items="4209-4217" Count="1" Operation=">=" />
 		</Condition>
-		<Take>
-			<Item Items="4209-4217" Count="1" Type="OfEach" />
-		</Take>
 		<Give>
 			<Item ItemID="4625" Count="1" />
 			<Item ItemID="1540" Count="10" />
 			<Item ItemID="728" Count="10" />
 		</Give>
 		<SystemMessage Msg="Congratulations. Receive your prize." />
-	</Npc>
-	<EventEnd>
-		<Take From="AllPlayers">
-			<Item ItemID="4209-4217" />
+		<Take>
+			<Item Items="4209-4217" Count="1" Type="OfEach" />
 		</Take>
-	</EventEnd>
+	</Npc>
 </Event>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/xsd/accessLevels.xsd b/L2J_DataPack_BETA/dist/game/data/xsd/accessLevels.xsd
new file mode 100644
index 0000000000..07a0338535
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/xsd/accessLevels.xsd
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+	<xs:element name="list">
+		<xs:complexType>
+			<xs:sequence maxOccurs="1" minOccurs="1">
+				<xs:element name="access" maxOccurs="unbounded" minOccurs="1">
+					<xs:complexType>
+						<xs:attribute name="allowAltg" type="xs:boolean" use="required" />
+						<xs:attribute name="allowFixedRes" type="xs:boolean" use="required" />
+						<xs:attribute name="allowPeaceAttack" type="xs:boolean" use="required" />
+						<xs:attribute name="allowTransaction" type="xs:boolean" use="required" />
+						<xs:attribute name="childAccess" type="xs:nonNegativeInteger" />
+						<xs:attribute name="giveDamage" type="xs:boolean" use="required" />
+						<xs:attribute name="gainExp" type="xs:boolean" use="required" />
+						<xs:attribute name="isGM" type="xs:boolean" use="required" />
+						<xs:attribute name="level" type="xs:integer" use="required" />
+						<xs:attribute name="name" type="xs:normalizedString" use="required" />
+						<xs:attribute name="nameColor" type="xs:hexBinary" use="required" />
+						<xs:attribute name="takeAggro" type="xs:boolean" use="required" />
+						<xs:attribute name="titleColor" type="xs:hexBinary" use="required" />
+					</xs:complexType>
+				</xs:element>
			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+</xs:schema>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/xsd/adminCommands.xsd b/L2J_DataPack_BETA/dist/game/data/xsd/adminCommands.xsd
new file mode 100644
index 0000000000..046cfa40a6
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/xsd/adminCommands.xsd
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+	<xs:element name="list">
+		<xs:complexType>
+			<xs:sequence maxOccurs="1" minOccurs="1">
+                <xs:element name="admin" maxOccurs="unbounded" minOccurs="1">
+					<xs:complexType>
+						<xs:attribute name="command" type="xs:token" use="required" />
+						<xs:attribute name="accessLevel" type="xs:positiveInteger" use="required" />
+						<xs:attribute name="confirmDlg" type="xs:boolean" />
+					</xs:complexType>
+				</xs:element>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+</xs:schema>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/xsd/adminData.xsd b/L2J_DataPack_BETA/dist/game/data/xsd/adminData.xsd
deleted file mode 100644
index cdd7df6fb7..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/xsd/adminData.xsd
+++ /dev/null
@@ -1,40 +0,0 @@
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
-	<xs:element name="list">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="access" maxOccurs="unbounded" minOccurs="0">
-					<xs:complexType>
-						<xs:simpleContent>
-							<xs:extension base="xs:string">
-								<xs:attribute type="xs:integer" name="level" use="required" />
-								<xs:attribute type="xs:string" name="name" use="required" />
-								<xs:attribute type="xs:string" name="nameColor" use="optional" />
-								<xs:attribute type="xs:string" name="titleColor" use="optional" />
-								<xs:attribute type="xs:integer" name="childAccess" use="optional" />
-								<xs:attribute type="xs:boolean" name="isGM" use="optional" />
-								<xs:attribute type="xs:boolean" name="allowPeaceAttack" use="optional" />
-								<xs:attribute type="xs:boolean" name="allowFixedRes" use="optional" />
-								<xs:attribute type="xs:boolean" name="allowTransaction" use="optional" />
-								<xs:attribute type="xs:boolean" name="allowAltg" use="optional" />
-								<xs:attribute type="xs:boolean" name="giveDamage" use="optional" />
-								<xs:attribute type="xs:boolean" name="takeAggro" use="optional" />
-								<xs:attribute type="xs:boolean" name="gainExp" use="optional" />
-							</xs:extension>
-						</xs:simpleContent>
-					</xs:complexType>
-				</xs:element>
-				<xs:element name="admin" maxOccurs="unbounded" minOccurs="0">
-					<xs:complexType>
-						<xs:simpleContent>
-							<xs:extension base="xs:string">
-								<xs:attribute type="xs:string" name="command" use="required" />
-								<xs:attribute type="xs:string" name="accessLevel" use="optional" />
-								<xs:attribute type="xs:boolean" name="confirmDlg" use="optional" />
-							</xs:extension>
-						</xs:simpleContent>
-					</xs:complexType>
-				</xs:element>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-</xs:schema>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/xsd/faenor.xsd b/L2J_DataPack_BETA/dist/game/data/xsd/faenor.xsd
index 317f71ef4a..221d81b07a 100644
--- a/L2J_DataPack_BETA/dist/game/data/xsd/faenor.xsd
+++ b/L2J_DataPack_BETA/dist/game/data/xsd/faenor.xsd
@@ -1,125 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
 	<xs:element name="Event">
 		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Droplist">
+			<xs:sequence maxOccurs="1" minOccurs="1">
+				<xs:element name="Droplist" maxOccurs="1" minOccurs="1">
 					<xs:complexType>
-						<xs:sequence>
-							<xs:element name="AllDrop">
+						<xs:sequence maxOccurs="1" minOccurs="1">
+							<xs:element name="AllDrop" maxOccurs="1" minOccurs="1">
 								<xs:complexType>
-									<xs:simpleContent>
-										<xs:extension base="xs:string">
-											<xs:attribute type="xs:string" name="Items" />
-											<xs:attribute type="xs:string" name="Count" />
-											<xs:attribute type="xs:string" name="Chance" />
-										</xs:extension>
-									</xs:simpleContent>
+									<xs:attribute name="Items" type="xs:token" use="required" />
+									<xs:attribute name="Count" type="xs:token" use="required" />
+									<xs:attribute name="Chance" type="xs:token" />
 								</xs:complexType>
 							</xs:element>
 						</xs:sequence>
 					</xs:complexType>
 				</xs:element>
-				<xs:element name="Message">
+				<xs:element name="EventEnd" maxOccurs="1" minOccurs="1">
 					<xs:complexType>
-						<xs:simpleContent>
-							<xs:extension base="xs:string">
-								<xs:attribute type="xs:string" name="Type" />
-								<xs:attribute type="xs:string" name="Msg" />
-							</xs:extension>
-						</xs:simpleContent>
-					</xs:complexType>
-				</xs:element>
-				<xs:element name="Npc">
-					<xs:complexType>
-						<xs:sequence>
-							<xs:element name="Condition">
+						<xs:sequence maxOccurs="1" minOccurs="1">
+							<xs:element name="Take" maxOccurs="1" minOccurs="1">
 								<xs:complexType>
-									<xs:sequence>
-										<xs:element name="Inventory">
+									<xs:sequence maxOccurs="1" minOccurs="1">
+										<xs:element name="Item" maxOccurs="1" minOccurs="1">
 											<xs:complexType>
-												<xs:simpleContent>
-													<xs:extension base="xs:string">
-														<xs:attribute type="xs:string" name="Items" />
-														<xs:attribute type="xs:byte" name="Count" />
-														<xs:attribute type="xs:string" name="Operation" />
-													</xs:extension>
-												</xs:simpleContent>
+												<xs:attribute name="ItemID" type="xs:token" use="required" />
 											</xs:complexType>
 										</xs:element>
 									</xs:sequence>
+									<xs:attribute name="From" type="xs:token" use="required" />
 								</xs:complexType>
 							</xs:element>
-							<xs:element name="Take">
+						</xs:sequence>
+					</xs:complexType>
+				</xs:element>
+				<xs:element name="Message" maxOccurs="1" minOccurs="1">
+					<xs:complexType>
+						<xs:attribute name="Msg" type="xs:normalizedString" use="required" />
+						<xs:attribute name="Type" type="xs:token" use="required" />
					</xs:complexType>
+				</xs:element>
+				<xs:element name="Npc" maxOccurs="1" minOccurs="1">
+					<xs:complexType>
+						<xs:sequence maxOccurs="1" minOccurs="1">
+							<xs:element name="Condition" maxOccurs="1" minOccurs="1">
 								<xs:complexType>
-									<xs:sequence>
-										<xs:element name="Item">
+									<xs:sequence maxOccurs="1" minOccurs="1">
+										<xs:element name="Inventory" maxOccurs="1" minOccurs="1">
 											<xs:complexType>
-												<xs:simpleContent>
-													<xs:extension base="xs:string">
-														<xs:attribute type="xs:string" name="Items" />
-														<xs:attribute type="xs:byte" name="Count" />
-														<xs:attribute type="xs:string" name="Type" />
-													</xs:extension>
-												</xs:simpleContent>
+												<xs:attribute name="Items" type="xs:token" use="required" />
+												<xs:attribute name="Count" type="xs:positiveInteger" use="required" />
+												<xs:attribute name="Operation" type="xs:token" use="required" />
 											</xs:complexType>
 										</xs:element>
 									</xs:sequence>
 								</xs:complexType>
 							</xs:element>
-							<xs:element name="Give">
+							<xs:element name="Give" maxOccurs="1" minOccurs="1">
 								<xs:complexType>
-									<xs:sequence>
-										<xs:element name="Item" maxOccurs="unbounded" minOccurs="0">
+									<xs:sequence maxOccurs="1" minOccurs="1">
+										<xs:element name="Item" maxOccurs="unbounded" minOccurs="1">
 											<xs:complexType>
-												<xs:simpleContent>
-													<xs:extension base="xs:string">
-														<xs:attribute type="xs:short" name="ItemID" use="optional" />
-														<xs:attribute type="xs:byte" name="Count" use="optional" />
-													</xs:extension>
-												</xs:simpleContent>
+												<xs:attribute name="ItemID" type="xs:positiveInteger" use="required" />
+												<xs:attribute name="Count" type="xs:positiveInteger" use="required" />
 											</xs:complexType>
 										</xs:element>
 									</xs:sequence>
 								</xs:complexType>
-							</xs:element>
-							<xs:element name="SystemMessage">
+							</xs:element>
+							<xs:element name="SystemMessage" maxOccurs="1" minOccurs="1">
 								<xs:complexType>
-									<xs:simpleContent>
-										<xs:extension base="xs:string">
-											<xs:attribute type="xs:string" name="Msg" />
-										</xs:extension>
-									</xs:simpleContent>
+									<xs:attribute name="Msg" type="xs:normalizedString" use="required" />
 								</xs:complexType>
-							</xs:element>
-						</xs:sequence>
-						<xs:attribute type="xs:short" name="ID" />
-					</xs:complexType>
-				</xs:element>
-				<xs:element name="EventEnd">
-					<xs:complexType>
-						<xs:sequence>
-							<xs:element name="Take">
+							</xs:element>
+							<xs:element name="Take" maxOccurs="1" minOccurs="1">
 								<xs:complexType>
-									<xs:sequence>
-										<xs:element name="Item">
+									<xs:sequence maxOccurs="1" minOccurs="1">
+										<xs:element name="Item" maxOccurs="1" minOccurs="1">
 											<xs:complexType>
-												<xs:simpleContent>
-													<xs:extension base="xs:string">
-														<xs:attribute type="xs:string" name="ItemID" />
-													</xs:extension>
-												</xs:simpleContent>
+												<xs:attribute name="Items" type="xs:token" use="required" />
+												<xs:attribute name="Count" type="xs:positiveInteger" use="required" />
+												<xs:attribute name="Type" type="xs:token" use="required" />
 											</xs:complexType>
 										</xs:element>
 									</xs:sequence>
-									<xs:attribute type="xs:string" name="From" />
 								</xs:complexType>
-							</xs:element>
-						</xs:sequence>
+							</xs:element>
						</xs:sequence>
+						<xs:attribute name="ID" type="xs:positiveInteger" use="required" />
 					</xs:complexType>
-				</xs:element>
-			</xs:sequence>
-			<xs:attribute type="xs:string" name="ID" />
-			<xs:attribute type="xs:string" name="Active" />
-		</xs:complexType>
+				</xs:element>
			</xs:sequence>
+			<xs:attribute name="Active" type="xs:normalizedString" use="required" />
+			<xs:attribute name="ID" type="xs:normalizedString" use="required" />
		</xs:complexType>
 	</xs:element>
 </xs:schema>
\ No newline at end of file
-- 
GitLab