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.
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. 5. The method of claim 1 , further comprising: generating a current node event based on a first node in the input document; generating a current operation event based on a first operation of the set of operations; for each node event in the plurality of node events, determining whether the node identified by the current operation event is the same as the node identified by the current node event.