Data Submission Formats

Introduction
Data is submitted to the ISFDB either from the online editing tools, or by the Web API. Accepted submissions are placed in the submissions table in the MySQL database. The data submitted to the ISFDB must be a well-formed XML string. All submissions must contain the following:


 * An xml header utilizing version 1.0, and a recommended encoding of iso-8859-1.
 * The data must be enclosed within a set of IsfdbSubmission tags.
 * The data must contain a valid registered user within a set of Submitter tags.
 * The data must contain a subject heading within a set of Subject tags. This subject is displayed in the moderator queue, and is not integrated into the ISFDB data.

A stubbed out version of a generic submission looks like this:

Author Related Submissions
There are three data submission types necessary for the upkeep of the authors table:


 * XML:AuthorMerge - Merges two author records together.
 * XML:AuthorUpdate - Updates an author record.
 * XML:MakePseudonym - Makes an author record a pseudonym.

Note that there are no submission types to create or delete author entries. Author entries are created on demand when a title or publication requires them. Likewise author entries are deleted when no other records refer to them.

Publication Related Submissions
There are four data submission types necessary for the upkeep of the pubs table:


 * XML:NewPub - Adds a new publication record.
 * XML:PubDelete - Deletes a publication record.
 * XML:PubUpdate - Modifies a publication record.
 * XML:TitleRemove - Removes one or more titles from a publication record.

Title Related Submissions
There are six data submission types necessary for the upkeep of the titles table:


 * XML:LinkReview - Links a review record to the reviewed title.
 * XML:MakeVariant - Makes the current title a variant title.
 * XML:TitleDelete - Deletes a title record.
 * XML:TitleMerge - Merges two or more title records.
 * XML:TitleUnmerge - Unmerges one or more title records.
 * XML:TitleUpdate - Modifies a title record.
 * XML:VariantTitle - Adds a variant title to the current title.

Series Related Submissions
There is one series-related data submission type:


 * XML:SeriesUpdate - Updates a series record.

Note that there are no submission types to create or delete series entries. Series entries are created on demand when a title requires them. There is a submission type to delete an empty series, but it shouldn't be used via the Web API.

Awards Related Submissions
There are three data submission types necessary for the upkeep of the awards table:


 * XML:NewAward - Creates a new award record.
 * XML:AwardDelete - Deletes an award record.
 * XML:AwardUpdate - Updates an award record.

Publisher Related Submissions
There are two data submission types necessary for the upkeep of the publishers table:


 * XML:PublisherUpdate - Updates a publisher record.
 * XML:PublisherMerge - Merges two or more publisher records.

Note that there are no submission types to create or delete publisher entries. Publisher entries are created on demand when a publication requires them. Likewise publisher entries are deleted when no other publications refer to them.