XML Format
Aus Eressea
Anstatt sofort einen DTD zu definieren (die Dinger kann eh kaum jemand lesen) arbeiten wir hier ein Beispiel-Dokument aus, und diskutieren darüber.
Beispiel Report
Header und Serverinfos | |
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" "http://eressea.de/atlantis-report.dtd"> <?xml version="1.0" encoding="UTF-8"?> <atlantis rules="eressea"> <server> <uri>mailto:eressea-server@eressea.kn-bremen.de</uri> <subject>ERESSEA BEFEHLE</subject> </server> |
|
Allianzen | |
<alliance/> |
|
Parteien | |
<faction id="faction_Lotr"> <name>xxxxx</name> <descr>dsfsf sdf sdf</descr> <race>aquarians</race> <magic>Gwyrrd</magic> <age>60</age> 12345 |
|
Messages | |
<message id="message_123456" type="messagetype_23423546"> <rendered> Irgendwer (1234) segelt von Irgendwo (1,2) nach Nirgendwo (99,99). Dabei wurden Ozean (1,3), Ozean (1,4) ... und Ozean (98,99) durchquert. </rendered> <attribute name="unit"><unitref ref="unit_1234"/></attribute> <attribute name="from"><regionref ref="region_653456"/></attribute> <attribute name="to"><regionref ref="region_653567"/></attribute> <attribute name="through"> <regionref ref="region_953456"/> <regionref ref="region_68656"/> ... <regionref ref="region_114562"/> </attribute> |
|
Regionen | |
<region id="region_126788> <coordinate x="14" y="27"/> <name>xxxxx</name> <descr>dsfsf sdf sdf</descr> <terrain>plain</terrain> |
Regionen, hier versehen mit einer Koordinate. Wie wir verschiedene Ebenen Kennzeichen müssen wir noch diskutieren. |
Regionsresourcen | |
<resources> <resource type="mallorntrees">50</resource> <resource type="mallornsaplings">10</resource> <resource type="laen" level="33">10</resource> <resource type="silver" entertain="500">10000</resource> <resource type="peasant" recruit="25">1000</resource> <resource type="elvendear quantity="many"/> </resources> |
|
Marktplatz | |
<marketplace amount="10"> <buy type="balm">5</buyitem> <sell type="spice">35</sellitem> <offer> <get><item>balm</item><amount>1</amount></get> <give><item>silver</item><amount>5</amount></give> </offer> </marketplace> |
|
Einheiten | |
<unit id="unit_mag3" faction="faction_Lotr"/> <item/> <skill/> </unit> |
|
Gebäude | |
<building id="building_h0us"/> |
|
Schiffe | |
<ship id="ship_ttnc"/> |
|
</region> |
|
Messagetypen | |
<messagetype id="msgtype_5673456873"> <section>travel</section> <pattern locale="de"> <attribute name="unit"/> segelt von <attribute name="from"/> nach <attribute name="to"/>. Dabei wurden <function type="regions"><attribute name="through"></function> durchquert. </pattern> </messagetype> |
So richtig gefällt mir das hier noch nicht. Man sollte anhand der Pattern bereits
den Typ des jeweiligen Attributs erkennen. Vermutlich müsste jede $xyz() die es derzeit gibt, als extra Elementtyp in der (Eressea)-DTD definiert werden. |
</atlantis> |
Regelset
Und noch ein Dokument fuer eine Spiel-Definition
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" "http://eressea.de/atlantis-ruleset.dtd"> <?xml version="1.0" encoding="UTF-8"?> <atlantis> <item/> <race/> <plane/> <terrain/> <skill/> <building/> <ship/> <command/> </atlantis>