HOME XML-SCHEMA XML-EXAMPLES CHESS VARIANTS FBR MBN ANCP FAQ RESOURCES ABOUT

CIF - Archive Information


The info element provides detailed information about the content of the archive.

<xs:complexType name="ArchiveInfo"> <xs:all> <xs:element name="version" type="Version"/> <xs:element name="creator" type="Signature"/> <xs:element name="modifiedby" type="Signature" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="signature" type="Signature" minOccurs="0" maxOccurs="1"/> <xs:element name="author" type="Token" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="created" type="Timestamp"/> <xs:element name="modified" type="Timestamp" minOccurs="0"/> <xs:element name="source" type="xs:anyURI" minOccurs="0"/> <xs:element name="content" type="Content"/> <xs:element name="description" type="DescriptionList" minOccurs="0"/> <xs:element name="tag" type="Tag" minOccurs="0" maxOccurs="unbounded"/> </xs:all> <xs:attribute name="readonly" type="xs:boolean" default="false"/> <xs:attribute name="private" type="xs:boolean" default="false"/> <xs:attribute name="request" type="xs:string" default=""/> </xs:complexType> <xs:complexType name="DescriptionList"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="text" type="Comment"/> </xs:choice> </xs:complexType> <xs:simpleType name="Version"> <xs:simpleContent> <xs:restriction base="xs:string"> <xs:enumeration value="1.0"/> </xs:restriction> </xs:simpleContent> </xs:simpleType>

The archive version will be specified by two concatenated integers, the major version, and the minor version. Currently only version "1.0" is specified.

  • creator contains the name of the application which has created this archive.

  • modifiedby contains the name of the application which has modified this archive.

  • signature contains the default owner of all games inside this archive.

  • author contains the name of the human who has created this archive.

  • created is the initial timestamp of the creation.

  • modified is the last modification timestamp. This element must not exist if the archive is never modified after it is created.

  • source contains the source/location of this archive.

  • content gives some information about the containing games and documents (see below).

  • description contains language dependent comments about the content of the archive.

  • If readonly is set to true then the archive is not intended to be modified, for example a backup archive. This flag is not useless, e.g. the file rights may not be preserved if downloaded from the Internet.
  • If private is set to true then it is intended that no one else than the creator should modify this archive.
  • the optional attribute request may contain any request identifier, if this archive contains the result of a request.
<xs:complexType name="Content"> <xs:choice> <xs:element name="count" type="CountNamebase" minOccurs="1" maxOccurs="1"/> <xs:element name="count" type="CountIndex" minOccurs="0" maxOccurs="1"/> <xs:element name="count" type="CountGames" minOccurs="1" maxOccurs="1"/> <xs:element name="count" type="CountDocuments" minOccurs="0" maxOccurs="1"/> <xs:element name="count" type="CountClean" minOccurs="0" maxOccurs="1"/> <xs:element name="count" type="CountInvalidPosition" minOccurs="0" maxOccurs="1"/> <xs:element name="count" type="CountAnnotated" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="count" type="CountRecursive" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="count" type="CountGameLink" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="count" type="CountMoveStyle" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="count" type="CountType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="count" type="CountVariant" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="count" type="CountBoardSize" minOccurs="0" maxOccurs="unbounded"/> </xs:choice> </xs:complexType> <xs:complexType name="CountNamebase"> <xs:simpleContent> <xs:extension base="xs:positiveInteger"> <xs:attribute name="type" type="xs:string" fixed="namebase"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="CountIndex"> <xs:simpleContent> <xs:extension base="xs:positiveInteger"> <xs:attribute name="type" type="xs:string" fixed="index"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="CountGames"> <xs:simpleContent> <xs:extension base="xs:positiveInteger"> <xs:attribute name="type" type="xs:string" fixed="game"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="CountDocuments"> <xs:simpleContent> <xs:extension base="xs:positiveInteger"> <xs:attribute name="type" type="xs:string" fixed="document"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="CountClean"> <xs:simpleContent> <xs:extension base="xs:positiveInteger"> <xs:attribute name="type" type="xs:string" fixed="clean"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="CountInvalidPosition"> <xs:simpleContent> <xs:extension base="xs:positiveInteger"> <xs:attribute name="type" type="xs:string" fixed="invalidposition"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="CountType"> <xs:simpleContent> <xs:extension base="xs:positiveInteger"> <xs:attribute name="type"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="nullmove"/> <xs:enumeration value="invalidmove"/> <xs:enumeration value="illegalmove"/> <xs:enumeration value="handicapcastling"/> <xs:enumeration value="mirroredcastling"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="CountAnnotated"> <xs:simpleContent> <xs:extension base="xs:positiveInteger"> <xs:attribute name="type" type="xs:string" fixed="annotated"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="CountRecursive"> <xs:simpleContent> <xs:extension base="xs:positiveInteger"> <xs:attribute name="type" type="xs:string" fixed="recursive"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="CountGameLink"> <xs:simpleContent> <xs:extension base="xs:positiveInteger"> <xs:attribute name="type" type="xs:string" fixed="gamelink"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="CountMoveStyle"> <xs:simpleContent> <xs:extension base="xs:positiveInteger"> <xs:attribute name="type" type="xs:string" fixed="movestyle"/> </xs:extension> </xs:simpleContent> </xs:complexType>
  • <count type="game"> is the total number of games inside this archive. Regard that in case of Tandem chess the pairings will be counted as one game, because the pairings will also be stored in one game. This element is mandatory.

  • <count type="index"> is the total number of games listed in index section of type listing. Listings are useful for search results.

  • <count type="clean"> is the number of games not counted under: invalidposition, nullmove, invalidmove, illegalmove, handicapcastling, mirroredcastling.

  • <count type="document"> is the total number of documents inside the root element cif (obligatory).

  • <count type="invalidposition"> is the number of games starting with an invalid position (obligatory).

  • <count type="nullmove"> is the number of games containing a null move inside the main line. A null move will be counted as illegal if the king of the side to move is in check. This element must not exist if no game with a null move inside the main line exists.

  • <count type="invalidmove"> is the number of games containing an invalid move inside the main line. Note: an invalid move will not be counted as illegal. This element must not exist if no game with an invalid move inside the main line exists.

    A move is invalid if it does not fit the standard chess rules, but only if not one of the following conditions holds:

    • It is counted as an illegal move (see illegalmove).
    • It is counted as a handicap castling (see handicapcastling).
    • It is counted as a mirrored castling (see mirroredcastling).

    Example: Moving a knight from b1 to b3 is an invalid move. (This may happen in children's chess games. Database application Scidb is supporting children's chess.).

  • <count type="illegalmove"> is the number of games containing an illegal move inside the main line. Note: an illegal move will not be counted as invalid. This element must not exist if no game with an illegal move inside the main line exists. A move is illegal if:

    1. After the move the king of the side not to move is in check.
    2. The castling is illegal because the king is in check, or is moving over an attacked square, or does not have this castling right.

    This element must not exist if no game with an illegal move exists.

  • <count type="handicapcastling"> is the number of games containing a castling move without an associated rook inside the main line; this can only happen in handicap games. This element must not exist if no game with such a handicap castling exists.

    Example: White has given the rook on a1 as a handicap, but the opponents agreed that the castling on the queenside is still allowed even without the rook on a1.

    Note that a handicap castling is neither counted as invalid, nor is it counted as illegal.

  • <count type="mirroredcastling"> is the number of games containing a mirrored castling move inside the main line; this can happen in wild/0 and wild/1 variants (FICS). A castling is mirrored if the king is on the d file, and is castling by moving two steps towards the rook. This element must not exist if no game with such a mirrored castling exists.

    Note that a mirrored castling is neither counted as invalid, nor is it counted as illegal.

  • <count type="annotated"> is the number of annotated games.

  • <count type="recursive"> is the number of games containing sub-variations.

  • <count type="links"> is the number of games containing game links.

Here information about the occurrence of chess variants will be provided. For every variant used inside this archive, a count of the games assigned to the specific variant is given. Regard that in case of variant Bughouse the pairings will be counted as one game, because the pairings will also be stored in one game.

<xs:complexType name="CountBoardSize"> <xs:simpleContent> <xs:extension base="xs:positiveInteger"> <xs:attribute name="boardsize" type="BoardSize"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:schema>

For each board size used in this archive the number of games with a specific board size will be counted. The information about the number of games with standard board size (8x8) will be always given, even if the count is zero. For all other board sizes only the board sizes with a non-zero count will be provided.



Google translation

Share this page

C/CIF at Sourceforge

C/CIF at Sourceforge

C/CIF at Launchpad

C/CIF at Launchpad