12. A system for providing assistance to a user who is editing an extensible markup language (XML) document, comprising: a computing device running an editor for editing an XML document; and a display device coupled to the computing device that displays the editor and the XML document, wherein the editor running on the computing device causes the computing device to: present to the user the XML document for editing via the display device; monitor a user input for an edit event; in response to detecting an edit event, inferring a markup language grammar from current content of the XML document; and provide assistance to the user based on the inferred markup language grammar, wherein the markup language grammar comprises XML syntax rules inferred from the current content of the XML document.
12. A system for providing assistance to a user who is editing an extensible markup language (XML) document, comprising: a computing device running an editor for editing an XML document; and a display device coupled to the computing device that displays the editor and the XML document, wherein the editor running on the computing device causes the computing device to: present to the user the XML document for editing via the display device; monitor a user input for an edit event; in response to detecting an edit event, inferring a markup language grammar from current content of the XML document; and provide assistance to the user based on the inferred markup language grammar, wherein the markup language grammar comprises XML syntax rules inferred from the current content of the XML document. 18. The system of claim 12 , wherein the editor causes the computing device to provide assistance to the user by: providing assistance to the user for editing the markup language document based on a real markup language grammar defined in a markup language grammar file for portions of the markup language document having elements corresponding to information in the markup language grammar file, and providing assistance to the user for editing the markup language document based on the inferred markup language grammar for portions of the markup language document having elements that do not correspond to information in the markup language grammar file.