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

CIF - Move Information


Now tables containing comma-separated lists of specific move information will be defined. The first item in this list belongs to the first ply in the main line, the second item in the list belongs to the second ply in the main line, and so on. It is allowed that a list contains empty items – this means no information available for this ply. A list cannot have more items than plies in the main line. Move information for moves inside a sub-variation must be given inside the move section.

<xs:complexType name="MoveInfo"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="table" type="MoveInfoTableEval"/> <xs:element name="table" type="MoveInfoTableClock"/> <xs:element name="table" type="MoveInfoTableMilliOrCentiSeconds"/> <xs:element name="table" type="MoveInfoTableSent"/> </xs:choice> </xs:complexType> <xs:complexType name="MoveInfoTableEval"> <xs:simpleContent> <xs:extension base="MoveInfoDataEval"> <xs:attribute name="content" type="xs:string" fixed="evaluation"/> <xs:attribute name="engine" type="xs:nonNegativeInteger" use="optional"/> </xs:extension> </xs:simpleContent> </xs:complexType>

The optional attribute engine is a reference to an engine defined in the data section of the game. The referenced engine is the source of this move evaluation.

<xs:simpleType name="MoveInfoDataEval"> <xs:restriction base="xs:string"> <xs:pattern value="([+-][0-9]+(:[0-9]+)?(#[0-9]+)?)(,\s*[+-][0-9]*(:[0-9]+)?(#[0-9]+)?)*"/> </xs:restriction> </xs:simpleType>

This comma-separated list of evaulation scores for each main line move may contain empty slots. An evaluation score can be followed by a depth information, delimited with a colon. Also a trailing computation time (im centi-seconds) is possible, delimited with a hash. A score will always be given in centi-pawns units. This is the equivalent to the %eval command in PGN.

<xs:simpleType name="MoveInfoDataClock"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{2}:[0-9]{2}:[0-9]{2}(,\s*([0-9]{2}:[0-9]{2}:[0-9]{2})?)*"/> </xs:restriction> </xs:simpleType> <xs:complexType name="MoveInfoTableClock"> <xs:simpleContent> <xs:extension base="MoveInfoDataClock"> <xs:attribute name="content" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="clock"/> <xs:enumeration value="clocktime"/> <xs:enumeration value="elapsedgametime"/> <xs:enumeration value="elapsedmovetime"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType>

A table of clock information is a comma-separately list of clock time tokens for each main line move. See Time for further details. The content type of this list will be given the attribute content.

  • clocktime: The clock time displayed on the players clock, representing the current player's time, it's the equivalent to the %ct command in PGN.
  • clock: The clock time displayed on the players clock, representing the time remaining to the next time control, it's the equivalent to the %clk command in PGN.
  • elapsedgametime: The elapsed time that a player has used for all moves in the game up to that point, it's the equivalent to the %egt command in PGN.
  • elapsedmovetime: The elapsed time that a player used for this move, it's the equivalent to the %emt command in PGN.
<xs:simpleType name="MoveInfoDataMilliOrCentiSeconds"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]+(,\s*[0-9]*)*"/> </xs:restriction> </xs:simpleType> <xs:complexType name="MoveInfoTableMilliOrCentiSeconds"> <xs:simpleContent> <xs:extension base="MoveInfoDataMilliOrCentiSeconds"> <xs:attribute name="content" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="elapsedmilliseconds"/> <xs:enumeration value="lag"/> <xs:enumeration value="videotime"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType>

This comma-separated list will either provide the information of the elapsed milli-seconds for each main line move, or it gives the lag for each main line move in milli-seconds, or it gives the video time for each move in centi-seconds, this depends on the content of attribute content.

<xs:simpleType name="MoveInfoDataSent"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}(,\s*[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2})*"/> </xs:restriction> </xs:simpleType> <xs:complexType name="MoveInfoTableSent"> <xs:simpleContent> <xs:extension base="MoveInfoDataSent"> <xs:attribute name="content" type="xs:string" fixed="sent"/> </xs:extension> </xs:simpleContent> </xs:complexType>

A list of time stamps, representing the correspondence time stamps, this means the date and time of sending the move. This corresponds to the ccsnt command in PGN, but with a slighty different syntax. See Timestamp for further details.



Google translation

Share this page

C/CIF at Sourceforge

C/CIF at Sourceforge

C/CIF at Launchpad

C/CIF at Launchpad