A markup language parser processes markup language data and provides
processed data to an application. A reader is configured to tokenize the
markup language data and store resulting tokens in a buffer associated
with the reader. A scanner is configured to create string objects based
on the tokens and to provide the created string objects to an
application. The scanner is further configured to determine a need by the
application for the string objects. For each at least some of the string
objects created by the scanner, the scanner is configured to selectively
create those string objects based on a determination of the need by the
application for the string objects.