Patent ID: 7568204

Claim:
In a computer system that is capable of transferring data segments of a particular type from a calling module to a called module using a plurality of transfer mechanisms, a method of conveying the data segment in a uniform manner for at least some of the plurality of transfer mechanisms, the method comprising the following: an act of the computer system determining that a data segment of a particular type is to be transferred from the calling module to the called module; an act of the computer system determining which of a plurality of transfer mechanisms is selected as a transfer mechanism for transferring the data segment from the called module to the calling module; an act of the computer system providing a unified data structure in which the data segment will be transferred, the unified data structure containing various data fields into which the data segment may be added, wherein the unified data structure includes: a first set of a plurality of data fields, each of the first set of the plurality of data fields being dedicated to hold only a data segment of a particular data type, such that each data field of the first set will always hold data only according to its respective data type, and such that each data field of the first set of the plurality of data fields is dedicated to a different particular data type; and a second set of a plurality of data fields, each of the second set of the plurality of data fields being dedicated to hold information that facilitates transfer of data segments according to a respective data transfer interface, such that each field of the second set will always hold data only according to its respective data transfer interface, and such that each data field of the first set of the plurality of data fields is dedicated to a different data transfer interface, wherein at least one of the data fields of the second set of the plurality of data fields is dedicated to an ISAXContentHandler interface, an ITextSource interface, an ITextSink interface, or an IDOMSink interface; an act of the calling module adding information to the unified data structure to a particular one or more of the plurality of data fields, wherein the one or more data fields into which the information is inserted are selected depending on the selected transfer mechanism that includes at least one of a particular data type or a particular transfer interface; and an act of the calling module passing control of the unified data structure from the calling module to the called module.