1. A method for transforming an XML data structure into an application programming language data structure comprising: receiving a request for an XML data structure from an application; retrieving the requested XML data structure; executing a transformation program associated with an application programming language data structure, the transformation program including a directional serialization construct and a directional deserialization construct which specify different respective behaviors for transforming the XML data structure into the application programming language data structure and for transforming the application programming language data structure into the XML data structure, wherein an application of source data to both directional constructs yields result data which exactly matches the source data, the directional serialization construct comprising a first construct which, during serialization, terminates with an error when a current referenced node does not have a same value as a node referenced in an attribute, and the directional deserialization construct comprising a second construct which, during deserialization, assigns a value of a node referenced in the attribute to the current referenced node; parsing the XML data structure in a strictly linear fashion using the transformation program, without constructing a tree representation of the XML data structure; evaluating the deserialization construct of the transformation program; and transforming the parsed XML data structure into the application programming language data structure based on the evaluated deserialization construct; and sending the application programming language data structure to the application.
1. A method for transforming an XML data structure into an application programming language data structure comprising: receiving a request for an XML data structure from an application; retrieving the requested XML data structure; executing a transformation program associated with an application programming language data structure, the transformation program including a directional serialization construct and a directional deserialization construct which specify different respective behaviors for transforming the XML data structure into the application programming language data structure and for transforming the application programming language data structure into the XML data structure, wherein an application of source data to both directional constructs yields result data which exactly matches the source data, the directional serialization construct comprising a first construct which, during serialization, terminates with an error when a current referenced node does not have a same value as a node referenced in an attribute, and the directional deserialization construct comprising a second construct which, during deserialization, assigns a value of a node referenced in the attribute to the current referenced node; parsing the XML data structure in a strictly linear fashion using the transformation program, without constructing a tree representation of the XML data structure; evaluating the deserialization construct of the transformation program; and transforming the parsed XML data structure into the application programming language data structure based on the evaluated deserialization construct; and sending the application programming language data structure to the application. 17. The method of claim 1 , wherein the transformation program comprises literal XML elements that appear in the XML data structure, intermixed with instructions for providing a symmetric transformation.