[October 07, 2000] Chess Markup Language (ChessML) is an XML standard for chess currently under development by Oliver Sick of the Global Analysis Group in the Math Department, University of Bonn, Germany. Principal project goals are to: (1) Define a data storage format which preserves all abstract information; an important example is the PDB database developed by Gerd Wilts and others; (2) Build an interface to chess problem software such as Popeye, Alybadix, Natch and others; (3) Develop a flexible format providing simple export functions to LaTeX, HTML, PDF, RTF and others; (4) Provide simple interfaces for the data conversation between this hypothetical standard and other chess standard such as PGN and FEN. The ChessML web site provides a working draft specification for ChessML, with four XML DTDs, documentation, examples, and FAQ document. The ChessML sources, example and the documentation files are distributed under the Gnu Public License.
ChessML design motivation: "...there is the well documented, non proprietary and very intuitive PGN format ['Portable Game Notation'] for chess which can be imported and exported by almost all chess databases and chess programs. PGN itself uses the ECO Codes as an internal encoding scheme for different chess openings. ECO Codes in PGN are an equivalent to ENTITIES in XML. Also XML documents usually are very easy to understand (if its DTD is 'good'). But PGN does not provide any of the features of a markup language like XML or SGML. So it is natural to look for an implementation of PGN in XML. Indeed ChessML is an extension of this idea. It uses the rich structure of XML and so it has many more capabilities than PGN itself."
Using XML: "One of most important differences of XML and ChessML as an XML representation compared to PGN is its linking capabilities (called Xlink and Xpointer). This means there are very efficient ways to point to other parts of an ChessML document with respect to other parts. And this is indeed a very important fact if one remembers the citation of openings during an analysis or of a particular position of another game. My XSL file is called chess.xsl and is indeed very rudimentary, but I'm on the way... Combining the DTD and the Stylesheet with a ChessML document you can for example view the documnent in the Microsoft Internet Explorer 5.x."
References:
ChessML Home Page [broken]
ChessML Home Page. [Alternate URL, broken]
Documentation. Generated using 'dtd2html'.
Working Draft for ChessML Version 0.4 [June 23, 2000] or later. [cache 0.4]
ChessML download page - Various XML DTDs
ChessML document type definition 0.4 with documentation. DTD as plain text file. [cache]
ChessMLite, a reduced version of ChessML. DTD as plain text file. [cache]
CGML document type definition - ChessgameML DTD [cache]
CPML document type definition - ChessproblemML document type definition [cache]
Contact: Oliver Sick. Global Analysis Group at the Math Department, University of Bonn, Germany. WWW.
Related topics:
- ChessGML - Chess Game Markup Language. By Andreas Saremba.
- Chess Viewer from RenderX. An XSL stylesheet is used to transform an XML source document into PDF. The source document is a chess game transcription, written in a form resembling the well-known Portable Game Notation (PGN) format.
- Caxton Chess XML (CaXML). By Eric Schiller.
- Board Game Markup Language (BGML) By Hyoungsoo Yoon. 'An XML document type for board game records/databases.'
- SGFML, an XML DTD based on SGF [Smart Game Format]. By Arno Hollosi.
- Jago Client with XML format. By René Grothmann.
- [November 03, 2000] James Ramirez wrote: [... using XML in games is not that novel. The X3D effort has an XML encoding and can be applied to games, there is a talkingHead application that uses XML, and extending the persistence of games via XML serialization is a straightforward application. The latency issues are a much harder problem than picking XML for message formats...] "I'm working on a project [as part of my degree] that intends to use XML for games generation, as well as configuration and save formats, bringing in the benefits of interoperability, resuability, etc. I'll post more details when I have some concrete examples put together, and I sort out with the University whether I can release the project as open source."
[October 31, 2000] David Megginson wrote: The freeware flight simulator FlightGear uses XML for designing aircraft panels, including fairly complicated gauges, from scratch by modelling a series of layers (texture, text, etc.) and transformations: http://www.flightgear.org/. I've noticed quite a few freeware games using XML for their config and save formats -- no real interop hit from any of this, of course..."