https://wiki.eressea.de/api.php?action=feedcontributions&user=155.56.68.221&feedformat=atomEressea - Benutzerbeiträge [de]2024-03-29T09:04:16ZBenutzerbeiträgeMediaWiki 1.41.0https://wiki.eressea.de/index.php?title=XML_Format&diff=2085XML Format2008-04-21T15:33:41Z<p>155.56.68.221: /* Messages */</p>
<hr />
<div>Anstatt sofort einen DTD zu definieren (die Dinger kann eh kaum jemand lesen) arbeiten wir hier ein Beispiel-Dokument aus, und diskutieren darüber.<br />
<br />
== Beispiel Report ==<br />
<br />
{|<br />
|colspan="2"|<br />
=== Header und Serverinfos ===<br />
|-<br />
|<pre><br />
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" <br />
"http://eressea.de/atlantis-report.dtd"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<atlantis rules="eressea"><br />
<br />
<server><br />
<uri>mailto:eressea-server@eressea.kn-bremen.de</uri><br />
<subject>ERESSEA BEFEHLE</subject><br />
</server><br />
</pre><br />
|<br />
* DTD - machen wir eine DTD für alle Spiele oder gibt es eine Grundlagen-DTD und dann spielspezifische DTD?<br />
* Version und Encoding<br />
* Benutztes Regelset<br />
|-<br />
|colspan="2"|<br />
=== Allianzen ===<br />
|-<br />
|<br />
<alliance/><br />
|<br />
|-<br />
|colspan="2"|<br />
=== Parteien ===<br />
|-<br />
|<br />
<faction id="faction_Lotr"><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<race ref="racetype.aquarians"/><br />
<magic><area>Gwyrrd</area></magic><br />
<culture>...</culture><br />
<status type="age">60</status><br />
<status type="points">12345</status><br />
<status type="avgpoints">10000</status><br />
|<br />
* Kultur und Magiegebiet könnten auch Referenzen sein ... to be discussed.<br />
* Alter, Punkte usw. würde ich gar nicht gesondert erfassen. <br />
|-<br />
|colspan="2"|<br />
<br />
=== Messages ===<br />
|-<br />
|<br />
<message id="message_123456" type="msgtype_23423546"><br />
<rendered xml:lang="de"><br />
Die Nussschale (1234) segelt von Irgendwo (1,2) nach Nirgendwo (99,99). <br />
Dabei wurden Ozean (1,3), Ozean (1,4) ... und Ozean (98,99) durchquert.<br />
</rendered><br />
<attribute name="ship"><shipref ref="ship_1234"/></attribute><br />
<attribute name="from"><regionref ref="region_653456"/></attribute><br />
<attribute name="to"><regionref ref="region_653567"/></attribute><br />
<attribute name="through"><br />
<regionref ref="region_953456"/><br />
<regionref ref="region_68656"/><br />
...<br />
<regionref ref="region_114562"/><br />
</attribute><br />
<message id="message_456346" type="msgtype_456902645"><br />
<rendered xml:lang="de"><br />
Die Nussschale (1234) wurde in Ozean (77,78) von Stürmen nach<br />
Ozean (78,78) abgetrieben. Sie erlitt dabei 2% Schaden.<br />
</rendered><br />
<attribute name="ship"><shipref ref="ship_1234"/></attribute><br />
<attribute name="from"><regionref ref="region_673256"/></attribute><br />
<attribute name="to"><regionref ref="region_322167"/></attribute><br />
<attribute name="damage"><int>2</int></attribute><br />
</message><br />
</message><br />
|<br />
* Messages können den Text in fertig gerenderter form enhalten. (Sprachabhängig)<br />
* Attribute sollten nicht nur einfach Werte sondern auch Listen enthalten können.<br />
* Ideal wäre die Attribute typisiert zu speichern, dann muss diese Info nicht aus dem Messagetyp geholt werden.<br />
* Eine Verschachtelung von Messages sollte möglich sein<br />
|-<br />
|colspan="2"|<br />
<br />
=== Regionen ===<br />
|-<br />
|<br />
<region id="region_126788><br />
<coordinate x="14" y="27"/><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<terrain type="terraintype.plain"/><br />
|<br />
* Regionen, hier versehen mit einer Koordinate. <br />
* Wie wir verschiedene Ebenen Kennzeichen müssen wir noch diskutieren. Eine Z-Koordinate ist denkbar. Ein Element <maplevel> wäre aber auch nicht schlecht.<br />
* Da ansich jede Region ein bestimmtes Terrain hat, könnte man das Attribut auch direkt in region reinziehen.<br />
* Für subregionen will man aber ggf. keinen Terraintyp<br />
|-<br />
|colspan="2"|<br />
<br />
=== Regionsresourcen ===<br />
|-<br />
|<br />
<resources><br />
<resource type="resourcetype.mallorntrees">50</resource><br />
<resource type="resourcetype.mallornsaplings">10</resource><br />
<resource type="resourcetype.laen"><br />
<level depth="33">10</level><br />
<level depth="34">12</level><br />
</resource><br />
<resource type="resourcetype.silver">10000</resource><br />
<resource type="resourcetype.peasant">1000</resource><br />
<resource type="resourcetype.elvendear" quantity="many"/><br />
<resource type="resourcetype.elvendear">many</resource><br />
</resource><br />
</resources><br />
|<br />
* type referenziert auf den entsprechenden resourcetype. Wenn der nicht in den Regeln vorhanden ist, sollte der Client natürlich trotzdem den Eintrag verarbeiten, er hat nur keine Infos über den Typ.<br />
* Menge im Element codieren, oder als Attribut? Da es sich um die wichtigste info zur Resource handelt, ist es denke ich sinnvoll das im Element abzulegen.<br />
* Stufenabhängigkeit als Attribut oder als Subelement? Hab es mal als Subelement eingebaut, mit mehreren angezeigten Schichten.<br />
* Weitere Zusätzliche Attribute je nach Resourcentyp? Denke nicht, zumindest nicht solange sich solche werte ausrechnen lassen.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Handel ===<br />
|-<br />
|<br />
<trade amount="10"><br />
<buy type="balm">5</buyitem><br />
<sell type="spice">35</sellitem><br />
<offer><br />
<get><item>balm</item><amount>1</amount></get><br />
<give><item>silver</item><amount>5</amount></give><br />
</offer><br />
</trade><br />
|<br />
* Soll die (Grund)Menge bei trade oder bei den items stehen?<br />
* Brauchen wir <sell> und <buy> oder reicht <offer>?<br />
* Wie würde ein globaler Marktplatz funktionieren?<br />
* Wie könnte man Dienstleistungen anbieten?<br />
* Man kann sogar erlauben, das auch Gebäude und Einheiten ein trade element enthalten.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Einheiten ===<br />
|-<br />
|<br />
<unit id="unit_mag3" faction="faction_Lotr"/><br />
<name ...><br />
<descr xml:lang="de">Er schützt die Region.</descr><br />
<descr xml:lang="en">He protects the region.</descr><br />
<descr type="private"><br />
Botschafter (1234) ist ein parteigetarnter Spion der xxx<br />
</descr><br />
<persons race="race.daemons">1</persons><br />
<status type="guard"/><br />
<status type="fight">front</status><br />
<status type="health">wounded</status><br />
<status type="hungry"/><br />
<camouflage><br />
<factionref ref="faction_3243/><br />
<race ref="race.aquarians"/><br />
<skilllevel>14</skilllevel><br />
</camouflage><br />
<magic area="Gwyrrd"><br />
<spell type="spelltype.xxx"/><br />
<spell type="spelltype.xxy"/><br />
</magic><br />
<item type="itemtype.laen">14</item><br />
<item type="itemtype.wood">44</item><br />
<skill type="skilltype.camouflage"><level>17</level></skill><br />
<skill type="skilltype.camouflage"><br />
<level>17</level><days>4567</days><br />
</skill><br />
<effect><br />
<keytext key="ew34" xml:lang="de"><br />
Die Einheit fühlt sich sehr stark.<br />
</keytext><br />
</effect><br />
<effect><br />
<item type="itemtype.sevenmilestea">7</item><br />
</effect><br />
<message ...><br />
</unit><br />
|<br />
* Bei camouflage bin ich mir unsicher. Wichtig ist, Man kann sich sinnigerweise nur als eine Rasse, eine Partei oder mit einer bestimmten Stufe tarnen.<br />
* Ebenso unklar ist, wie man den ganzen Magiebereich flexibel abbildet. Magier haben bei Eressea ein Magiegebiet, bei anderen Spielen ggf. mehrere. Sprüche gehören zu einem Magiegebiet. Vertraute bei Eressea haben eventuell Sprüche, ohne diese aber einem Magiegebiet zuzuordnen. Bei Eressea gibt es Aura und Maximale Aura (prinzipiell ~ permanente Aura). Das kann man als Gegenstände auffassen, diese lassen sich aber in ihrer Menge nicht wie üblich übergeben. Trefferpunkte sind auch in diesem Bereich anzusiedeln. Sie werden aber nur durch einen Gesundheitsstatus grob ausgedrückt. Also modellieren wir das alles einzeln oder lassen wir uns was allgemeines einfallen? <br />
|-<br />
|colspan="2"|<br />
<br />
=== Gebäude ===<br />
|-<br />
|<br />
<building id="building_h0us" type="academy"><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<size>25</size><br />
|<br />
Name und Beschreibung sind klar #PCDATA. Typ und Grösse sind zumindest bei<br />
Eressea etwas das jedes Gebäude als Eigenschaft hat. Den Typ würde ich lieber als <br />
Attribut auslegen, da man dann ggf. auf einen Gebäudetyp referenzieren kann. In<br />
dem Fall muss es aber wieder global eindeutig sein. Also doch wieder sowas wie<br />
type="buildingtype.academy". Leider kann man ja nicht klar stellen, dass type<br />
auf einen buildingtype referenziert. <br />
<br />
Die Grösse hingegen würde ich als Element angeben - warum - keine Ahnung.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Schiffe ===<br />
|-<br />
|<br />
<ship id="ship_ttnc"/><br />
|<br />
|-<br />
|<br />
</region><br />
|<br />
|-<br />
|colspan="2"|<br />
<br />
=== Messagetypen ===<br />
|-<br />
|<br />
<messagetype id="msgtype_5673456873"><br />
<section>travel</section><br />
<pattern locale="de"><br />
<attribute name="unit"/> segelt von <attribute name="from"/> nach <br />
<attribute name="to"/>. Dabei wurden <br />
<function type="regions"><attribute name="through"></function> durchquert.<br />
</pattern><br />
</messagetype><br />
|So richtig gefällt mir das hier noch nicht. <br />
Man sollte anhand der Pattern bereits den Typ des jeweiligen Attributs erkennen.<br />
Vermutlich müsste jede $xyz() die es derzeit gibt, als extra Elementtyp in der<br />
(Eressea)-DTD definiert werden.<br />
|-<br />
|<br />
</atlantis><br />
|<br />
|}<br />
<br />
== Regelset ==<br />
<br />
Und noch ein Dokument fuer eine Spiel-Definition<br />
<pre><br />
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" "http://eressea.de/atlantis-ruleset.dtd"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<atlantis><br />
<br />
=== Gegenstandstypen ===<br />
<itemtype id="itemtype.laen"><br />
<weight>2</weight><br />
<produce><br />
<skill type="skilltype.bergbau" minlevel="7" productionpoints="7"/><br />
<building type="buildingtype.mine" required="yes"/><br />
<components><br />
<resource type="resourcetype.laen">1</resource><br />
</components><br />
</produce><br />
</itemtype><br />
<itemtype id="itemtype.peasantblood"><br />
<produce><br />
<skill type="skilltype.alchemy" minlevel="4" productionpoints="4"/><br />
<components><br />
<resource type="resourcetype.peasant">1</resource><br />
<item type="itemtype.fjordfungus">1</item><br />
...<br />
</components><br />
<command><cmd_make/> <amount optional="true"/> ...</command><br />
</produce><br />
</itemtype><br />
<br />
=== und der Rest ===<br />
<race/><br />
<plane/><br />
<terraintype/><br />
<skilltype/><br />
<buildingtype/><br />
<shiptype/><br />
<command/><br />
<br />
</atlantis><br />
</pre><br />
<br />
== External Links ==<br />
* [http://pathfinder-xquery.org/files/xpath-accel.pdf Accelerating XPath Location Steps]</div>155.56.68.221https://wiki.eressea.de/index.php?title=XML_Format&diff=2083XML Format2008-04-21T15:25:45Z<p>155.56.68.221: /* Messages */</p>
<hr />
<div>Anstatt sofort einen DTD zu definieren (die Dinger kann eh kaum jemand lesen) arbeiten wir hier ein Beispiel-Dokument aus, und diskutieren darüber.<br />
<br />
== Beispiel Report ==<br />
<br />
{|<br />
|colspan="2"|<br />
=== Header und Serverinfos ===<br />
|-<br />
|<pre><br />
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" <br />
"http://eressea.de/atlantis-report.dtd"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<atlantis rules="eressea"><br />
<br />
<server><br />
<uri>mailto:eressea-server@eressea.kn-bremen.de</uri><br />
<subject>ERESSEA BEFEHLE</subject><br />
</server><br />
</pre><br />
|<br />
* DTD - machen wir eine DTD für alle Spiele oder gibt es eine Grundlagen-DTD und dann spielspezifische DTD?<br />
* Version und Encoding<br />
* Benutztes Regelset<br />
|-<br />
|colspan="2"|<br />
=== Allianzen ===<br />
|-<br />
|<br />
<alliance/><br />
|<br />
|-<br />
|colspan="2"|<br />
=== Parteien ===<br />
|-<br />
|<br />
<faction id="faction_Lotr"><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<race ref="racetype.aquarians"/><br />
<magic><area>Gwyrrd</area></magic><br />
<culture>...</culture><br />
<status type="age">60</status><br />
<status type="points">12345</status><br />
<status type="avgpoints">10000</status><br />
|<br />
* Kultur und Magiegebiet könnten auch Referenzen sein ... to be discussed.<br />
* Alter, Punkte usw. würde ich gar nicht gesondert erfassen. <br />
|-<br />
|colspan="2"|<br />
<br />
=== Messages ===<br />
|-<br />
|<br />
<message id="message_123456" type="messagetype_23423546"><br />
<rendered xml:lang="de"><br />
Irgendwer (1234) segelt von Irgendwo (1,2) nach Nirgendwo (99,99). <br />
Dabei wurden Ozean (1,3), Ozean (1,4) ... und Ozean (98,99) durchquert.<br />
</rendered><br />
<attribute name="unit"><unitref ref="unit_1234"/></attribute><br />
<attribute name="from"><regionref ref="region_653456"/></attribute><br />
<attribute name="to"><regionref ref="region_653567"/></attribute><br />
<attribute name="through"><br />
<regionref ref="region_953456"/><br />
<regionref ref="region_68656"/><br />
...<br />
<regionref ref="region_114562"/><br />
</attribute><br />
|<br />
|-<br />
|<br />
* Messages können den Text in fertig gerenderter form enhalten. (Sprachabhängig)<br />
* Attribute sollten nicht nur einfach Werte sondern auch Listen enthalten können.<br />
* Ideal wäre die Attribute typisiert zu speichern, dann muss diese Info nicht aus dem Messagetyp geholt werden.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Regionen ===<br />
|-<br />
|<br />
<region id="region_126788><br />
<coordinate x="14" y="27"/><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<terrain type="terraintype.plain"/><br />
|<br />
* Regionen, hier versehen mit einer Koordinate. <br />
* Wie wir verschiedene Ebenen Kennzeichen müssen wir noch diskutieren. Eine Z-Koordinate ist denkbar. Ein Element <maplevel> wäre aber auch nicht schlecht.<br />
* Da ansich jede Region ein bestimmtes Terrain hat, könnte man das Attribut auch direkt in region reinziehen.<br />
* Für subregionen will man aber ggf. keinen Terraintyp<br />
|-<br />
|colspan="2"|<br />
<br />
=== Regionsresourcen ===<br />
|-<br />
|<br />
<resources><br />
<resource type="resourcetype.mallorntrees">50</resource><br />
<resource type="resourcetype.mallornsaplings">10</resource><br />
<resource type="resourcetype.laen"><br />
<level depth="33">10</level><br />
<level depth="34">12</level><br />
</resource><br />
<resource type="resourcetype.silver">10000</resource><br />
<resource type="resourcetype.peasant">1000</resource><br />
<resource type="resourcetype.elvendear" quantity="many"/><br />
<resource type="resourcetype.elvendear">many</resource><br />
</resource><br />
</resources><br />
|<br />
* type referenziert auf den entsprechenden resourcetype. Wenn der nicht in den Regeln vorhanden ist, sollte der Client natürlich trotzdem den Eintrag verarbeiten, er hat nur keine Infos über den Typ.<br />
* Menge im Element codieren, oder als Attribut? Da es sich um die wichtigste info zur Resource handelt, ist es denke ich sinnvoll das im Element abzulegen.<br />
* Stufenabhängigkeit als Attribut oder als Subelement? Hab es mal als Subelement eingebaut, mit mehreren angezeigten Schichten.<br />
* Weitere Zusätzliche Attribute je nach Resourcentyp? Denke nicht, zumindest nicht solange sich solche werte ausrechnen lassen.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Handel ===<br />
|-<br />
|<br />
<trade amount="10"><br />
<buy type="balm">5</buyitem><br />
<sell type="spice">35</sellitem><br />
<offer><br />
<get><item>balm</item><amount>1</amount></get><br />
<give><item>silver</item><amount>5</amount></give><br />
</offer><br />
</trade><br />
|<br />
* Soll die (Grund)Menge bei trade oder bei den items stehen?<br />
* Brauchen wir <sell> und <buy> oder reicht <offer>?<br />
* Wie würde ein globaler Marktplatz funktionieren?<br />
* Wie könnte man Dienstleistungen anbieten?<br />
* Man kann sogar erlauben, das auch Gebäude und Einheiten ein trade element enthalten.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Einheiten ===<br />
|-<br />
|<br />
<unit id="unit_mag3" faction="faction_Lotr"/><br />
<name ...><br />
<descr xml:lang="de">Er schützt die Region.</descr><br />
<descr xml:lang="en">He protects the region.</descr><br />
<descr type="private"><br />
Botschafter (1234) ist ein parteigetarnter Spion der xxx<br />
</descr><br />
<persons race="race.daemons">1</persons><br />
<status type="guard"/><br />
<status type="fight">front</status><br />
<status type="health">wounded</status><br />
<status type="hungry"/><br />
<camouflage><br />
<factionref ref="faction_3243/><br />
<race ref="race.aquarians"/><br />
<skilllevel>14</skilllevel><br />
</camouflage><br />
<magic area="Gwyrrd"><br />
<spell type="spelltype.xxx"/><br />
<spell type="spelltype.xxy"/><br />
</magic><br />
<item type="itemtype.laen">14</item><br />
<item type="itemtype.wood">44</item><br />
<skill type="skilltype.camouflage"><level>17</level></skill><br />
<skill type="skilltype.camouflage"><br />
<level>17</level><days>4567</days><br />
</skill><br />
<effect><br />
<keytext key="ew34" xml:lang="de"><br />
Die Einheit fühlt sich sehr stark.<br />
</keytext><br />
</effect><br />
<effect><br />
<item type="itemtype.sevenmilestea">7</item><br />
</effect><br />
<message ...><br />
</unit><br />
|<br />
* Bei camouflage bin ich mir unsicher. Wichtig ist, Man kann sich sinnigerweise nur als eine Rasse, eine Partei oder mit einer bestimmten Stufe tarnen.<br />
* Ebenso unklar ist, wie man den ganzen Magiebereich flexibel abbildet. Magier haben bei Eressea ein Magiegebiet, bei anderen Spielen ggf. mehrere. Sprüche gehören zu einem Magiegebiet. Vertraute bei Eressea haben eventuell Sprüche, ohne diese aber einem Magiegebiet zuzuordnen. Bei Eressea gibt es Aura und Maximale Aura (prinzipiell ~ permanente Aura). Das kann man als Gegenstände auffassen, diese lassen sich aber in ihrer Menge nicht wie üblich übergeben. Trefferpunkte sind auch in diesem Bereich anzusiedeln. Sie werden aber nur durch einen Gesundheitsstatus grob ausgedrückt. Also modellieren wir das alles einzeln oder lassen wir uns was allgemeines einfallen? <br />
|-<br />
|colspan="2"|<br />
<br />
=== Gebäude ===<br />
|-<br />
|<br />
<building id="building_h0us" type="academy"><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<size>25</size><br />
|<br />
Name und Beschreibung sind klar #PCDATA. Typ und Grösse sind zumindest bei<br />
Eressea etwas das jedes Gebäude als Eigenschaft hat. Den Typ würde ich lieber als <br />
Attribut auslegen, da man dann ggf. auf einen Gebäudetyp referenzieren kann. In<br />
dem Fall muss es aber wieder global eindeutig sein. Also doch wieder sowas wie<br />
type="buildingtype.academy". Leider kann man ja nicht klar stellen, dass type<br />
auf einen buildingtype referenziert. <br />
<br />
Die Grösse hingegen würde ich als Element angeben - warum - keine Ahnung.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Schiffe ===<br />
|-<br />
|<br />
<ship id="ship_ttnc"/><br />
|<br />
|-<br />
|<br />
</region><br />
|<br />
|-<br />
|colspan="2"|<br />
<br />
=== Messagetypen ===<br />
|-<br />
|<br />
<messagetype id="msgtype_5673456873"><br />
<section>travel</section><br />
<pattern locale="de"><br />
<attribute name="unit"/> segelt von <attribute name="from"/> nach <br />
<attribute name="to"/>. Dabei wurden <br />
<function type="regions"><attribute name="through"></function> durchquert.<br />
</pattern><br />
</messagetype><br />
|So richtig gefällt mir das hier noch nicht. <br />
Man sollte anhand der Pattern bereits den Typ des jeweiligen Attributs erkennen.<br />
Vermutlich müsste jede $xyz() die es derzeit gibt, als extra Elementtyp in der<br />
(Eressea)-DTD definiert werden.<br />
|-<br />
|<br />
</atlantis><br />
|<br />
|}<br />
<br />
== Regelset ==<br />
<br />
Und noch ein Dokument fuer eine Spiel-Definition<br />
<pre><br />
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" "http://eressea.de/atlantis-ruleset.dtd"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<atlantis><br />
<br />
=== Gegenstandstypen ===<br />
<itemtype id="itemtype.laen"><br />
<weight>2</weight><br />
<produce><br />
<skill type="skilltype.bergbau" minlevel="7" productionpoints="7"/><br />
<building type="buildingtype.mine" required="yes"/><br />
<components><br />
<resource type="resourcetype.laen">1</resource><br />
</components><br />
</produce><br />
</itemtype><br />
<itemtype id="itemtype.peasantblood"><br />
<produce><br />
<skill type="skilltype.alchemy" minlevel="4" productionpoints="4"/><br />
<components><br />
<resource type="resourcetype.peasant">1</resource><br />
<item type="itemtype.fjordfungus">1</item><br />
...<br />
</components><br />
<command><cmd_make/> <amount optional="true"/> ...</command><br />
</produce><br />
</itemtype><br />
<br />
=== und der Rest ===<br />
<race/><br />
<plane/><br />
<terraintype/><br />
<skilltype/><br />
<buildingtype/><br />
<shiptype/><br />
<command/><br />
<br />
</atlantis><br />
</pre><br />
<br />
== External Links ==<br />
* [http://pathfinder-xquery.org/files/xpath-accel.pdf Accelerating XPath Location Steps]</div>155.56.68.221https://wiki.eressea.de/index.php?title=XML_Format&diff=2079XML Format2008-04-21T15:10:15Z<p>155.56.68.221: /* Einheiten */</p>
<hr />
<div>Anstatt sofort einen DTD zu definieren (die Dinger kann eh kaum jemand lesen) arbeiten wir hier ein Beispiel-Dokument aus, und diskutieren darüber.<br />
<br />
== Beispiel Report ==<br />
<br />
{|<br />
|colspan="2"|<br />
=== Header und Serverinfos ===<br />
|-<br />
|<pre><br />
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" <br />
"http://eressea.de/atlantis-report.dtd"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<atlantis rules="eressea"><br />
<br />
<server><br />
<uri>mailto:eressea-server@eressea.kn-bremen.de</uri><br />
<subject>ERESSEA BEFEHLE</subject><br />
</server><br />
</pre><br />
|<br />
* DTD - machen wir eine DTD für alle Spiele oder gibt es eine Grundlagen-DTD und dann spielspezifische DTD?<br />
* Version und Encoding<br />
* Benutztes Regelset<br />
|-<br />
|colspan="2"|<br />
=== Allianzen ===<br />
|-<br />
|<br />
<alliance/><br />
|<br />
|-<br />
|colspan="2"|<br />
=== Parteien ===<br />
|-<br />
|<br />
<faction id="faction_Lotr"><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<race>aquarians</race><br />
<magic>Gwyrrd</magic><br />
<age>60</age><br />
<data tag="points" type="int">12345</data><br />
|<br />
|-<br />
|colspan="2"|<br />
=== Messages ===<br />
|-<br />
|<br />
<message id="message_123456" type="messagetype_23423546"><br />
<rendered><br />
Irgendwer (1234) segelt von Irgendwo (1,2) nach Nirgendwo (99,99). <br />
Dabei wurden Ozean (1,3), Ozean (1,4) ... und Ozean (98,99) durchquert.<br />
</rendered><br />
<attribute name="unit"><unitref ref="unit_1234"/></attribute><br />
<attribute name="from"><regionref ref="region_653456"/></attribute><br />
<attribute name="to"><regionref ref="region_653567"/></attribute><br />
<attribute name="through"><br />
<regionref ref="region_953456"/><br />
<regionref ref="region_68656"/><br />
...<br />
<regionref ref="region_114562"/><br />
</attribute><br />
|<br />
|-<br />
|<br />
|-<br />
|colspan="2"|<br />
<br />
=== Regionen ===<br />
|-<br />
|<br />
<region id="region_126788><br />
<coordinate x="14" y="27"/><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<terrain>plain</terrain><br />
|Regionen, hier versehen mit einer Koordinate. Wie wir verschiedene Ebenen Kennzeichen müssen wir noch diskutieren.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Regionsresourcen ===<br />
|-<br />
|<br />
<resources><br />
<resource type="resourcetype.mallorntrees">50</resource><br />
<resource type="resourcetype.mallornsaplings">10</resource><br />
<resource type="resourcetype.laen"><br />
<level depth="33">10</level><br />
<level depth="34">12</level><br />
</resource><br />
<resource type="resourcetype.silver">10000</resource><br />
<resource type="resourcetype.peasant">1000</resource><br />
<resource type="resourcetype.elvendear" quantity="many"/><br />
<resource type="resourcetype.elvendear">many</resource><br />
</resource><br />
</resources><br />
|<br />
* type referenziert auf den entsprechenden resourcetype. Wenn der nicht in den Regeln vorhanden ist, sollte der Client natürlich trotzdem den Eintrag verarbeiten, er hat nur keine Infos über den Typ.<br />
* Menge im Element codieren, oder als Attribut? Da es sich um die wichtigste info zur Resource handelt, ist es denke ich sinnvoll das im Element abzulegen.<br />
* Stufenabhängigkeit als Attribut oder als Subelement? Hab es mal als Subelement eingebaut, mit mehreren angezeigten Schichten.<br />
* Weitere Zusätzliche Attribute je nach Resourcentyp? Denke nicht, zumindest nicht solange sich solche werte ausrechnen lassen.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Handel ===<br />
|-<br />
|<br />
<trade amount="10"><br />
<buy type="balm">5</buyitem><br />
<sell type="spice">35</sellitem><br />
<offer><br />
<get><item>balm</item><amount>1</amount></get><br />
<give><item>silver</item><amount>5</amount></give><br />
</offer><br />
</trade><br />
|<br />
* Soll die (Grund)Menge bei trade oder bei den items stehen?<br />
* Brauchen wir <sell> und <buy> oder reicht <offer>?<br />
* Wie würde ein globaler Marktplatz funktionieren?<br />
* Wie könnte man Dienstleistungen anbieten?<br />
* Man kann sogar erlauben, das auch Gebäude und Einheiten ein trade element enthalten.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Einheiten ===<br />
|-<br />
|<br />
<unit id="unit_mag3" faction="faction_Lotr"/><br />
<name ...><br />
<descr xml:lang="de">Er schützt die Region.</descr><br />
<descr xml:lang="en">He protects the region.</descr><br />
<descr type="private"><br />
Botschafter (1234) ist ein parteigetarnter Spion der xxx<br />
</descr><br />
<persons race="race.daemons">1</persons><br />
<status type="guard"/><br />
<status type="fight">front</status><br />
<status type="health">wounded</status><br />
<status type="hungry"/><br />
<camouflage><br />
<factionref ref="faction_3243/><br />
<race ref="race.aquarians"/><br />
<skilllevel>14</skilllevel><br />
</camouflage><br />
<magic area="Gwyrrd"><br />
<spell type="spelltype.xxx"/><br />
<spell type="spelltype.xxy"/><br />
</magic><br />
<item type="itemtype.laen">14</item><br />
<item type="itemtype.wood">44</item><br />
<skill type="skilltype.camouflage"><level>17</level></skill><br />
<skill type="skilltype.camouflage"><br />
<level>17</level><days>4567</days><br />
</skill><br />
<effect><br />
<keytext key="ew34" xml:lang="de"><br />
Die Einheit fühlt sich sehr stark.<br />
</keytext><br />
</effect><br />
<effect><br />
<item type="itemtype.sevenmilestea">7</item><br />
</effect><br />
<message ...><br />
</unit><br />
|<br />
* Bei camouflage bin ich mir unsicher. Wichtig ist, Man kann sich sinnigerweise nur als eine Rasse, eine Partei oder mit einer bestimmten Stufe tarnen.<br />
* Ebenso unklar ist, wie man den ganzen Magiebereich flexibel abbildet. Magier haben bei Eressea ein Magiegebiet, bei anderen Spielen ggf. mehrere. Sprüche gehören zu einem Magiegebiet. Vertraute bei Eressea haben eventuell Sprüche, ohne diese aber einem Magiegebiet zuzuordnen. Bei Eressea gibt es Aura und Maximale Aura (prinzipiell ~ permanente Aura). Das kann man als Gegenstände auffassen, diese lassen sich aber in ihrer Menge nicht wie üblich übergeben. Trefferpunkte sind auch in diesem Bereich anzusiedeln. Sie werden aber nur durch einen Gesundheitsstatus grob ausgedrückt. Also modellieren wir das alles einzeln oder lassen wir uns was allgemeines einfallen? <br />
|-<br />
|colspan="2"|<br />
<br />
=== Gebäude ===<br />
|-<br />
|<br />
<building id="building_h0us" type="academy"><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<size>25</size><br />
|<br />
Name und Beschreibung sind klar #PCDATA. Typ und Grösse sind zumindest bei<br />
Eressea etwas das jedes Gebäude als Eigenschaft hat. Den Typ würde ich lieber als <br />
Attribut auslegen, da man dann ggf. auf einen Gebäudetyp referenzieren kann. In<br />
dem Fall muss es aber wieder global eindeutig sein. Also doch wieder sowas wie<br />
type="buildingtype.academy". Leider kann man ja nicht klar stellen, dass type<br />
auf einen buildingtype referenziert. <br />
<br />
Die Grösse hingegen würde ich als Element angeben - warum - keine Ahnung.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Schiffe ===<br />
|-<br />
|<br />
<ship id="ship_ttnc"/><br />
|<br />
|-<br />
|<br />
</region><br />
|<br />
|-<br />
|colspan="2"|<br />
<br />
=== Messagetypen ===<br />
|-<br />
|<br />
<messagetype id="msgtype_5673456873"><br />
<section>travel</section><br />
<pattern locale="de"><br />
<attribute name="unit"/> segelt von <attribute name="from"/> nach <br />
<attribute name="to"/>. Dabei wurden <br />
<function type="regions"><attribute name="through"></function> durchquert.<br />
</pattern><br />
</messagetype><br />
|So richtig gefällt mir das hier noch nicht. <br />
Man sollte anhand der Pattern bereits den Typ des jeweiligen Attributs erkennen.<br />
Vermutlich müsste jede $xyz() die es derzeit gibt, als extra Elementtyp in der<br />
(Eressea)-DTD definiert werden.<br />
|-<br />
|<br />
</atlantis><br />
</pre><br />
|<br />
|}<br />
<br />
== Regelset ==<br />
<br />
Und noch ein Dokument fuer eine Spiel-Definition<br />
<pre><br />
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" "http://eressea.de/atlantis-ruleset.dtd"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<atlantis><br />
<br />
=== Gegenstandstypen ===<br />
<itemtype id="itemtype.laen"><br />
<weight>2</weight><br />
<produce><br />
<skill type="skilltype.bergbau" minlevel="7" productionpoints="7"/><br />
<building type="buildingtype.mine" required="yes"/><br />
<components><br />
<resource type="resourcetype.laen">1</resource><br />
</components><br />
</produce><br />
</itemtype><br />
<itemtype id="itemtype.peasantblood"><br />
<produce><br />
<skill type="skilltype.alchemy" minlevel="4" productionpoints="4"/><br />
<components><br />
<resource type="resourcetype.peasant">1</resource><br />
<item type="itemtype.fjordfungus">1</item><br />
...<br />
</components><br />
<command><cmd_make/> <amount optional="true"/> ...</command><br />
</produce><br />
</itemtype><br />
<br />
=== und der Rest ===<br />
<race/><br />
<plane/><br />
<terraintype/><br />
<skilltype/><br />
<buildingtype/><br />
<shiptype/><br />
<command/><br />
<br />
</atlantis><br />
</pre><br />
<br />
== External Links ==<br />
* [http://pathfinder-xquery.org/files/xpath-accel.pdf Accelerating XPath Location Steps]</div>155.56.68.221https://wiki.eressea.de/index.php?title=XML_Format&diff=2075XML Format2008-04-21T12:42:58Z<p>155.56.68.221: /* Einheiten */</p>
<hr />
<div>Anstatt sofort einen DTD zu definieren (die Dinger kann eh kaum jemand lesen) arbeiten wir hier ein Beispiel-Dokument aus, und diskutieren darüber.<br />
<br />
== Beispiel Report ==<br />
<br />
{|<br />
|colspan="2"|<br />
=== Header und Serverinfos ===<br />
|-<br />
|<pre><br />
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" <br />
"http://eressea.de/atlantis-report.dtd"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<atlantis rules="eressea"><br />
<br />
<server><br />
<uri>mailto:eressea-server@eressea.kn-bremen.de</uri><br />
<subject>ERESSEA BEFEHLE</subject><br />
</server><br />
</pre><br />
|<br />
* DTD - machen wir eine DTD für alle Spiele oder gibt es eine Grundlagen-DTD und dann spielspezifische DTD?<br />
* Version und Encoding<br />
* Benutztes Regelset<br />
|-<br />
|colspan="2"|<br />
=== Allianzen ===<br />
|-<br />
|<br />
<alliance/><br />
|<br />
|-<br />
|colspan="2"|<br />
=== Parteien ===<br />
|-<br />
|<br />
<faction id="faction_Lotr"><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<race>aquarians</race><br />
<magic>Gwyrrd</magic><br />
<age>60</age><br />
<data tag="points" type="int">12345</data><br />
|<br />
|-<br />
|colspan="2"|<br />
=== Messages ===<br />
|-<br />
|<br />
<message id="message_123456" type="messagetype_23423546"><br />
<rendered><br />
Irgendwer (1234) segelt von Irgendwo (1,2) nach Nirgendwo (99,99). <br />
Dabei wurden Ozean (1,3), Ozean (1,4) ... und Ozean (98,99) durchquert.<br />
</rendered><br />
<attribute name="unit"><unitref ref="unit_1234"/></attribute><br />
<attribute name="from"><regionref ref="region_653456"/></attribute><br />
<attribute name="to"><regionref ref="region_653567"/></attribute><br />
<attribute name="through"><br />
<regionref ref="region_953456"/><br />
<regionref ref="region_68656"/><br />
...<br />
<regionref ref="region_114562"/><br />
</attribute><br />
|<br />
|-<br />
|<br />
|-<br />
|colspan="2"|<br />
<br />
=== Regionen ===<br />
|-<br />
|<br />
<region id="region_126788><br />
<coordinate x="14" y="27"/><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<terrain>plain</terrain><br />
|Regionen, hier versehen mit einer Koordinate. Wie wir verschiedene Ebenen Kennzeichen müssen wir noch diskutieren.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Regionsresourcen ===<br />
|-<br />
|<br />
<resources><br />
<resource type="resourcetype.mallorntrees">50</resource><br />
<resource type="resourcetype.mallornsaplings">10</resource><br />
<resource type="resourcetype.laen"><br />
<level depth="33">10</level><br />
<level depth="34">12</level><br />
</resource><br />
<resource type="resourcetype.silver">10000</resource><br />
<resource type="resourcetype.peasant">1000</resource><br />
<resource type="resourcetype.elvendear" quantity="many"/><br />
<resource type="resourcetype.elvendear">many</resource><br />
</resource><br />
</resources><br />
|<br />
* type referenziert auf den entsprechenden resourcetype. Wenn der nicht in den Regeln vorhanden ist, sollte der Client natürlich trotzdem den Eintrag verarbeiten, er hat nur keine Infos über den Typ.<br />
* Menge im Element codieren, oder als Attribut? Da es sich um die wichtigste info zur Resource handelt, ist es denke ich sinnvoll das im Element abzulegen.<br />
* Stufenabhängigkeit als Attribut oder als Subelement? Hab es mal als Subelement eingebaut, mit mehreren angezeigten Schichten.<br />
* Weitere Zusätzliche Attribute je nach Resourcentyp? Denke nicht, zumindest nicht solange sich solche werte ausrechnen lassen.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Marktplatz ===<br />
|-<br />
|<br />
<marketplace amount="10"><br />
<buy type="balm">5</buyitem><br />
<sell type="spice">35</sellitem><br />
<offer><br />
<get><item>balm</item><amount>1</amount></get><br />
<give><item>silver</item><amount>5</amount></give><br />
</offer><br />
</marketplace><br />
|<br />
* Soll die (Grund)Menge beim Marktplatz oder bei den items stehen?<br />
* Brauchen wir <sell> und <buy> oder reicht <offer>?<br />
* Wie würde ein globaler Marktplatz funktionieren?<br />
* Wie könnte man Dienstleistungen anbieten?<br />
|-<br />
|colspan="2"|<br />
=== Einheiten ===<br />
|-<br />
|<br />
<unit id="unit_mag3" faction="faction_Lotr"/><br />
<name ...><br />
<descr ...><br />
<race ...><br />
<status type="guard"/><br />
<status type="fight">front</status><br />
<status type="health">wounded</status><br />
<status type="hungry"/><br />
<camouflage><br />
<factionref ref="faction_3243/><br />
<race ref="race.aquarians"/><br />
<skilllevel>14</skilllevel><br />
</camouflage><br />
<item type="itemtype.laen">14</item><br />
<item type="itemtype.wood">44</item><br />
<skill type="skilltype.camouflage"><level>17</level></skill><br />
<skill type="skilltype.camouflage"><level>17</level><days>4567</days></skill><br />
<effect><keytext key="ew34" xml:lang="de">Die Einheit fühlt sich sehr stark.</keytext></effect><br />
<effect><item type="itemtype.sevenmilestea">7</item></effect><br />
<message ...><br />
</unit><br />
|Bei camouflage bin ich mir unsicher. Wichtig ist, Man kann sich sinnigerweise nur als eine Rasse, eine Partei oder mit einer bestimmten Stufe tarnen.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Gebäude ===<br />
|-<br />
|<br />
<building id="building_h0us" type="academy"><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<size>25</size><br />
|<br />
Name und Beschreibung sind klar #PCDATA. Typ und Grösse sind zumindest bei<br />
Eressea etwas das jedes Gebäude als Eigenschaft hat. Den Typ würde ich lieber als <br />
Attribut auslegen, da man dann ggf. auf einen Gebäudetyp referenzieren kann. In<br />
dem Fall muss es aber wieder global eindeutig sein. Also doch wieder sowas wie<br />
type="buildingtype.academy". Leider kann man ja nicht klar stellen, dass type<br />
auf einen buildingtype referenziert. <br />
<br />
Die Grösse hingegen würde ich als Element angeben - warum - keine Ahnung.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Schiffe ===<br />
|-<br />
|<br />
<ship id="ship_ttnc"/><br />
|<br />
|-<br />
|<br />
</region><br />
|<br />
|-<br />
|colspan="2"|<br />
<br />
=== Messagetypen ===<br />
|-<br />
|<br />
<messagetype id="msgtype_5673456873"><br />
<section>travel</section><br />
<pattern locale="de"><br />
<attribute name="unit"/> segelt von <attribute name="from"/> nach <br />
<attribute name="to"/>. Dabei wurden <br />
<function type="regions"><attribute name="through"></function> durchquert.<br />
</pattern><br />
</messagetype><br />
|So richtig gefällt mir das hier noch nicht. <br />
Man sollte anhand der Pattern bereits den Typ des jeweiligen Attributs erkennen.<br />
Vermutlich müsste jede $xyz() die es derzeit gibt, als extra Elementtyp in der<br />
(Eressea)-DTD definiert werden.<br />
|-<br />
|<br />
</atlantis><br />
</pre><br />
|<br />
|}<br />
<br />
== Regelset ==<br />
<br />
Und noch ein Dokument fuer eine Spiel-Definition<br />
<pre><br />
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" "http://eressea.de/atlantis-ruleset.dtd"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<atlantis><br />
<br />
<item/><br />
<race/><br />
<plane/><br />
<terrain/><br />
<skill/><br />
<building/><br />
<ship/><br />
<command/><br />
<br />
</atlantis><br />
</pre><br />
<br />
== External Links ==<br />
* [http://pathfinder-xquery.org/files/xpath-accel.pdf Accelerating XPath Location Steps]</div>155.56.68.221https://wiki.eressea.de/index.php?title=XML_Format&diff=2072XML Format2008-04-21T12:03:04Z<p>155.56.68.221: /* Gebäude */</p>
<hr />
<div>Anstatt sofort einen DTD zu definieren (die Dinger kann eh kaum jemand lesen) arbeiten wir hier ein Beispiel-Dokument aus, und diskutieren darüber.<br />
<br />
== Beispiel Report ==<br />
<br />
{|<br />
|colspan="2"|<br />
=== Header und Serverinfos ===<br />
|-<br />
|<pre><br />
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" <br />
"http://eressea.de/atlantis-report.dtd"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<atlantis rules="eressea"><br />
<br />
<server><br />
<uri>mailto:eressea-server@eressea.kn-bremen.de</uri><br />
<subject>ERESSEA BEFEHLE</subject><br />
</server><br />
</pre><br />
|<br />
* DTD - machen wir eine DTD für alle Spiele oder gibt es eine Grundlagen-DTD und dann spielspezifische DTD?<br />
* Version und Encoding<br />
* Benutztes Regelset<br />
|-<br />
|colspan="2"|<br />
=== Allianzen ===<br />
|-<br />
|<br />
<alliance/><br />
|<br />
|-<br />
|colspan="2"|<br />
=== Parteien ===<br />
|-<br />
|<br />
<faction id="faction_Lotr"><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<race>aquarians</race><br />
<magic>Gwyrrd</magic><br />
<age>60</age><br />
<data tag="points" type="int">12345</data><br />
|<br />
|-<br />
|colspan="2"|<br />
=== Messages ===<br />
|-<br />
|<br />
<message id="message_123456" type="messagetype_23423546"><br />
<rendered><br />
Irgendwer (1234) segelt von Irgendwo (1,2) nach Nirgendwo (99,99). <br />
Dabei wurden Ozean (1,3), Ozean (1,4) ... und Ozean (98,99) durchquert.<br />
</rendered><br />
<attribute name="unit"><unitref ref="unit_1234"/></attribute><br />
<attribute name="from"><regionref ref="region_653456"/></attribute><br />
<attribute name="to"><regionref ref="region_653567"/></attribute><br />
<attribute name="through"><br />
<regionref ref="region_953456"/><br />
<regionref ref="region_68656"/><br />
...<br />
<regionref ref="region_114562"/><br />
</attribute><br />
|<br />
|-<br />
|<br />
|-<br />
|colspan="2"|<br />
<br />
=== Regionen ===<br />
|-<br />
|<br />
<region id="region_126788><br />
<coordinate x="14" y="27"/><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<terrain>plain</terrain><br />
|Regionen, hier versehen mit einer Koordinate. Wie wir verschiedene Ebenen Kennzeichen müssen wir noch diskutieren.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Regionsresourcen ===<br />
|-<br />
|<br />
<resources><br />
<resource type="mallorntrees">50</resource><br />
<resource type="mallornsaplings">10</resource><br />
<resource type="laen" level="33">10</resource><br />
<resource type="silver" entertain="500">10000</resource><br />
<resource type="peasant" recruit="25">1000</resource><br />
<resource type="elvendear quantity="many"/><br />
</resources><br />
|<br />
* Menge im Element codieren, oder als Attribut?<br />
* Stufenabhängigkeit als Attribut oder als Subelement? <br />
* Weitere Zusätzliche Attribute je nach Resourcentyp?<br />
|-<br />
|colspan="2"|<br />
=== Marktplatz ===<br />
|-<br />
|<br />
<marketplace amount="10"><br />
<buy type="balm">5</buyitem><br />
<sell type="spice">35</sellitem><br />
<offer><br />
<get><item>balm</item><amount>1</amount></get><br />
<give><item>silver</item><amount>5</amount></give><br />
</offer><br />
</marketplace><br />
|<br />
* Soll die (Grund)Menge beim Marktplatz oder bei den items stehen?<br />
* Brauchen wir <sell> und <buy> oder reicht <offer>?<br />
* Wie würde ein globaler Marktplatz funktionieren?<br />
* Wie könnte man Dienstleistungen anbieten?<br />
|-<br />
|colspan="2"|<br />
=== Einheiten ===<br />
|-<br />
|<br />
<unit id="unit_mag3" faction="faction_Lotr"/><br />
<item/><br />
<skill/><br />
</unit><br />
|<br />
|-<br />
|colspan="2"|<br />
=== Gebäude ===<br />
|-<br />
|<br />
<building id="building_h0us" type="academy"><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<size>25</size><br />
|<br />
Name und Beschreibung sind klar #PCDATA. Typ und Grösse sind zumindest bei<br />
Eressea etwas das jedes Gebäude als Eigenschaft hat. Den Typ würde ich lieber als <br />
Attribut auslegen, da man dann ggf. auf einen Gebäudetyp referenzieren kann. In<br />
dem Fall muss es aber wieder global eindeutig sein. Also doch wieder sowas wie<br />
type="buildingtype.academy". Leider kann man ja nicht klar stellen, dass type<br />
auf einen buildingtype referenziert. <br />
<br />
Die Grösse hingegen würde ich als Element angeben - warum - keine Ahnung.<br />
|-<br />
|colspan="2"|<br />
<br />
=== Schiffe ===<br />
|-<br />
|<br />
<ship id="ship_ttnc"/><br />
|<br />
|-<br />
|<br />
</region><br />
|<br />
|-<br />
|colspan="2"|<br />
<br />
=== Messagetypen ===<br />
|-<br />
|<br />
<messagetype id="msgtype_5673456873"><br />
<section>travel</section><br />
<pattern locale="de"><br />
<attribute name="unit"/> segelt von <attribute name="from"/> nach <br />
<attribute name="to"/>. Dabei wurden <br />
<function type="regions"><attribute name="through"></function> durchquert.<br />
</pattern><br />
</messagetype><br />
|So richtig gefällt mir das hier noch nicht. Man sollte anhand der Pattern bereits<br />
den Typ des jeweiligen Attributs erkennen. Vermutlich müsste jede $xyz() die es derzeit<br />
gibt, als extra Elementtyp in der (Eressea)-DTD definiert werden.<br />
|-<br />
|<br />
</atlantis><br />
</pre><br />
|<br />
|}<br />
<br />
== Regelset ==<br />
<br />
Und noch ein Dokument fuer eine Spiel-Definition<br />
<pre><br />
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" "http://eressea.de/atlantis-ruleset.dtd"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<atlantis><br />
<br />
<item/><br />
<race/><br />
<plane/><br />
<terrain/><br />
<skill/><br />
<building/><br />
<ship/><br />
<command/><br />
<br />
</atlantis><br />
</pre><br />
<br />
== External Links ==<br />
* [http://pathfinder-xquery.org/files/xpath-accel.pdf Accelerating XPath Location Steps]</div>155.56.68.221https://wiki.eressea.de/index.php?title=XML_Format&diff=2063XML Format2008-04-21T09:42:15Z<p>155.56.68.221: /* Beispiel Report */</p>
<hr />
<div>Anstatt sofort einen DTD zu definieren (die Dinger kann eh kaum jemand lesen) arbeiten wir hier ein Beispiel-Dokument aus, und diskutieren darüber.<br />
<br />
== Beispiel Report ==<br />
<br />
{|<br />
|colspan="2"|<br />
=== Header und Serverinfos ===<br />
|-<br />
|<pre><br />
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" <br />
"http://eressea.de/atlantis-report.dtd"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<atlantis rules="eressea"><br />
<br />
<server><br />
<uri>mailto:eressea-server@eressea.kn-bremen.de</uri><br />
<subject>ERESSEA BEFEHLE</subject><br />
</server><br />
</pre><br />
|<br />
* DTD - machen wir eine DTD für alle Spiele oder gibt es eine Grundlagen-DTD und dann spielspezifische DTD?<br />
* Version und Encoding<br />
* Benutztes Regelset<br />
|-<br />
|colspan="2"|<br />
=== Allianzen ===<br />
|-<br />
|<br />
<alliance/><br />
|<br />
|-<br />
|colspan="2"|<br />
=== Parteien ===<br />
|-<br />
|<br />
<faction id="faction_Lotr"/><br />
<name>xxxxx</name><br />
<descr>dsfsf sdf sdf</descr><br />
<race>aquarians</race><br />
<magic>Gwyrrd</magic><br />
<age>60</age><br />
<data tag="points" type="int">12345</data><br />
|<br />
|-<br />
|<br />
<region id="region_126788><br />
<coordinate x="14" y="27"/><br />
|Regionen, hier versehen mit einer Koordinate. Wie wir verschiedene Ebenen Kennzeichen müssen wir noch diskutieren.<br />
|-<br />
|colspan="2"|<br />
==== Regionsresourcen ====<br />
|-<br />
|<br />
<resources><br />
<resource type="mallorntrees">50</resource><br />
<resource type="mallornsaplings">10</resource><br />
<resource type="laen" level="33">10</resource><br />
<resource type="silver" entertain="500">10000</resource><br />
<resource type="peasant" recruit="25">1000</resource><br />
<resource type="elvendear quantity="many"/><br />
</resources><br />
|<br />
* Menge im Element codieren, oder als Attribut?<br />
* Stufenabhängigkeit als Attribut oder als Subelement? <br />
* Weitere Zusätzliche Attribute je nach Resourcentyp?<br />
|-<br />
|colspan="2"|<br />
==== Marktplatz ====<br />
|-<br />
|<br />
<marketplace amount="10"><br />
<buy type="balm">5</buyitem><br />
<sell type="spice">35</sellitem><br />
<offer><br />
<get><item>balm</item><amount>1</amount></get><br />
<give><item>silver</item><amount>5</amount></give><br />
</offer><br />
</marketplace><br />
|<br />
* Soll die (Grund)Menge beim Marktplatz oder bei den items stehen?<br />
* Brauchen wir <sell> und <buy> oder reicht <offer>?<br />
* Wie würde ein globaler Marktplatz funktionieren?<br />
* Wie könnte man Dienstleistungen anbieten?<br />
|-<br />
|<br />
<unit id="unit_mag3" faction="faction_Lotr"/><br />
<item/><br />
<skill/><br />
</unit><br />
|Einheiten<br />
|-<br />
|<br />
<building id="building_h0us"/><br />
|Gebäude<br />
|-<br />
|<br />
<ship id="ship_ttnc"/><br />
|Schiffe<br />
|-<br />
|<br />
</region><br />
</atlantis><br />
</pre><br />
|<br />
|}<br />
<br />
== Regelset ==<br />
<br />
Und noch ein Dokument fuer eine Spiel-Definition<br />
<pre><br />
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" "http://eressea.de/atlantis-ruleset.dtd"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<atlantis><br />
<br />
<item/><br />
<race/><br />
<plane/><br />
<terrain/><br />
<skill/><br />
<building/><br />
<ship/><br />
<command/><br />
<br />
</atlantis><br />
</pre><br />
<br />
== External Links ==<br />
* [http://pathfinder-xquery.org/files/xpath-accel.pdf Accelerating XPath Location Steps]</div>155.56.68.221https://wiki.eressea.de/index.php?title=XML_Format&diff=2061XML Format2008-04-21T09:23:53Z<p>155.56.68.221: /* Beispiel Report */</p>
<hr />
<div>Anstatt sofort einen DTD zu definieren (die Dinger kann eh kaum jemand lesen) arbeiten wir hier ein Beispiel-Dokument aus, und diskutieren darüber.<br />
<br />
== Beispiel Report ==<br />
<br />
{|<br />
|<pre><br />
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" <br />
"http://eressea.de/atlantis-report.dtd"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<atlantis rules="eressea"><br />
</pre><br />
|Der Headerbereich<br />
* DTD - machen wir eine DTD für alle Spiele oder gibt es eine Grundlagen-DTD und dann spielspezifische DTD?<br />
* Version und Encoding<br />
* Benutztes Regelset<br />
|-<br />
|<pre><br />
<server><br />
<uri>mailto:eressea-server@eressea.kn-bremen.de</uri><br />
<subject>ERESSEA BEFEHLE</subject><br />
</server><br />
</pre><br />
|Angaben zum Server<br />
|-<br />
|<br />
<alliance/><br />
|Abbildung der Allianzen<br />
|-<br />
|<br />
<faction id="faction_Lotr"/><br />
|Parteien<br />
|-<br />
|<br />
<region id="region_126788><br />
<coordinate x="14" y="27"/><br />
|Regionen, hier versehen mit einer Koordinate. Wie wir verschiedene Ebenen Kennzeichen müssen wir noch diskutieren.<br />
|-<br />
|colspan="2"|<br />
==== Regionsresourcen ====<br />
|-<br />
|<br />
<resources><br />
<resource type="mallorntrees">50</resource><br />
<resource type="mallornsaplings">10</resource><br />
<resource type="laen" level="33">10</resource><br />
<resource type="silver" entertain="500">10000</resource><br />
<resource type="peasant" recruit="25">1000</resource><br />
<resource type="elvendear quantity="many"/><br />
</resources><br />
|<br />
* Menge im Element codieren, oder als Attribut?<br />
* Stufenabhängigkeit als Attribut oder als Subelement? <br />
* Weitere Zusätzliche Attribute je nach Resourcentyp?<br />
|-<br />
|colspan="2"|<br />
==== Marktplatz ====<br />
|-<br />
|<br />
<marketplace amount="10"><br />
<buy type="balm">5</buyitem><br />
<sell type="spice">35</sellitem><br />
<offer><br />
<get><item>balm</item><amount>1</amount></get><br />
<give><item>silver</item><amount>5</amount></give><br />
</offer><br />
</marketplace><br />
|<br />
* Soll die (Grund)Menge beim Marktplatz oder bei den items stehen?<br />
* Brauchen wir <sell> und <buy> oder reicht <offer>?<br />
* Wie würde ein globaler Marktplatz funktionieren?<br />
* Wie könnte man Dienstleistungen anbieten?<br />
|-<br />
|<br />
<unit id="unit_mag3" faction="faction_Lotr"/><br />
<item/><br />
<skill/><br />
</unit><br />
|Einheiten<br />
|-<br />
|<br />
<building id="building_h0us"/><br />
|Gebäude<br />
|-<br />
|<br />
<ship id="ship_ttnc"/><br />
|Schiffe<br />
|-<br />
|<br />
</region><br />
</atlantis><br />
</pre><br />
|<br />
|}<br />
<br />
== Regelset ==<br />
<br />
Und noch ein Dokument fuer eine Spiel-Definition<br />
<pre><br />
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" "http://eressea.de/atlantis-ruleset.dtd"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<atlantis><br />
<br />
<item/><br />
<race/><br />
<plane/><br />
<terrain/><br />
<skill/><br />
<building/><br />
<ship/><br />
<command/><br />
<br />
</atlantis><br />
</pre><br />
<br />
== External Links ==<br />
* [http://pathfinder-xquery.org/files/xpath-accel.pdf Accelerating XPath Location Steps]</div>155.56.68.221https://wiki.eressea.de/index.php?title=Benutzer_Diskussion:Darcduck&diff=1695Benutzer Diskussion:Darcduck2007-11-01T10:15:01Z<p>155.56.68.221: Beispiel eingefügt</p>
<hr />
<div>Hallo Darcduck,<br />
<br />
wenn ich das richtig erinnere gibt es bir Dir im Wiki doch was mit Rundennummer => Woche in Eressea. Kannst/Magst Du das hier auch zur Verfügung stellen? <br />
<br />
Viele Grüße<br />
<br />
Obermagier --[[Benutzer:Bruck|Bruck]] 22:16, 18. Okt 2007 (CEST)<br />
<br />
----<br />
<br />
Hallo Bruck,<br />
<br />
das Skript selbst ist ja recht simpel, man muss es halt nur als "Syntax" irgendwo im Wiki hinterlegen. Ich kann es also Enno zur Verfügung stellen, einbauen muss er es aber ;-)<br />
<br />
Leider ist es noch nicht multilingual und bei der Einbindung in Sätze passt es auch nicht immer so richtig.<br />
<br />
Grüsse<br />
<br />
Ralf<br />
<br />
<br />
Markup("eresseaturn","directives","/\\(:turn\\s*(\\d+):\\)/e",'EresseaTurn($1)');<br />
<br />
function EresseaTurn($turn)<br />
{<br />
$EresseaSeasons=array();<br />
$EresseaMonth=array();<br />
$EresseaWeeks=array();<br />
<br />
// Alte Zeitrechnung<br />
$EresseaSeasons[1]=array("Winter", "Winter", "Winter", "Frühling", "Frühling", "Frühling",<br />
"Sommer", "Sommer", "Sommer", "Herbst", "Herbst", "Herbst");<br />
$EresseaMonth[1]=array("Januar","Februar", "März", "April", "Mai", "Juni", <br />
"Juli", "August", "September", "Oktober", "November", "Dezember");<br />
$EresseaWeeks[1]=array();<br />
<br />
// Neue Zeitrechnung<br />
$EresseaSeasons[2]=array("Sommer", "Herbst", "Herbst", "Winter", "Winter", "Winter",<br />
"Frühling", "Frühling", "Sommer");<br />
$EresseaMonth[2]=array("Feldsegen","Nebeltage", "Sturmmond", "Herdfeuer", "Eiswind", "Schneebann",<br />
"Blütenregen", "Mond der milden Winde", "Sonnenfeuer");<br />
$EresseaWeeks[2]=array("Erste", "Zweite", "Letzte");<br />
<br />
$second_era_start=184;<br />
if (is_numeric($turn))<br />
{<br />
$turn=intval($turn);<br />
if ($turn<$second_era_start)<br />
{<br />
$era=1;<br />
$normturn=$turn-1;<br />
} else<br />
{<br />
$era=2;<br />
$normturn=$turn-$second_era_start;<br />
}<br />
$turns_per_month=max(1,count($EresseaWeeks[$era]));<br />
$turns_per_year=count($EresseaMonth[$era])*$turns_per_month;<br />
$year=floor($normturn/$turns_per_year)+1;<br />
$month=floor(($normturn-($year-1)*$turns_per_year)/$turns_per_month);<br />
$week=$normturn%$turns_per_month;<br />
<br />
$resultStr=($era==2)?$EresseaWeeks[$era][$week]." Woche des Monats ":"";<br />
$resultStr.=$EresseaMonth[$era][$month];<br />
$resultStr.=" des Jahres ".$year;<br />
$resultStr.=" ($turn, ".$EresseaSeasons[$era][$month].")";<br />
} else<br />
{<br />
$resultStr=$turn;<br />
}<br />
<br />
return $resultStr;<br />
}<br />
<br />
<br />
----<br />
<br />
Was soll das tun? gibt's da einen Link zu einer Beispielseite?<br />
[[Benutzer:Enno|Enno]] 17:11, 29. Okt 2007 (CET)<br />
<br />
----<br />
Hier z.b. die Seeschlangensichtungen, bei der Seite wird von dem Markup gebrauch gemacht:<br />
<br />
http://wiki.duckstein.net/Welt13/SeeschlangenSichtungen<br />
<br />
Aus <nowiki>"(:turn 410:)"</nowiki> wird "Zweite Woche des Monats Herdfeuer des Jahres 9 (410, Winter)"<br />
<br />
Fürs Media-Wiki muss hauptsächlich die Einbindung überarbeitet werden.</div>155.56.68.221https://wiki.eressea.de/index.php?title=Benutzer_Diskussion:Darcduck&diff=1694Benutzer Diskussion:Darcduck2007-11-01T10:10:05Z<p>155.56.68.221: code hervorgehoben</p>
<hr />
<div>Hallo Darcduck,<br />
<br />
wenn ich das richtig erinnere gibt es bir Dir im Wiki doch was mit Rundennummer => Woche in Eressea. Kannst/Magst Du das hier auch zur Verfügung stellen? <br />
<br />
Viele Grüße<br />
<br />
Obermagier --[[Benutzer:Bruck|Bruck]] 22:16, 18. Okt 2007 (CEST)<br />
<br />
----<br />
<br />
Hallo Bruck,<br />
<br />
das Skript selbst ist ja recht simpel, man muss es halt nur als "Syntax" irgendwo im Wiki hinterlegen. Ich kann es also Enno zur Verfügung stellen, einbauen muss er es aber ;-)<br />
<br />
Leider ist es noch nicht multilingual und bei der Einbindung in Sätze passt es auch nicht immer so richtig.<br />
<br />
Grüsse<br />
<br />
Ralf<br />
<br />
<br />
Markup("eresseaturn","directives","/\\(:turn\\s*(\\d+):\\)/e",'EresseaTurn($1)');<br />
<br />
function EresseaTurn($turn)<br />
{<br />
$EresseaSeasons=array();<br />
$EresseaMonth=array();<br />
$EresseaWeeks=array();<br />
<br />
// Alte Zeitrechnung<br />
$EresseaSeasons[1]=array("Winter", "Winter", "Winter", "Frühling", "Frühling", "Frühling",<br />
"Sommer", "Sommer", "Sommer", "Herbst", "Herbst", "Herbst");<br />
$EresseaMonth[1]=array("Januar","Februar", "März", "April", "Mai", "Juni", <br />
"Juli", "August", "September", "Oktober", "November", "Dezember");<br />
$EresseaWeeks[1]=array();<br />
<br />
// Neue Zeitrechnung<br />
$EresseaSeasons[2]=array("Sommer", "Herbst", "Herbst", "Winter", "Winter", "Winter",<br />
"Frühling", "Frühling", "Sommer");<br />
$EresseaMonth[2]=array("Feldsegen","Nebeltage", "Sturmmond", "Herdfeuer", "Eiswind", "Schneebann",<br />
"Blütenregen", "Mond der milden Winde", "Sonnenfeuer");<br />
$EresseaWeeks[2]=array("Erste", "Zweite", "Letzte");<br />
<br />
$second_era_start=184;<br />
if (is_numeric($turn))<br />
{<br />
$turn=intval($turn);<br />
if ($turn<$second_era_start)<br />
{<br />
$era=1;<br />
$normturn=$turn-1;<br />
} else<br />
{<br />
$era=2;<br />
$normturn=$turn-$second_era_start;<br />
}<br />
$turns_per_month=max(1,count($EresseaWeeks[$era]));<br />
$turns_per_year=count($EresseaMonth[$era])*$turns_per_month;<br />
$year=floor($normturn/$turns_per_year)+1;<br />
$month=floor(($normturn-($year-1)*$turns_per_year)/$turns_per_month);<br />
$week=$normturn%$turns_per_month;<br />
<br />
$resultStr=($era==2)?$EresseaWeeks[$era][$week]." Woche des Monats ":"";<br />
$resultStr.=$EresseaMonth[$era][$month];<br />
$resultStr.=" des Jahres ".$year;<br />
$resultStr.=" ($turn, ".$EresseaSeasons[$era][$month].")";<br />
} else<br />
{<br />
$resultStr=$turn;<br />
}<br />
<br />
return $resultStr;<br />
}<br />
<br />
<br />
----<br />
<br />
Was soll das tun? gibt's da einen Link zu einer Beispielseite?<br />
[[Benutzer:Enno|Enno]] 17:11, 29. Okt 2007 (CET)</div>155.56.68.221https://wiki.eressea.de/index.php?title=Taktik&diff=1680Taktik2007-10-18T10:07:44Z<p>155.56.68.221: </p>
<hr />
<div>Vor der Schlacht wird der beste Taktiker aller teilnehmenden Einheiten bestimmt. Ein Taktiker, der in der ersten Reihe kämpft, bekommt einen Bonus von +1 auf sein Taktik-Talent. Steht er in der 3. oder 4. Reihe, reduziert sich sein Talent um 1. Die Seite mit den besten Takiker hat die erste Attacke frei (die sogenannte "Taktikerrunde"): in einem geschickten Manöver lockt er die Feinde in einen Hinterhalt und kann in der ersten Kampfrunde überraschend zuschlagen, ohne daß der Feind in dieser Runde auch angreifen kann. Sind zwei oder mehr Taktiker aller Seiten gleich gut, so können beide Seiten in der Taktikerrunde zuschlagen.<br />
<br />
Um ein wenig "Tagesform" und Glück einfließen zu lassen, erhält jeder Taktiker einen zufälligen Bonus, der bei 0 startet und rein theoretisch sehr groß werden kann, wobei die Wahrscheinlichkeit dafür immer geringer wird, je größer der Bonus ist.</div>155.56.68.221