Patent ID: 7590644

Claim:
A method of processing XML data, said method comprising: consuming a portion of an XML-encoded input data stream; processing said consumed portion of an XML-encoded data stream based upon a transformation definition; compiling at least one XSLT stylesheet, including performing an analysis of said at least one XSLT stylesheet, to determine whether at least some XML data to be processed in accordance with said at least one XSLT stylesheet can be processed in a streaming fashion; outputting result data produced as a result of processing said consumed portion of an XML-encoded data stream on a processor according to said transformation definition before all of said XML-encoded input data stream has been consumed upon determining that the consumed portion of the XML-encoded data stream can be processed in a streaming fashion; consuming the entire XML-encoded data stream and processing the consumed XML-encoded data stream on a processor using a non-streaming model upon determining that the consumed portion of the XML-encoded data stream cannot be processed in a streaming fashion.