This patch set now deletes the obsolete XML I/O APIs and performs some associated cleanup. Some parts which are still used by single programs are migrated into those programs. Some elements of the "new"-style API are adjusted up for better consistency across table types (e.g., XLALSimBurstTableFromLIGOLw() has its start and stop parameters removed). While doing this work, a number of unused functions were identified in lalmetaio and lalinspiral, and they are also deleted by this patch set. The XMLStream object has unused elements removed from it, which reduces it to a trivial wrapper around a LALFile pointer, but the object is retained as a distinct type instead of porting the API to LALFile in case this helps with future development work.
API Changes and Justification
Backwards Compatible Changes
This change does not modify any class/function/struct/type definitions in a public C header file or any Python class/function definitions
This change adds new classes/functions/structs/types to a public C header file or Python module
Backwards Incompatible Changes
This change modifies an existing class/function/struct/type definition in a public C header file or Python module
This change removes an existing class/function/struct/type from a public C header file or Python module
If any of the Backwards Incompatible check boxes are ticked please provide a justification why this change is necessary and why it needs to be done in a backwards incompatible way.