Aquileo | Recent changes to mediawikihttps://sourceforge.net/p/jskat/mediawiki/2014-06-15T16:02:02.449000ZRecent changes to mediawikiAquileo | GameInfo modified by Jan Schäfer2014-06-15T16:02:02.449000Z2014-06-15T16:02:02.449000ZJan Schäferhttps://sourceforge.net/u/jansch/https://sourceforge.net0560096bcb2b5aa24d541378ec208292d02a2ac0<div class="markdown_content"><pre>--- v1
+++ v2
@@ -1,5 +1,5 @@
The class GameInfo bundles all relevant game information that is not bound to a specific player. This comprises of the following information:
* the position of the declarer with in the game
- * the GameType
+ * the [GameType]
* the current set of rules
</pre>
</div>Aquileo | GameInfo modified by Jan Schäfer2014-06-15T16:02:02.407000Z2014-06-15T16:02:02.407000ZJan Schäferhttps://sourceforge.net/u/jansch/https://sourceforge.net56a9f9dd6644bce51be2756a367b0ff0b506777c<div class="markdown_content"><p>The class GameInfo bundles all relevant game information that is not bound to a specific player. This comprises of the following information: </p>
<ul>
<li>the position of the declarer with in the game </li>
<li>the GameType </li>
<li>the current set of rules </li>
</ul></div>Aquileo | SkatML modified by Jan Schäfer2014-06-15T16:02:02.319000Z2014-06-15T16:02:02.319000ZJan Schäferhttps://sourceforge.net/u/jansch/https://sourceforge.net1836aa78607f3a7e0e568aa0b12dfd6c9c6914b8<div class="markdown_content"><pre>--- v8
+++ v9
@@ -1,3 +1,5 @@
+SkatML will be use by JSkat for saving game data.
+
## XML-Schema
</pre>
</div>Aquileo | SkatML modified by Jan Schäfer2014-06-15T16:02:02Z2014-06-15T16:02:02ZJan Schäferhttps://sourceforge.net/u/jansch/https://sourceforge.net5a0273f26a2691359697a1bf3ae75d8a1b601f81<div class="markdown_content"><pre>--- v7
+++ v8
@@ -1,4 +1,319 @@
## XML-Schema
+
+
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="skattable">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="skatseries"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ <xs:attribute name="name" use="required" type="xs:NCName"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="skatseries">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="skatplayer"/>
+ <xs:element ref="numberofrounds"/>
+ <xs:element ref="skatrules"/>
+ <xs:element ref="skatgames"/>
+ <xs:element ref="seriesresult"/>
+ </xs:sequence>
+ <xs:attribute name="active" use="required" type="xs:boolean"/>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="skatplayer">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="player"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="player">
+ <xs:complexType>
+ <xs:sequence minOccurs="0">
+ <xs:element ref="name"/>
+ <xs:element ref="class"/>
+ <xs:element ref="strength"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="name" type="xs:NCName"/>
+ <xs:element name="class" type="xs:NCName"/>
+ <xs:element name="strength" type="xs:integer"/>
+ <xs:element name="numberofrounds" type="xs:integer"/>
+ <xs:element name="skatrules">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="isparules"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="isparules" type="xs:boolean"/>
+ <xs:element name="skatgames">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="game"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="game">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="dealer"/>
+ <xs:element ref="forehand"/>
+ <xs:element ref="middlehand"/>
+ <xs:element ref="hindhand"/>
+ <xs:element ref="dealing"/>
+ <xs:element ref="bidding"/>
+ <xs:element ref="discarding"/>
+ <xs:element ref="announcement"/>
+ <xs:element ref="playing"/>
+ <xs:element ref="gameresult"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dealer">
+ <xs:complexType>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dealing">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="dealtcards"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dealtcards">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playercards"/>
+ <xs:element ref="skat"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bidding">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="bid"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bid">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="caller"/>
+ <xs:element minOccurs="0" ref="holder"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="caller">
+ <xs:complexType>
+ <xs:attribute name="call" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="holder">
+ <xs:complexType>
+ <xs:attribute name="call" use="required" type="xs:NCName"/>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="discarding">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="playercards"/>
+ <xs:element ref="skat"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="playing">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tricks"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="tricks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="trick"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="trick">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="forehand"/>
+ <xs:element ref="middlehand"/>
+ <xs:element ref="hindhand"/>
+ <xs:element ref="trickwinner"/>
+ <xs:element ref="playerpoints"/>
+ <xs:element ref="opponentpoints"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="trickwinner">
+ <xs:complexType>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="gameresult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="playerpoints"/>
+ <xs:element ref="opponentpoints"/>
+ <xs:element ref="won"/>
+ <xs:element ref="schneider"/>
+ <xs:element ref="schwarz"/>
+ <xs:element ref="gamevalue"/>
+ <xs:element ref="gamescores"/>
+ <xs:element ref="tournamentscores"/>
+ <xs:element ref="bierlachsscores"/>
+ <xs:element ref="bock"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="won" type="xs:boolean"/>
+ <xs:element name="schneider" type="xs:boolean"/>
+ <xs:element name="schwarz" type="xs:boolean"/>
+ <xs:element name="gamevalue" type="xs:integer"/>
+ <xs:element name="gamescores">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playerscore"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="tournamentscores">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playerscore"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bierlachsscores">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playerscore"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="bockevent"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bockevent">
+ <xs:complexType>
+ <xs:attribute name="reason" use="required" type="xs:NMTOKEN"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="seriesresult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playerresult"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="playerresult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="gamescore"/>
+ <xs:element ref="tournamentscore"/>
+ <xs:element ref="bierlachsscore"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="gamescore" type="xs:integer"/>
+ <xs:element name="tournamentscore" type="xs:integer"/>
+ <xs:element name="bierlachsscore" type="xs:integer"/>
+ <xs:element name="forehand">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="card"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="middlehand">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="card"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="hindhand">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="card"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="playercards">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="card"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="skat">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="card"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="announcement">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="announcement"/>
+ </xs:sequence>
+ <xs:attribute name="game" type="xs:NCName"/>
+ <xs:attribute name="hand" type="xs:boolean"/>
+ <xs:attribute name="ouvert" type="xs:boolean"/>
+ <xs:attribute name="playerid" type="xs:integer"/>
+ <xs:attribute name="schneider" type="xs:boolean"/>
+ <xs:attribute name="schwarz" type="xs:boolean"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="playerpoints" type="xs:integer"/>
+ <xs:element name="opponentpoints" type="xs:integer"/>
+ <xs:element name="playerscore">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:integer">
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="card">
+ <xs:complexType>
+ <xs:attribute name="rank" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="suit" use="required" type="xs:NCName"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+
+
+
+
+
+## Example
<skattable id="0" name="asdf">
@@ -192,320 +507,4 @@
</seriesresult>
</skatseries>
</skattable>
- }}}
-
-
-
- ## XML schema
-
-
- {{{
- #!xml
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
- <xs:element name="skattable">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="skatseries"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- <xs:attribute name="name" use="required" type="xs:NCName"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="skatseries">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="skatplayer"/>
- <xs:element ref="numberofrounds"/>
- <xs:element ref="skatrules"/>
- <xs:element ref="skatgames"/>
- <xs:element ref="seriesresult"/>
- </xs:sequence>
- <xs:attribute name="active" use="required" type="xs:boolean"/>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="skatplayer">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="player"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="player">
- <xs:complexType>
- <xs:sequence minOccurs="0">
- <xs:element ref="name"/>
- <xs:element ref="class"/>
- <xs:element ref="strength"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="name" type="xs:NCName"/>
- <xs:element name="class" type="xs:NCName"/>
- <xs:element name="strength" type="xs:integer"/>
- <xs:element name="numberofrounds" type="xs:integer"/>
- <xs:element name="skatrules">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="isparules"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="isparules" type="xs:boolean"/>
- <xs:element name="skatgames">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="game"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="game">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="dealer"/>
- <xs:element ref="forehand"/>
- <xs:element ref="middlehand"/>
- <xs:element ref="hindhand"/>
- <xs:element ref="dealing"/>
- <xs:element ref="bidding"/>
- <xs:element ref="discarding"/>
- <xs:element ref="announcement"/>
- <xs:element ref="playing"/>
- <xs:element ref="gameresult"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="dealer">
- <xs:complexType>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="dealing">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="dealtcards"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="dealtcards">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playercards"/>
- <xs:element ref="skat"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bidding">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="bid"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bid">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="caller"/>
- <xs:element minOccurs="0" ref="holder"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="caller">
- <xs:complexType>
- <xs:attribute name="call" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="holder">
- <xs:complexType>
- <xs:attribute name="call" use="required" type="xs:NCName"/>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="discarding">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="playercards"/>
- <xs:element ref="skat"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="playing">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="tricks"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="tricks">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="trick"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="trick">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="forehand"/>
- <xs:element ref="middlehand"/>
- <xs:element ref="hindhand"/>
- <xs:element ref="trickwinner"/>
- <xs:element ref="playerpoints"/>
- <xs:element ref="opponentpoints"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="trickwinner">
- <xs:complexType>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="gameresult">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="playerpoints"/>
- <xs:element ref="opponentpoints"/>
- <xs:element ref="won"/>
- <xs:element ref="schneider"/>
- <xs:element ref="schwarz"/>
- <xs:element ref="gamevalue"/>
- <xs:element ref="gamescores"/>
- <xs:element ref="tournamentscores"/>
- <xs:element ref="bierlachsscores"/>
- <xs:element ref="bock"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="won" type="xs:boolean"/>
- <xs:element name="schneider" type="xs:boolean"/>
- <xs:element name="schwarz" type="xs:boolean"/>
- <xs:element name="gamevalue" type="xs:integer"/>
- <xs:element name="gamescores">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playerscore"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="tournamentscores">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playerscore"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bierlachsscores">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playerscore"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bock">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="bockevent"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bockevent">
- <xs:complexType>
- <xs:attribute name="reason" use="required" type="xs:NMTOKEN"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="seriesresult">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playerresult"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="playerresult">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="gamescore"/>
- <xs:element ref="tournamentscore"/>
- <xs:element ref="bierlachsscore"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="gamescore" type="xs:integer"/>
- <xs:element name="tournamentscore" type="xs:integer"/>
- <xs:element name="bierlachsscore" type="xs:integer"/>
- <xs:element name="forehand">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="card"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="middlehand">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="card"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="hindhand">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="card"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="playercards">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="card"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="skat">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="card"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="announcement">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="announcement"/>
- </xs:sequence>
- <xs:attribute name="game" type="xs:NCName"/>
- <xs:attribute name="hand" type="xs:boolean"/>
- <xs:attribute name="ouvert" type="xs:boolean"/>
- <xs:attribute name="playerid" type="xs:integer"/>
- <xs:attribute name="schneider" type="xs:boolean"/>
- <xs:attribute name="schwarz" type="xs:boolean"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="playerpoints" type="xs:integer"/>
- <xs:element name="opponentpoints" type="xs:integer"/>
- <xs:element name="playerscore">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:integer">
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="card">
- <xs:complexType>
- <xs:attribute name="rank" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="suit" use="required" type="xs:NCName"/>
- </xs:complexType>
- </xs:element>
- </xs:schema>
-
+
</pre>
</div>Aquileo | SkatML modified by Jan Schäfer2014-06-15T16:02:01.699000Z2014-06-15T16:02:01.699000ZJan Schäferhttps://sourceforge.net/u/jansch/https://sourceforge.net6183288d5c72ac2a422cd47861c16c33fe145a31<div class="markdown_content"><pre>--- v6
+++ v7
@@ -1,18 +1,511 @@
## XML-Schema
-
-An example of wiki markup:
-
-<source lang="java"> // Hallo Welt in Microsoft C#.
-
-using System;
-
-class HelloWorld {
-
- public static int Main(String[] args)
- {
- Console.WriteLine("Hallo, Welt!");
- return 0;
- }
-
-
-} </source>
+
+
+ <skattable id="0" name="asdf">
+ <skatseries id="0" active="true">
+ <skatplayer>
+ <player id="0">
+ <name>Jan</name>
+ <class>jskat.player.AIPlayerMJL.AIPlayerMJL</class>
+ <strength>123</strength>
+ </player>
+ <player id="1">
+ <name>Markus</name>
+ <class>jskat.player.AIPlayerMJL.AIPlayerMJL</class>
+ <strength>123</strength>
+ </player>
+ <player id="2">
+ <name>Spieler</name>
+ <class>jskat.player.HumanPlayer </class>
+ <strength>123</strength>
+ </player>
+ <player id="3" />
+ </skatplayer>
+ <numberofrounds>10</numberofrounds>
+ <skatrules>
+ <isparules>true</isparules>
+ </skatrules>
+ <skatgames>
+ <game id="0">
+ <dealer playerid="2" />
+ <forehand playerid="0" />
+ <middlehand playerid="1" />
+ <hindhand playerid="2" />
+ <dealing>
+ <dealtcards>
+ <playercards playerid="0">
+ <card suit="C" rank="7" />
+ <card suit="C" rank="8" />
+ <card suit="C" rank="9" />
+ <card suit="C" rank="T" />
+ <card suit="C" rank="J" />
+ <card suit="C" rank="Q" />
+ <card suit="C" rank="K" />
+ <card suit="C" rank="A" />
+ <card suit="S" rank="7" />
+ <card suit="S" rank="8" />
+ </playercards>
+ <playercards playerid="1">
+ <card suit="S" rank="9" />
+ <card suit="S" rank="T" />
+ <card suit="S" rank="J" />
+ <card suit="S" rank="Q" />
+ <card suit="S" rank="K" />
+ <card suit="S" rank="A" />
+ <card suit="H" rank="7" />
+ <card suit="H" rank="8" />
+ <card suit="H" rank="9" />
+ <card suit="H" rank="T" />
+ </playercards>
+ <playercards playerid="2">
+ <card suit="H" rank="J" />
+ <card suit="H" rank="Q" />
+ <card suit="H" rank="K" />
+ <card suit="H" rank="A" />
+ <card suit="D" rank="7" />
+ <card suit="D" rank="8" />
+ <card suit="D" rank="9" />
+ <card suit="D" rank="T" />
+ <card suit="D" rank="J" />
+ <card suit="D" rank="Q" />
+ </playercards>
+ <skat>
+ <card suit="D" rank="K" />
+ <card suit="D" rank="A" />
+ </skat>
+ </dealtcards>
+ </dealing>
+ <bidding>
+ <bid id="0">
+ <caller playerid="1" call="18" />
+ <holder playerid="0" call="yes" />
+ </bid>
+ <bid id="1">
+ <caller playerid="1" call="pass" />
+ </bid>
+ <bid id="2">
+ <caller playerid="2" call="20" />
+ <holder playerid="0" call="yes" />
+ </bid>
+ <bid id="3">
+ <caller playerid="2" call="pass" />
+ </bid>
+ </bidding>
+ <discarding>
+ <playercards playerid="0">
+ <card suit="C" rank="7" />
+ <card suit="C" rank="8" />
+ <card suit="C" rank="9" />
+ <card suit="C" rank="T" />
+ <card suit="C" rank="J" />
+ <card suit="C" rank="Q" />
+ <card suit="C" rank="K" />
+ <card suit="C" rank="A" />
+ <card suit="D" rank="K" />
+ <card suit="D" rank="A" />
+ </playercards>
+ <skat>
+ <card suit="S" rank="7" />
+ <card suit="S" rank="8" />
+ </skat>
+ </discarding>
+ <announcement>
+ <announcement playerid="0" game="Grand" hand="true" ouvert="false" schneider="true" schwarz="true" />
+
+ </announcement>
+ <playing>
+ <tricks>
+ <trick id="0">
+ <forehand playerid="0">
+ <card suit="H" rank="J" />
+ </forehand>
+ <middlehand playerid="1">
+ <card suit="C" rank="J" />
+ </middlehand>
+ <hindhand playerid="2">
+ <card suit="S" rank="J" />
+ </hindhand>
+ <trickwinner playerid="1" />
+ <playerpoints>0</playerpoints>
+ <opponentpoints>6</opponentpoints>
+ </trick>
+ <trick id="1">
+ <forehand playerid="1">
+ <card suit="D" rank="J" />
+ </forehand>
+ <middlehand playerid="2">
+ <card suit="S" rank="A" />
+ </middlehand>
+ <hindhand playerid="0">
+ <card suit="S" rank="T" />
+ </hindhand>
+ <trickwinner playerid="1" />
+ <playerpoints>0</playerpoints>
+ <opponentpoints>29</opponentpoints>
+ </trick>
+ </tricks>
+ </playing>
+ <gameresult>
+ <playerpoints>55</playerpoints>
+ <opponentpoints>65</opponentpoints>
+ <won>true</won>
+ <schneider>true</schneider>
+ <schwarz>false</schwarz>
+ <gamevalue>-44</gamevalue>
+ <gamescores>
+ <playerscore id="0">-44</playerscore>
+ <playerscore id="1">0</playerscore>
+ <playerscore id="2">0</playerscore>
+ </gamescores>
+ <tournamentscores>
+ <playerscore id="0">-94</playerscore>
+ <playerscore id="1">40</playerscore>
+ <playerscore id="2">40</playerscore>
+ </tournamentscores>
+ <bierlachsscores>
+ <playerscore id="0">-44</playerscore>
+ <playerscore id="1">0</playerscore>
+ <playerscore id="2">0</playerscore>
+ </bierlachsscores>
+ <bock>
+ <bockevent reason="60-60" />
+ </bock>
+ </gameresult>
+ </game>
+ </skatgames>
+ <seriesresult>
+ <playerresult playerid="0">
+ <gamescore>1234</gamescore>
+ <tournamentscore>12345</tournamentscore>
+ <bierlachsscore>12345</bierlachsscore>
+ </playerresult>
+ <playerresult playerid="1">
+ <gamescore>1234</gamescore>
+ <tournamentscore>12345</tournamentscore>
+ <bierlachsscore>12345</bierlachsscore>
+ </playerresult>
+ <playerresult playerid="2">
+ <gamescore>1234</gamescore>
+ <tournamentscore>12345</tournamentscore>
+ <bierlachsscore>12345</bierlachsscore>
+ </playerresult>
+ </seriesresult>
+ </skatseries>
+ </skattable>
+ }}}
+
+
+
+ ## XML schema
+
+
+ {{{
+ #!xml
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="skattable">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="skatseries"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ <xs:attribute name="name" use="required" type="xs:NCName"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="skatseries">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="skatplayer"/>
+ <xs:element ref="numberofrounds"/>
+ <xs:element ref="skatrules"/>
+ <xs:element ref="skatgames"/>
+ <xs:element ref="seriesresult"/>
+ </xs:sequence>
+ <xs:attribute name="active" use="required" type="xs:boolean"/>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="skatplayer">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="player"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="player">
+ <xs:complexType>
+ <xs:sequence minOccurs="0">
+ <xs:element ref="name"/>
+ <xs:element ref="class"/>
+ <xs:element ref="strength"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="name" type="xs:NCName"/>
+ <xs:element name="class" type="xs:NCName"/>
+ <xs:element name="strength" type="xs:integer"/>
+ <xs:element name="numberofrounds" type="xs:integer"/>
+ <xs:element name="skatrules">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="isparules"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="isparules" type="xs:boolean"/>
+ <xs:element name="skatgames">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="game"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="game">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="dealer"/>
+ <xs:element ref="forehand"/>
+ <xs:element ref="middlehand"/>
+ <xs:element ref="hindhand"/>
+ <xs:element ref="dealing"/>
+ <xs:element ref="bidding"/>
+ <xs:element ref="discarding"/>
+ <xs:element ref="announcement"/>
+ <xs:element ref="playing"/>
+ <xs:element ref="gameresult"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dealer">
+ <xs:complexType>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dealing">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="dealtcards"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dealtcards">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playercards"/>
+ <xs:element ref="skat"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bidding">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="bid"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bid">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="caller"/>
+ <xs:element minOccurs="0" ref="holder"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="caller">
+ <xs:complexType>
+ <xs:attribute name="call" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="holder">
+ <xs:complexType>
+ <xs:attribute name="call" use="required" type="xs:NCName"/>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="discarding">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="playercards"/>
+ <xs:element ref="skat"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="playing">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tricks"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="tricks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="trick"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="trick">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="forehand"/>
+ <xs:element ref="middlehand"/>
+ <xs:element ref="hindhand"/>
+ <xs:element ref="trickwinner"/>
+ <xs:element ref="playerpoints"/>
+ <xs:element ref="opponentpoints"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="trickwinner">
+ <xs:complexType>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="gameresult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="playerpoints"/>
+ <xs:element ref="opponentpoints"/>
+ <xs:element ref="won"/>
+ <xs:element ref="schneider"/>
+ <xs:element ref="schwarz"/>
+ <xs:element ref="gamevalue"/>
+ <xs:element ref="gamescores"/>
+ <xs:element ref="tournamentscores"/>
+ <xs:element ref="bierlachsscores"/>
+ <xs:element ref="bock"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="won" type="xs:boolean"/>
+ <xs:element name="schneider" type="xs:boolean"/>
+ <xs:element name="schwarz" type="xs:boolean"/>
+ <xs:element name="gamevalue" type="xs:integer"/>
+ <xs:element name="gamescores">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playerscore"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="tournamentscores">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playerscore"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bierlachsscores">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playerscore"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="bockevent"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bockevent">
+ <xs:complexType>
+ <xs:attribute name="reason" use="required" type="xs:NMTOKEN"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="seriesresult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playerresult"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="playerresult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="gamescore"/>
+ <xs:element ref="tournamentscore"/>
+ <xs:element ref="bierlachsscore"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="gamescore" type="xs:integer"/>
+ <xs:element name="tournamentscore" type="xs:integer"/>
+ <xs:element name="bierlachsscore" type="xs:integer"/>
+ <xs:element name="forehand">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="card"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="middlehand">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="card"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="hindhand">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="card"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="playercards">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="card"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="skat">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="card"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="announcement">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="announcement"/>
+ </xs:sequence>
+ <xs:attribute name="game" type="xs:NCName"/>
+ <xs:attribute name="hand" type="xs:boolean"/>
+ <xs:attribute name="ouvert" type="xs:boolean"/>
+ <xs:attribute name="playerid" type="xs:integer"/>
+ <xs:attribute name="schneider" type="xs:boolean"/>
+ <xs:attribute name="schwarz" type="xs:boolean"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="playerpoints" type="xs:integer"/>
+ <xs:element name="opponentpoints" type="xs:integer"/>
+ <xs:element name="playerscore">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:integer">
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="card">
+ <xs:complexType>
+ <xs:attribute name="rank" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="suit" use="required" type="xs:NCName"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+
</pre>
</div>Aquileo | SkatML modified by Jan Schäfer2014-06-15T16:02:01.516000Z2014-06-15T16:02:01.516000ZJan Schäferhttps://sourceforge.net/u/jansch/https://sourceforge.net8d7ef33390fec08f928d0003a98e7549d75ff3db<div class="markdown_content"><pre>--- v5
+++ v6
@@ -1,26 +1,18 @@
## XML-Schema
An example of wiki markup:
+
+<source lang="java"> // Hallo Welt in Microsoft C#.
+
+using System;
+
+class HelloWorld {
-
- <source lang="html4strict">
-
-
-
-
- Hello world!
-
-
-
-
-
- </source>
+ public static int Main(String[] args)
+ {
+ Console.WriteLine("Hallo, Welt!");
+ return 0;
+ }
-The rendering of that markup:
-
-<source lang="html4strict">
-
-Hello world!
-
-</source> <noinclude>
+} </source>
</pre>
</div>Aquileo | SkatML modified by Jan Schäfer2014-06-15T16:02:01.332000Z2014-06-15T16:02:01.332000ZJan Schäferhttps://sourceforge.net/u/jansch/https://sourceforge.net70be698a3c01ff0640e78670fa30a8f1e8619e2b<div class="markdown_content"><pre>--- v4
+++ v5
@@ -1,318 +1,26 @@
## XML-Schema
+
+An example of wiki markup:
+
+
+ <source lang="html4strict">
+
+
+
+
+ Hello world!
+
+
+
+
+
+ </source>
+
+
+The rendering of that markup:
<source lang="html4strict">
Hello world!
-</source>
-
-<source lang="xml"> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-
- <xs:element name="skattable">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="skatseries"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- <xs:attribute name="name" use="required" type="xs:NCName"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="skatseries">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="skatplayer"/>
- <xs:element ref="numberofrounds"/>
- <xs:element ref="skatrules"/>
- <xs:element ref="skatgames"/>
- <xs:element ref="seriesresult"/>
- </xs:sequence>
- <xs:attribute name="active" use="required" type="xs:boolean"/>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="skatplayer">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="player"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="player">
- <xs:complexType>
- <xs:sequence minOccurs="0">
- <xs:element ref="name"/>
- <xs:element ref="class"/>
- <xs:element ref="strength"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="name" type="xs:NCName"/>
- <xs:element name="class" type="xs:NCName"/>
- <xs:element name="strength" type="xs:integer"/>
- <xs:element name="numberofrounds" type="xs:integer"/>
- <xs:element name="skatrules">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="isparules"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="isparules" type="xs:boolean"/>
- <xs:element name="skatgames">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="game"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="game">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="dealer"/>
- <xs:element ref="forehand"/>
- <xs:element ref="middlehand"/>
- <xs:element ref="hindhand"/>
- <xs:element ref="dealing"/>
- <xs:element ref="bidding"/>
- <xs:element ref="discarding"/>
- <xs:element ref="announcement"/>
- <xs:element ref="playing"/>
- <xs:element ref="gameresult"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="dealer">
- <xs:complexType>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="dealing">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="dealtcards"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="dealtcards">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playercards"/>
- <xs:element ref="skat"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bidding">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="bid"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bid">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="caller"/>
- <xs:element minOccurs="0" ref="holder"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="caller">
- <xs:complexType>
- <xs:attribute name="call" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="holder">
- <xs:complexType>
- <xs:attribute name="call" use="required" type="xs:NCName"/>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="discarding">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="playercards"/>
- <xs:element ref="skat"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="playing">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="tricks"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="tricks">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="trick"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="trick">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="forehand"/>
- <xs:element ref="middlehand"/>
- <xs:element ref="hindhand"/>
- <xs:element ref="trickwinner"/>
- <xs:element ref="playerpoints"/>
- <xs:element ref="opponentpoints"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="trickwinner">
- <xs:complexType>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="gameresult">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="playerpoints"/>
- <xs:element ref="opponentpoints"/>
- <xs:element ref="won"/>
- <xs:element ref="schneider"/>
- <xs:element ref="schwarz"/>
- <xs:element ref="gamevalue"/>
- <xs:element ref="gamescores"/>
- <xs:element ref="tournamentscores"/>
- <xs:element ref="bierlachsscores"/>
- <xs:element ref="bock"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="won" type="xs:boolean"/>
- <xs:element name="schneider" type="xs:boolean"/>
- <xs:element name="schwarz" type="xs:boolean"/>
- <xs:element name="gamevalue" type="xs:integer"/>
- <xs:element name="gamescores">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playerscore"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="tournamentscores">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playerscore"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bierlachsscores">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playerscore"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bock">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="bockevent"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bockevent">
- <xs:complexType>
- <xs:attribute name="reason" use="required" type="xs:NMTOKEN"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="seriesresult">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playerresult"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="playerresult">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="gamescore"/>
- <xs:element ref="tournamentscore"/>
- <xs:element ref="bierlachsscore"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="gamescore" type="xs:integer"/>
- <xs:element name="tournamentscore" type="xs:integer"/>
- <xs:element name="bierlachsscore" type="xs:integer"/>
- <xs:element name="forehand">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="card"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="middlehand">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="card"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="hindhand">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="card"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="playercards">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="card"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="skat">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="card"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="announcement">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="announcement"/>
- </xs:sequence>
- <xs:attribute name="game" type="xs:NCName"/>
- <xs:attribute name="hand" type="xs:boolean"/>
- <xs:attribute name="ouvert" type="xs:boolean"/>
- <xs:attribute name="playerid" type="xs:integer"/>
- <xs:attribute name="schneider" type="xs:boolean"/>
- <xs:attribute name="schwarz" type="xs:boolean"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="playerpoints" type="xs:integer"/>
- <xs:element name="opponentpoints" type="xs:integer"/>
- <xs:element name="playerscore">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:integer">
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="card">
- <xs:complexType>
- <xs:attribute name="rank" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="suit" use="required" type="xs:NCName"/>
- </xs:complexType>
- </xs:element>
-
-
-</xs:schema> </source>
+</source> <noinclude>
</pre>
</div>Aquileo | SkatML modified by Jan Schäfer2014-06-15T16:02:01.075000Z2014-06-15T16:02:01.075000ZJan Schäferhttps://sourceforge.net/u/jansch/https://sourceforge.net14c67498f8afa84545c8b47ca4e75977497c452c<div class="markdown_content"><pre>--- v3
+++ v4
@@ -1,3 +1,318 @@
## XML-Schema
-<source lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="skattable"> <xs:complexType> <xs:sequence> <xs:element ref="skatseries"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:integer"/> <xs:attribute name="name" use="required" type="xs:NCName"/> </xs:complexType> </xs:element> <xs:element name="skatseries"> <xs:complexType> <xs:sequence> <xs:element ref="skatplayer"/> <xs:element ref="numberofrounds"/> <xs:element ref="skatrules"/> <xs:element ref="skatgames"/> <xs:element ref="seriesresult"/> </xs:sequence> <xs:attribute name="active" use="required" type="xs:boolean"/> <xs:attribute name="id" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="skatplayer"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="player"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="player"> <xs:complexType> <xs:sequence minOccurs="0"> <xs:element ref="name"/> <xs:element ref="class"/> <xs:element ref="strength"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="name" type="xs:NCName"/> <xs:element name="class" type="xs:NCName"/> <xs:element name="strength" type="xs:integer"/> <xs:element name="numberofrounds" type="xs:integer"/> <xs:element name="skatrules"> <xs:complexType> <xs:sequence> <xs:element ref="isparules"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="isparules" type="xs:boolean"/> <xs:element name="skatgames"> <xs:complexType> <xs:sequence> <xs:element ref="game"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="game"> <xs:complexType> <xs:sequence> <xs:element ref="dealer"/> <xs:element ref="forehand"/> <xs:element ref="middlehand"/> <xs:element ref="hindhand"/> <xs:element ref="dealing"/> <xs:element ref="bidding"/> <xs:element ref="discarding"/> <xs:element ref="announcement"/> <xs:element ref="playing"/> <xs:element ref="gameresult"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="dealer"> <xs:complexType> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="dealing"> <xs:complexType> <xs:sequence> <xs:element ref="dealtcards"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="dealtcards"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="playercards"/> <xs:element ref="skat"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bidding"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="bid"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bid"> <xs:complexType> <xs:sequence> <xs:element ref="caller"/> <xs:element minOccurs="0" ref="holder"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="caller"> <xs:complexType> <xs:attribute name="call" use="required" type="xs:NMTOKEN"/> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="holder"> <xs:complexType> <xs:attribute name="call" use="required" type="xs:NCName"/> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="discarding"> <xs:complexType> <xs:sequence> <xs:element ref="playercards"/> <xs:element ref="skat"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="playing"> <xs:complexType> <xs:sequence> <xs:element ref="tricks"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tricks"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="trick"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="trick"> <xs:complexType> <xs:sequence> <xs:element ref="forehand"/> <xs:element ref="middlehand"/> <xs:element ref="hindhand"/> <xs:element ref="trickwinner"/> <xs:element ref="playerpoints"/> <xs:element ref="opponentpoints"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="trickwinner"> <xs:complexType> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="gameresult"> <xs:complexType> <xs:sequence> <xs:element ref="playerpoints"/> <xs:element ref="opponentpoints"/> <xs:element ref="won"/> <xs:element ref="schneider"/> <xs:element ref="schwarz"/> <xs:element ref="gamevalue"/> <xs:element ref="gamescores"/> <xs:element ref="tournamentscores"/> <xs:element ref="bierlachsscores"/> <xs:element ref="bock"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="won" type="xs:boolean"/> <xs:element name="schneider" type="xs:boolean"/> <xs:element name="schwarz" type="xs:boolean"/> <xs:element name="gamevalue" type="xs:integer"/> <xs:element name="gamescores"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="playerscore"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tournamentscores"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="playerscore"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bierlachsscores"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="playerscore"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bock"> <xs:complexType> <xs:sequence> <xs:element ref="bockevent"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bockevent"> <xs:complexType> <xs:attribute name="reason" use="required" type="xs:NMTOKEN"/> </xs:complexType> </xs:element> <xs:element name="seriesresult"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="playerresult"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="playerresult"> <xs:complexType> <xs:sequence> <xs:element ref="gamescore"/> <xs:element ref="tournamentscore"/> <xs:element ref="bierlachsscore"/> </xs:sequence> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="gamescore" type="xs:integer"/> <xs:element name="tournamentscore" type="xs:integer"/> <xs:element name="bierlachsscore" type="xs:integer"/> <xs:element name="forehand"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" ref="card"/> </xs:sequence> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="middlehand"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" ref="card"/> </xs:sequence> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="hindhand"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" ref="card"/> </xs:sequence> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="playercards"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="card"/> </xs:sequence> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="skat"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="card"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="announcement"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" ref="announcement"/> </xs:sequence> <xs:attribute name="game" type="xs:NCName"/> <xs:attribute name="hand" type="xs:boolean"/> <xs:attribute name="ouvert" type="xs:boolean"/> <xs:attribute name="playerid" type="xs:integer"/> <xs:attribute name="schneider" type="xs:boolean"/> <xs:attribute name="schwarz" type="xs:boolean"/> </xs:complexType> </xs:element> <xs:element name="playerpoints" type="xs:integer"/> <xs:element name="opponentpoints" type="xs:integer"/> <xs:element name="playerscore"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:integer"> <xs:attribute name="id" use="required" type="xs:integer"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="card"> <xs:complexType> <xs:attribute name="rank" use="required" type="xs:NMTOKEN"/> <xs:attribute name="suit" use="required" type="xs:NCName"/> </xs:complexType> </xs:element> </xs:schema> </source>
+<source lang="html4strict">
+
+Hello world!
+
+</source>
+
+<source lang="xml"> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+
+ <xs:element name="skattable">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="skatseries"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ <xs:attribute name="name" use="required" type="xs:NCName"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="skatseries">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="skatplayer"/>
+ <xs:element ref="numberofrounds"/>
+ <xs:element ref="skatrules"/>
+ <xs:element ref="skatgames"/>
+ <xs:element ref="seriesresult"/>
+ </xs:sequence>
+ <xs:attribute name="active" use="required" type="xs:boolean"/>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="skatplayer">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="player"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="player">
+ <xs:complexType>
+ <xs:sequence minOccurs="0">
+ <xs:element ref="name"/>
+ <xs:element ref="class"/>
+ <xs:element ref="strength"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="name" type="xs:NCName"/>
+ <xs:element name="class" type="xs:NCName"/>
+ <xs:element name="strength" type="xs:integer"/>
+ <xs:element name="numberofrounds" type="xs:integer"/>
+ <xs:element name="skatrules">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="isparules"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="isparules" type="xs:boolean"/>
+ <xs:element name="skatgames">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="game"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="game">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="dealer"/>
+ <xs:element ref="forehand"/>
+ <xs:element ref="middlehand"/>
+ <xs:element ref="hindhand"/>
+ <xs:element ref="dealing"/>
+ <xs:element ref="bidding"/>
+ <xs:element ref="discarding"/>
+ <xs:element ref="announcement"/>
+ <xs:element ref="playing"/>
+ <xs:element ref="gameresult"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dealer">
+ <xs:complexType>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dealing">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="dealtcards"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dealtcards">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playercards"/>
+ <xs:element ref="skat"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bidding">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="bid"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bid">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="caller"/>
+ <xs:element minOccurs="0" ref="holder"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="caller">
+ <xs:complexType>
+ <xs:attribute name="call" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="holder">
+ <xs:complexType>
+ <xs:attribute name="call" use="required" type="xs:NCName"/>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="discarding">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="playercards"/>
+ <xs:element ref="skat"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="playing">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tricks"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="tricks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="trick"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="trick">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="forehand"/>
+ <xs:element ref="middlehand"/>
+ <xs:element ref="hindhand"/>
+ <xs:element ref="trickwinner"/>
+ <xs:element ref="playerpoints"/>
+ <xs:element ref="opponentpoints"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="trickwinner">
+ <xs:complexType>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="gameresult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="playerpoints"/>
+ <xs:element ref="opponentpoints"/>
+ <xs:element ref="won"/>
+ <xs:element ref="schneider"/>
+ <xs:element ref="schwarz"/>
+ <xs:element ref="gamevalue"/>
+ <xs:element ref="gamescores"/>
+ <xs:element ref="tournamentscores"/>
+ <xs:element ref="bierlachsscores"/>
+ <xs:element ref="bock"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="won" type="xs:boolean"/>
+ <xs:element name="schneider" type="xs:boolean"/>
+ <xs:element name="schwarz" type="xs:boolean"/>
+ <xs:element name="gamevalue" type="xs:integer"/>
+ <xs:element name="gamescores">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playerscore"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="tournamentscores">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playerscore"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bierlachsscores">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playerscore"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="bockevent"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bockevent">
+ <xs:complexType>
+ <xs:attribute name="reason" use="required" type="xs:NMTOKEN"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="seriesresult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="playerresult"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="playerresult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="gamescore"/>
+ <xs:element ref="tournamentscore"/>
+ <xs:element ref="bierlachsscore"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="gamescore" type="xs:integer"/>
+ <xs:element name="tournamentscore" type="xs:integer"/>
+ <xs:element name="bierlachsscore" type="xs:integer"/>
+ <xs:element name="forehand">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="card"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="middlehand">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="card"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="hindhand">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="card"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="playercards">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="card"/>
+ </xs:sequence>
+ <xs:attribute name="playerid" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="skat">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="card"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="announcement">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="announcement"/>
+ </xs:sequence>
+ <xs:attribute name="game" type="xs:NCName"/>
+ <xs:attribute name="hand" type="xs:boolean"/>
+ <xs:attribute name="ouvert" type="xs:boolean"/>
+ <xs:attribute name="playerid" type="xs:integer"/>
+ <xs:attribute name="schneider" type="xs:boolean"/>
+ <xs:attribute name="schwarz" type="xs:boolean"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="playerpoints" type="xs:integer"/>
+ <xs:element name="opponentpoints" type="xs:integer"/>
+ <xs:element name="playerscore">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:integer">
+ <xs:attribute name="id" use="required" type="xs:integer"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="card">
+ <xs:complexType>
+ <xs:attribute name="rank" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="suit" use="required" type="xs:NCName"/>
+ </xs:complexType>
+ </xs:element>
+
+
+</xs:schema> </source>
</pre>
</div>Aquileo | SkatML modified by Jan Schäfer2014-06-15T16:02:00.911000Z2014-06-15T16:02:00.911000ZJan Schäferhttps://sourceforge.net/u/jansch/https://sourceforge.net1043b777b99e67dd17ddc62fdbeee51baaf907c3<div class="markdown_content"><pre>--- v2
+++ v3
@@ -1,312 +1,3 @@
## XML-Schema
-<source lang="xml"> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-
- <xs:element name="skattable">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="skatseries"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- <xs:attribute name="name" use="required" type="xs:NCName"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="skatseries">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="skatplayer"/>
- <xs:element ref="numberofrounds"/>
- <xs:element ref="skatrules"/>
- <xs:element ref="skatgames"/>
- <xs:element ref="seriesresult"/>
- </xs:sequence>
- <xs:attribute name="active" use="required" type="xs:boolean"/>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="skatplayer">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="player"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="player">
- <xs:complexType>
- <xs:sequence minOccurs="0">
- <xs:element ref="name"/>
- <xs:element ref="class"/>
- <xs:element ref="strength"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="name" type="xs:NCName"/>
- <xs:element name="class" type="xs:NCName"/>
- <xs:element name="strength" type="xs:integer"/>
- <xs:element name="numberofrounds" type="xs:integer"/>
- <xs:element name="skatrules">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="isparules"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="isparules" type="xs:boolean"/>
- <xs:element name="skatgames">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="game"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="game">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="dealer"/>
- <xs:element ref="forehand"/>
- <xs:element ref="middlehand"/>
- <xs:element ref="hindhand"/>
- <xs:element ref="dealing"/>
- <xs:element ref="bidding"/>
- <xs:element ref="discarding"/>
- <xs:element ref="announcement"/>
- <xs:element ref="playing"/>
- <xs:element ref="gameresult"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="dealer">
- <xs:complexType>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="dealing">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="dealtcards"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="dealtcards">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playercards"/>
- <xs:element ref="skat"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bidding">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="bid"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bid">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="caller"/>
- <xs:element minOccurs="0" ref="holder"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="caller">
- <xs:complexType>
- <xs:attribute name="call" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="holder">
- <xs:complexType>
- <xs:attribute name="call" use="required" type="xs:NCName"/>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="discarding">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="playercards"/>
- <xs:element ref="skat"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="playing">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="tricks"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="tricks">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="trick"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="trick">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="forehand"/>
- <xs:element ref="middlehand"/>
- <xs:element ref="hindhand"/>
- <xs:element ref="trickwinner"/>
- <xs:element ref="playerpoints"/>
- <xs:element ref="opponentpoints"/>
- </xs:sequence>
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="trickwinner">
- <xs:complexType>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="gameresult">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="playerpoints"/>
- <xs:element ref="opponentpoints"/>
- <xs:element ref="won"/>
- <xs:element ref="schneider"/>
- <xs:element ref="schwarz"/>
- <xs:element ref="gamevalue"/>
- <xs:element ref="gamescores"/>
- <xs:element ref="tournamentscores"/>
- <xs:element ref="bierlachsscores"/>
- <xs:element ref="bock"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="won" type="xs:boolean"/>
- <xs:element name="schneider" type="xs:boolean"/>
- <xs:element name="schwarz" type="xs:boolean"/>
- <xs:element name="gamevalue" type="xs:integer"/>
- <xs:element name="gamescores">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playerscore"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="tournamentscores">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playerscore"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bierlachsscores">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playerscore"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bock">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="bockevent"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="bockevent">
- <xs:complexType>
- <xs:attribute name="reason" use="required" type="xs:NMTOKEN"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="seriesresult">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="playerresult"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="playerresult">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="gamescore"/>
- <xs:element ref="tournamentscore"/>
- <xs:element ref="bierlachsscore"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="gamescore" type="xs:integer"/>
- <xs:element name="tournamentscore" type="xs:integer"/>
- <xs:element name="bierlachsscore" type="xs:integer"/>
- <xs:element name="forehand">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="card"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="middlehand">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="card"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="hindhand">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="card"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="playercards">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="card"/>
- </xs:sequence>
- <xs:attribute name="playerid" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="skat">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="card"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="announcement">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="announcement"/>
- </xs:sequence>
- <xs:attribute name="game" type="xs:NCName"/>
- <xs:attribute name="hand" type="xs:boolean"/>
- <xs:attribute name="ouvert" type="xs:boolean"/>
- <xs:attribute name="playerid" type="xs:integer"/>
- <xs:attribute name="schneider" type="xs:boolean"/>
- <xs:attribute name="schwarz" type="xs:boolean"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="playerpoints" type="xs:integer"/>
- <xs:element name="opponentpoints" type="xs:integer"/>
- <xs:element name="playerscore">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:integer">
- <xs:attribute name="id" use="required" type="xs:integer"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="card">
- <xs:complexType>
- <xs:attribute name="rank" use="required" type="xs:NMTOKEN"/>
- <xs:attribute name="suit" use="required" type="xs:NCName"/>
- </xs:complexType>
- </xs:element>
-
-
-</xs:schema> </source>
+<source lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="skattable"> <xs:complexType> <xs:sequence> <xs:element ref="skatseries"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:integer"/> <xs:attribute name="name" use="required" type="xs:NCName"/> </xs:complexType> </xs:element> <xs:element name="skatseries"> <xs:complexType> <xs:sequence> <xs:element ref="skatplayer"/> <xs:element ref="numberofrounds"/> <xs:element ref="skatrules"/> <xs:element ref="skatgames"/> <xs:element ref="seriesresult"/> </xs:sequence> <xs:attribute name="active" use="required" type="xs:boolean"/> <xs:attribute name="id" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="skatplayer"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="player"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="player"> <xs:complexType> <xs:sequence minOccurs="0"> <xs:element ref="name"/> <xs:element ref="class"/> <xs:element ref="strength"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="name" type="xs:NCName"/> <xs:element name="class" type="xs:NCName"/> <xs:element name="strength" type="xs:integer"/> <xs:element name="numberofrounds" type="xs:integer"/> <xs:element name="skatrules"> <xs:complexType> <xs:sequence> <xs:element ref="isparules"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="isparules" type="xs:boolean"/> <xs:element name="skatgames"> <xs:complexType> <xs:sequence> <xs:element ref="game"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="game"> <xs:complexType> <xs:sequence> <xs:element ref="dealer"/> <xs:element ref="forehand"/> <xs:element ref="middlehand"/> <xs:element ref="hindhand"/> <xs:element ref="dealing"/> <xs:element ref="bidding"/> <xs:element ref="discarding"/> <xs:element ref="announcement"/> <xs:element ref="playing"/> <xs:element ref="gameresult"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="dealer"> <xs:complexType> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="dealing"> <xs:complexType> <xs:sequence> <xs:element ref="dealtcards"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="dealtcards"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="playercards"/> <xs:element ref="skat"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bidding"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="bid"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bid"> <xs:complexType> <xs:sequence> <xs:element ref="caller"/> <xs:element minOccurs="0" ref="holder"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="caller"> <xs:complexType> <xs:attribute name="call" use="required" type="xs:NMTOKEN"/> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="holder"> <xs:complexType> <xs:attribute name="call" use="required" type="xs:NCName"/> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="discarding"> <xs:complexType> <xs:sequence> <xs:element ref="playercards"/> <xs:element ref="skat"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="playing"> <xs:complexType> <xs:sequence> <xs:element ref="tricks"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tricks"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="trick"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="trick"> <xs:complexType> <xs:sequence> <xs:element ref="forehand"/> <xs:element ref="middlehand"/> <xs:element ref="hindhand"/> <xs:element ref="trickwinner"/> <xs:element ref="playerpoints"/> <xs:element ref="opponentpoints"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="trickwinner"> <xs:complexType> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="gameresult"> <xs:complexType> <xs:sequence> <xs:element ref="playerpoints"/> <xs:element ref="opponentpoints"/> <xs:element ref="won"/> <xs:element ref="schneider"/> <xs:element ref="schwarz"/> <xs:element ref="gamevalue"/> <xs:element ref="gamescores"/> <xs:element ref="tournamentscores"/> <xs:element ref="bierlachsscores"/> <xs:element ref="bock"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="won" type="xs:boolean"/> <xs:element name="schneider" type="xs:boolean"/> <xs:element name="schwarz" type="xs:boolean"/> <xs:element name="gamevalue" type="xs:integer"/> <xs:element name="gamescores"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="playerscore"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tournamentscores"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="playerscore"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bierlachsscores"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="playerscore"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bock"> <xs:complexType> <xs:sequence> <xs:element ref="bockevent"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bockevent"> <xs:complexType> <xs:attribute name="reason" use="required" type="xs:NMTOKEN"/> </xs:complexType> </xs:element> <xs:element name="seriesresult"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="playerresult"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="playerresult"> <xs:complexType> <xs:sequence> <xs:element ref="gamescore"/> <xs:element ref="tournamentscore"/> <xs:element ref="bierlachsscore"/> </xs:sequence> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="gamescore" type="xs:integer"/> <xs:element name="tournamentscore" type="xs:integer"/> <xs:element name="bierlachsscore" type="xs:integer"/> <xs:element name="forehand"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" ref="card"/> </xs:sequence> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="middlehand"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" ref="card"/> </xs:sequence> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="hindhand"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" ref="card"/> </xs:sequence> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="playercards"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="card"/> </xs:sequence> <xs:attribute name="playerid" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="skat"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="card"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="announcement"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" ref="announcement"/> </xs:sequence> <xs:attribute name="game" type="xs:NCName"/> <xs:attribute name="hand" type="xs:boolean"/> <xs:attribute name="ouvert" type="xs:boolean"/> <xs:attribute name="playerid" type="xs:integer"/> <xs:attribute name="schneider" type="xs:boolean"/> <xs:attribute name="schwarz" type="xs:boolean"/> </xs:complexType> </xs:element> <xs:element name="playerpoints" type="xs:integer"/> <xs:element name="opponentpoints" type="xs:integer"/> <xs:element name="playerscore"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:integer"> <xs:attribute name="id" use="required" type="xs:integer"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="card"> <xs:complexType> <xs:attribute name="rank" use="required" type="xs:NMTOKEN"/> <xs:attribute name="suit" use="required" type="xs:NCName"/> </xs:complexType> </xs:element> </xs:schema> </source>
</pre>
</div>Aquileo | SkatML modified by Jan Schäfer2014-06-15T16:02:00.742000Z2014-06-15T16:02:00.742000ZJan Schäferhttps://sourceforge.net/u/jansch/https://sourceforge.netfc6c3fabec507227b926e385a30f637d6dc617a5<div class="markdown_content"><pre>--- v1
+++ v2
@@ -1,6 +1,6 @@
## XML-Schema
-{{ApiEx | desc=XML | p1=action=query | p2=titles=Albert%20Einstein | p3=prop=info | p4=format=xmlfm | result=<syntaxhighlight lang="xml"> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+<source lang="xml"> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="skattable">
<xs:complexType>
@@ -309,4 +309,4 @@
</xs:element>
-</xs:schema> }}
+</xs:schema> </source>
</pre>
</div>