PSGML is a GNU Emacs Major Mode for editing SGML and XML coded documents. PSGML has several functions for editing SGML documents. Indentation according to element nesting depth and identification of structural errors (but it is not a validating SGML parser). Menus and commands for inserting tags with only the contextually valid tags. Attribute values can be edited in a separate window with information about types and defaults. Structure based editing includes movement and killing; and also several commands for folding editing.