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

CIF - Numeric Annotation Glyph


<xs:simpleType name="NAG"> <xs:union memberTypes="StandardNAG UserNAG"/> </xs:simpleType> <xs:simpleType name="UserNAG"> <xs:restriction base="xs:string"> <xs:pattern value="$[1-9][0-9]+"/> <!-- 200 <= N < 65536 --> </xs:restriction> </xs:simpleType>

The basis of the standard NAG table is borrowed from the PGN specification. For completeness many additional values will be supported. The C/CIF library provides some functions for the mapping of the NAG values in C/CIF and the NAG values used in Scidb, Scid, ChessBase, ChessPad, and José.

Also a user defined NAG may be given, in this case the NAG value must be greater or equal to 200, but less than 65536.

A note to Rybka Aquarium: Rybka Aquarium might export the NAGs of the predefined phrases as user defined NAGs in C/CIF, and might set the sub-element creator in element extraneous in the game information section to "Rybka Aquarium". In this way every application is able to recognize these phrases. A good source how to interpret these values is the following file from project Scidb: db_pgn_aquarium.h.

<xs:simpleType name="StandardNAG"> <xs:restriction base="xs:string"> <!-- Standard NAG Values ===================================================== --> <xs:enumeration value="$1"/> <!-- Good move --> <xs:enumeration value="$2"/> <!-- Poor move --> <xs:enumeration value="$3"/> <!-- Very good move --> <xs:enumeration value="$4"/> <!-- Very poor move --> <xs:enumeration value="$5"/> <!-- Interesting move --> <xs:enumeration value="$6"/> <!-- Questionable move --> <xs:enumeration value="$7"/> <!-- Forced move (all others lose quickly) --> <xs:enumeration value="$8"/> <!-- Singular move (no reasonable alternatives) --> <xs:enumeration value="$9"/> <!-- Worst move --> <xs:enumeration value="$10"/> <!-- Drawish position --> <xs:enumeration value="$11"/> <!-- Equal chances, quiet position --> <xs:enumeration value="$12"/> <!-- Equal chances, active position --> <xs:enumeration value="$13"/> <!-- Unclear position --> <xs:enumeration value="$14"/> <!-- White has a slight advantage --> <xs:enumeration value="$15"/> <!-- Black has a slight advantage --> <xs:enumeration value="$16"/> <!-- White has a moderate advantage --> <xs:enumeration value="$17"/> <!-- Black has a moderate advantage --> <xs:enumeration value="$18"/> <!-- White has a decisive advantage --> <xs:enumeration value="$19"/> <!-- Black has a decisive advantage --> <xs:enumeration value="$20"/> <!-- White has a crushing advantage --> <xs:enumeration value="$21"/> <!-- Black has a crushing advantage --> <xs:enumeration value="$22"/> <!-- White is in zugzwang --> <xs:enumeration value="$23"/> <!-- Black is in zugzwang --> <xs:enumeration value="$24"/> <!-- White has a slight space advantage --> <xs:enumeration value="$25"/> <!-- Black has a slight space advantage --> <xs:enumeration value="$26"/> <!-- White has a moderate space advantage --> <xs:enumeration value="$27"/> <!-- Black has a moderate space advantage --> <xs:enumeration value="$28"/> <!-- White has a decisive space advantage --> <xs:enumeration value="$29"/> <!-- Black has a decisive space advantage --> <xs:enumeration value="$30"/> <!-- White has a slight time --> <!-- (development) advantage --> <xs:enumeration value="$31"/> <!-- Black has a slight time --> <!-- (development) advantage --> <xs:enumeration value="$32"/> <!-- White has a moderate time --> <!-- (development) advantage --> <xs:enumeration value="$33"/> <!-- Black has a moderate time --> <!-- (development) advantage --> <xs:enumeration value="$34"/> <!-- White has a decisive time --> <!-- (development) advantage --> <xs:enumeration value="$35"/> <!-- Black has a decisive time --> <!-- (development) advantage --> <xs:enumeration value="$36"/> <!-- White has the initiative --> <xs:enumeration value="$37"/> <!-- Black has the initiative --> <xs:enumeration value="$38"/> <!-- White has a lasting initiative --> <xs:enumeration value="$39"/> <!-- Black has a lasting initiative --> <xs:enumeration value="$40"/> <!-- White has the attack --> <xs:enumeration value="$41"/> <!-- Black has the attack --> <xs:enumeration value="$42"/> <!-- White has insufficient compensation for material deficit --> <xs:enumeration value="$43"/> <!-- Black has insufficient compensation for material deficit --> <xs:enumeration value="$44"/> <!-- White has sufficient compensation for material deficit --> <xs:enumeration value="$45"/> <!-- Black has sufficient compensation for material deficit --> <xs:enumeration value="$46"/> <!-- White has more than adequate compensation for material deficit --> <xs:enumeration value="$47"/> <!-- Black has more than adequate compensation for material deficit --> <xs:enumeration value="$48"/> <!-- White has a slight center control advantage --> <xs:enumeration value="$49"/> <!-- Black has a slight center control advantage --> <xs:enumeration value="$50"/> <!-- White has a moderate center control advantage --> <xs:enumeration value="$51"/> <!-- Black has a moderate center control advantage --> <xs:enumeration value="$52"/> <!-- White has a decisive center control advantage --> <xs:enumeration value="$53"/> <!-- Black has a decisive center control advantage --> <xs:enumeration value="$54"/> <!-- White has a slight kingside control advantage --> <xs:enumeration value="$55"/> <!-- Black has a slight kingside control advantage --> <xs:enumeration value="$56"/> <!-- White has a moderate kingside control advantage --> <xs:enumeration value="$57"/> <!-- Black has a moderate kingside control advantage --> <xs:enumeration value="$58"/> <!-- White has a decisive kingside control advantage --> <xs:enumeration value="$59"/> <!-- Black has a decisive kingside control advantage --> <xs:enumeration value="$60"/> <!-- White has a slight queenside control advantage --> <xs:enumeration value="$61"/> <!-- Black has a slight queenside control advantage --> <xs:enumeration value="$62"/> <!-- White has a moderate queenside control advantage --> <xs:enumeration value="$63"/> <!-- Black has a moderate queenside control advantage --> <xs:enumeration value="$64"/> <!-- White has a decisive queenside control advantage --> <xs:enumeration value="$65"/> <!-- Black has a decisive queenside control advantage --> <xs:enumeration value="$66"/> <!-- White has a vulnerable first rank --> <xs:enumeration value="$67"/> <!-- Black has a vulnerable first rank --> <xs:enumeration value="$68"/> <!-- White has a well protected first rank --> <xs:enumeration value="$69"/> <!-- Black has a well protected first rank --> <xs:enumeration value="$70"/> <!-- White has a poorly protected king --> <xs:enumeration value="$71"/> <!-- Black has a poorly protected king --> <xs:enumeration value="$72"/> <!-- White has a well protected king --> <xs:enumeration value="$73"/> <!-- Black has a well protected king --> <xs:enumeration value="$74"/> <!-- White has a poorly placed king --> <xs:enumeration value="$75"/> <!-- Black has a poorly placed king --> <xs:enumeration value="$76"/> <!-- White has a well placed king --> <xs:enumeration value="$77"/> <!-- Black has a well placed king --> <xs:enumeration value="$78"/> <!-- White has a very weak pawn structure --> <xs:enumeration value="$79"/> <!-- Black has a very weak pawn structure --> <xs:enumeration value="$80"/> <!-- White has a moderately weak pawn structure --> <xs:enumeration value="$81"/> <!-- Black has a moderately weak pawn structure --> <xs:enumeration value="$82"/> <!-- White has a moderately strong pawn structure --> <xs:enumeration value="$83"/> <!-- Black has a moderately strong pawn structure --> <xs:enumeration value="$84"/> <!-- White has a very strong pawn structure --> <xs:enumeration value="$85"/> <!-- Black has a very strong pawn structure --> <xs:enumeration value="$86"/> <!-- White has poor knight placement --> <xs:enumeration value="$87"/> <!-- Black has poor knight placement --> <xs:enumeration value="$88"/> <!-- White has good knight placement --> <xs:enumeration value="$89"/> <!-- Black has good knight placement --> <xs:enumeration value="$90"/> <!-- White has poor bishop placement --> <xs:enumeration value="$91"/> <!-- Black has poor bishop placement --> <xs:enumeration value="$92"/> <!-- White has good bishop placement --> <xs:enumeration value="$93"/> <!-- Black has good bishop placement --> <xs:enumeration value="$94"/> <!-- White has poor rook placement --> <xs:enumeration value="$95"/> <!-- Black has poor rook placement --> <xs:enumeration value="$96"/> <!-- White has good rook placement --> <xs:enumeration value="$97"/> <!-- Black has good rook placement --> <xs:enumeration value="$98"/> <!-- White has poor queen placement --> <xs:enumeration value="$99"/> <!-- Black has poor queen placement --> <xs:enumeration value="$100"/> <!-- White has good queen placement --> <xs:enumeration value="$101"/> <!-- Black has good queen placement --> <xs:enumeration value="$102"/> <!-- White has poor piece coordination --> <xs:enumeration value="$103"/> <!-- Black has poor piece coordination --> <xs:enumeration value="$104"/> <!-- White has good piece coordination --> <xs:enumeration value="$105"/> <!-- Black has good piece coordination --> <xs:enumeration value="$106"/> <!-- White has played the opening very poorly --> <xs:enumeration value="$107"/> <!-- Black has played the opening very poorly --> <xs:enumeration value="$108"/> <!-- White has played the opening poorly --> <xs:enumeration value="$109"/> <!-- Black has played the opening poorly --> <xs:enumeration value="$110"/> <!-- White has played the opening well --> <xs:enumeration value="$111"/> <!-- Black has played the opening well --> <xs:enumeration value="$112"/> <!-- White has played the opening very well --> <xs:enumeration value="$113"/> <!-- Black has played the opening very well --> <xs:enumeration value="$114"/> <!-- White has played the middlegame very poorly --> <xs:enumeration value="$115"/> <!-- Black has played the middlegame very poorly --> <xs:enumeration value="$116"/> <!-- White has played the middlegame poorly --> <xs:enumeration value="$117"/> <!-- Black has played the middlegame poorly --> <xs:enumeration value="$118"/> <!-- White has played the middlegame well --> <xs:enumeration value="$119"/> <!-- Black has played the middlegame well --> <xs:enumeration value="$120"/> <!-- White has played the middlegame very well --> <xs:enumeration value="$121"/> <!-- Black has played the middlegame very well --> <xs:enumeration value="$122"/> <!-- White has played the ending very poorly --> <xs:enumeration value="$123"/> <!-- Black has played the ending very poorly --> <xs:enumeration value="$124"/> <!-- White has played the ending poorly --> <xs:enumeration value="$125"/> <!-- Black has played the ending poorly --> <xs:enumeration value="$126"/> <!-- White has played the ending well --> <xs:enumeration value="$127"/> <!-- Black has played the ending well --> <xs:enumeration value="$128"/> <!-- White has played the ending very well --> <xs:enumeration value="$129"/> <!-- Black has played the ending very well --> <xs:enumeration value="$130"/> <!-- White has slight counterplay --> <xs:enumeration value="$131"/> <!-- Black has slight counterplay --> <xs:enumeration value="$132"/> <!-- White has moderate counterplay --> <xs:enumeration value="$133"/> <!-- Black has moderate counterplay --> <xs:enumeration value="$134"/> <!-- White has decisive counterplay --> <xs:enumeration value="$135"/> <!-- Black has decisive counterplay --> <xs:enumeration value="$136"/> <!-- White has moderate time control pressure --> <xs:enumeration value="$137"/> <!-- Black has moderate time control pressure --> <xs:enumeration value="$138"/> <!-- White has severe time control pressure --> <xs:enumeration value="$139"/> <!-- Black has severe time control pressure --> <!-- Extensions for Scid/Scidb/ChessBase/ChessPad/Jose support =============== --> <!-- B = Scidb --> <!-- S = Scid --> <!-- C = ChessBase --> <!-- P = ChessPad --> <!-- J = Jose --> <xs:enumeration value="$140"/> <!-- BSP With the idea --> <xs:enumeration value="$141"/> <!-- BSP Aimed against --> <xs:enumeration value="$142"/> <!-- BSP Better is --> <xs:enumeration value="$143"/> <!-- BSP Worse is --> <xs:enumeration value="$144"/> <!-- BSP Equivalent is --> <xs:enumeration value="$145"/> <!-- BSP Editor's remark --> <xs:enumeration value="$146"/> <!-- BSP Novelty --> <xs:enumeration value="$147"/> <!-- BSP Weak Point --> <xs:enumeration value="$148"/> <!-- BSP Endgame --> <xs:enumeration value="$149"/> <!-- BS Line --> <xs:enumeration value="$150"/> <!-- BSP Diagonal --> <xs:enumeration value="$151"/> <!-- BS White has a pair of Bishops --> <xs:enumeration value="$152"/> <!-- BS Black has a pair of Bishops --> <xs:enumeration value="$153"/> <!-- BSP Bishops of opposite color --> <xs:enumeration value="$154"/> <!-- BSP Bishops of same color --> <xs:enumeration value="$155"/> <!-- BCP Space --> <xs:enumeration value="$156"/> <!-- BSCPJ Diagram from white's perspective --> <xs:enumeration value="$157"/> <!-- BC Zeitnot --> <xs:enumeration value="$158"/> <!-- BC Development --> <xs:enumeration value="$159"/> <!-- BC Zugzwang --> <xs:enumeration value="$160"/> <!-- BC Time limit --> <xs:enumeration value="$161"/> <!-- BC Attack --> <xs:enumeration value="$162"/> <!-- BC Initiative --> <xs:enumeration value="$163"/> <!-- BC Counterplay --> <xs:enumeration value="$164"/> <!-- BC With compensation for the material --> <xs:enumeration value="$165"/> <!-- BC Pair of bishops --> <xs:enumeration value="$166"/> <!-- BC Kingside --> <xs:enumeration value="$167"/> <!-- BC Queenside --> <xs:enumeration value="$168"/> <!-- BP Diagram from black's perspective --> <xs:enumeration value="$169"/> <!-- BSP Isolated pawns --> <xs:enumeration value="$170"/> <!-- BSP Doubled pawns --> <xs:enumeration value="$171"/> <!-- BSP Connected pawns --> <xs:enumeration value="$172"/> <!-- BSP Passed pawn --> <xs:enumeration value="$173"/> <!-- BS Hanging pawns --> <xs:enumeration value="$174"/> <!-- BS Backward pawns --> <xs:enumeration value="$175"/> <!-- BSP More pawns --> <xs:enumeration value="$176"/> <!-- BSP With --> <xs:enumeration value="$177"/> <!-- BSP Without --> <xs:enumeration value="$178"/> <!-- BP Center --> <xs:enumeration value="$179"/> <!-- BP File --> <xs:enumeration value="$180"/> <!-- B Rank --> <xs:enumeration value="$181"/> <!-- BS See --> <xs:enumeration value="$182"/> <!-- BP Various --> <xs:enumeration value="$183"/> <!-- BS Etc. --> <xs:enumeration value="$184"/> <!-- S Mate --> </xs:restriction> </xs:simpleType>


Google translation

Share this page

C/CIF at Sourceforge

C/CIF at Sourceforge

C/CIF at Launchpad

C/CIF at Launchpad