20. A computer-readable storage medium storing instructions for making a change to an XML document, the instructions including instructions for: receiving a request to make a change to an XML document, the request including data that identifies a target XML node; reading the XML document into computer memory in the form of an original stream of XML data; calculating a first offset position into the original stream of XML data, the first offset position identifying a starting point of the target XML node in the original stream of XML data; calculating a second offset position into the original stream of XML data, the second offset position identifying an ending point of the target XML node in the original stream of XML data; and creating an updated stream of XML data, wherein creating the updated stream includes: copying data into the updated stream of XML data, from the original stream of XML data, starting at a beginning point in the original stream of XML data up to the first offset position; and after copying data into the updated stream of XML data, from the original stream of XML data, starting at the beginning point in the original stream of XML data up to the first offset position, performing the step of copying data into the updated stream of XML data, from the original stream of XML data, starting at the second offset position up to an ending point in the original stream of XML data; wherein the original stream of XML data is in binary XML form; wherein the updated stream of XML data is in binary XML form.
20. A computer-readable storage medium storing instructions for making a change to an XML document, the instructions including instructions for: receiving a request to make a change to an XML document, the request including data that identifies a target XML node; reading the XML document into computer memory in the form of an original stream of XML data; calculating a first offset position into the original stream of XML data, the first offset position identifying a starting point of the target XML node in the original stream of XML data; calculating a second offset position into the original stream of XML data, the second offset position identifying an ending point of the target XML node in the original stream of XML data; and creating an updated stream of XML data, wherein creating the updated stream includes: copying data into the updated stream of XML data, from the original stream of XML data, starting at a beginning point in the original stream of XML data up to the first offset position; and after copying data into the updated stream of XML data, from the original stream of XML data, starting at the beginning point in the original stream of XML data up to the first offset position, performing the step of copying data into the updated stream of XML data, from the original stream of XML data, starting at the second offset position up to an ending point in the original stream of XML data; wherein the original stream of XML data is in binary XML form; wherein the updated stream of XML data is in binary XML form. 22. The computer-readable storage medium of claim 20 wherein: said request is for an update of said target XML node; said request includes a new node value for said target XML node; the step of creating an updated stream of XML data includes copying the new node value into the updated stream of XML data at the first offset position; and the step of copying the new node value is performed after copying data into the updated stream of XML data from the original stream of XML data starting at the beginning point in the original stream of XML data up to the first offset position; and performed before copying data into the updated stream of XML data after the new node value from the original stream of XML data starting at the second offset position up to the ending point in the original stream of XML data.