Patent ID: 7405677

Claim:
An apparatus to convert extended markup language (“XML”) data from a source encoding format to a destination encoding format in response to a request for at least a portion of an XML file, the apparatus comprising: a receive module configured to receive a request for a quantity of output bytes, wherein the output bytes comprise bytes of XML data in a destination encoding format streamed and converted from at least a portion of a source XML file in a source encoding format; a transfer module configured to transfer the requested quantity of output bytes from a byte conversion buffer to a request buffer in response to the request and the byte conversion buffer having at least the requested quantity of output bytes; and a conversion module configured to transfer a portion of the requested quantity of output bytes to the request buffer from the byte conversion buffer, to fetch a quantity of input bytes from an XML file at a source and to store the quantity of input bytes in a receive buffer, wherein the input bytes comprise bytes of XML data in the source encoding format comprising at least a portion of the XML file at the source, to transfer the quantity of input bytes in the receive buffer through a byte-to-character converter to a character conversion buffer, the character conversion buffer comprising characters in a Java programming language character format, to transfer the quantity of characters in the character conversion buffer through a character-to-byte converter to the byte conversion buffer, the bytes of XML data in the byte conversion buffer comprising XML data in the destination encoding format, and to transfer a quantity of bytes from the byte conversion buffer to the request buffer to satisfy the request, in response to the request and the byte conversion buffer lacking the requested quantity of output bytes.