GRAMPS XML is the XML format designed for storing GRAMPS data. The goal is to have a fully portable, human- and machine-readable XML format so that the data can be read and written without any loss. In addition, XML format allows for smaller files (if compressed) and for using the version control system for tracking the changes (if uncompressed). The reason XML is not used as the primary format is performance, specifically memory considerations.
GRAMPS XML Resources
Starting with XML 1.0, each revision of XML has its own resource page, with references to that version's DTD and RELAX NG schema. The resource pages are listed at http://www.gramps-project.org/xml/.
Validating GRAMPS XML file
To validate the GRAMPS XML file against its DTD, use xmllint program (comes with the libxml2-utils package):
xmllint --noout filename.gramps
If the GRAMPS XML file does not validate, this indicates an error in either the DTD or the XML Writer. Please file the bug report at http://bugs.gramps-project.org in that case.