The invention is directed to a method performed by a computer system to process
an extensible markup language input stream using discrete software components mapped
to tags contained in the input stream, comprising: parsing the input stream; as
a tag is parsed, invoking the software component mapped to it. The invention is
also directed to a computer system, comprising: a processing unit and storage for
processing programs; bindings representing a mapping between tags and discrete
software components; a software engine comprising: a reader component that reads
an extensible markup language input stream containing at least one tag; a parser
component that parses the input stream; an execution component that, as a tag is
parsed, invokes the software component mapped to the tag. The invention is also
directed to a corresponding computer program product.