Description: adds a missing protocol specification definition file
Author: Stephen M. Webb <stephen.webb@bregmasoft.ca>
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=664549
Forwarded: yes

--- /dev/null
+++ b/protocol/spec/atlas.xml
@@ -0,0 +1,3666 @@
+<atlas>
+<map>
+	<string name="id">root</string>
+	<list name="parents"></list>
+	<list name="children"><string>root_entity</string><string>root_operation</string><string>root_type</string><string>root_interface</string></list>
+	<float name="stamp">0.0</float>
+	<float name="stamp_inherit">0.0</float>
+	<string name="objtype">meta</string>
+	<string name="interface">base_interface</string>
+	<string name="name"></string>
+	<string name="description">All objects inherit from this.</string>
+	<string name="long_description">You can browse all definitions starting from here and
+descending into childrens.</string>
+	<string name="specification">atlas</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>stamp</string><string>stamp_inherit</string><string>objtype</string><string>interface</string><string>name</string><string>description</string><string>long_description</string><string>specification</string></list>
+		<string name="filename">root.def</string>
+		<int name="lineno">2</int>
+	</map>
+</map>
+<map>
+	<string name="id">root_entity</string>
+	<list name="parents"><string>root</string></list>
+	<list name="children"><string>admin_entity</string><string>game_entity</string></list>
+	<string name="objtype">class</string>
+	<string name="description">Starting point for entity hierarchy</string>
+	<string name="long_description">Later in hierarchy tree objtype changes to 'object' when actual game objects are made.</string>
+	<string name="loc"></string>
+	<list name="pos"><float>0.0</float><float>0.0</float><float>0.0</float></list>
+	<list name="velocity"><float>0.0</float><float>0.0</float><float>0.0</float></list>
+	<list name="contains"></list>
+	<float name="stamp_contains">0.0</float>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string><string>long_description</string><string>loc</string><string>pos</string><string>velocity</string><string>contains</string><string>stamp_contains</string></list>
+		<string name="filename">entity.def</string>
+		<int name="lineno">2</int>
+	</map>
+</map>
+<map>
+	<string name="id">admin_entity</string>
+	<list name="parents"><string>root_entity</string></list>
+	<list name="children"><string>account</string><string>game</string></list>
+	<string name="description">All classes and objects used for adminitrativive purposes</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">entity.def</string>
+		<int name="lineno">95</int>
+	</map>
+</map>
+<map>
+	<string name="id">account</string>
+	<list name="parents"><string>admin_entity</string></list>
+	<list name="children"><string>player</string><string>admin</string></list>
+	<string name="description">Base class for accounts</string>
+	<string name="username"></string>
+	<string name="password"></string>
+	<list name="characters"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>username</string><string>password</string><string>characters</string></list>
+		<string name="filename">entity.def</string>
+		<int name="lineno">100</int>
+	</map>
+</map>
+<map>
+	<string name="id">player</string>
+	<list name="parents"><string>account</string></list>
+	<list name="children"></list>
+	<string name="description">Player accounts</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">entity.def</string>
+		<int name="lineno">108</int>
+	</map>
+</map>
+<map>
+	<string name="id">admin</string>
+	<list name="parents"><string>account</string></list>
+	<list name="children"></list>
+	<string name="description">Privileged accounts</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">entity.def</string>
+		<int name="lineno">113</int>
+	</map>
+</map>
+<map>
+	<string name="id">game</string>
+	<list name="parents"><string>admin_entity</string></list>
+	<list name="children"></list>
+	<string name="description">Games this server hosts</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">entity.def</string>
+		<int name="lineno">118</int>
+	</map>
+</map>
+<map>
+	<string name="id">game_entity</string>
+	<list name="parents"><string>root_entity</string></list>
+	<list name="children"><string>geometry</string></list>
+	<string name="specification">atlas_game</string>
+	<string name="interface">game_interface</string>
+	<string name="description">All In Game classes and objects</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>specification</string><string>interface</string><string>description</string></list>
+		<string name="filename">entity.def</string>
+		<int name="lineno">123</int>
+	</map>
+</map>
+<map>
+	<string name="id">root_operation</string>
+	<list name="parents"><string>root</string></list>
+	<list name="children"><string>action</string><string>info</string></list>
+	<string name="objtype">op_definition</string>
+	<int name="serialno">0</int>
+	<int name="refno">0</int>
+	<string name="description">Base operation for all operators</string>
+	<string name="long_description">This is base operation for all other
+    operations and defines basic attributes. You can use this as
+    starting point for browsing whole operation hiearchy. refno refers
+    to operation this is reply for. In examples all attributes that
+    are just as examples (and thus world specific) are started with 'e_'.</string>
+	<string name="from"></string>
+	<string name="to"></string>
+	<float name="seconds">0.0</float>
+	<float name="future_seconds">0.0</float>
+	<string name="time_string"></string>
+	<list name="args"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>serialno</string><string>refno</string><string>description</string><string>long_description</string><string>from</string><string>to</string><string>seconds</string><string>future_seconds</string><string>time_string</string><string>args</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">2</int>
+	</map>
+</map>
+<map>
+	<string name="id">action</string>
+	<list name="parents"><string>root_operation</string></list>
+	<list name="children"><string>create</string><string>delete</string><string>set</string><string>get</string><string>imaginary</string><string>use</string></list>
+	<string name="description">This is base operator for operations that might have effects.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">21</int>
+	</map>
+</map>
+<map>
+	<string name="id">info</string>
+	<list name="parents"><string>root_operation</string></list>
+	<list name="children"><string>perception</string><string>error</string></list>
+	<string name="description">This is base operator for operations that tell you info about objects or events.</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>info</string></list>
+			<list name="args">
+				<map>
+					<string name="e_msg">Here is some info</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>e_msg</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">35</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">31</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">26</int>
+	</map>
+</map>
+<map>
+	<string name="id">create</string>
+	<list name="parents"><string>action</string></list>
+	<list name="children"><string>combine</string><string>divide</string><string>communicate</string></list>
+	<string name="description">Create new things from nothing using this operator.</string>
+	<string name="long_description">Map editor is main user for this in client side. Server uses this inside "info" operation to tell client about new things.</string>
+	<string name="args_description">entity describing object that is being created</string>
+	<list name="example">
+		<string>Creating axe instance</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>create</string></list>
+			<string name="from">map-editor</string>
+			<list name="args">
+				<map>
+					<list name="parents"><string>axe</string></list>
+					<string name="name">Ordinary axe</string>
+					<int name="e_attack">3</int>
+					<map name="specification_file">
+						<list name="attribute_order"><string>parents</string><string>name</string><string>e_attack</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">51</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>from</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">46</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>long_description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">38</int>
+	</map>
+</map>
+<map>
+	<string name="id">delete</string>
+	<list name="parents"><string>action</string></list>
+	<list name="children"></list>
+	<string name="description">Delete something.</string>
+	<string name="args_description">id of entity to be deleted</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>delete</string></list>
+			<list name="args">
+				<map>
+					<string name="id">foo_bar_344</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">66</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">62</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">56</int>
+	</map>
+</map>
+<map>
+	<string name="id">set</string>
+	<list name="parents"><string>action</string></list>
+	<list name="children"><string>affect</string><string>move</string><string>wield</string></list>
+	<string name="description">Sets attributes for existing entity.</string>
+	<list name="example">
+		<string>This one sets HP=50, height=1.8, width=0.3 for object "9899"</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>set</string></list>
+			<list name="args">
+				<map>
+					<string name="id">9899</string>
+					<int name="e_HP">50</int>
+					<float name="e_height">1.8</float>
+					<float name="e_width">0.3</float>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string><string>e_HP</string><string>e_height</string><string>e_width</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">79</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">75</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">69</int>
+	</map>
+</map>
+<map>
+	<string name="id">affect</string>
+	<list name="parents"><string>set</string></list>
+	<list name="children"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">85</int>
+	</map>
+</map>
+<map>
+	<string name="id">get</string>
+	<list name="parents"><string>action</string></list>
+	<list name="children"><string>perceive</string><string>login</string></list>
+	<string name="description">Generic operation for getting info about things.</string>
+	<string name="args_description">id of target entity</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>get</string></list>
+			<list name="args">
+				<map>
+					<string name="id">elf_type_id_45</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">99</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">95</int>
+			</map>
+		</map>
+		<string>&lt;h4&gt;Browsing operator hierarchy example:&lt;/h4&gt;
+&lt;p&gt;
+First start from operator hierarchy root (root_operation):</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>get</string></list>
+			<list name="args">
+				<map>
+					<string name="id">root_operation</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">108</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">104</int>
+			</map>
+		</map>
+		<string>Answer might be:</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>info</string></list>
+			<list name="args">
+				<map>
+					<string name="id">root_operation</string>
+					<list name="children"><string>action</string><string>info</string></list>
+					<string name="description">Base operator for all operatios</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string><string>children</string><string>description</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">115</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">111</int>
+			</map>
+		</map>
+		<string>Then you can ask about action and info:</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>get</string></list>
+			<list name="args">
+				<map>
+					<string name="id">action</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">124</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">120</int>
+			</map>
+		</map>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>get</string></list>
+			<list name="args">
+				<map>
+					<string name="id">info</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">130</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">126</int>
+			</map>
+		</map>
+		<string>Etc...</string>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">89</int>
+	</map>
+</map>
+<map>
+	<string name="id">perception</string>
+	<list name="parents"><string>info</string></list>
+	<list name="children"><string>sight</string><string>sound</string><string>smell</string><string>feel</string></list>
+	<string name="specification">atlas_game</string>
+	<string name="description">Character perceives something.</string>
+	<string name="long_description">Base operator for all kind of perceptions</string>
+	<string name="args_description">perceived thing</string>
+	<list name="example">
+		<string>Usually derived operations are used, general notes
+                   on perceptions and actions:
+                   &lt;ul&gt;
+                   &lt;li&gt;&lt;b&gt;action.from:&lt;/b&gt; who made character to do something
+                   (talk for example); usually character itself, but
+                   not always, examples:
+                   &lt;ul&gt;
+                     &lt;li&gt;atlas_irc_gateway does puppet characters it
+                         has created for each nick from irc side
+                     &lt;li&gt;admin teaches NPCs by making them to talk
+                         itself
+                     &lt;li&gt;possession by spell
+                   &lt;/ul&gt;
+
+                   &lt;li&gt;&lt;b&gt;action.to:&lt;/b&gt; same as character always
+
+                   &lt;li&gt;&lt;b&gt;perception.from:&lt;/b&gt; who produced this perception:
+                   always character itself (for example sound of talk)
+                   (well... unless you are made to hallusinate ;-)
+
+                   &lt;li&gt;&lt;b&gt;perception.to:&lt;/b&gt; you (unless you are
+                   server, then it's target to receive perception)
+                   &lt;/ul&gt;
+
+                   &lt;b&gt;conclusion:&lt;/b&gt; should use perception.from instead of
+                   inner action.from to decide who produced result
+                   &lt;br&gt;
+                   See &lt;a href="#sound"&gt;sound&lt;/a&gt; and
+                       &lt;a href="#sight"&gt;sight&lt;/a&gt;
+                   for actual examples
+                </string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>perception</string></list>
+			<list name="args">
+				<map>
+					<string name="id">tree_8374</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">177</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">173</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>specification</string><string>description</string><string>long_description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">134</int>
+	</map>
+</map>
+<map>
+	<string name="id">error</string>
+	<list name="parents"><string>info</string></list>
+	<list name="children"></list>
+	<string name="description">Something went wrong</string>
+	<string name="args_description">objects describing what went wrong&lt;br&gt;
+First argument is error entity which describes error.
+Second argument is operation which is wrong (not given if not relevant).</string>
+	<list name="example">
+		<string>Client sent "foo" -operation which server rejects</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>error</string></list>
+			<int name="refno">123</int>
+			<list name="args">
+				<map>
+					<string name="message">Uknown operation foo</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>message</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">194</int>
+					</map>
+				</map>
+				<map>
+					<string name="objtype">op</string>
+					<list name="parents"><string>foo</string></list>
+					<int name="serialno">123</int>
+					<list name="args">
+						<map>
+							<string name="e_bar">do some foo thing by using bar</string>
+							<map name="specification_file">
+								<list name="attribute_order"><string>e_bar</string></list>
+								<string name="filename">operation.def</string>
+								<int name="lineno">201</int>
+							</map>
+						</map>
+					</list>
+					<map name="specification_file">
+						<list name="attribute_order"><string>objtype</string><string>parents</string><string>serialno</string><string>args</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">196</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>refno</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">189</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">180</int>
+	</map>
+</map>
+<map>
+	<string name="id">combine</string>
+	<list name="parents"><string>create</string></list>
+	<list name="children"></list>
+	<string name="specification">atlas_game</string>
+	<string name="description">Combine existing objects into new objects.</string>
+	<string name="long_description">This is how normal characters create objects.</string>
+	<string name="args_description">first argument is entity describing object that is being created and rest argument(s) are entities that are used as raw material.</string>
+	<list name="example">
+		<string>Creating axe from wood and iron</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>combine</string></list>
+			<list name="args">
+				<map>
+					<list name="parents"><string>axe</string></list>
+					<string name="name">Bjorn's axe</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>parents</string><string>name</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">217</int>
+					</map>
+				</map>
+				<map>
+					<string name="id">Wood_8898</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">220</int>
+					</map>
+				</map>
+				<map>
+					<string name="id">Iron_6578</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">222</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">213</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>specification</string><string>description</string><string>long_description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">204</int>
+	</map>
+</map>
+<map>
+	<string name="id">divide</string>
+	<list name="parents"><string>create</string></list>
+	<list name="children"></list>
+	<string name="specification">atlas_game</string>
+	<string name="description">Divide existing object into pieces.</string>
+	<string name="long_description">One of the pieces might be original object modified.</string>
+	<string name="args_description">id of original object and entities describing pieces.</string>
+	<list name="example">
+		<string>taking money from pile</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>divide</string></list>
+			<list name="args">
+				<map>
+					<string name="id">money12345</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">238</int>
+					</map>
+				</map>
+				<map>
+					<string name="id">money12345</string>
+					<int name="e_amount">10</int>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string><string>e_amount</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">240</int>
+					</map>
+				</map>
+				<map>
+					<int name="e_amount">110</int>
+					<map name="specification_file">
+						<list name="attribute_order"><string>e_amount</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">243</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">234</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>specification</string><string>description</string><string>long_description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">225</int>
+	</map>
+</map>
+<map>
+	<string name="id">communicate</string>
+	<list name="parents"><string>create</string></list>
+	<list name="children"><string>talk</string></list>
+	<string name="specification">atlas_game</string>
+	<string name="description">Base operator for all kind of communication.</string>
+	<string name="args_description">communication entity</string>
+	<list name="example"><string>see talk</string></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>specification</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">246</int>
+	</map>
+</map>
+<map>
+	<string name="id">move</string>
+	<list name="parents"><string>set</string></list>
+	<list name="children"></list>
+	<string name="specification">atlas_game</string>
+	<string name="description">Change position</string>
+	<string name="long_description">More about &lt;a href="move.html"&gt;movement here&lt;/a&gt;</string>
+	<string name="args_description">entity with id and new position</string>
+	<list name="example">
+		<string>Movement conversation example:</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>move</string></list>
+			<int name="serialno">123</int>
+			<string name="from">9899</string>
+			<list name="args">
+				<map>
+					<string name="id">9899</string>
+					<string name="loc">11</string>
+					<list name="pos"><float>12.3</float><float>3.0</float><float>0.0</float></list>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string><string>loc</string><string>pos</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">270</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>serialno</string><string>from</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">264</int>
+			</map>
+		</map>
+		<string>Reply from server</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>info</string><string>sight</string></list>
+			<int name="serialno">1231</int>
+			<int name="refno">123</int>
+			<string name="from">9899</string>
+			<string name="to">9899</string>
+			<float name="seconds">19036033149.3</float>
+			<string name="time_string">0612-01-05 10:59:09.3</string>
+			<list name="args">
+				<map>
+					<string name="objtype">op</string>
+					<list name="parents"><string>set</string><string>move</string></list>
+					<int name="serialno">1230</int>
+					<int name="refno">123</int>
+					<string name="from">9899</string>
+					<float name="seconds">19036033149.3</float>
+					<string name="time_string">0612-01-05 10:59:09.3</string>
+					<list name="args">
+						<map>
+							<string name="id">9899</string>
+							<string name="loc">11</string>
+							<list name="pos"><float>12.3</float><float>3.0</float><float>0.0</float></list>
+							<map name="specification_file">
+								<list name="attribute_order"><string>id</string><string>loc</string><string>pos</string></list>
+								<string name="filename">operation.def</string>
+								<int name="lineno">294</int>
+							</map>
+						</map>
+					</list>
+					<map name="specification_file">
+						<list name="attribute_order"><string>objtype</string><string>parents</string><string>serialno</string><string>refno</string><string>from</string><string>seconds</string><string>time_string</string><string>args</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">285</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>serialno</string><string>refno</string><string>from</string><string>to</string><string>seconds</string><string>time_string</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">275</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>specification</string><string>description</string><string>long_description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">255</int>
+	</map>
+</map>
+<map>
+	<string name="id">perceive</string>
+	<list name="parents"><string>get</string></list>
+	<list name="children"><string>look</string><string>listen</string><string>sniff</string><string>touch</string></list>
+	<string name="specification">atlas_game</string>
+	<string name="description">Generic base operation for perceiving things by eyes, ears, etc...</string>
+	<string name="args_description">object to be perceived</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>perceive</string></list>
+			<list name="args">
+				<map>
+					<string name="id">elf_3545</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">310</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">306</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>specification</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">299</int>
+	</map>
+</map>
+<map>
+	<string name="id">login</string>
+	<list name="parents"><string>get</string></list>
+	<list name="children"><string>logout</string></list>
+	<string name="description">Operation for logging into server</string>
+	<string name="long_description">For more about &lt;a href="login.html"&gt;out of game atlas here&lt;/a&gt;</string>
+	<string name="args_description">entity with player name and password attribute</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>login</string></list>
+			<list name="args">
+				<map>
+					<string name="id">JoeBlatz</string>
+					<string name="password">Rqv67.%</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string><string>password</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">324</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">320</int>
+			</map>
+		</map>
+		<string>Conversation examples:&lt;br&gt; When you connect to
+        server you either need to have account already or make
+        one. Here is "start by creating account" -example:</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>create</string></list>
+			<int name="serialno">1</int>
+			<list name="args">
+				<map>
+					<string name="id">player74</string>
+					<list name="parents"><string>player</string></list>
+					<string name="password">player_password</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string><string>parents</string><string>password</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">335</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>serialno</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">330</int>
+			</map>
+		</map>
+		<string>What if you already had account by that name? Then
+        reply from server could be something like this (1 argument:
+        message, 2 argument: original operation):</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>error</string></list>
+			<int name="serialno">4</int>
+			<int name="refno">1</int>
+			<float name="seconds">19036033149.3</float>
+			<string name="time_string">0612-01-05 10:59:09.3</string>
+			<list name="args">
+				<map>
+					<string name="message">Account id already exist</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>message</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">350</int>
+					</map>
+				</map>
+				<map>
+					<string name="objtype">op</string>
+					<list name="parents"><string>create</string></list>
+					<int name="serialno">1</int>
+					<list name="args">
+						<map>
+							<string name="id">player74</string>
+							<list name="parents"><string>player</string></list>
+							<string name="password">player_password</string>
+							<map name="specification_file">
+								<list name="attribute_order"><string>id</string><string>parents</string><string>password</string></list>
+								<string name="filename">operation.def</string>
+								<int name="lineno">357</int>
+							</map>
+						</map>
+					</list>
+					<map name="specification_file">
+						<list name="attribute_order"><string>objtype</string><string>parents</string><string>serialno</string><string>args</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">352</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>serialno</string><string>refno</string><string>seconds</string><string>time_string</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">342</int>
+			</map>
+		</map>
+		<string>For more about error operation see
+        &lt;a href="#error"&gt;error operation definition&lt;/a&gt;.
+        &lt;br&gt;&lt;br&gt;
+        If account login went OK them you might receive something
+        like:</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>info</string></list>
+			<int name="serialno">2</int>
+			<int name="refno">1</int>
+			<float name="seconds">19036033149.3</float>
+			<string name="time_string">0612-01-05 10:59:09.3</string>
+			<list name="args">
+				<map>
+					<string name="id">player74</string>
+					<list name="parents"><string>player</string></list>
+					<string name="password">player_password</string>
+					<list name="characters"><string>Bjorn_1</string></list>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string><string>parents</string><string>password</string><string>characters</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">374</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>serialno</string><string>refno</string><string>seconds</string><string>time_string</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">366</int>
+			</map>
+		</map>
+		<string>If you do not have character, then you need to
+        create one. Creating character is similar to how you create
+        account.</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>create</string></list>
+			<int name="serialno">2</int>
+			<list name="args">
+				<map>
+					<list name="parents"><string>farmer</string></list>
+					<string name="name">Nisuf</string>
+					<string name="description">ordinary farmer</string>
+					<string name="e_sex">male</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>parents</string><string>name</string><string>description</string><string>e_sex</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">387</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>serialno</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">382</int>
+			</map>
+		</map>
+		<string>Result of character creation is same as with account
+        creation, only resulting object differs.</string>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>long_description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">313</int>
+	</map>
+</map>
+<map>
+	<string name="id">logout</string>
+	<list name="parents"><string>login</string></list>
+	<list name="children"></list>
+	<string name="description">Operation for logging out</string>
+	<string name="args_description">entity with player name</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>logout</string></list>
+			<list name="args">
+				<map>
+					<string name="id">JoeBlatz</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">405</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">401</int>
+			</map>
+		</map>
+		<string>Most useful with server&lt;-&gt;server communication
+        telling that certain connection is not anymore pertinent</string>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">395</int>
+	</map>
+</map>
+<map>
+	<string name="id">sight</string>
+	<list name="parents"><string>perception</string></list>
+	<list name="children"><string>appearance</string><string>disappearance</string></list>
+	<string name="description">Character sees something</string>
+	<string name="args_description">object or event character sees</string>
+	<list name="example">
+		<string>See &lt;a href="#perception"&gt;perception&lt;/a&gt; operation too&lt;br&gt;
+                Common example:</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>sight</string></list>
+			<list name="args">
+				<map>
+					<string name="id">grass1</string>
+					<float name="stamp">989.24</float>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string><string>stamp</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">422</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">418</int>
+			</map>
+		</map>
+		<string>Reply for looking at 'grass1':</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>sight</string></list>
+			<list name="args">
+				<map>
+					<string name="id">grass1</string>
+					<list name="parents"><string>terrain</string></list>
+					<list name="contains"><string>path1</string><string>tree1</string></list>
+					<string name="description">Grass plains</string>
+					<list name="e_polygon">
+						<list><float>0.0</float><float>0.0</float></list>
+						<list><float>10.0</float><float>0.0</float></list>
+						<list><float>10.0</float><float>0.0</float></list>
+						<list><float>0.0</float><float>10.0</float></list>
+						<list><float>0.0</float><float>0.0</float></list>
+					</list>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string><string>parents</string><string>contains</string><string>description</string><string>e_polygon</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">430</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">426</int>
+			</map>
+		</map>
+		<string>Event example:</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>sight</string></list>
+			<list name="args">
+				<map>
+					<string name="objtype">op</string>
+					<list name="parents"><string>move</string></list>
+					<list name="args">
+						<map>
+							<string name="id">orc_23498</string>
+							<string name="loc">grass1</string>
+							<list name="pos"><float>0.5</float><float>3.0</float><float>0.0</float></list>
+							<map name="specification_file">
+								<list name="attribute_order"><string>id</string><string>loc</string><string>pos</string></list>
+								<string name="filename">operation.def</string>
+								<int name="lineno">450</int>
+							</map>
+						</map>
+					</list>
+					<map name="specification_file">
+						<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">446</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">442</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">410</int>
+	</map>
+</map>
+<map>
+	<string name="id">sound</string>
+	<list name="parents"><string>perception</string></list>
+	<list name="children"></list>
+	<string name="description">Character hears something</string>
+	<string name="args_description">thing character heard</string>
+	<list name="example">
+		<string>See &lt;a href="#perception"&gt;perception&lt;/a&gt; operation too&lt;br&gt;
+                   Example (every operation might have from,
+to and time tags, not only this operation):</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>sound</string></list>
+			<string name="from">sentry_34</string>
+			<list name="args">
+				<map>
+					<string name="objtype">op</string>
+					<list name="parents"><string>talk</string></list>
+					<list name="args">
+						<map>
+							<string name="say">What has happened there?</string>
+							<map name="specification_file">
+								<list name="attribute_order"><string>say</string></list>
+								<string name="filename">operation.def</string>
+								<int name="lineno">473</int>
+							</map>
+						</map>
+					</list>
+					<map name="specification_file">
+						<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">469</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>from</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">464</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">455</int>
+	</map>
+</map>
+<map>
+	<string name="id">smell</string>
+	<list name="parents"><string>perception</string></list>
+	<list name="children"></list>
+	<string name="description">Character smells something</string>
+	<string name="args_description">thing character smells</string>
+	<list name="example">
+		<string>Example (every operation might have from,
+to and time tags, not only this operation):</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>smell</string></list>
+			<string name="from">flower_34</string>
+			<list name="args">
+				<map>
+					<string name="e_smell">sweet</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>e_smell</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">650</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>from</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">645</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">637</int>
+	</map>
+</map>
+<map>
+	<string name="id">feel</string>
+	<list name="parents"><string>perception</string></list>
+	<list name="children"></list>
+	<string name="description">Character feels something (with fingers usually)</string>
+	<string name="args_description">thing character touches</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>feel</string></list>
+			<list name="args">
+				<map>
+					<string name="id">cloth_34</string>
+					<string name="e_surface_type">rough</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string><string>e_surface_type</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">663</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">659</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">653</int>
+	</map>
+</map>
+<map>
+	<string name="id">imaginary</string>
+	<list name="parents"><string>action</string></list>
+	<list name="children"></list>
+	<string name="description">When something is not yet implemented in server, then character can pretend to do something ;-)</string>
+	<string name="args_description">event that is supposed to happen</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>imaginary</string></list>
+			<list name="args">
+				<map>
+					<string name="id">some_unimplemented_action</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">677</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">673</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">667</int>
+	</map>
+</map>
+<map>
+	<string name="id">talk</string>
+	<list name="parents"><string>communicate</string></list>
+	<list name="children"></list>
+	<string name="description">used for talking</string>
+	<string name="long_description">need to relook at that 'Magic voice that steps on something crunchy and makes magic voice which...' -IRC log</string>
+	<string name="args_description">sentence(s) entity</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>talk</string></list>
+			<list name="args">
+				<map>
+					<string name="say">What has happened there?</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>say</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">691</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">687</int>
+			</map>
+		</map>
+		<string>Talking out of game is same,
+except you use player id instead of character id.</string>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>long_description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">680</int>
+	</map>
+</map>
+<map>
+	<string name="id">look</string>
+	<list name="parents"><string>perceive</string></list>
+	<list name="children"></list>
+	<string name="description">Looking at something</string>
+	<string name="args_description">target entity</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>look</string></list>
+			<list name="args">
+				<map>
+					<string name="id">elf_3545</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">707</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">703</int>
+			</map>
+		</map>
+		<string>Conversation examples:&lt;br&gt; When you connect to
+        server you need to look to see things. Server sends all new
+        things that appear and all changes that you see (like
+        movement). But it is clients responsibility to make first
+        update of what it sees. Reason is that only client knows what
+        it has cached.
+
+        &lt;p&gt;First look can have empty argument list: then server sends
+        appropriate top level object for current scheme.</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>look</string></list>
+			<int name="serialno">5</int>
+			<string name="from">Bjorn_10</string>
+			<list name="args"></list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>serialno</string><string>from</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">718</int>
+			</map>
+		</map>
+		<string>Server reply:</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>set</string><string>sight</string></list>
+			<int name="serialno">100</int>
+			<int name="refno">5</int>
+			<string name="from">Bjorn_10</string>
+			<string name="to">Bjorn_10</string>
+			<float name="seconds">19035667864.4</float>
+			<string name="time_string">0612-01-01 05:31:04.4</string>
+			<list name="args">
+				<map>
+					<string name="id">world_0</string>
+					<list name="parents"><string>world</string></list>
+					<list name="contains"><string>tavern_2</string><string>market_3</string><string>home_4</string><string>axe_5</string><string>Nisuf_6</string><string>Miyora_7</string><string>home_8</string><string>smithy_9</string><string>Bjorn_10</string></list>
+					<float name="stamp">19035660000.0</float>
+					<list name="pos"><float>0.0</float><float>0.0</float><float>0.0</float></list>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string><string>parents</string><string>contains</string><string>stamp</string><string>pos</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">735</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>serialno</string><string>refno</string><string>from</string><string>to</string><string>seconds</string><string>time_string</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">725</int>
+			</map>
+		</map>
+		<string>Client looks at contains attribute of above object
+        and then looks for those objects in turn:</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>look</string></list>
+			<int name="serialno">6</int>
+			<string name="from">Bjorn_10</string>
+			<list name="args">
+				<map>
+					<string name="id">Nisuf_6</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">749</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>serialno</string><string>from</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">743</int>
+			</map>
+		</map>
+		<string>And then server tells you more about it:</string>
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>set</string><string>sight</string></list>
+			<int name="serialno">105</int>
+			<int name="refno">6</int>
+			<string name="from">Nisuf_6</string>
+			<string name="to">Bjorn_10</string>
+			<float name="seconds">19035667864.4</float>
+			<string name="time_string">0612-01-01 05:31:04.4</string>
+			<list name="args">
+				<map>
+					<string name="id">Nisuf_6</string>
+					<list name="parents"><string>farmer</string></list>
+					<float name="e_drunkness">0.0</float>
+					<float name="stamp">19035650000.0</float>
+					<string name="loc">world_0</string>
+					<list name="pos"><float>20.0</float><float>50.0</float><float>300.0</float></list>
+					<string name="description">ordinary farmer</string>
+					<string name="name">Nisuf</string>
+					<float name="e_status">1.0</float>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string><string>parents</string><string>e_drunkness</string><string>stamp</string><string>loc</string><string>pos</string><string>description</string><string>name</string><string>e_status</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">762</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>serialno</string><string>refno</string><string>from</string><string>to</string><string>seconds</string><string>time_string</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">752</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">697</int>
+	</map>
+</map>
+<map>
+	<string name="id">listen</string>
+	<list name="parents"><string>perceive</string></list>
+	<list name="children"></list>
+	<string name="description">Listen (something)</string>
+	<string name="args_description">target entity</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>listen</string></list>
+			<list name="args">
+				<map>
+					<string name="id">elf_3545</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">783</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">779</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">773</int>
+	</map>
+</map>
+<map>
+	<string name="id">sniff</string>
+	<list name="parents"><string>perceive</string></list>
+	<list name="children"></list>
+	<string name="description">Sniff something</string>
+	<string name="args_description">target entity</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>sniff</string></list>
+			<list name="args">
+				<map>
+					<string name="id">flower_3545</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">796</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">792</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">786</int>
+	</map>
+</map>
+<map>
+	<string name="id">touch</string>
+	<list name="parents"><string>perceive</string></list>
+	<list name="children"></list>
+	<string name="description">Touch something</string>
+	<string name="args_description">target entity</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>touch</string></list>
+			<list name="args">
+				<map>
+					<string name="id">cloth_3545</string>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">809</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">805</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">799</int>
+	</map>
+</map>
+<map>
+	<string name="id">appearance</string>
+	<list name="parents"><string>sight</string></list>
+	<list name="children"></list>
+	<string name="description">Character sees something appearing: it literally appears or has it come in visible range</string>
+	<string name="args_description">object or event character sees</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>appearance</string></list>
+			<list name="args">
+				<map>
+					<string name="id">grass1</string>
+					<float name="stamp">989.24</float>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string><string>stamp</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">822</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">818</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">812</int>
+	</map>
+</map>
+<map>
+	<string name="id">disappearance</string>
+	<list name="parents"><string>sight</string></list>
+	<list name="children"></list>
+	<string name="description">Character sees something disappearing: it literally disappears or has it gone too far to be visible</string>
+	<string name="args_description">object or event character sees</string>
+	<list name="example">
+		<map>
+			<string name="objtype">op</string>
+			<list name="parents"><string>disappearance</string></list>
+			<list name="args">
+				<map>
+					<string name="id">grass1</string>
+					<float name="stamp">989.24</float>
+					<map name="specification_file">
+						<list name="attribute_order"><string>id</string><string>stamp</string></list>
+						<string name="filename">operation.def</string>
+						<int name="lineno">836</int>
+					</map>
+				</map>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>objtype</string><string>parents</string><string>args</string></list>
+				<string name="filename">operation.def</string>
+				<int name="lineno">832</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string><string>example</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">826</int>
+	</map>
+</map>
+<map>
+	<string name="id">wield</string>
+	<list name="parents"><string>set</string></list>
+	<list name="children"></list>
+	<string name="description">Attach a tool to the character entity at a pre-defined location so that the character can use it.</string>
+	<string name="args_description">Tool or item to be wielded</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">840</int>
+	</map>
+</map>
+<map>
+	<string name="id">use</string>
+	<list name="parents"><string>action</string></list>
+	<list name="children"></list>
+	<string name="description">Use a currently wielded tool.</string>
+	<string name="args_description">Target tool is used on, or operation chosen from those available for this tool, with target given as its argument.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>args_description</string></list>
+		<string name="filename">operation.def</string>
+		<int name="lineno">846</int>
+	</map>
+</map>
+<map>
+	<string name="id">root_type</string>
+	<list name="parents"><string>root</string></list>
+	<list name="children"><string>string</string><string>int</string><string>float</string><string>list</string><string>map</string></list>
+	<string name="objtype">meta</string>
+	<string name="description">Type hierarchy starts from here.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">2</int>
+	</map>
+</map>
+<map>
+	<string name="id">string</string>
+	<list name="parents"><string>root_type</string></list>
+	<list name="children"><string>uri</string><string>objtype</string><string>specification</string><string>name</string><string>message</string><string>html</string><string>username</string><string>password</string><string>time_string</string><string>e_string</string></list>
+	<string name="objtype">data_type</string>
+	<string name="description">UTF-8 encoded string.</string>
+	<string name="long_description">Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">8</int>
+	</map>
+</map>
+<map>
+	<string name="id">int</string>
+	<list name="parents"><string>root_type</string></list>
+	<list name="children"><string>list_length</string><string>serialno</string><string>e_int</string></list>
+	<string name="objtype">data_type</string>
+	<string name="description">Integer.</string>
+	<string name="long_description">C equivalent: 32bit int</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">15</int>
+	</map>
+</map>
+<map>
+	<string name="id">float</string>
+	<list name="parents"><string>root_type</string></list>
+	<list name="children"><string>stamp</string><string>seconds</string><string>width</string><string>height</string><string>e_float</string></list>
+	<string name="objtype">data_type</string>
+	<string name="description">Floating point number.</string>
+	<string name="long_description">C equivalent roughly: double</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">22</int>
+	</map>
+</map>
+<map>
+	<string name="id">uri</string>
+	<list name="parents"><string>string</string></list>
+	<list name="children"><string>id</string><string>media</string><string>filename</string><string>e_uri</string></list>
+	<string name="objtype">type</string>
+	<string name="description">URI (URL) of object</string>
+	<string name="long_description">C equivalent roughly: for storing id name: char *, as pointer: void *&lt;br&gt;
+URI is Uniform Resource Locator.
+For more about URI see
+&lt;a href="http://www.ics.uci.edu/pub/ietf/uri/"&gt;http://www.ics.uci.edu/pub/ietf/uri/&lt;/a&gt;</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">29</int>
+	</map>
+</map>
+<map>
+	<string name="id">string_list</string>
+	<list name="parents"><string>list</string></list>
+	<list name="children"><string>uri_list</string></list>
+	<string name="objtype">type</string>
+	<string name="element_type">string</string>
+	<string name="description">List of strings</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>element_type</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">99</int>
+	</map>
+</map>
+<map>
+	<string name="id">int_list</string>
+	<list name="parents"><string>list</string></list>
+	<list name="children"><string>int_list_length</string></list>
+	<string name="objtype">type</string>
+	<string name="element_type">int</string>
+	<string name="description">List of integers</string>
+	<string name="long_description">C equivalent: int []</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>element_type</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">106</int>
+	</map>
+</map>
+<map>
+	<string name="id">float_list</string>
+	<list name="parents"><string>list</string></list>
+	<list name="children"><string>float_list_length</string></list>
+	<string name="objtype">type</string>
+	<string name="element_type">float</string>
+	<string name="description">List of floats</string>
+	<string name="long_description">C equivalent: double []</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>element_type</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">114</int>
+	</map>
+</map>
+<map>
+	<string name="id">uri_list</string>
+	<list name="parents"><string>string_list</string></list>
+	<list name="children"><string>id_list</string><string>attribute_order</string></list>
+	<string name="element_type">uri</string>
+	<string name="description">URI list</string>
+	<string name="long_description">C equivalent: char *[], void *[]</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>element_type</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">122</int>
+	</map>
+</map>
+<map>
+	<string name="id">list</string>
+	<list name="parents"><string>root_type</string></list>
+	<list name="children"><string>string_list</string><string>int_list</string><string>float_list</string><string>args</string><string>example</string><string>grid_data</string><string>line_data</string><string>e_list</string></list>
+	<string name="objtype">data_type</string>
+	<string name="description">List of objects</string>
+	<string name="long_description">C equivalent: void *[]</string>
+	<list name="added_attributes"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string><string>long_description</string><string>added_attributes</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">129</int>
+	</map>
+</map>
+<map>
+	<string name="id">map</string>
+	<string name="name">mapping</string>
+	<list name="parents"><string>root_type</string></list>
+	<list name="children"><string>specification_file</string></list>
+	<string name="objtype">data_type</string>
+	<string name="description">Mapping between string key and value object</string>
+	<string name="long_description">C equivalent: struct map {char *;void *}; map*</string>
+	<list name="added_attributes"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>name</string><string>parents</string><string>children</string><string>objtype</string><string>description</string><string>long_description</string><string>added_attributes</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">137</int>
+	</map>
+</map>
+<map>
+	<string name="id">int_list_length</string>
+	<list name="parents"><string>int_list</string></list>
+	<list name="children"><string>grid_size</string></list>
+	<string name="objtype">meta</string>
+	<int name="list_length">0</int>
+	<string name="description">List of ints with constant length</string>
+	<string name="long_description">Inherit required object from this and set length attribute to suitable value.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>list_length</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">146</int>
+	</map>
+</map>
+<map>
+	<string name="id">float_list_length</string>
+	<list name="parents"><string>float_list</string></list>
+	<list name="children"><string>pos</string><string>velocity</string><string>cell_size</string></list>
+	<string name="objtype">meta</string>
+	<int name="list_length">0</int>
+	<string name="description">List of floats with constant length</string>
+	<string name="long_description">Inherit required object from this and set length attribute to suitable value.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>list_length</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">154</int>
+	</map>
+</map>
+<map>
+	<string name="id">pos</string>
+	<string name="name">position</string>
+	<list name="parents"><string>float_list_length</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<int name="list_length">3</int>
+	<string name="description">Position coordinates, usually world is 3D</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>name</string><string>parents</string><string>children</string><string>objtype</string><string>list_length</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">162</int>
+	</map>
+</map>
+<map>
+	<string name="id">velocity</string>
+	<list name="parents"><string>float_list_length</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<int name="list_length">3</int>
+	<string name="description">Velocity object is moving, usually world is 3D</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>list_length</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">170</int>
+	</map>
+</map>
+<map>
+	<string name="id">list_length</string>
+	<list name="parents"><string>int</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">Length for lists</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">177</int>
+	</map>
+</map>
+<map>
+	<string name="id">element_type</string>
+	<list name="parents"><string>id</string></list>
+	<list name="children"></list>
+	<string name="description">Element type for typed lists/mappings</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">183</int>
+	</map>
+</map>
+<map>
+	<string name="id">id</string>
+	<list name="parents"><string>uri</string></list>
+	<list name="children"><string>element_type</string><string>interface</string><string>loc</string><string>from</string><string>to</string></list>
+	<string name="description">Id of object</string>
+	<string name="long_description">C equivalent roughly: for storing id name: char *, as pointer: void *</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">188</int>
+	</map>
+</map>
+<map>
+	<string name="id">id_list</string>
+	<list name="parents"><string>uri_list</string></list>
+	<list name="children"><string>parents</string><string>children</string><string>contains</string><string>operations</string></list>
+	<string name="description">List of ids</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">194</int>
+	</map>
+</map>
+<map>
+	<string name="id">parents</string>
+	<list name="parents"><string>id_list</string></list>
+	<list name="children"></list>
+	<string name="description">List of objects this inherits attributes from.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">199</int>
+	</map>
+</map>
+<map>
+	<string name="id">children</string>
+	<list name="parents"><string>id_list</string></list>
+	<list name="children"></list>
+	<string name="description">List of objects that inherit from this object.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">204</int>
+	</map>
+</map>
+<map>
+	<string name="id">contains</string>
+	<list name="parents"><string>id_list</string></list>
+	<list name="children"><string>added_attributes</string><string>characters</string></list>
+	<string name="description">List of objects that use this object as reference system (usually same as what this object contains).</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">209</int>
+	</map>
+</map>
+<map>
+	<string name="id">added_attributes</string>
+	<list name="parents"><string>contains</string></list>
+	<list name="children"></list>
+	<string name="description">List of attributes that has been added to this object</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">214</int>
+	</map>
+</map>
+<map>
+	<string name="id">characters</string>
+	<list name="parents"><string>contains</string></list>
+	<list name="children"></list>
+	<string name="description">List of characters account can control</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">219</int>
+	</map>
+</map>
+<map>
+	<string name="id">args</string>
+	<list name="parents"><string>list</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">List of arguments this operation has</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">224</int>
+	</map>
+</map>
+<map>
+	<string name="id">operations</string>
+	<list name="parents"><string>id_list</string></list>
+	<list name="children"></list>
+	<string name="description">List of alloved operations</string>
+	<string name="long_description">Content ids can be either another interface or operation ids or both.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">230</int>
+	</map>
+</map>
+<map>
+	<string name="id">stamp</string>
+	<list name="parents"><string>float</string></list>
+	<list name="children"><string>stamp_inherit</string><string>stamp_contains</string></list>
+	<string name="objtype">type</string>
+	<string name="description">Last time this object was modified.</string>
+	<string name="long_description">Value should be reflect when something was
+    changed in this object. Any scheme is ok as long as newer numbers
+    are bigger than older stamps. For example, seconds since Jan 1st,
+    1970 or total game cycles would both be valid.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">236</int>
+	</map>
+</map>
+<map>
+	<string name="id">stamp_inherit</string>
+	<list name="parents"><string>stamp</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">Last time any object that inherits from this has been modified</string>
+	<string name="long_description">Value should be reflect when something was changed in some object that inherits from this.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">246</int>
+	</map>
+</map>
+<map>
+	<string name="id">stamp_contains</string>
+	<list name="parents"><string>stamp</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">Last time any object that uses this as reference recursively has been modified</string>
+	<string name="long_description">Value should be reflect when something was changed in some object that is contained by this object.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">260</int>
+	</map>
+</map>
+<map>
+	<string name="id">objtype</string>
+	<string name="name">object type</string>
+	<list name="parents"><string>string</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">What kind of object this is.</string>
+	<string name="long_description">Examples of values: "op", "class", "type".</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>name</string><string>parents</string><string>children</string><string>objtype</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">442</int>
+	</map>
+</map>
+<map>
+	<string name="id">interface</string>
+	<list name="parents"><string>id</string></list>
+	<list name="children"></list>
+	<string name="description">What kind of operations are legal for this object.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">455</int>
+	</map>
+</map>
+<map>
+	<string name="id">specification</string>
+	<list name="parents"><string>string</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">What specification this object is part of?</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">460</int>
+	</map>
+</map>
+<map>
+	<string name="id">name</string>
+	<list name="parents"><string>string</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">Name of object.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">466</int>
+	</map>
+</map>
+<map>
+	<string name="id">message</string>
+	<list name="parents"><string>string</string></list>
+	<list name="children"><string>say</string></list>
+	<string name="objtype">type</string>
+	<string name="description">Some message (for example error message)</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">472</int>
+	</map>
+</map>
+<map>
+	<string name="id">say</string>
+	<list name="parents"><string>message</string></list>
+	<list name="children"></list>
+	<string name="description">What something has said.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">478</int>
+	</map>
+</map>
+<map>
+	<string name="id">html</string>
+	<list name="parents"><string>string</string></list>
+	<list name="children"><string>description</string></list>
+	<string name="objtype">type</string>
+	<string name="description">String that is actually html.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">483</int>
+	</map>
+</map>
+<map>
+	<string name="id">username</string>
+	<list name="parents"><string>string</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">Username for account usually</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">489</int>
+	</map>
+</map>
+<map>
+	<string name="id">password</string>
+	<list name="parents"><string>string</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">Password for account usually</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">495</int>
+	</map>
+</map>
+<map>
+	<string name="id">description</string>
+	<list name="parents"><string>html</string></list>
+	<list name="children"><string>args_description</string><string>long_description</string></list>
+	<string name="description">This gives short description of object.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">501</int>
+	</map>
+</map>
+<map>
+	<string name="id">args_description</string>
+	<list name="parents"><string>description</string></list>
+	<list name="children"></list>
+	<string name="description">This gives description about arguments.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">506</int>
+	</map>
+</map>
+<map>
+	<string name="id">long_description</string>
+	<list name="parents"><string>description</string></list>
+	<list name="children"></list>
+	<string name="description">This gives long description of object.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">511</int>
+	</map>
+</map>
+<map>
+	<string name="id">loc</string>
+	<string name="name">location</string>
+	<list name="parents"><string>id</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">Reference object for coordinates (location).</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>name</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">516</int>
+	</map>
+</map>
+<map>
+	<string name="id">serialno</string>
+	<list name="parents"><string>int</string></list>
+	<list name="children"><string>refno</string><string>lineno</string></list>
+	<string name="objtype">type</string>
+	<string name="description">Serial number.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">523</int>
+	</map>
+</map>
+<map>
+	<string name="id">refno</string>
+	<list name="parents"><string>serialno</string></list>
+	<list name="children"></list>
+	<string name="description">Reference to serial number.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">529</int>
+	</map>
+</map>
+<map>
+	<string name="id">from</string>
+	<list name="parents"><string>id</string></list>
+	<list name="children"></list>
+	<string name="description">Source of message/operation.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">534</int>
+	</map>
+</map>
+<map>
+	<string name="id">to</string>
+	<list name="parents"><string>id</string></list>
+	<list name="children"></list>
+	<string name="description">Target of message/operation.</string>
+	<string name="long_description">When client sends operation to it's character
+    in server, then you can omit this because server can assume
+    character can only control directly it's body.</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">539</int>
+	</map>
+</map>
+<map>
+	<string name="id">seconds</string>
+	<list name="parents"><string>float</string></list>
+	<list name="children"><string>future_seconds</string></list>
+	<string name="objtype">type</string>
+	<string name="description">Time in seconds</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">547</int>
+	</map>
+</map>
+<map>
+	<string name="id">future_seconds</string>
+	<list name="parents"><string>seconds</string></list>
+	<list name="children"></list>
+	<string name="description">Time in seconds to add current time</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">553</int>
+	</map>
+</map>
+<map>
+	<string name="id">time_string</string>
+	<list name="parents"><string>string</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">Time in string format: YYYY-MM-DD HH:MM:SS.ss</string>
+	<string name="long_description">There can be variation in length of different fields if using some weird calendar</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string><string>long_description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">558</int>
+	</map>
+</map>
+<map>
+	<string name="id">example</string>
+	<list name="parents"><string>list</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">Gives some examples usage</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">565</int>
+	</map>
+</map>
+<map>
+	<string name="id">width</string>
+	<list name="parents"><string>float</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">width of something</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">572</int>
+	</map>
+</map>
+<map>
+	<string name="id">grid_data</string>
+	<list name="parents"><string>list</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">grid data</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">578</int>
+	</map>
+</map>
+<map>
+	<string name="id">grid_size</string>
+	<list name="parents"><string>int_list_length</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<int name="list_length">2</int>
+	<string name="description">size of grid area: width and height (and for space depth too) in grid units</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>list_length</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">584</int>
+	</map>
+</map>
+<map>
+	<string name="id">cell_size</string>
+	<list name="parents"><string>float_list_length</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<int name="list_length">2</int>
+	<string name="description">cell size of grid area</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>list_length</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">591</int>
+	</map>
+</map>
+<map>
+	<string name="id">height</string>
+	<list name="parents"><string>float</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">height of something</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">598</int>
+	</map>
+</map>
+<map>
+	<string name="id">line_data</string>
+	<list name="parents"><string>list</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">line object</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">604</int>
+	</map>
+</map>
+<map>
+	<string name="id">media</string>
+	<list name="parents"><string>uri</string></list>
+	<list name="children"></list>
+	<string name="description">media id reference</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">610</int>
+	</map>
+</map>
+<map>
+	<string name="id">specification_file</string>
+	<list name="parents"><string>map</string></list>
+	<list name="children"></list>
+	<string name="objtype">type</string>
+	<string name="description">various info about object and its specification file</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">616</int>
+	</map>
+</map>
+<map>
+	<string name="id">filename</string>
+	<list name="parents"><string>uri</string></list>
+	<list name="children"></list>
+	<string name="description">name of file (example: where object was specified)</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">622</int>
+	</map>
+</map>
+<map>
+	<string name="id">lineno</string>
+	<list name="parents"><string>serialno</string></list>
+	<list name="children"></list>
+	<string name="description">linenumber where something is</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">627</int>
+	</map>
+</map>
+<map>
+	<string name="id">attribute_order</string>
+	<list name="parents"><string>uri_list</string></list>
+	<list name="children"></list>
+	<string name="description">order attributes was specified</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">632</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_int</string>
+	<list name="parents"><string>int</string></list>
+	<list name="children"><string>e_HP</string><string>e_attack</string><string>e_amount</string></list>
+	<string name="objtype">type</string>
+	<string name="description">Root type for all int type example attributes</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">638</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_float</string>
+	<list name="parents"><string>float</string></list>
+	<list name="children"><string>e_height</string><string>e_width</string><string>e_drunkness</string><string>e_status</string></list>
+	<string name="objtype">type</string>
+	<string name="description">Root type for all float type example attributes</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">644</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_string</string>
+	<list name="parents"><string>string</string></list>
+	<list name="children"><string>e_msg</string><string>e_smell</string><string>e_surface_type</string><string>e_bar</string><string>e_sex</string></list>
+	<string name="objtype">type</string>
+	<string name="description">Root type for all string type example attributes</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">650</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_uri</string>
+	<list name="parents"><string>uri</string></list>
+	<list name="children"></list>
+	<string name="description">Root type for all uri type example attributes</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">656</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_list</string>
+	<list name="parents"><string>list</string></list>
+	<list name="children"><string>e_polygon</string></list>
+	<string name="objtype">type</string>
+	<string name="description">Root type for all list type example attributes</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">661</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_HP</string>
+	<list name="parents"><string>e_int</string></list>
+	<list name="children"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">668</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_height</string>
+	<list name="parents"><string>e_float</string></list>
+	<list name="children"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">672</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_width</string>
+	<list name="parents"><string>e_float</string></list>
+	<list name="children"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">676</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_msg</string>
+	<list name="parents"><string>e_string</string></list>
+	<list name="children"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">680</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_polygon</string>
+	<list name="parents"><string>e_list</string></list>
+	<list name="children"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">684</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_attack</string>
+	<list name="parents"><string>e_int</string></list>
+	<list name="children"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">688</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_amount</string>
+	<list name="parents"><string>e_int</string></list>
+	<list name="children"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">692</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_smell</string>
+	<list name="parents"><string>e_string</string></list>
+	<list name="children"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">696</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_surface_type</string>
+	<list name="parents"><string>e_string</string></list>
+	<list name="children"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">700</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_bar</string>
+	<list name="parents"><string>e_string</string></list>
+	<list name="children"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">704</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_sex</string>
+	<list name="parents"><string>e_string</string></list>
+	<list name="children"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">708</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_drunkness</string>
+	<list name="parents"><string>e_float</string></list>
+	<list name="children"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">712</int>
+	</map>
+</map>
+<map>
+	<string name="id">e_status</string>
+	<list name="parents"><string>e_float</string></list>
+	<list name="children"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string></list>
+		<string name="filename">type.def</string>
+		<int name="lineno">716</int>
+	</map>
+</map>
+<map>
+	<string name="id">root_interface</string>
+	<list name="parents"><string>root</string></list>
+	<list name="children"><string>base_interface</string><string>game_interface</string></list>
+	<string name="objtype">meta</string>
+	<string name="description">starting point for interface browsing, not used otherwise</string>
+	<list name="operations"></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string><string>operations</string></list>
+		<string name="filename">interface.def</string>
+		<int name="lineno">2</int>
+	</map>
+</map>
+<map>
+	<string name="id">base_interface</string>
+	<list name="parents"><string>root_interface</string></list>
+	<list name="children"></list>
+	<string name="objtype">interface</string>
+	<string name="description">raw interface</string>
+	<string name="long_description">admin can use this interface for setting
+    abstract hierarchy and actual game objects too</string>
+	<list name="operations"><string>create</string><string>delete</string><string>set</string><string>get</string></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>objtype</string><string>description</string><string>long_description</string><string>operations</string></list>
+		<string name="filename">interface.def</string>
+		<int name="lineno">9</int>
+	</map>
+</map>
+<map>
+	<string name="id">game_interface</string>
+	<list name="parents"><string>root_interface</string></list>
+	<list name="children"></list>
+	<string name="specification">atlas_game</string>
+	<string name="objtype">interface</string>
+	<string name="description">client interface for controlling character etc..</string>
+	<list name="operations"><string>create</string><string>combine</string><string>divide</string><string>communicate</string><string>move</string><string>perceive</string><string>talk</string><string>look</string><string>listen</string><string>sniff</string><string>touch</string></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>specification</string><string>objtype</string><string>description</string><string>operations</string></list>
+		<string name="filename">interface.def</string>
+		<int name="lineno">18</int>
+	</map>
+</map>
+<map>
+	<string name="id">geometry</string>
+	<list name="parents"><string>game_entity</string></list>
+	<list name="children"><string>area</string><string>line</string></list>
+	<string name="description">Base for all geometry related map elements</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">map.def</string>
+		<int name="lineno">2</int>
+	</map>
+</map>
+<map>
+	<string name="id">area</string>
+	<list name="parents"><string>geometry</string></list>
+	<list name="children"><string>2D_grid</string><string>agrilan</string><string>agrilan_waters</string><string>agrilan_lands</string></list>
+	<string name="description">Some kind 2D area</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string></list>
+		<string name="filename">map.def</string>
+		<int name="lineno">7</int>
+	</map>
+</map>
+<map>
+	<string name="id">line</string>
+	<list name="parents"><string>geometry</string></list>
+	<list name="children"><string>river</string><string>road_block</string><string>road</string></list>
+	<string name="description">Some kind line</string>
+	<float name="width">0.0</float>
+	<list name="line_data"></list>
+	<list name="example">
+		<map>
+			<string name="id">123</string>
+			<list name="parents"><string>line</string></list>
+			<float name="width">0.1</float>
+			<list name="line_data">
+				<list><float>0.0</float><float>0.0</float><float>0.0</float></list>
+				<list><float>1.0</float><float>0.0</float><float>0.0</float></list>
+				<list><float>1.0</float><float>1.0</float><float>0.0</float></list>
+			</list>
+			<map name="specification_file">
+				<list name="attribute_order"><string>id</string><string>parents</string><string>width</string><string>line_data</string></list>
+				<string name="filename">map.def</string>
+				<int name="lineno">19</int>
+			</map>
+		</map>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>width</string><string>line_data</string><string>example</string></list>
+		<string name="filename">map.def</string>
+		<int name="lineno">12</int>
+	</map>
+</map>
+<map>
+	<string name="id">2D_grid</string>
+	<list name="parents"><string>area</string></list>
+	<list name="children"><string>hilly</string><string>plain</string><string>lake</string><string>river</string><string>road_block</string></list>
+	<string name="name">some area</string>
+	<string name="description">Basically container for "Terrain Exception Data in AMIS".</string>
+	<list name="cell_size"><float>1.0</float><float>1.0</float></list>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data"></list>
+	<list name="example"><string>Example usage: see agrilan_map.*</string></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>name</string><string>description</string><string>cell_size</string><string>grid_size</string><string>grid_data</string><string>example</string></list>
+		<string name="filename">map.def</string>
+		<int name="lineno">28</int>
+	</map>
+</map>
+<map>
+	<string name="id">agrilan</string>
+	<list name="parents"><string>area</string></list>
+	<list name="children"></list>
+	<string name="specification">example</string>
+	<string name="description">This is whole agrilan map: at coords only hight is guessed
+                   and because this is toplevel now, there is no ref attribute
+                   in location</string>
+	<string name="long_description">Hand made example map based on
+           http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg
+           No media id's here though, except few example...
+
+           First ascii map:
+origin: -80,-40
+&lt;PRE&gt;
+HHLHRPAP
+HLLRRRPA
+HHLHHRPA
+PPPPPRPA
+PPPPPPRA
+FFFPPAAA
+&lt;/PRE&gt;
+Legend:&lt;br&gt;
+H=Hilly&lt;br&gt;
+L=Lake&lt;br&gt;
+R=River&lt;br&gt;
+A=roAd&lt;br&gt;
+P=Plains&lt;br&gt;
+F=Forest&lt;br&gt;
+                </string>
+	<list name="pos"><float>0.0</float><float>0.0</float><float>300.0</float></list>
+	<list name="contains"><string>agrilan_lands</string><string>agrilan_waters</string></list>
+	<string name="media">refer to media entity that refers to http://www.worldforge.org/images/maps/map_agrilan_4_us.jpg</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>specification</string><string>description</string><string>long_description</string><string>pos</string><string>contains</string><string>media</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">2</int>
+	</map>
+</map>
+<map>
+	<string name="id">hilly</string>
+	<string name="specification">example</string>
+	<string name="name">Hilly part around Eluryh lake</string>
+	<string name="description">Defining hilly type first
+                   (here could be for example movement_speed
+                    attribute too for example)</string>
+	<list name="parents"><string>2D_grid</string></list>
+	<list name="children"><string>hilly1</string><string>hilly2</string><string>hilly3</string></list>
+	<string name="media">media id for generic hilly type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">35</int>
+	</map>
+</map>
+<map>
+	<string name="id">hilly1</string>
+	<string name="description">Specific hilly instances: note missing place
+                   where there is lake</string>
+	<list name="parents"><string>hilly</string></list>
+	<list name="children"></list>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>-80.0</float><float>-40.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<list name="grid_size"><int>2</int><int>3</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">10.0</float>
+				<string name="media">special media id for this tile (not shown for all)</string>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string><string>media</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">58</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">5.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">61</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">4.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">63</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">3.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">66</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">68</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">2.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">69</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">46</int>
+	</map>
+</map>
+<map>
+	<string name="id">hilly2</string>
+	<list name="parents"><string>hilly</string></list>
+	<list name="children"></list>
+	<string name="description"></string>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>40.0</float><float>-40.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">10.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">83</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">72</int>
+	</map>
+</map>
+<map>
+	<string name="id">hilly3</string>
+	<list name="parents"><string>hilly</string></list>
+	<list name="children"></list>
+	<string name="description"></string>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>40.0</float><float>40.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<list name="grid_size"><int>2</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">10.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">97</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">10.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">100</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">86</int>
+	</map>
+</map>
+<map>
+	<string name="id">plain</string>
+	<string name="specification">example</string>
+	<string name="name">Plains</string>
+	<string name="description">Defining plain type</string>
+	<list name="parents"><string>2D_grid</string></list>
+	<list name="children"><string>plain1</string><string>plain2</string><string>plain3</string><string>plain4</string></list>
+	<string name="media">media id for generic plain type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">103</int>
+	</map>
+</map>
+<map>
+	<string name="id">plain1</string>
+	<list name="parents"><string>plain</string></list>
+	<list name="children"></list>
+	<string name="description">Specific plains</string>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>-80.0</float><float>80.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<list name="grid_size"><int>6</int><int>3</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">2.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">123</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">2.2</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">125</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">127</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.8</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">129</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">2.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">131</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">133</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.6</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">135</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.8</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">137</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">139</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.4</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">141</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.6</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">143</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.6</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">145</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.2</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">148</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.4</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">150</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.4</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">152</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">155</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.2</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">156</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">158</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">112</int>
+	</map>
+</map>
+<map>
+	<string name="id">plain2</string>
+	<list name="parents"><string>plain</string></list>
+	<list name="children"></list>
+	<string name="description"></string>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>120.0</float><float>80.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.3</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">171</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">160</int>
+	</map>
+</map>
+<map>
+	<string name="id">plain3</string>
+	<list name="parents"><string>plain</string></list>
+	<list name="children"></list>
+	<string name="description"></string>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>200.0</float><float>80.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.3</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">185</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">174</int>
+	</map>
+</map>
+<map>
+	<string name="id">plain4</string>
+	<list name="parents"><string>plain</string></list>
+	<list name="children"></list>
+	<string name="description"></string>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>160.0</float><float>80.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<list name="grid_size"><int>1</int><int>4</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.25</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">199</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.2</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">202</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.15</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">205</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.1</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">208</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">188</int>
+	</map>
+</map>
+<map>
+	<string name="id">lake</string>
+	<string name="specification">example</string>
+	<string name="name">Lake</string>
+	<string name="description">Defining lake type</string>
+	<list name="parents"><string>2D_grid</string></list>
+	<list name="children"><string>lake1</string></list>
+	<string name="media">media id for generic lake type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">211</int>
+	</map>
+</map>
+<map>
+	<string name="id">lake1</string>
+	<string name="name">Eluryh</string>
+	<string name="description">One lake</string>
+	<list name="parents"><string>lake</string></list>
+	<list name="children"></list>
+	<string name="loc">agrilan_waters</string>
+	<list name="pos"><float>-80.0</float><float>80.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<list name="grid_size"><int>2</int><int>3</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">232</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.15</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">233</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">235</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.15</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">237</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.15</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">239</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.15</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">241</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">220</int>
+	</map>
+</map>
+<map>
+	<string name="id">river</string>
+	<string name="specification">example</string>
+	<string name="name">River</string>
+	<string name="description">Defining river type</string>
+	<list name="parents"><string>2D_grid</string><string>line</string></list>
+	<list name="children"><string>river1</string><string>river2</string></list>
+	<string name="media">media id for generic river type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">244</int>
+	</map>
+</map>
+<map>
+	<string name="id">river1</string>
+	<string name="name">Hardonar river</string>
+	<string name="description">Few rivers</string>
+	<list name="parents"><string>river</string></list>
+	<list name="children"></list>
+	<string name="loc">agrilan_waters</string>
+	<list name="pos"><float>80.0</float><float>-40.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<float name="width">25.0</float>
+	<list name="line_data">
+		<list><float>100.0</float><float>-40.0</float><float>1.1</float></list>
+		<list><float>140.0</float><float>20.0</float><float>1.08</float></list>
+		<list><float>140.0</float><float>100.0</float><float>1.05</float></list>
+		<list><float>160.0</float><float>140.0</float><float>1.03</float></list>
+		<list><float>160.0</float><float>200.0</float><float>1.0</float></list>
+	</list>
+	<list name="grid_size"><int>3</int><int>6</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.09</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">272</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">274</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">275</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">276</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">277</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">278</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">279</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">281</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.08</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">282</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.07</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">284</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.06</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">286</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.05</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">288</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">290</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">291</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">293</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">294</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">295</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">296</int>
+				</map>
+			</map>
+			<map>
+				<map name="specification_file">
+					<list name="attribute_order"></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">297</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.03</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">298</int>
+				</map>
+			</map>
+			<map>
+				<float name="height">1.01</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">300</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>width</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">253</int>
+	</map>
+</map>
+<map>
+	<string name="id">river2</string>
+	<list name="parents"><string>river</string></list>
+	<list name="children"></list>
+	<string name="description">connects to lake</string>
+	<string name="loc">agrilan_waters</string>
+	<list name="pos"><float>40.0</float><float>0.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<float name="width">5.0</float>
+	<list name="line_data">
+		<list><float>140.0</float><float>20.0</float><float>1.08</float></list>
+		<list><float>40.0</float><float>20.0</float><float>1.15</float></list>
+	</list>
+	<list name="grid_size"><int>2</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.13</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">318</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.1</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">321</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>parents</string><string>children</string><string>description</string><string>loc</string><string>pos</string><string>media</string><string>width</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">303</int>
+	</map>
+</map>
+<map>
+	<string name="id">agrilan_waters</string>
+	<string name="specification">example</string>
+	<string name="description">All Agrilan waters container</string>
+	<list name="parents"><string>area</string></list>
+	<list name="children"></list>
+	<string name="loc">agrilan</string>
+	<list name="pos"><float>0.0</float><float>0.0</float><float>0.0</float></list>
+	<list name="contains"><string>lake1</string><string>river1</string><string>river2</string></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>contains</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">324</int>
+	</map>
+</map>
+<map>
+	<string name="id">road_block</string>
+	<string name="specification">example</string>
+	<string name="name">Road block</string>
+	<string name="description">Defining road types</string>
+	<list name="parents"><string>2D_grid</string><string>line</string></list>
+	<list name="children"><string>bridge</string><string>road1</string><string>road2</string><string>road3</string></list>
+	<string name="media">media id for generic road type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<float name="width">5.0</float>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string><string>width</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">333</int>
+	</map>
+</map>
+<map>
+	<string name="id">bridge</string>
+	<string name="name">Bridge</string>
+	<string name="description">Defining bridge type</string>
+	<list name="parents"><string>road_block</string></list>
+	<list name="children"><string>bridge1</string></list>
+	<string name="media">media id for generic bridge type</string>
+	<list name="cell_size"><float>40.0</float><float>40.0</float></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string><string>cell_size</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">343</int>
+	</map>
+</map>
+<map>
+	<string name="id">road</string>
+	<string name="specification">example</string>
+	<string name="name">Road</string>
+	<string name="description">Collection of road blocks</string>
+	<list name="parents"><string>line</string></list>
+	<list name="children"><string>murray_r1</string></list>
+	<string name="media">media id for generic road type</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>media</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">351</int>
+	</map>
+</map>
+<map>
+	<string name="id">road1</string>
+	<string name="description">Actual road</string>
+	<list name="parents"><string>road_block</string></list>
+	<list name="children"></list>
+	<string name="loc">murray_r1</string>
+	<list name="pos"><float>160.0</float><float>-40.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<list name="line_data">
+		<list><float>180.0</float><float>-40.0</float><float>1.4</float></list>
+		<list><float>220.0</float><float>0.0</float><float>1.4</float></list>
+	</list>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.4</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">373</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">359</int>
+	</map>
+</map>
+<map>
+	<string name="id">road2</string>
+	<string name="description">Actual road</string>
+	<list name="parents"><string>road_block</string></list>
+	<list name="children"></list>
+	<string name="loc">murray_r1</string>
+	<list name="pos"><float>200.0</float><float>0.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<list name="line_data">
+		<list><float>220.0</float><float>0.0</float><float>1.4</float></list>
+		<list><float>220.0</float><float>180.0</float><float>1.3</float></list>
+	</list>
+	<list name="grid_size"><int>1</int><int>5</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.38</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">390</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.36</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">393</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.34</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">396</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.32</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">399</int>
+				</map>
+			</map></list>
+		<list>			<map>
+				<float name="height">1.3</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">402</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">376</int>
+	</map>
+</map>
+<map>
+	<string name="id">bridge1</string>
+	<string name="description">Actual bridge</string>
+	<list name="parents"><string>bridge</string></list>
+	<list name="children"></list>
+	<string name="name">Murray bridge</string>
+	<string name="loc">murray_r1</string>
+	<list name="pos"><float>160.0</float><float>160.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<list name="line_data">
+		<list><float>220.0</float><float>180.0</float><float>1.3</float></list>
+		<list><float>140.0</float><float>180.0</float><float>1.3</float></list>
+	</list>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">2.0</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">420</int>
+				</map>
+			</map></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>description</string><string>parents</string><string>children</string><string>name</string><string>loc</string><string>pos</string><string>media</string><string>line_data</string><string>grid_size</string><string>grid_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">405</int>
+	</map>
+</map>
+<map>
+	<string name="id">road3</string>
+	<string name="description">Actual road</string>
+	<list name="parents"><string>road_block</string></list>
+	<list name="children"></list>
+	<string name="loc">murray_r1</string>
+	<list name="pos"><float>120.0</float><float>160.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<list name="line_data">
+		<list><float>140.0</float><float>180.0</float><float>1.3</float></list>
+		<list><float>100.0</float><float>180.0</float><float>1.2</float></list>
+	</list>
+	<list name="grid_size"><int>1</int><int>1</int></list>
+	<list name="grid_data">
+		<list>			<map>
+				<float name="height">1.3</float>
+				<map name="specification_file">
+					<list name="attribute_order"><string>height</string></list>
+					<string name="filename">agrilan_map.def</string>
+					<int name="lineno">437</int>
+				</map>
+			</map></list>
+	</list>
+	<string name="name">Murdar road</string>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>line_data</string><string>grid_size</string><string>grid_data</string><string>name</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">423</int>
+	</map>
+</map>
+<map>
+	<string name="id">murray_r1</string>
+	<string name="name">Murray Road</string>
+	<string name="description">This brings all roads blocks together
+                   (line data more generic than on lower levels)</string>
+	<list name="parents"><string>road</string></list>
+	<list name="children"></list>
+	<string name="loc">agrilan_lands</string>
+	<list name="pos"><float>0.0</float><float>0.0</float><float>0.0</float></list>
+	<string name="media">media id for whole area (text media may want to use it or
+             overview 2D media too)</string>
+	<list name="contains"><string>road1</string><string>road2</string><string>bridge1</string><string>road3</string></list>
+	<list name="line_data">
+		<list><float>180.0</float><float>-40.0</float><float>1.4</float></list>
+		<list><float>220.0</float><float>180.0</float><float>1.3</float></list>
+		<list><float>100.0</float><float>180.0</float><float>1.2</float></list>
+	</list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>name</string><string>description</string><string>parents</string><string>children</string><string>loc</string><string>pos</string><string>media</string><string>contains</string><string>line_data</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">441</int>
+	</map>
+</map>
+<map>
+	<string name="id">agrilan_lands</string>
+	<string name="specification">example</string>
+	<string name="description">All agrilan lands</string>
+	<list name="parents"><string>area</string></list>
+	<list name="children"></list>
+	<list name="pos"><float>0.0</float><float>0.0</float><float>0.0</float></list>
+	<list name="contains"><string>hilly1</string><string>hilly2</string><string>hilly3</string><string>plain1</string><string>plain2</string><string>plain3</string><string>plain4</string><string>murray_r1</string></list>
+	<map name="specification_file">
+		<list name="attribute_order"><string>id</string><string>specification</string><string>description</string><string>parents</string><string>children</string><string>pos</string><string>contains</string></list>
+		<string name="filename">agrilan_map.def</string>
+		<int name="lineno">457</int>
+	</map>
+</map>
+</atlas>
--- a/tests/Objects/objects2.cpp
+++ b/tests/Objects/objects2.cpp
@@ -20,6 +20,7 @@
 #include <sstream>
 #include <cassert>
 #include <vector>
+#include <cstdlib>
 
 #if USE_XML
 #define USE_FILE 0
@@ -118,7 +119,14 @@
     TestDecoder bridge;
 #if USE_FILE
     fstream stream;
-    stream.open("../../../../protocols/atlas/spec/atlas.xml", std::ios::in);
+    std::string atlas_xml_path;
+    char * srcdir_env = getenv("srcdir");
+    if (srcdir_env != 0) {
+        atlas_xml_path = srcdir_env;
+        atlas_xml_path += "/";
+    }
+    atlas_xml_path += "../../protocol/spec/atlas.xml";
+    stream.open(atlas_xml_path, std::ios::in);
     assert(!!stream);
 #else
     std::stringstream stream;
@@ -429,8 +437,15 @@
 
 int main()
 {
+    std::string atlas_xml_path;
+    char * srcdir_env = getenv("srcdir");
+    if (srcdir_env != 0) {
+        atlas_xml_path = srcdir_env;
+        atlas_xml_path += "/";
+    }
+    atlas_xml_path += "../../protocol/spec/atlas.xml";
     try {
-	Atlas::Objects::loadDefaults("../../../../protocols/atlas/spec/atlas.xml");
+	Atlas::Objects::loadDefaults(atlas_xml_path);
     } catch(Atlas::Objects::DefaultLoadingException e) {
         std::cout << "DefaultLoadingException: "
              << e.getDescription() << std::endl;
--- a/tests/Objects/decoder1.cpp
+++ b/tests/Objects/decoder1.cpp
@@ -2,6 +2,7 @@
 #include <Atlas/Objects/loadDefaults.h>
 
 #include <iostream>
+#include <cstdlib>
 
 bool root_arrived = false;
 bool look_arrived = false;
@@ -40,8 +41,15 @@
 
 int main(int argc, char** argv)
 {
+    std::string atlas_xml_path;
+    char * srcdir_env = getenv("srcdir");
+    if (srcdir_env != 0) {
+        atlas_xml_path = srcdir_env;
+        atlas_xml_path += "/";
+    }
+    atlas_xml_path += "../../protocol/spec/atlas.xml";
     try {
-	Atlas::Objects::loadDefaults("../../../../protocols/atlas/spec/atlas.xml");
+	Atlas::Objects::loadDefaults(atlas_xml_path);
     } catch(Atlas::Objects::DefaultLoadingException e) {
 	std::cout << "DefaultLoadingException: "
              << e.getDescription() << std::endl;
--- a/tests/Objects/encoder1.cpp
+++ b/tests/Objects/encoder1.cpp
@@ -6,6 +6,7 @@
 
 #include <string>
 #include <iostream>
+#include <cstdlib>
 
 class RootDecoder : public Atlas::Message::DecoderBase
 {
@@ -21,8 +22,15 @@
 
 int main(int argc, char** argv)
 {
+    std::string atlas_xml_path;
+    char * srcdir_env = getenv("srcdir");
+    if (srcdir_env != 0) {
+        atlas_xml_path = srcdir_env;
+        atlas_xml_path += "/";
+    }
+    atlas_xml_path += "../../protocol/spec/atlas.xml";
     try {
-	Atlas::Objects::loadDefaults("../../../../protocols/atlas/spec/atlas.xml");
+	Atlas::Objects::loadDefaults(atlas_xml_path);
     } catch(Atlas::Objects::DefaultLoadingException e) {
 	std::cout << "DefaultLoadingException: "
              << e.getDescription() << std::endl;
--- a/tests/Objects/objects1.cpp
+++ b/tests/Objects/objects1.cpp
@@ -3,6 +3,7 @@
 #include <Atlas/Objects/loadDefaults.h>
 
 #include <iostream>
+#include <cstdlib>
 #include <cassert>
 
 using Atlas::Objects::Root;
@@ -13,8 +14,15 @@
 
 int main(int argc, char** argv)
 {
+    std::string atlas_xml_path;
+    char * srcdir_env = getenv("srcdir");
+    if (srcdir_env != 0) {
+        atlas_xml_path = srcdir_env;
+        atlas_xml_path += "/";
+    }
+    atlas_xml_path += "../../protocol/spec/atlas.xml";
     try {
-	Atlas::Objects::loadDefaults("../../../../protocols/atlas/spec/atlas.xml");
+	Atlas::Objects::loadDefaults(atlas_xml_path);
     } catch(Atlas::Objects::DefaultLoadingException e) {
 	std::cout << "DefaultLoadingException: "
              << e.getDescription() << std::endl;
