A method and apparatus for performing virtualized parsing of an XML
document. A document is divided into multiple segments, which may
correspond to separate packets containing portions of the document, disk
blocks, memory pages, etc. For each segment, a processor operating within
an XML accelerator initiates parsing by identifying to a hardware parsing
unit the document segment, a symbol table for the document and a location
for storing state information regarding the parsing. Each segment is
parsed in sequence, and the state information of the parsing is stored
after each segment is completed, for retrieval when the next segment is
to be parsed.