The Java source code for Saxon-CE is about 62K non-comment lines, compared with around 140K for Saxon-HE and 240K for Saxon-EE. Most of the effort therefore went into deleting code that was dispensible in the browser environment. This includes the XQuery processor, the serializer, APIs such as JAXP, XQJ, and s9api, the TinyTree tree implementation, and many other ancillary features.
Other measures to reduce the size of the software included extracting the data used by the
normalize-unicode() function into a separate data file that is downloaded only when this function is used.