Chess Viewer: Demonstration of XSL FO and XEP |
||||||||||||||||||||||
The power of XSL lies in its ability to perform radical transformations of the XML data source. This page contains yet another proof for this fact: you can build a chessgame viewer with a stylesheet! |
||||||||||||||||||||||
The source document is a transcription of a chess game played by Garry Kasparov against a chess supercomputer -- IBM Deep Blue. The game is encoded in a form resembling the well-known Portable Game Notation (PGN) format. The source is very compact: a sample game on this page [DeepBlue.xml] is less than 4 kBytes in size. |
||||||||||||||||||||||
The stylesheet converts this arid text into a sequence of board diagrams, drawing every intermediate position as a graphical image (a special chess font is used). Applying a 23 kB stylesheet [chess.xsl], we get a 415 kBytes (!) FO stream [DeepBlue.fo]. These numbers give an idea of how deep the transformation is. |
||||||||||||||||||||||
The final step of the whole procedure consists in converting the result into PDF using XEP. The resulting PDF file [DeepBlue.pdf] is much smaller than the source FO stream -- less than 90 kBytes. (XEP implements PDF compression). |
||||||||||||||||||||||
We hope XSL fans will enjoy this example; and XSL foes will acknowledge its power! |
||||||||||||||||||||||
More chess games created by the same stylesheet: |
||||||||||||||||||||||
We have used an unabridged chess notation; the original PGN data are even more concise. We know it is possible to process even the short chess notation by XSL, and gladly leave this exercise to volunteers . |
||||||||||||||||||||||