Difference between revisions of "Data Submission Formats"

From ISFDB
Jump to navigation Jump to search
(→‎Title Related Submissions: Moving TitleMerge)
(→‎Title Related Submissions: Moving TitleDelete)
Line 41: Line 41:
 
* [[XML:TitleUpdate]] - Modifies a title record.
 
* [[XML:TitleUpdate]] - Modifies a title record.
 
* [[XML:TitleMerge]] - Merges two or more title records.
 
* [[XML:TitleMerge]] - Merges two or more title records.
 
+
* [[XML:TitleDelete]] - Deletes a title record.
 
 
===TitleDelete===
 
 
 
The TitleDelete submission deletes the indicated title. The must be no publications referring to this title. The submission contains two required tags:
 
 
 
* '''Record''' - Required tag. Record number of the title.
 
* '''Reason''' - The reason for deletion. This is a plain text field.
 
Example:
 
 
 
<?xml version="1.0" encoding="iso-8859-1" ?>
 
<IsfdbSubmission>
 
  <TitleDelete>
 
    <Subject>The Petrified Planet</Subject>
 
    <Submitter>Ahasuerus</Submitter>
 
    <Record>825280</Record>
 
    <Reason>Dup title.</Reason>
 
  </TitleDelete>
 
</IsfdbSubmission>
 
  
 
===TitleUnmerge===
 
===TitleUnmerge===

Revision as of 13:48, 21 May 2008

Introduction

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:

<?xml version="1.0" encoding="iso-8859-1" ?>
<IsfdbSubmission>
  <...Type...>
     <Submitter>Registered_User_Name</Submitter>
     <Subject>Subject Line That Will Appear in Moderator Queue</Subject>
     ...
  </...Type...>
</IsfdbSubmission>

Author Related Submissions

There are two data submission types necessary for the upkeep of the authors table:

  • XML:AuthorMerge - handles merging two authors together; it does have side effects on publication and title mapping tables, as one of the authors is replaced with the other.
  • XML:AuthorUpdate - handles changes made to the author-related tables; it has no side effects on other tables.

Note that their 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 delete when no other records refer to them.

Publication Related Submissions

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

Title Related Submissions

TitleUnmerge

The TitleUnmerge submission is used to split off titles that were previously merged. The indicated publications will point to brand new titles. These titles will have the same title name and year as the publication records they were created from. The submission contains two required tags:

  • Record - Record number of the parent title.
  • PubRecord - Record number of the target publication. There may be more than one publication targeted per submission.

Example:

<?xml version="1.0" encoding="iso-8859-1" ?>
<IsfdbSubmission>
  <TitleUnmerge>
    <Submitter>Alvonruff</Submitter>
    <Subject>Galactic North</Subject>
    <Record>198738</Record>
    <PubRecord>104411</PubRecord>
    <PubRecord>89771</PubRecord>
</TitleUnmerge>
</IsfdbSubmission>

MakeVariant

This submission is used to make current title a variant title. It can either link to an existing parent title, or it can specify that a parent title be created.

Example where parent exists:

<?xml version="1.0" encoding="iso-8859-1" ?>
<IsfdbSubmission>
  <MakeVariant>
    <Submitter>CoachPaul</Submitter>
    <Subject>Luella Miller</Subject>
    <Record>883909</Record>
    <Parent>99468</Parent>
  </MakeVariant>
</IsfdbSubmission>

Example where parent is created:

<?xml version="1.0" encoding="iso-8859-1" ?>
<IsfdbSubmission>
  <MakeVariant>
    <Record>884039</Record>
    <Submitter>Rkihara</Submitter>
    <Subject>Buying Time: A Jaunt in Time and Space</Subject>
    <Title>Buying Time: A Jaunt in Time and Space</Title>
    <Year>2001-00-00</Year>
    <TitleType>NOVEL</TitleType>
    <Authors>
      <Author>Alan Glasser</Author>
    </Authors>
  </MakeVariant>
</IsfdbSubmission>

VariantTitle

This submission is used to add a variant title to the current title. This is useful if you know from a secondary bibliography that a variant title exists, but no publication has every been entered under that title as yet. Usage of this submission type is fairly rare.

Example:

<?xml version="1.0" encoding="iso-8859-1" ?>
<IsfdbSubmission>
  <VariantTitle>
    <Submitter>Ahasuerus</Submitter>
    <Subject>Nad Bezdnoj</Subject>
    <Parent>877998</Parent>
    <Title>Nad Chernoj Bezdnoj</Title>
    <Year>1927-00-00</Year>
    <Storylen>ss</Storylen>
    <TitleType>SHORTFICTION</TitleType>
    <Note>Originally published as "Nad Chernoj Bezdnoj", book publication as "Nad Bezdnoj".</Note>
    <Authors>
      <Author>Alexander Beliaev</Author>
    </Authors>
  </VariantTitle>
</IsfdbSubmission>