1. A method for streaming validation of eXtensible Markup Language (XML) documents, the method comprising the steps of: initializing a stack configured for storing stack-elements; storing at least one stack-element on top of the stack, wherein the at least one stack-element indicates at least a validation state, relative to an XML schema that defines the structure of an XML document, for the XML document; receiving a particular event of a series of events which is generated as the XML document is parsed by a parser, wherein the particular event indicates that the parser has encountered a particular part of the XML document; receiving the particular part of the XML document from the parser; determining a current validation state for the XML document relative to the XML schema, wherein determining the current validation state for the XML document comprises: retrieving information that is stored in a current stack-element that is on top of the stack of stack elements; and based on the retrieved information, performing the steps of: determining that the particular part of the XML document is a content particle; determining a particular content particle type that corresponds to the content particle; based at least on the particular content particle type that corresponds to the content particle, validating the particular part of the XML document against the XML schema; wherein the steps of the method are performed by one or more computer systems.