KubiTarock für Windows und Android
Schemadefinition der Spieledatei
Dateiformate > Schemadefinition der Spieledatei
<?xml version="1.0" encoding="utf-8"?>
<!-- edited with XMLSpy v2020 (x64) (http://www.altova.com) (c) by Paul Kubitscheck (KubiConsult) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="KubiTarock">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Comment" minOccurs="0" maxOccurs="1"/>
                <xs:element name="GameSettings">
                    <xs:complexType>
                        <xs:attribute name="FixedValatBonusPoints" type="valatBonusType"/>
                        <xs:attribute name="ValatBonusMultiplier" type="valatBonusType"/>
                        <xs:attribute name="MaxQuizQuestionCount" type="maxQuestionsCountType"/>
                        <xs:attribute name="RatingTable" type="xs:string"/>
                        <xs:attribute name="RiskAppetite" type="riskAppetiteType"/>
                        <xs:attribute name="ScoreAbsoluteWinnerMustHave" type="scoreType"/>
                        <xs:attribute name="ScoreWinnerMustHave" type="scoreType"/>
                        <xs:attribute name="ScoreTrischakerMustPayAll" type="scoreType"/>
                        <xs:attribute name="Options" type="xs:string"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="GameState">
                    <xs:complexType>
                        <xs:annotation>
                            <xs:documentation>The attribute QuizQuestionCount is no more used. It is provided for compatibility reasons only.</xs:documentation>
                        </xs:annotation>
                        <xs:sequence>
                            <xs:element name="Declarers" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Declarer" minOccurs="0" maxOccurs="4">
                                            <xs:complexType>
                                                <xs:attribute name="PlayerIndex" type="playerIndexType" use="required"/>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="TalonChosen" type="talonType" minOccurs="0" maxOccurs="1"/>
                            <xs:element name="TalonLeftover" type="talonType" minOccurs="0" maxOccurs="1"/>
                            <xs:element name="ExcludedQuizQuestions" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Question" minOccurs="1" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="Id" type="questionIdType" use="required"/>
                                                <xs:attribute name="CardSuit" type="cardSuitType"/>
                                                <xs:attribute name="CardValue" type="cardRelativeValueType"/>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                        <xs:attribute name="Status" type="gameStatusType"/>
                        <xs:attribute name="IsQuizMode" type="booleanType"/>
                        <xs:attribute name="ActivePlayerIndex" type="playerIndexType"/>
                        <xs:attribute name="CalleePlayerIndex" type="playerIndexType"/>
                        <xs:attribute name="DealingPlayerIndex" type="playerIndexType"/>
                        <xs:attribute name="FirstPlayerIndex" type="playerIndexType"/>
                        <xs:attribute name="HighestBidderIndex" type="playerIndexType"/>
                        <xs:attribute name="AnnouncementsCounter" type="xs:unsignedByte"/>
                        <xs:attribute name="CalleeSearchCount" type="xs:unsignedByte"/>
                        <xs:attribute name="CalleeVisibilityCounter" type="xs:unsignedByte"/>
                        <xs:attribute name="OuvertStatus" type="ouvertStatusType"/>
                        <xs:attribute name="QuizQuestionsCount" type="xs:unsignedByte"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="TableSet" minOccurs="1" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Card" type="cardType" minOccurs="0" maxOccurs="4"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="TalonStack" minOccurs="1" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Card" type="cardType" minOccurs="0" maxOccurs="6"/>
                        </xs:sequence>
                        <xs:attribute name="Offset" type="talonCardsCountType"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="DeckStack" minOccurs="1" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Card" type="cardType" minOccurs="0" maxOccurs="54"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="GamePlayer" minOccurs="4" maxOccurs="4">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="HandStack">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Card" type="cardType" minOccurs="0" maxOccurs="18"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="TricksStack">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Card" type="cardType" minOccurs="0" maxOccurs="54"/>
                                    </xs:sequence>
                                    <xs:attribute name="TalonCardsCount" type="talonCardsCountType"/>
                                    <xs:attribute name="TalonTarockCardsCount" type="talonCardsCountType"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                        <xs:attribute name="ActionStatus" type="actionStatusType"/>
                        <xs:attribute name="Announcements" type="xs:string"/>
                        <xs:attribute name="AnnouncementsAck" type="xs:string"/>
                        <xs:attribute name="Bidding" type="biddingType"/>
                        <xs:attribute name="CalledKing" type="cardSuitType"/>
                        <xs:attribute name="CurrentUserKey" type="xs:string"/>
                        <xs:attribute name="IsForthKingCalled" type="booleanType"/>
                        <xs:attribute name="HasBidden" type="xs:string"/>
                        <xs:attribute name="RoleFlags" type="roleFlagsType"/>
                        <xs:attribute name="TricksCount" type="xs:unsignedByte"/>
                        <xs:attribute name="TricksValue" type="xs:unsignedByte"/>
                        <xs:attribute name="CurrentScore" type="xs:decimal"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="GameScore" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="ScoreItems">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="ScoreItem" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:choice>
                                                    <xs:element name="PositiveGameScore">
                                                        <xs:complexType>
                                                            <xs:complexContent>
                                                                <xs:extension base="scoreItemType">
                                                                    <xs:sequence>
                                                                        <xs:element name="ScoreItem" type="scoreItemType" minOccurs="0" maxOccurs="unbounded"/>
                                                                    </xs:sequence>
                                                                    <xs:attribute name="LostFactor" type="xs:negativeInteger"/>
                                                                    <xs:attribute name="SoloFactor" type="xs:positiveInteger"/>
                                                                    <xs:attribute name="IsValat" type="itemFlagType"/>
                                                                </xs:extension>
                                                            </xs:complexContent>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="NegativeGameScore">
                                                        <xs:complexType>
                                                            <xs:complexContent>
                                                                <xs:extension base="scoreItemType">
                                                                    <xs:sequence>
                                                                        <xs:element name="Opponent" minOccurs="1" maxOccurs="3">
                                                                            <xs:complexType>
                                                                                <xs:attribute name="PlayerIndex" type="playerIndexType"/>
                                                                            </xs:complexType>
                                                                        </xs:element>
                                                                    </xs:sequence>
                                                                    <xs:attribute name="DeclarerIndex" type="playerIndexType"/>
                                                                </xs:extension>
                                                            </xs:complexContent>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="TrischakenScore">
                                                        <xs:complexType>
                                                            <xs:complexContent>
                                                                <xs:extension base="scoreItemType">
                                                                    <xs:sequence>
                                                                        <xs:element name="Player" minOccurs="4" maxOccurs="4">
                                                                            <xs:complexType>
                                                                                <xs:attribute name="Bill" type="xs:decimal"/>
                                                                            </xs:complexType>
                                                                        </xs:element>
                                                                    </xs:sequence>
                                                                </xs:extension>
                                                            </xs:complexContent>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:choice>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="TricksTaken">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Trick" minOccurs="0" maxOccurs="12">
                                            <xs:complexType>
                                                <xs:attribute name="TakerIndex" type="playerIndexType" use="required"/>
                                                <xs:attribute name="LeaderIndex" type="playerIndexType" use="required"/>
                                                <xs:attribute name="StackIndex" type="xs:unsignedByte" use="required"/>
                                                <xs:attribute name="Count" type="xs:unsignedByte"/>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="StatDataList" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="StatData" minOccurs="1" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="Game" type="biddingType"/>
                                                <xs:attribute name="Role" type="xs:string"/>
                                                <xs:attribute name="Points" type="xs:decimal"/>
                                                <xs:attribute name="Target" type="xs:decimal"/>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                        <xs:attribute name="BookedAs" type="xs:string"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="UndoStack" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Command" type="commandType" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="RedoStack" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Command" type="commandType" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="AppVersion" type="xs:string"/>
        </xs:complexType>
    </xs:element>
    <xs:simpleType name="actionStatusType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Undefined"/>
            <xs:enumeration value="Standby"/>
            <xs:enumeration value="GameEditor"/>
            <xs:enumeration value="CardDealer"/>
            <xs:enumeration value="Forehand"/>
            <xs:enumeration value="Bidder"/>
            <xs:enumeration value="ForehandBidder"/>
            <xs:enumeration value="NegativeBidder"/>
            <xs:enumeration value="Caller"/>
            <xs:enumeration value="HalfTalonChooser"/>
            <xs:enumeration value="HalfTalonTaker"/>
            <xs:enumeration value="FullTalonTaker"/>
            <xs:enumeration value="CardDepositor"/>
            <xs:enumeration value="PositiveAnnouncer"/>
            <xs:enumeration value="NegativeAnnouncer"/>
            <xs:enumeration value="CardLeader"/>
            <xs:enumeration value="QuizQuestion"/>
            <xs:enumeration value="TrickTaker"/>
            <xs:enumeration value="TrickImposer"/>
            <xs:enumeration value="GameScorer"/>
            <xs:enumeration value="GameScorerTalonView"/>
            <xs:enumeration value="GameCloser"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="activatePlayerCommandType">
        <xs:attribute name="NextPlayerIndex" type="playerIndexType" use="required"/>
        <xs:attribute name="NewStatus" type="actionStatusType" use="required"/>
        <xs:attribute name="OldStatus" type="actionStatusType" use="required"/>
        <xs:attribute name="PreviousPlayerIndex" type="playerIndexType" use="required"/>
        <xs:attribute name="PreviousPlayerStatus" type="actionStatusType" use="required"/>
    </xs:complexType>
    <xs:simpleType name="biddingType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Undeclared"/>
            <xs:enumeration value="Pass"/>
            <xs:enumeration value="Forehand"/>
            <xs:enumeration value="Trischaken"/>
            <xs:enumeration value="KoenigRufer"/>
            <xs:enumeration value="SechserDreier"/>
            <xs:enumeration value="Zwiccolo"/>
            <xs:enumeration value="Piccolo"/>
            <xs:enumeration value="SoloRufer"/>
            <xs:enumeration value="BesserRufer"/>
            <xs:enumeration value="Bettler"/>
            <xs:enumeration value="FarbenDreier"/>
            <xs:enumeration value="Dreier"/>
            <xs:enumeration value="ZwiccoloOuvert"/>
            <xs:enumeration value="PiccoloOuvert"/>
            <xs:enumeration value="BettlerOuvert"/>
            <xs:enumeration value="SoloFarbenDreier"/>
            <xs:enumeration value="SoloDreier"/>
            <xs:enumeration value="PagatRufer"/>
            <xs:enumeration value="UhuRufer"/>
            <xs:enumeration value="PelikanRufer"/>
            <xs:enumeration value="QuapilRufer"/>
            <xs:enumeration value="Triccolo"/>
            <xs:enumeration value="TriccoloOuvert"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="booleanType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="true"/>
            <xs:enumeration value="false"/>
            <xs:enumeration value="True"/>
            <xs:enumeration value="False"/>
            <xs:enumeration value="0"/>
            <xs:enumeration value="1"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="cardNameType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Empty"/>
            <xs:enumeration value="I"/>
            <xs:enumeration value="II"/>
            <xs:enumeration value="III"/>
            <xs:enumeration value="IIII"/>
            <xs:enumeration value="V"/>
            <xs:enumeration value="VI"/>
            <xs:enumeration value="VII"/>
            <xs:enumeration value="VIII"/>
            <xs:enumeration value="IX"/>
            <xs:enumeration value="X"/>
            <xs:enumeration value="XI"/>
            <xs:enumeration value="XII"/>
            <xs:enumeration value="XIII"/>
            <xs:enumeration value="XIV"/>
            <xs:enumeration value="XV"/>
            <xs:enumeration value="XVI"/>
            <xs:enumeration value="XVII"/>
            <xs:enumeration value="XVIII"/>
            <xs:enumeration value="XIX"/>
            <xs:enumeration value="XX"/>
            <xs:enumeration value="XXI"/>
            <xs:enumeration value="XXII"/>
            <xs:enumeration value="ClubsSeven"/>
            <xs:enumeration value="ClubsEight"/>
            <xs:enumeration value="ClubsNine"/>
            <xs:enumeration value="ClubsTen"/>
            <xs:enumeration value="ClubsJack"/>
            <xs:enumeration value="ClubsKnight"/>
            <xs:enumeration value="ClubsQueen"/>
            <xs:enumeration value="ClubsKing"/>
            <xs:enumeration value="DiamondsAce"/>
            <xs:enumeration value="DiamondsTwo"/>
            <xs:enumeration value="DiamondsThree"/>
            <xs:enumeration value="DiamondsFour"/>
            <xs:enumeration value="DiamondsJack"/>
            <xs:enumeration value="DiamondsKnight"/>
            <xs:enumeration value="DiamondsQueen"/>
            <xs:enumeration value="DiamondsKing"/>
            <xs:enumeration value="HeartsAce"/>
            <xs:enumeration value="HeartsTwo"/>
            <xs:enumeration value="HeartsThree"/>
            <xs:enumeration value="HeartsFour"/>
            <xs:enumeration value="HeartsJack"/>
            <xs:enumeration value="HeartsKnight"/>
            <xs:enumeration value="HeartsQueen"/>
            <xs:enumeration value="HeartsKing"/>
            <xs:enumeration value="SpadesSeven"/>
            <xs:enumeration value="SpadesEight"/>
            <xs:enumeration value="SpadesNine"/>
            <xs:enumeration value="SpadesTen"/>
            <xs:enumeration value="SpadesJack"/>
            <xs:enumeration value="SpadesKnight"/>
            <xs:enumeration value="SpadesQueen"/>
            <xs:enumeration value="SpadesKing"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="cardRelativeValueType">
        <xs:restriction base="xs:int">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="22"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="cardSuitType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Empty"/>
            <xs:enumeration value="Tarock"/>
            <xs:enumeration value="Clubs"/>
            <xs:enumeration value="Diamonds"/>
            <xs:enumeration value="Hearts"/>
            <xs:enumeration value="Spades"/>
            <xs:enumeration value="Unknown"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="cardType">
        <xs:attribute name="Name" type="cardNameType" use="required"/>
        <xs:attribute name="FaceDown" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="commandType">
        <xs:choice>
            <xs:element name="ActivateBidWinnerCommand">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="activatePlayerCommandType">
                            <xs:attribute name="BidWinnerIndex" type="playerIndexType"/>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <xs:element name="ActivateForehandCommand" type="activatePlayerCommandType"/>
            <xs:element name="ActivatePlayerCommand" type="activatePlayerCommandType"/>
            <xs:element name="AutoFinishCommand"/>
            <xs:element name="BookScoreToUsersCommand">
                <xs:complexType>
                    <xs:attribute name="GameCloserIndex" type="playerIndexType" use="required"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="ChangeAnnouncementsCommand">
                <xs:complexType>
                    <xs:attribute name="NewAnnouncements" type="xs:string" use="required"/>
                    <xs:attribute name="OldAnnouncements" type="xs:string" use="required"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="ChangeBiddingCommand">
                <xs:complexType>
                    <xs:attribute name="NewBidding" type="biddingType" use="required"/>
                    <xs:attribute name="OldBidding" type="biddingType" use="required"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="ChangeCalledSuitCommand">
                <xs:complexType>
                    <xs:attribute name="NewSuit" type="cardSuitType" use="required"/>
                    <xs:attribute name="OldSuit" type="cardSuitType" use="required"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="ChangeRoleFlagsCommand">
                <xs:complexType>
                    <xs:attribute name="NewRoleFlags" type="roleFlagsType" use="required"/>
                    <xs:attribute name="OldRoleFlags" type="roleFlagsType" use="required"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="CloseGameCommand"/>
            <xs:element name="DealPlayerTripleCommand">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Card" type="cardType" minOccurs="3" maxOccurs="3"/>
                    </xs:sequence>
                    <xs:attribute name="PlayerIndex" type="playerIndexType"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="DealTalonTripleCommand">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Card" type="cardType" minOccurs="3" maxOccurs="3"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="DepositCardCommand">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="playerCommandType">
                            <xs:attribute name="SourceCardIndex" type="xs:unsignedByte"/>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <xs:element name="ExchangeCard1StepCommand" type="exchangeCardCommandType"/>
            <xs:element name="ExchangeCard2StepCommand" type="exchangeCardCommandType"/>
            <xs:element name="FlipTopTalonCardCommand"/>
            <xs:element name="ImposeCardCommand" type="playerCommandType"/>
            <xs:element name="LeadCardCommand">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="playerCommandType">
                            <xs:attribute name="SourceCardIndex" type="xs:unsignedByte"/>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <xs:element name="QuitGameCommand"/>
            <xs:element name="QuizQuestionCommand">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="activatePlayerCommandType">
                            <xs:sequence>
                                <xs:element name="Choice" minOccurs="2" maxOccurs="10">
                                    <xs:complexType>
                                        <xs:attribute name="Value" type="xs:unsignedByte" use="required"/>
                                        <xs:attribute name="Points" type="xs:unsignedByte" use="required"/>
                                    </xs:complexType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute name="Id" type="questionIdType" use="required"/>
                            <xs:attribute name="No" type="xs:unsignedByte" use="required"/>
                            <xs:attribute name="CardSuit" type="cardSuitType"/>
                            <xs:attribute name="CardValue" type="cardRelativeValueType"/>
                            <xs:attribute name="Match" type="xs:unsignedByte"/>
                            <xs:attribute name="Answer" type="xs:unsignedByte"/>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <xs:element name="ScoreGameCommand"/>
            <xs:element name="StartCardDealingCommand">
                <xs:complexType>
                    <xs:attribute name="SuppressNormalExecution" type="booleanType" use="required"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="TakeTalonCommand">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Card" type="cardType" minOccurs="3" maxOccurs="6"/>
                    </xs:sequence>
                    <xs:attribute name="PlayerIndex" type="playerIndexType"/>
                    <xs:attribute name="Package" type="talonPackageType"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="TakeTrickCommand">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Card" type="cardType" minOccurs="4" maxOccurs="4"/>
                    </xs:sequence>
                    <xs:attribute name="PlayerIndex" type="playerIndexType"/>
                    <xs:attribute name="LeaderIndex" type="playerIndexType"/>
                </xs:complexType>
            </xs:element>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="exchangeCardCommandType">
        <xs:sequence>
            <xs:element name="Card" type="cardType" minOccurs="2" maxOccurs="2"/>
        </xs:sequence>
        <xs:attribute name="SourceIndex" type="xs:unsignedByte" use="required"/>
        <xs:attribute name="SourceCardIndex" type="xs:unsignedByte" use="required"/>
        <xs:attribute name="TargetIndex" type="xs:unsignedByte" use="required"/>
        <xs:attribute name="TargetCardIndex" type="xs:unsignedByte" use="required"/>
    </xs:complexType>
    <xs:simpleType name="valatBonusType">
        <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="10"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="gameStatusType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Editing"/>
            <xs:enumeration value="Dealing"/>
            <xs:enumeration value="Bidding"/>
            <xs:enumeration value="Calling"/>
            <xs:enumeration value="HalfTalonTaking"/>
            <xs:enumeration value="FullTalonTaking"/>
            <xs:enumeration value="Depositing"/>
            <xs:enumeration value="Announcing"/>
            <xs:enumeration value="NegativeAnnouncing"/>
            <xs:enumeration value="Playing"/>
            <xs:enumeration value="Scoring"/>
            <xs:enumeration value="Closing"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="itemFlagType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="No"/>
            <xs:enumeration value="Yes"/>
            <xs:enumeration value="Back"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="mapType">
        <xs:restriction base="xs:string">
            <xs:pattern value="#[0-9a-fA-F]{1,6}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="maxQuestionsCountType">
        <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="10"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ouvertStatusType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="None"/>
            <xs:enumeration value="Closed"/>
            <xs:enumeration value="Opened"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="playerCommandType">
        <xs:sequence>
            <xs:element name="Card" type="cardType" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="PlayerIndex" type="playerIndexType"/>
    </xs:complexType>
    <xs:simpleType name="playerIndexType">
        <xs:restriction base="xs:int">
            <xs:minInclusive value="-1"/>
            <xs:maxInclusive value="3"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="questionIdType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="NoQuestion"/>
            <xs:enumeration value="CardsOutstandingCount"/>
            <xs:enumeration value="CardsPlayedCount"/>
            <xs:enumeration value="CardsUnplayedCount"/>
            <xs:enumeration value="ColorsPlayedCount"/>
            <xs:enumeration value="ColorsUnplayedCount"/>
            <xs:enumeration value="FollowersHavingSuitCount"/>
            <xs:enumeration value="HighestOutstandingCard"/>
            <xs:enumeration value="HighestPlayedCard"/>
            <xs:enumeration value="IsCardOutstanding"/>
            <xs:enumeration value="IsCardPlayedAlready"/>
            <xs:enumeration value="LowestOutstandingCard"/>
            <xs:enumeration value="LowestPlayedCard"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="riskAppetiteType">
        <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0.5"/>
            <xs:maxInclusive value="1.5"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="roleFlagsType">
        <xs:restriction base="xs:string">
            <xs:pattern value="#[0-9a-fA-F]{1,8}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="scoreItemType">
        <xs:attribute name="Key" type="xs:string" use="required"/>
        <xs:attribute name="IsAnnounced" type="itemFlagType"/>
        <xs:attribute name="IsContra" type="itemFlagType"/>
        <xs:attribute name="IsLost" type="itemFlagType"/>
        <xs:attribute name="Points"/>
    </xs:complexType>
    <xs:simpleType name="scoreType">
        <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="54"/>
            <xs:maxInclusive value="107"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="talonCardsCountType">
        <xs:restriction base="xs:unsignedByte">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="6"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="talonPackageType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="All"/>
            <xs:enumeration value="FirstHalf"/>
            <xs:enumeration value="SecondHalf"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="talonType">
        <xs:attribute name="TarockMap" type="mapType"/>
        <xs:attribute name="ClubsMap" type="mapType"/>
        <xs:attribute name="DiamondsMap" type="mapType"/>
        <xs:attribute name="HeartsMap" type="mapType"/>
        <xs:attribute name="SpadesMap" type="mapType"/>
    </xs:complexType>
</xs:schema>