The general limits of SAX include:

  • You cannot back up in the parse.
  • You must control the context. In other words, you must be able to grab the data you need as it goes by, while ignoring the data you don't need.
  • There is no structure in memory to do in-place updates.
  • The order in which you write the XML is important and you cannot modify the XML once it has been written.
  • It is possible to create an XML document that is not well-formed.
  • You do not know if an XML document is well-formed or conforms to a schema until you have parsed (and processed) the entire XML document.