The root element for puzzles based on rectangular array
of squares. All data should be UTF-8 encoded.
Any special instructions on how to fill in the
puzzle etc. Typically displayed when the puzzle
is shown or printed.
Four types of puzzles are supported crossword
with clues, coded crossword, word search and
sudoku.
This attribute is a string which contains letters
and numbers used in the puzzle.
It is BASE64 encoded image.
JPG or GIF currently supported
Only if letter square; If true then background
picture visible only in solution, multi-letter text
in puzzle
Crossword
Rectangular grid. To emulate shape crosswords
omit (or use type="void") cells which are out of
bounds of the shape.
Links several cells into one word. If the word
is not hidden than all cells of the word are
highlighted when only one of is selected. If a
word is linked with a clue than the clue is
highlighted when selected a cell which belongs
to the word and the word is highlighted when a
user selects the clue.
Blocks of clues.
Word search
Rectangular grid. To emulate shape crosswords
omit (or use type="void") cells which are out of
bounds of the shape.
locations of search words.
Blocks of clues (words to find).
Use HTML (#FFFFFF) format to define colors.
This element is to store Sudoku puzzle.
cell count width of Sudoku box
cell count height of Sudoku box
This element is to store coded crossword.
Word is a union of cells. The most general format is
store words as a list of cells where every cell is
identified by its coordinates. It is very flexible but
verbose format. To make it less verbose 'range' is also
supported. Range is string 'start-finish' (e.g. 5-10).
First number is considered to be start position, so to
create 'from right to left' or 'up' orientation use
inversed ranges where first number is greater (e.g.
10-5).
Id is used to refer to the word from a clue.
Range (e.g. 5-10) or one number of cells. Direction
is from first number to the second. In other words
first number can be greater. In this case direction
is 'from right to left'.
Range (e.g. 5-10) or one number of cells. Direction
is from first number to the second. In other words
first number can be greater. In this case direction
is 'up'.
Used to specify multi-word solutions. E.g. 'Big Ben'
instead of 'BIGBEN'.
If true than cells in this word are not highlighted
together and link between clue and a cell is not
visible for users.
If true than the word is keyword.
Range (e.g. 5-10) or one number of cells. Direction
is from first number to the second. In other words
first number can be greater. In this case direction
is 'from right to left'.
Range (e.g. 5-10) or one number of cells. Direction
is from first number to the second. In other words
first number can be greater. In this case direction
is 'up'.
Range (e.g. 5-10) or one number (6)
Used to render some clues as one block.
Title of the block.
List of clues.
Specifies if random, alphabetic, by-position or
standard ordering of clues. by-position is common in
France and Italy. If not present assume normal
numbering unless numbered-sides element present, in
which case by-position.
Specifies if random, alphabetic or standard ordering
of clues
This element is to store stylistic parameters of the
grid.
Enables to have numbered sides of the puzzle.
Shape and position of clues-in-squares arrows
Sizes are measured as fraction of square size.
If true than blocks are rendered in Italian style.
Default value is false.
Borders are thicker (2px) if this attribute is true.
Default value is false.
Can be normal, sequential, coded, none.
Allows to specify size of cells in pixel. Default
value is 21.
Color of lines of the grid.
Color of blocks
Letter color.
Letter color (if it is marked as solve-status =
pencil).
Color used for numbers in left and right-top
numbers.
width (as fraction of cell size) of the divider line
between multiple clues in one clue square. Between 0
and 1.
This type contains attributes used to configure one
cell.
Clues in the cell.
This element can be used to define arrows which
should be drawn inside the cell.
Background image of the cell.
X-position of the cell. For spanned cell set range
(e.g. '1-2')
Y-position of the cell.
Type of the cell: letter, block, void, clue. Default
value is letter.
Solution for this cell.
The current solution entered in the square by a
solver Useful to save/load state of a puzzle.
If pencil or revealed (cheated) if pencil then the
letter is rendered as 'temporary'? Useful to
save/load state of a puzzle.
If true than the solution is visible for a user.
Number in top left corner.
Number in top right corner
Left-side bar
Upper bar
Background shape. Currently 'circle' is only
supported background shape. Letter squares only.
Background color allows to override grid background
for this cell.
Foreground color allows to override grid foreground
for this cell.
if 1 then no across clue, if 2 no down clue, if 3
neither. Default 0.
This element can be used to define arrows which should
be drawn inside the cell.
Arrow start position. Valid values are
{left,right,top,bottom}. Actual start pixel will be
calculated with respect to 'from-fraction'
attribute.
Defines actual start pixel. Valid values are in the
range [0, 1]. '0' means top (left) corner if from is
left or right (top, bottom). '1' means bottom
(right) corner if from is left or right (top,
bottom).
Arrow direction.
Set if the arrow is used to continue a word rather
than point from a clue
This type is enumeration of valid values for attributes
'from' and 'to' in 'arrow' element.
In general can contain any html snippet, but at this
time only 'span' 'b' 'i' 'sub' 'sup' are supported.
Also the mixed content is not supported at this
moment. So, all not-formated text should be wrapped
into 'spans'. If all text has no format it can be
stored without spans.
Used to link word (solution) and the clue.
Number of the clue.
If present it should simply be added in brackets
after the clue, so clue appears as, 'Clue (format)'
If the word is part of a linked clue (clue for a
word spanning multiple cell regions), and the
contents merely refers the solver to another clue
for the same word id, is-link is the number of the part
of the link referred to e.g. for word spanning 1-4,
5-6 and 9-10, if this clue is for 5-6, is-link=1