1. A method for streaming validation of eXtensible Markup Language (XML) documents, the method comprising performing a machine-executed operation involving instructions, wherein the machine-executed operation is at least one of: A) sending the instructions over transmission media; B) receiving the instructions over transmission media; C) storing the instructions onto a machine-readable storage medium; and D) executing the instructions; wherein the instructions, when executed by one or more processors, cause the one or more processors to perform the steps of: receiving a particular event of a series of events which is generated as an 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, wherein the current validation state indicates a validation type associated with the particular part of the XML document, and wherein the current validation state is one of a plurality of validation states for the XML document; and based at least on the current validation state, validating the particular part of the XML document against an XML schema that defines the structure of the XML document.