Displaying chess games in Web pages using ChessGML and SVG

It's taken 4 years, but someone's done it: ChessGML/SVG in 3D! Congratulations Peter Gould and the Hopgood/Duce duo.

If you have the Adobe SVG plug-in installed, you should see an animated chess game just below.

What is it?

The ChessGML/SVG stylesheet is an XSLT transform that converts chess games in ChessGML notation to an SVG file, which can simply be linked to from an HTML page for viewing in a browser that supports SVG.

The ChessGML game notation, created by Andreas Saremba, is an XML encoding for chess games as well as tournament tables. A ChessGML file can be generated by hand or converted from PGN (Andreas Saremba provides a converted with the SGML package). SVG is a vector graphics format for the Web, developped by the W3C. SVG is also an XML vocabulary, so we use XSLT, the XML-to-XML transformation language to perform the transformation. The advantages of using SVG for viewing chess in a browser are:

How do I put my games on the Web?

  1. Get the Adobe SVG plug-in
  2. Get an XSLT processor. Many exist, I mainly use saxon or xsltproc
  3. Get the ChessGML distribution. It explains the syntax of the language, and provides tools such as a PGN to ChessGML converter
  4. Get the stylesheet. It comes as four files

A couple of example are available:

Planned Improvements

Acknowledgements

Thank yous go to Dean Jackson who convinced me not to be ashamed and publish this. Vincent Hardy suggested the scrolling move list, Thierry Kormann provided assistance about SVG, and of course kudos to Andreas Saremba for designing ChessGML.

Licence

The ChessGML/SVG stylesheets and the ChessSophia font are released under the W3C Software Notice and License.
Please send bug reports and comments to Max Froumentin (mf@w3.org).