Formatting XML Files for Coverage Data
To import an XML file in Coverage Load, the file must follow Innovative's Electronic Holdings Update DTD.
NOTE
If your organization uses ONIX Serials Online Holdings Message Formats, see Using ONIX Serials Online Holdings Message Formats for information on how the Electronic Holdings Update DTD maps to the ONIX Serials Online Holdings By-Host message format.
An XML file may contain information about one or more resources.
The XML file should be saved in plain text format. Innovative accepts Unicode for organizations that do not use Latin characters.
Special characters in URLs should be converted to XML entity references.
Entering Dates
Dates can be entered in any of the following formats:
- YYYYMMDD
- YYYYMM
- YYYY
If the resource's end date is "to present," leave the EndDate element blank. If there is a nonblank StartDate element and a blank EndDate element, the system interprets the blank value for the EndDate element to mean that the subscription is open-ended. If you do not have a start date for the open-ended resource, enter a zero in the StartDate element.
Innovative Interfaces Electronic Holdings Update DTD
<!-- DTD for Electronic Holdings Update Data --> <!ELEMENT ElectronicHoldingsUpdate (Supplier?, CASE?, ServiceObject+) > <!ELEMENT Supplier (#PCDATA) > <!ELEMENT CASE EMPTY > <!ATTLIST CASE created CDATA #IMPLIED requested CDATA #IMPLIED releaseDate CDATA #IMPLIED profileUpdated CDATA #IMPLIED > <!ELEMENT ServiceObject ( ServiceIdentifier, ObjectDescription+) > <!ELEMENT ServiceIdentifier ( VendorId, DatabaseId?) > <!ELEMENT VendorId (#PCDATA) > <!ELEMENT DatabaseId (#PCDATA) > <!ELEMENT ObjectDescription (Title?, ISSN?, ISBN?, EISSN?, ContentType?, StartDate?, EndDate?, Embargo?, URL?, Holdings?, PublicNote?, AltLookup?, EnumCaption1?, EnumStart1?, EnumEnd1?, EnumCaption2?, EnumStart2?, EnumEnd2?, EnumCaption3?, EnumStart3?, EnumEnd3?, EnumCaption4?, EnumStart4?, EnumEnd4?, EnumCaption5?, EnumStart5?, EnumEnd5?, EnumCaption6?, EnumStart6?, EnumEnd6?, OtherData?, OtherData?, OtherData?, OtherData?) > <!ELEMENT Title (#PCDATA) > <!ELEMENT ISSN (#PCDATA) > <!ELEMENT ISBN (#PCDATA) > <!ELEMENT EISSN (#PCDATA) > <!ELEMENT ContentType (#PCDATA) > <!ELEMENT StartDate (#PCDATA) > <!ELEMENT EndDate (#PCDATA) > <!ELEMENT Embargo (#PCDATA) > <!ELEMENT URL (#PCDATA) > <!ELEMENT Holdings (#PCDATA) > <!ELEMENT PublicNote (#PCDATA) > <!ELEMENT OtherData ( OtherDataName, OtherDataValue) > <!ELEMENT OtherDataName (#PCDATA) > <!ELEMENT OtherDataValue (#PCDATA) > <!ELEMENT AltLookup (#PCDATA) > <!ELEMENT EnumCaption1 (#PCDATA) > <!ELEMENT EnumStart1 (#PCDATA) > <!ELEMENT EnumEnd1 (#PCDATA) > <!ELEMENT EnumCaption2 (#PCDATA) > <!ELEMENT EnumStart2 (#PCDATA) > <!ELEMENT EnumEnd2 (#PCDATA) > <!ELEMENT EnumCaption3 (#PCDATA) > <!ELEMENT EnumStart3 (#PCDATA) > <!ELEMENT EnumEnd3 (#PCDATA) > <!ELEMENT EnumCaption4 (#PCDATA) > <!ELEMENT EnumStart4 (#PCDATA) > <!ELEMENT EnumEnd4 (#PCDATA) > <!ELEMENT EnumCaption5 (#PCDATA) > <!ELEMENT EnumStart5 (#PCDATA) > <!ELEMENT EnumEnd5 (#PCDATA) > <!ELEMENT EnumCaption6 (#PCDATA) > <!ELEMENT EnumStart6 (#PCDATA) > <!ELEMENT EnumEnd6 (#PCDATA) > </PRE>
Explanation of DTD Elements
Element | Attributes | Explanation | Required | ||||||||
ElectronicHoldingsUpdate ( Supplier?, ServiceObject+ ) | N/A | The Supplier and the ServiceObject compose the ElectronicHoldingsUpdate element. | Required. There is one ElectronicHoldingsUpdate element per file. | ||||||||
Supplier (#PCDATA) | N/A | Name of the provider of the data (e.g., Serial Solutions) | Optional. There is one Supplier per file. | ||||||||
CASE |
|
Allows CASE files to conform to the DTD. The CASE element is EMPTY. It has attributes. | Optional. There is one CASE element per file. | ||||||||
ServiceObject ( ServiceIdentifier, ObjectDescription+ ) | N/A | The ServiceIdentifier and ObjectDescription compose the ServiceObject element | Required. Within the ElectronicHoldingsUpdate, there can be one or more ServiceObject elements per file. | ||||||||
ServiceIdentifier (VendorId, DatabaseId?) | N/A | The VendorId and DatabaseId compose the ServiceIdentifier element | Required. Within each ServiceObject there can be only one ServiceIdentifier element. | ||||||||
VendorId (#PCDATA) | N/A | Name that identifies the vendor of the resource (e.g., ProQuest) | Required. VendorID is required within each ServiceIdentifier element. | ||||||||
DatabaseId (#PCDATA) | N/A | Name that further describes the particular database associated with the vendor. (e.g., ABI/Inform) | Required. There can be only one within each ServiceIdentifier element. | ||||||||
ObjectDescription (Title?, ISSN?, ISBN?, EISSN?, ContentType?, StartDate?, EndDate?, Embargo?, URL?, Holdings?, PublicNote?, AltLookup?, EnumCaption1?, EnumStart1?, EnumEnd1?, EnumCaption2?, EnumStart2?, EnumEnd2?, EnumCaption3?, EnumStart3?, EnumEnd3?, EnumCaption4?, EnumStart4?, EnumEnd4?, EnumCaption5?, EnumStart5?, EnumEnd5?, EnumCaption6?, EnumStart6?, EnumEnd6?, OtherData?, OtherData?, OtherData?, OtherData?) | N/A | The ObjectDescription element describes a resource. | Required. Within each ServiceObject, there can be one or more ObjectDescription elements. | ||||||||
Title | N/A | The Title composes the Title element within the ObjectDescription element | Optional. Within each ObjectDescription, there can be only one Title element. | ||||||||
ISSN | N/A | The ISSN composes the ISSN element within the ObjectDescription element | Optional. Within each ObjectDescription, there can be only one ISSN element. | ||||||||
ISBN | N/A | The ISBN composes the ISBN element within the ObjectDescription element | Optional. Within each ObjectDescription, there can be only one ISBN element. | ||||||||
EISSN | N/A | The EISSN composes the EISSN element within the ObjectDescription element | Optional. Within each ObjectDescription, there can be only one EISSN element. | ||||||||
ContentType | N/A | Describes data for CASE. This element describes the resource's content type (full text, abstract, etc.). | Optional. Within each ObjectDescription, there can be only one ContentType element. | ||||||||
StartDate | N/A | The StartDate composes the StartDate element within the ObjectDescription element | Optional. Within each ObjectDescription, there can be only one StartDate element. | ||||||||
EndDate | N/A | The EndDate composes the EndDate element within the ObjectDescription element | Optional. Within each ObjectDescription, there can be only one EndDate element. | ||||||||
Embargo | N/A | The Embargo composes the Embargo element within the ObjectDescription element | This optional element is reserved for future development and is not currently used. | ||||||||
URL | N/A | The URL composes the URL element within the ObjectDescription element | Optional. Within each ObjectDescription, there can be only one URL element. | ||||||||
Holdings | N/A | The Holdings composes the Holdings element within the ObjectDescription element | Optional. Within each ObjectDescription, there can be only one Holdings element. | ||||||||
PublicNote | N/A | The PublicNote composes the PublicNote element within the ObjectDescription element | Optional. Within each ObjectDescription, there can be only one PublicNote element. | ||||||||
OtherData (OtherDataName, OtherDataValue) | N/A | The OtherDataName and OtherDataValue entries compose the OtherDataDescription element | Optional. Within each ObjectDescription, there can be up to four OtherDataDescription elements. Each requires an OtherDataName and OtherDataValue entry pair. | ||||||||
OtherDataName | N/A | The OtherDataName composes the OtherDataName element | Required. Within each ObjectData, there must be an OtherDataName entry. | ||||||||
OtherDataValue | N/A | The OtherDataValue composes the OtherDataValue element | Required. Within each ObjectData, there must be an OtherDataValue entry. | ||||||||
AltLookup | N/A | The value used for alternate lookups. | Optional. Within each ObjectDescription, there can be only one AltLookup element. | ||||||||
EnumCaption<num> (#PCDATA) | N/A | The enumeration caption. Six levels of enumeration are allowed. | Optional. Within each ObjectDescription, there can be one enumeration caption for each enumeration level. For example, each ObjectDescription can have one EnumCaption1 and one EnumCaption2 and one EnumCaption3, etc. | ||||||||
EnumStart<num> (#PCDATA) | N/A | The start date of the enumeration level. | Optional. Within each ObjectDescription, there can be one enumeration start date for each enumeration level. For example, each ObjectDescription can have one EnumStart1 and one EnumStart2 and one EnumStart3, etc. | ||||||||
EnumEnd<num> (#PCDATA) | N/A | The end date of the enumeration level. | Optional. Within each ObjectDescription, there can be one enumeration end date for each enumeration level. For example, each ObjectDescription can have one EnumEnd1 and one EnumEnd2 and one EnumEnd3, etc. |
XML File Example
<?xml version="1.0" encoding="UTF-8"?> <ElectronicHoldingsUpdate> <Supplier>Innovative Interfaces</Supplier> <CASE created="2005-12-08 10:12:55" requested="2005-12-08 10:11:06" releaseDate="2005-11-30 09:51:26" profileUpdated="2005-12-08 09:32:26"/> <ServiceObject> <ServiceIdentifier> <VendorId>com.allenpress</VendorId> <DatabaseId>afs</DatabaseId> </ServiceIdentifier> <ObjectDescription> <Title>Fisheries</Title> <ISSN>1548-8446</ISSN> <ContentType>fulltext</ContentType> <StartDate>1976</StartDate> <EndDate>2002</EndDate> <URL>http://afs.allenpress.com/perlserv/?request=get-archive&issn=1548-8446</URL> <AltLookup>84740</AltLookup> <EnumCaption1>volume</EnumCaption1> <EnumStart1>1</EnumStart1> <EnumEnd1>27</EnumEnd1> <EnumCaption2>issue</EnumCaption2> <EnumStart2>2</EnumStart2> <EnumEnd2>12</EnumEnd2> </ObjectDescription> <ObjectDescription> <Title>Journal of Aquatic Animal Health</Title> <ISSN>1548-8667</ISSN> <ContentType>fulltext</ContentType> <StartDate>1989</StartDate> <EndDate>2005</EndDate> <URL>http://afs.allenpress.com/perlserv/?request=get-archive&issn=1548-8667</URL> <AltLookup>84744</AltLookup> <EnumCaption1>volume</EnumCaption1> <EnumStart1>1</EnumStart1> <EnumEnd1>17</EnumEnd1> <EnumCaption2>issue</EnumCaption2> <EnumStart2>1</EnumStart2> <EnumEnd2>3</EnumEnd2> </ObjectDescription> <ObjectDescription> <Title>North American Journal of Aquaculture</Title> <ISSN>1548-8454</ISSN> <ContentType>fulltext</ContentType> <StartDate>1999</StartDate> <EndDate>2005</EndDate> <URL>http://afs.allenpress.com/perlserv/?request=get-archive&issn=1548-8454</URL> <AltLookup>84741</AltLookup> <EnumCaption1>volume</EnumCaption1> <EnumStart1>61</EnumStart1> <EnumEnd1>67</EnumEnd1> <EnumCaption2>issue</EnumCaption2> <EnumStart2>1</EnumStart2> <EnumEnd2>4</EnumEnd2> </ObjectDescription> <ObjectDescription> <Title>North American Journal of Fisheries Management</Title> <ISSN>1548-8675</ISSN> <ContentType>fulltext</ContentType> <StartDate>1981</StartDate> <EndDate>2005</EndDate> <URL>http://afs.allenpress.com/perlserv/?request=get-archive&issn=1548-8675</URL> <AltLookup>84750</AltLookup> <EnumCaption1>volume</EnumCaption1> <EnumStart1>1</EnumStart1> <EnumEnd1>25</EnumEnd1> <EnumCaption2>issue</EnumCaption2> <EnumStart2>1</EnumStart2> <EnumEnd2>3</EnumEnd2> </ObjectDescription> <ObjectDescription> <Title>Progressive Fish-Culturist, The</Title> <ISSN>1548-8640</ISSN> <ContentType>fulltext</ContentType> <StartDate>1984</StartDate> <EndDate>1998</EndDate> <URL>http://afs.allenpress.com/perlserv/?request=get-archive&issn=1548-8640</URL> <AltLookup>84749</AltLookup> <EnumCaption1>volume</EnumCaption1> <EnumStart1>46</EnumStart1> <EnumEnd1>60</EnumEnd1> <EnumCaption2>issue</EnumCaption2> <EnumStart2>1</EnumStart2> <EnumEnd2>4</EnumEnd2> </ObjectDescription> <ObjectDescription> <Title>Transactions of the American Fisheries Society</Title> <ISSN>1548-8659</ISSN> <ContentType>fulltext</ContentType> <StartDate>1970</StartDate> <EndDate>2005</EndDate> <URL>http://afs.allenpress.com/perlserv/?request=get-archive&issn=1548-8659</URL> <AltLookup>84745</AltLookup> <EnumCaption1>volume</EnumCaption1> <EnumStart1>99</EnumStart1> <EnumEnd1>134</EnumEnd1> <EnumCaption2>issue</EnumCaption2> <EnumStart2>1</EnumStart2> <EnumEnd2>5</EnumEnd2> </ObjectDescription> </ServiceObject> </ElectronicHoldingsUpdate>