Information represented in text-based markup languages, such as XML, is
often a large, highly nested structure corresponding to complex patterns
of metadata and/or data. Parsing such data streams via conventional
software mechanisms rapidly exhibits degrading performance as the size,
or volume, of data increases. Further, such do not perform dynamic
modification to the output in response to feedback based on the data
being parsed. An adaptive XML processing hardware apparatus processes an
XML document in a manner suited to the invoking application, and
processes the incoming XML into an optimal structure based on the type of
data and a set of rules relating the type of the data to the output
format. It also dynamically augments the output information stream based
on the data, at the option of the invoking system. The generated output
may take a tree form, adaptable for efficient traversal of the
hierarchical structure represented by the input XML, or may involve an
attribute approach, in which the XML takes the from of a stream of fixed
length cells containing optimized representations of input data, or may
take a combination of the two approaches, based on configuration and XML
input stream.