1. A method of encoding a mark-up language document, the block of mark-up language comprising a plurality of elements, the method comprising: determining which of the plurality of elements are constant in terms of how often they occur in the mark-up language document and which elements are variable in terms of how often they appear in the mark-up language document; and representing the structure of the mark-up language document using those elements that are variable in terms of how often they appear in the mark-up language document and without using those elements that are constant in terms of how often they occur in the mark-up language document.