(revised March 02, 2007)
General Overview
CrossRef enables DOI assignment for the following content items:
- Journals/working papers: journal title, volume, issue and article
- Books: book series, title, chapter/section/entry
- Conference proceedings: multi-volume title, title, paper
- Components: sub-items of journal articles, book chapters/entries and conference papers including figures, tables, graphs and supplemental data.
NOTE: DOIs are required for journal articles, conference papers and book titles but are optional for journal titles, volumes and issues and book chapters/entries and components.
CrossRef is currently working on expanding the types of content it registers DOIs for to include theses and dissertations and database records.
Important points to note about depositing DOIs and metadata:
- DOIs are "live" in the CrossRef and DOI systems immediately upon deposit. This means that when the DOIs and metadata for a content item are submitted to CrossRef, there must be an active response page for the item, i.e. the depositor must be able to receive incoming links for the content items. This is necessary because when metadata and DOIs are deposited with CrossRef, other members and users of the system can look up the DOIs immediately and create links.
- Publishers must maintain the accuracy of metadata, DOIs and URLs. There is no charge for sending updates or revisions to previously submitted records.
- DOIs and metadata should be deposited with CrossRef as soon as possible after the content item is published online.
CrossRef XML Schema
Depositing metadata with CrossRef involves creating an XML file formatted according to our XSD schema. The schema is a file which defines the rules by which the XML must be constructed. It specifies which fields are required or optional and to some extent constrains the makeup of the data that can be inserted in the XML.
The latest schema file is version 4.1.0 and is available at http://www.crossref.org/schema/deposit/crossref4.1.0.xsd.
The associated common file is at http://www.crossref.org/schema/deposit/common1.0.4.xsd.
The documentation for the schema is provided in http://www.crossref.org/schema/info/CrossRef Schema Documentation 04.1.0.pdf and sample XML files are available at http://www.crossref.org/schema/info/samples/.
All CrossRef schemas may be viewed at http://www.crossref.org/schema/deposit/.
The documentation for the 2.0.X versions is still available at CrossRef Schema Documentation. The full development package for the 2.0.X version that contains the PDF documentation , sample XML files and the XSD file by clicking on the following link: CrossRef Schema Package.
An XML parser is provided at Instructions For New Schema which allows you to verify that the format and structure is good before submitting the file as a deposit to the system. This is a quicker way to validate your XML then by trial and error using the deposit process.
Uploading Files To CrossRef
All deposits are made by uploading your XML files to CrossRef. This can be accomplished by using the upload form provided at http://doi.crossref.org or programmatically by writing software to perform the necessary HTTP POST operation. After your deposit has been uploaded you will receive confirmation that your file has been copied to CrossRef and is entered into the processing queue. This comes in the form of an HTTP response to the POST operation. It then generally takes a few minutes to actually process your deposit (depending on how busy the deposit processors are) after which you will receive an email indicating the processing results. During times of very heavy loads, jobs may take several hours to reach the top of the queue. You can go to http://doi.crossref.org and select the "Show My Submission Queue" link which lists the current and waiting jobs. Under certain circumstances the CrossRef administrator can move jobs to the head of the queue for more immediate processing. You can request this service my emailing support@crossref.org or calling (781)295-0072 and asking for Tim.
During the upload process the CrossRef system will validate your XML using the Xerces parser. This step verifies that the XML is well formed and conforms to the rules of the XSD schema. Since your return email address is in the XML an administrator will get the log message and forward it to you if your XML is unreadable.
NOTE: the authentication process confirms that user making a deposit has the authority to do so by examining the first DOI in the deposit file. If the user is allowed to deposit for the prefix in that DOI, the deposit is accepted. As a result all DOIs in a single XML file must have the same prefix.
Web Site Upload Form
Once logged into http://doi.crossef.org follow the Submissions tab to the Upload tab. Set the Type selection to Metadata and browse to select the XML file (no multiple select allowed) on you computer and then hit 'Upload'
Programming The Upload
Writing a program to perform the upload is a fairly simple process (in Java or Perl anyway). A fully functional Java program can be download from http://www.crossref.org/08downloads/doUpload.java. This program accepts either an XML file to deposit or a file (anything without a .XML extension) that is a list of XML files to deposit. It is run by issuing:
java doUpload <USR> <PWD> filename
In order to use this you will need a copy of a recent Java runtime and you'll need the HTTP Client library.
You may also submit a Batch Query using http://www.crossref.org/08downloads/doQPost.java
For more complete technical documentation please visit http://doi.crossref.org/doc/userdoc.html.
The CrossRef VBClient
Alternatively, you may download, unzip and install the CrossRef VBClient. This simple Windows program allows you to upload files (deposits or queries) and to perform interactive queries. Simply enter your username and password and select 'XSD Deposit' (DTD Deposit is being phased out). Then (multi) select the files you wish to upload and select 'Do It'.
Deposit Log Results
The email you receive after your deposit has been processed provides valuable information. Deposits whose XML will not parse will be rejected in their entirety. All DOIs in the file will not be processed if any XML errors are encountered whether the error is just a simple omission of data from one record or a major structural problem with the XML.
A sample log is shown below. In this file the <submission_id> identifies the job that processed this deposit. In the event of problem please include this ID in any messages you send to CrossRef support. Its is very important that the warning and failure counts be examined either manually or automatically and that some corrective action is taken if these counts are not zero.
<?xml version="1.0" encoding="UTF-8"?>
<doi_batch_diagnostic>
<submission_id>9349810</submission_id>
<batch_id>FINAL_001</batch_id>
<record_diagnostic status="Success">
<doi>10.5555/second_conflict_003</doi>
<msg>Successfully added</msg>
</record_diagnostic>
<batch_data>
<record_count>1</record_count>
<success_count>1</success_count>
<warning_count>0</warning_count>
<failure_count>0</failure_count>
</batch_data>
</doi_batch_diagnostic>
The most common error messages are explained in the table below.
| Message |
Meaning |
|
|
| Successfully added |
Normal message for a new DOI |
|
|
| Successfully updated |
Normal message for a DOI update |
|
|
| Record not processed because submitted version: 1 is less or equal to previously submitted version (DOI match) |
The DOI was deposited earlier and the timestamp in this update has not been incremented |
|
|
| Added with conflict |
Two DOIs are in the system with the same metadata. This usually occurs when an article is published ahead of print such that no enumeration or page values are available. |
|
|
| User with ID: {0} cant submit into handle,
please contact the crossref admin
|
The handle system username and password assigned to this prefix is incorrect in the CrossRef system |
|
|
| "User not allowed to add records for
prefix: {0}
|
The CrossRef user account is not setup to allow deposits for this prefix |
|
|
| All prefixes in a submission must match
(DOI[{0}]
|
In a given XML file all DOIs being deposited must be of the same prefix |
|
|
| year: {0} in not a valid integer |
Year must be a string that converts to a valid 4 digit year |
|
|
:64:53: cvc-complex-type.2.4.a:
Invalid content starting with element 'item_number'.
The content must match '(("http://www.crossref.org/schema/2.0.5":
item_number)
{0-3}, ("http://www.crossref.org/schema/2.0.5":
identifier)
{0-10}) |
This is an example of a parsing error being reported in the log file. Since this output comes directly from the Xerces parser the actual message will vary depending on the error |
Web Deposit Form
An easy-to-use HTML form is available for registering DOIs. The form requires no knowledge of XML and is suitable for a small number of deposits. The form can be used to register journal, book and conference proceedings DOIs. The form and more detailed instructions are available at http://www.crossref.org/webDeposit/.
XML Content Special Conditions
While the expected content value for most elements is described in the schema documentation, there are a few conditions where values are treated by the system in a special way.
1) For electronic only journals there are often no page numbers but there may be an alternative number. In these cases it is not desirable to misuse the <first_page> tag since in the future this data may be used to imply page specific processing. To allow for an alternative number the <item_number> tag can be used with the item_number_type attribute set accordingly:
<item_number item_number_type="article-number">3D9324F1-16B1-11D7-8645000102C/item_number>
2) During a deposit the system performs a comparison of the metadata being deposited with all the other metadata records in the system. This is done to help maintain unique records for each DOI, which dramatically improves the hit rate on queries. The fields journal identifier, author, volume, issue, page and article title are used to make this comparison. However, circumstances may arise where two or more articles may start on the same page and not have distinguishing author or article title values. In addition, sufficient metadata may just not be available to allow for uniqueness. The <item_number> tag, with the appropriate item_number_type attribute value, can be used to provide a unique number to an article to ensure that it's metadata is viewed as unique within the CrossRef repository. This number may be the article sequence number on the page or may even be set to the DOI value itself.
<item_number item_number_type="sequence-number">3D9324F1-16B1-11D7-8645000102C/item_number>
Note: deposits that do not have unique metadata will be accepted by the CrossRef system but will be flagged as being in conflict. A system administrator may resolve conflicts by assigning one of the DOIs to be the primary or 'real' DOI while the other becomes an alias (effectively replaced by the primary).
3) Within the <contributors> tag it is the first <person_name> or <oraganization> with an attribute of "sequence=first" that will be stored in the repository. For <person_name> the important value is in <surname> while the entire value of <organization> is used. These values are what a query field of "author" searches against.
4) Every ISSN associated with a given journal title over the course of several deposits will be saved by the system. However, the first ISSNs (print and/or electronic) will be what is listed in the MDDB.XML file. A subsequent query using any of these ISSNs will find an article match for all the deposits, regardless of which ISSN was associated with the journal article at the time of deposit. Note: there are no safe guards in the deposit process to verify that an ISSN has been previously used for a different journal title.
5) No verification is performed on journal title during the deposit process. Slight deviations in the title text will result in a new journal record within the system as well as in the MDDB.XML and in CrossRef's browsable journal list.
6) While there is no absolute maximum file size it is recommended to limit deposit files to be less than 5 megabytes.
Updating CrossRef Metadata
Once an article's metadata has been deposited with CrossRef you may update it as often as you like (at no additional fee). When making an update you must supply all the metadata for the article and not just the fields that need to be changed. During the update process the system completely overwrites the existing metadata with the update, including an overwrite of a null value for any fields not supplied in the update.
CrossRef Data Rules (PDF)
This document currently contains the data rules applicable to the old DTD format, however most are still applicable to the XSD schema. These rules define what each depositor should conform to while creating their XML batches for deposit into the Crossref System. An update of this document is being prepared.
DOI Ownership Transfer
Once a DOI is assigned to an article it should remain unchanged and ideally only one DOI should exist for a given article. When journal ownership is transferred from one publisher to another it becomes necessary to transfer the ownership of the DOIs associated with the journal. This can be accomplished by a CrossRef administrator.
To transfer ownership of DOIs please review and follow the DOI Ownership Transfer Policies.
Bulk Reassignment of URLs
Using the DOI Ownership transfer mechanism a CrossRef administrator can assign new URLs to a list of DOIs by setting the old and new owner prefixes to be the same. This technique supports the need to update a set of URLs when the original deposited XML is no longer available to perform an update.
Encoding Issues with DOI Links
When constructing the out-bound link using a DOI there are a few characters that require special treatment
- The '#' character should be encoded using %23
BAD => http://dx.doi.org/10.1002/(SICI)1521-3951(199911)216:1<135::AID-PSSB135>3.0.CO;2-#
GOOD => http://dx.doi.org/10.1002/(SICI)1521-3951(199911)216:1<135::AID-PSSB135>3.0.CO;2-%23
- The '/ character should not be encoded