1. A method for editing a hierarchically-organized input document, the method comprising the steps of: prior to editing the hierarchically-organized input document: generating a plurality of node events based on the hierarchically-organized input document by streaming one or more nodes of a plurality of nodes from the hierarchically-organized input document, and generating one or more operation events based on an edit script, wherein the edit script specifies a set of operations to perform on the hierarchically-organized input document; and editing the hierarchically-organized input document by performing one or more operations, corresponding to the one or more operation events, on one or more node events of the plurality of node events; wherein editing the hierarchically-organized input document comprises generating an output document that reflects a result of performing the one or more operations, corresponding to the one or more operation events, on the one or more node events of the plurality of node events; wherein the steps are performed by one or more computing devices.