10. A computing device for removing style corruption from extensible markup language (XML) documents, the computing device comprising: a memory a processor coupled to the memory, the processor executing a module in conjunction with instructions stored in the memory, wherein the module is configured to: determine whether a document package including an XML based document to be examined is a valid XML based package; read a style information associated with the XML based document; determine at least one from a set of unused, corrupted, and duplicate styles by matching style definitions for the XML based document with style parts in a document package; remove at least one from the set of the unused, corrupted, and duplicate styles without opening the XML based document in a rich application associated with the XML based document; determine corrupted name ranges; and remove the corrupted name ranges from the XML based document.
16. The computing device of claim 10 , wherein the module is further configured to determine the validity of the document package based on evaluating whether all parts defined by a standard packaging protocol exist in the document package.