<?xml version="1.0" encoding="UTF-8"?>
<static_data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="static_data.xsd">
<!--
This file is an entry point for all xml data files.
Server when starting is reading this file and using XmlMerger is including other
files according to the <import> tags, output file is saved in /cache/static_data.xml
XmlMerger creates one big xml file, which is later parsed by XmlDataLoader.
This way, we can have whole static data within many xml files.
How to use <import> tags:
Most basic version is to type:
<import file="some_file.xml"/>
Merger will just include content of the some_file.xml (omitting attributes of root node)
Instead of some_file.xml we can type name of directory, then all xml files in that
directory (by default recursively) will be loaded.
We can add the optional attribute "singleRootTag":
<import file="some_folder" singleRootTag="true" />
This way xml's will be included inside a single root node.
It'll be used to split xml data of the same type into multiple files.
How this would look like:
We've got (for example) 2 xml files with npc_data definitions in a folder called npc_data:
npc_data/npc_data_f1.xml:
<?xml version="1.0" encoding="UTF-8"?>
<npc_data xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="static_data.xsd">
<npc id="1" name="Npc_N1"/>
</npc_data>
npc_data/npc_data_f2.xml:
<?xml version="1.0" encoding="UTF-8"?>
<npc_data xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="static_data.xsd">
<npc id="2" name="Npc_N2"/>
</npc_data>
In static_data.xml we would have to put:
<import file="npc_data" singleRootTag="true"/>
In the merged file we'll have:
<npc_data>
<npc id="1" name="Npc_N1"/>
<npc id="2" name="Npc_N2"/>
</npc_data>
So, not important things (like schema declarations) were removed and root tags in between were also removed and
static_data.xsd schema file must be valid for use both:
* by merged xml file (because it'll be used for validation when loading)
* by every single xml file (IDE will use it to validate xml files, when editing)
-->
<import file="items/item_templates.xml" />
<import file="items/assembly_items.xml" />
<import file="items/item_groups.xml" />
<import file="items/item_purifications.xml" />
<import file="items/item_random_bonuses.xml" />
<import file="items/item_restriction_cleanups.xml" />
<import file="items/multi_return_item.xml" />
<import file="item_sets/item_sets.xml" />
<import file="ai" singleRootTag="true" />
<import file="assembled_npcs/assembled_npcs.xml" />
<import file="auto_group/auto_group.xml" />
<import file="base/base_locations.xml" />
<import file="bind_points/bind_points.xml" />
<import file="bounties/kill_bounties.xml" />
<import file="chests/chest_templates.xml" />
<import file="cosmetic_items/cosmetic_items.xml" />
<import file="curing_objects/curing_objects.xml" />
<import file="custom_drop/custom_drop.xml" />
<import file="decomposable_items/decomposable_items.xml" />
<import file="enchants/enchant_templates.xml" />
<import file="enchants/tempering_templates.xml" />
<import file="events/arcadelist.xml" />
<import file="events/login_events.xml" />
<import file="events/timed_events" singleRootTag="true" />
<import file="fly_rings/fly_rings.xml" />
<import file="flypath_template.xml" />
<import file="gatherables/gatherable_templates.xml" />
<import file="global_drops/global_npc_exclusions.xml" />
<import file="global_drops/rules" singleRootTag="true" />
<import file="goodslists/goodslists.xml" />
<import file="guides/guide.xml" />
<import file="hotspot_template.xml" />
<import file="housing/house_buildings.xml" />
<import file="housing/house_npcs.xml" />
<import file="housing/house_parts.xml" />
<import file="housing/houses.xml" />
<import file="housing/housing_objects.xml" />
<import file="instance_bonusattr/instance_bonusattr.xml" />
<import file="instance_cooltimes/instance_cooltimes.xml" />
<import file="instance_exit/instance_exit.xml" />
<import file="legion_dominion_template.xml" />
<import file="mail_templates.xml" />
<import file="mesh_materials/material_templates.xml" />
<import file="npc_factions/npc_factions.xml" />
<import file="npc_shouts/npc_shouts.xml" />
<import file="npc_skills" singleRootTag="true" />
<import file="npc_teleporter.xml" />
<import file="npc_trade_list.xml" />
<import file="npc_walker" singleRootTag="true" />
<import file="npcs" singleRootTag="true" />
<import file="pet_skills" singleRootTag="true" />
<import file="pets/pet_buffs.xml" />
<import file="pets/pet_doping.xml" />
<import file="pets/pet_feed.xml" />
<import file="pets/pets.xml" />
<import file="player_experience_table.xml" />
<import file="player_initial_data.xml" />
<import file="player_titles.xml" />
<import file="polymorph_panels/polymorph_panels.xml" />
<import file="portals/portal_loc.xml" />
<import file="portals/portal_template2.xml" />
<import file="quest_data/challenge_tasks.xml" />
<import file="quest_data/quest_data.xml" />
<import file="quest_script_data" singleRootTag="true" />
<import file="recipe/recipe_templates.xml" />
<import file="ride/ride.xml" />
<import file="rift/rift_locations.xml" />
<import file="roads/roads.xml" />
<import file="conqueror_protector_ranks/conqueror_protector_ranks.xml" />
<import file="siege/siege_locations.xml" />
<import file="siege/siege_shields.xml" />
<import file="skills/motion_times.xml" />
<import file="skills/skill_charge.xml" />
<import file="skills/skill_templates.xml" />
<import file="skill_tree" singleRootTag="true" />
<import file="spawns" singleRootTag="true" />
<import file="staticdoors/staticdoor_templates.xml" />
<import file="stats/absolute_stats.xml" />
<import file="storage_expander/cube_expander.xml" />
<import file="storage_expander/warehouse_expander.xml" />
<import file="teleport_location.xml" />
<import file="town_spawns" singleRootTag="true" />
<import file="tribe/tribe_relations.xml" />
<import file="vortex/dimensional_vortex.xml" />
<import file="walker_versions.xml" />
<import file="weather_table.xml" />
<import file="windstreams/windstreams.xml" />
<import file="world_maps.xml" />
<import file="world_raid/world_raids.xml" />
<import file="zones" singleRootTag="true" />
<import file="skills/alias_locations.xml" />
<import file="skills/signet_data_templates.xml" />
</static_data>