Some structures can be system specific - e.g. Yags, d20, ArsMagica. It uses namespaces to handle different systems. Everything not in a namespace (other than the default Yagsbook namespace) is considered to be generic content.
A character-info block describes a character race or culture. For example, it includes a list of common names, average heights and weights, hair colour etc. The idea is that players can use it to generate a rough character description, but that it can also be used by a computer program to randomly generate an NPC appearance. All such generated information should be storage in a character block.
<character-info name="Rornic" gender="Male"> <description> <height>150+5d10</height> <weight>70+3d10</weight> <build> <value weight="1">Very thin</value> <value weight="3">Thin</value> </build> <hair> <colour> <value weight="3">Blond</value> <value weight="9">Light brown</value> <value weight="9">Dark brown</value> <value weight="3">Black</value> <value weight="1">Red</value> </colour> <!-- Very short, short, medium, long, very long, back, Waist length, Knee length, Ankle length --> <length> <value weight="9">Very short</value> <value weight="27">Short</value> <value weight="27">Medium</value> <value weight="3">Long</value> <value weight="1">Very long</value> </length> </hair> <skin> </skin> </description> <names> <name>Fred</name> <name>Harry</name> <name>George</name> </names> </character-info>
Have a statistics block which is rules specific. For example, one for Ars Magica might look like the following.
<statistics xmlns="http://yagsbook.sourceforge.net/xml/arsmagica"> <attributes size="0"> <attribute name="strength" score="0"/> <attribute name="stamina" score="-1"/> </attributes> <skills> <group name="Talents"> <skill name="Finesse" score="2"/> </group> <group name="Knowledges"> <skill name="Hermes lore" score="3"/> <skill name="Artes Liberalis" score="2"/> </group> </skills> <virtues/> <passions/> <equipment/> </statistics>