1. A system for processing XML documents, the system comprising: a tokenizer configured to identify tokens in an XML document; a plurality of speculative processing modules configured to receive said tokens and to at least partially process said XML document and to generate data indicative of said XML document; and a first module configured to receive said data indicative of said XML document and configured to perform further processing of said XML document using said data indicative of said XML document and configured to output said processed XML document, wherein each of the plurality of speculative processing modules is configured to asynchronously provide the data indicative of said XML document to said first module.