20 November 2003
‘[W]hy can’t I label rows as well as columns (which I’d do with th)?’
— me, a couple of months ago.
‘Like, duh. Of course you can, you just use the scope attribute.’
— Minz Meyer, today (paraphrased and via Anne).
Applying this to a chess board, we get:
| a | b | c | d | e | f | g | h | |
|---|---|---|---|---|---|---|---|---|
| 8 | ♜ | ♞ | ♝ | ♛ | ♚ | ♝ | ♞ | ♜ |
| 7 | ♟ | ♟ | ♟ | ♟ | ♟ | ♟ | ♟ | ♟ |
| 6 | ||||||||
| 5 | ||||||||
| 4 | ||||||||
| 3 | ||||||||
| 2 | ♙ | ♙ | ♙ | ♙ | ♙ | ♙ | ♙ | ♙ |
| 1 | ♖ | ♘ | ♗ | ♕ | ♔ | ♗ | ♘ | ♖ |
As for the other ideas I had, well, I started on chess_player.xsl. It doesn’t quite work with my test data, though. And because of the way I’ve been writing this XSL (and partially because of how it was originally written) it’s going to be a bit of a pain to debug. I did notice in passing however that en passant captures are not supported, and nor are pawn promotions.