XML Format/Menouthisbeispiel
Aus Eressea
<?xml version="1.0" encoding="UTF-8"?> <atlantis rules="menouthis" lang="de"> <!-- Attribut lang nicht in der DTD bisher! --> <server> <uri>mailto:befehle@menouthis.net</uri> <subject>menouthis kapiteli check</subject> <evaluation>donnerstags 20 Uhr</evaluation> </server> <turn> <!-- fehlt noch in der Spezifikation! Eventuell überarbeitungsbedürftig, nicht jedes Spiel nimmt unbedingt Jahr, Monat, Jahreszeit, vielleicht einfach alles mögliche als optionales Element --> <number>17</number> <year>2</year> <month>Juni</month> <season>Sommer</season> </turn> <faction id="faction_2" key="2"> <!-- hier die Frage: sollte die eigene Partei irgendwie ausgezeichnet sein? Nachteil: Mergen verschiedener Parteien würde infos vernichten, aber ich halte mergen ja sowieso für Doppelspiel :) --> <message id="message_1"> <link role="type" ref="goal" /> <text>Ziel des Spiels: Kapitel I: Die Aufdämmerung Von der Inselgruppe entkommen Baue ein Karavellen</text> </message> <message> <link role="type" ref="syntaxerror" /> <text>Ein <link role="unit" ref="6">Händler (6)</link> hat nicht genug <link role="item" ref="scythe">Sensen</link> zu verkaufen.</text> </message> <message> <link role="type" ref="sell" /> <text>Ein <link role="unit" ref="6">Händler (6)</link> verkaufte <link role="soldnumber" ref="100">100</link> <link role="solditem" ref="wood">Holzstämme</link> für <link role="moneynumber" ref="549">549</link> <link role="moneyitem" ref="guilder">Gulden</link>.</text> </message> <status type="ordergap">0</status> <status type="age">0</status> <diplomacy ref="faction_npc0"> <state type="move" /> <state type="stealth" /> </diplomacy> <name lang="en">faction of report</name> <name lang="de">Partei des Testreports</name> <link role="race" ref="fairy" /> <status type="address">sophie@menouthis.net</status> <status type="lang">de</status> <status type="password">ue.4Jgs9</status> <status type="maxemigrants">0</status> <status type="option">nr</status> <status type="option">cr</status> <!-- Darf der gleiche Status mehrfach auftreten? --> <!-- <heroes> Wie modelliere ich das? <heronumber> <id>sorcerer</id> <number>1</number> <maxnum>4</maxnum> </heronumber> </heroes> --> <effect name="Verrückter Zauber" desc="Alle Einheiten dieser Partei erhalten +1 auf alle Talente" /> <!-- Dieses Element ist noch nicht spezifiziert, ich hätte es gern für jedes gameobject--> </faction> <faction id="faction_npc3" key="npc3"> <status type="age">0</status> <name lang="en">undeads</name> <name lang="de">Untote</name> <desc lang="en">The foul unholy souls, driven only by hate of every living creature.</desc> <desc lang="de">Die unheiligen verfluchten Seelen, getrieben von undenkbarem Hass auf alles Lebende</desc> <link role="race" ref="skeleton" /> <status type="language">en</status> <status type="factionsetting">npc</status> </faction> <region id="region_1"> <coordinates x="-1" y="1"/> <link role="type" ref="ocean" /> <status type="seen">old</status> </region> <region id="region_2"> <coordinates x="0" y="1"/> <link role="type" ref="mountain" /> <name>Dyhu</name> <status type="seen">current</status> </region> <region id="region_3"> <coordinates x="0" y="0"/> <link role="type" ref="savannah" /> <name>Sirvolfas</name> <status type="seen">full</status> <status type="jobs">305</status> <!--<resources> <resource> <id>wood</id> <manifestation id="tree">573</manifestation> <manifestation id="sapling">761</manifestation> </resource> <resource> <id>peasant</id> <manifestation id="peasant">310</manifestation> </resource> <resource> <id>recruit</id> <number>9</number> </resource> </resources> Zur genaueren Diskussion! --> <status type="moneytype">kreuzer</status> <status type="entertainmoney">77042</status> <items> <item type="guilder">15408</item> <item type="kreuzer">46</item> <item type="wood">300</item> </items> <!-- Hier fehlt auch eine genauere Spezifikation, eine Art link mit mehr Argumenten wäre gut <improvements> <improvement type="stockfarm"> <number>1</number> </improvement> <improvement type="village"> <number>6</number> </improvement> </improvements>--> <!-- Hier das gleiche, ein link mit mehreren Argumenten würde ausreichen <roads> <road> <type>cobblestone</type> <size dir="nw">15</size> </road> </roads>--> <trade> <offer amount="10"> <item role="trade_get" ref="wood" amount="1" /> <item role="trade_give" ref="kreuzer" amount="500" /> </offer> <offer amount="400"> <item role="trade_get" ref="kreuzer" amount="40" /> <item role="trade_give" ref="grain" amount="1" /> </offer> </trade> <status type="governor">2</status> <!-- und wieder ein Link mit mehreren Argumenten nötig <rights> <stayright number="-1" tax="200" taxitem="kreuzer" /> <stayright number="-1" tax="100" taxitem="kreuzer" faction="npc2" /> <entertainright number="-1" tax="500" taxitem="kreuzer" /> <entertainright number="-1" tax="0" taxitem="kreuzer" faction="npc2" /> <productionright item="weapon" number="-1" tax="500" taxitem="kreuzer" /> <traderight item="weapon" number="0" mode="buy" tax="0" taxitem="kreuzer" /> <traderight item="weapon" number="-1" mode="buy" tax="0" taxitem="kreuzer" faction="npc2" /> </rights>--> <unit id="unit_4" key="4"> <link role="faction" ref="2" /> <status type="number">10</status> <status type="weight">250.0</status> <status type="hp">400</status> <status type="fightstate">not</status> <name lang="en">Wachtrupp</name> <name lang="de">Wachtrupp</name> <status type="guards">1</status> <skills> <skill type="pole" level="7" efflevel="5" learningdays="9131" /> </skills> <items> <item type="fairydust" amount="50" /> <!-- Hier ein Alternativer item Vorschlag, der besser zum trade passt --> <item type="spear" amount="10" /> </items> <!-- Wieder mehrere Argumente :/ <capacity range="1">350.0</capacity> <capacity range="2">270.0</capacity> <capacity range="3">270.0</capacity>--> <commands> <!-- Das würde ich direkt so lassen --> <command>bewache</command> </commands> </unit> <ship id="accessable_4" key="4"> <link role="type" ref="boat" /> <status type="build">5</status> <name lang="de">Kleines Schiff</name> <units> <!-- Weitere Unitobjecte --> </units> </ship> <caravan id="accessable_3" key="3"> <!-- eventuell besser: <gameobject type="caravan" id="accessable_3" key="3">--> <name lang="de">Kleine Karawane</name> <units> <!-- Weitere Unitobjecte --> </units> </caravan> <building id="accessble_2" key="2"> <link role="type" ref="outpost" /> <status type="build">28</status> <name lang="de">Außenposten des Testreports</name> <units> <!-- Weitere Unitobjecte --> </units> </building> </region> </atlantis>