XER, XML & MPP Files
Project File Formats: MPP, MSPDI/XML, MPX
MPP vs MSPDI/XML vs MPX — what each can hold

MPP
Microsoft: "The standard file format for a project which uses the .mpp extension." Proprietary OLE compound document, versioned by Project year.
Microsoft (current desktop):
- Project 2010 / 2013 / 2016 share one format (a 2016 file opens in 2010/2013).
- Can open/save Project 2007 format.
- Can open 2000–2003 format; cannot save to it.
- Cannot open or save Project 98.
MPP holds the full desktop project including views, tables, filters, bar styles. MPXJ can read MPP. MPXJ cannot write a real MPP. See convert/mpxj.md.
MSPDI (Microsoft Project Data Interchange, XML)
Microsoft: XML "can be used to interchange project data between Project and other programs." Documented schema on Microsoft Learn (tasks, resources, assignments, calendars, constraints, extended attributes).
MPXJ: "Since Microsoft Project 2002, Microsoft Project has been able to read and write an XML-based data interchange format called MSPDI."
This is the format we generate. It holds schedule data (tasks, links, calendars, constraints, work). It does not hold MPP view/presentation. MPXJ FAQ: none of the supported output formats contain view appearance.
MPX
Legacy Microsoft Project Exchange text format (Project 98 era). Microsoft: current Project desktop cannot open or save MPX. MPXJ can still read and write MPX. Localized MPX files use localized strings; English Project cannot read a localized MPX and vice versa.
Do not emit MPX for a modern Project user.
What current desktop will not open
Microsoft: Project 98, MPX, MPD, MDB, ODBC — cannot open or save.