Project: DARE/SHARE(NL) / DRIVER(EU)
Subject: MPEG21-DIDL Document Specifications for repositories with high quality output.
Date: 22 Januari 2008
Version: 2.3.1
Date |
Version |
|
Download PDF |
22 Januari 2008 |
2.3.1 |
Minor change in the schema path. ISO changed the path .../dii.xsd/dii.xsd to .../dii/dii.xsd |
|
05 December 2007 |
2.3 |
Changes to stress the use of Persistent Identifiers in the DIDL document. The addition of the ORE compliant info:eu-repo namespace |
|
23 May 2007 |
2.2.2 |
Some changes and little tweaks. |
|
23 March 2007 |
2.2.1 |
Added comment of Peter van Huisstede, small corrections in the example XML. |
|
6 March 2007 |
2.2 |
The Committee for Complex Objects looked at this document and came with more elegant improvements. Thanks to: Thomas Place, Renze Brandsma, Henk Ellermann, Peter van Huisstede and Ruud Bronmans. |
|
20 February 2007 |
2.1 |
A closer look at the recommendations of Herbert vd Sompel gave more insight in the DIDL semantics, and thus leading to a better XMLspecification. |
|
2 January 2007 |
2.0 |
Fundamental change of element and attribute use; for better representation of the semantics. |
|
4 December 2006 |
1.1.2 |
Translated into English for DRIVER |
|
11 July 2006 |
1.1.1 |
Few typos are removed. |
|
10 July 2006 |
1.1 |
Extension with:
|
|
30 March 2006 |
1.0 |
Initial document |
|
|
|
|
|
V 2.3.1
V 2.3
V 2.2.2
V 2.2
V 2.1
V 2.0
MPEG21 DIDL Document Specifications for repositories
1 Document information
2 Versions
2.1 What's new
3 Table of Contents
4 Introduction and Goal
5 Background information
5.1 Persistent Identifier
6 OAI Response with a DIDL document
Remarks:
7 DIDL as wrapper
7.1 Item Descriptors
7.1.1 Item 'Identifier' Statement
Remarks:
7.1.2 Item 'modified' Statement
Remarks:
7.1.3 Item 'ObjectType' Statement
Remarks:
7.2 Compound Item - representation of the complex work
Remarks:
7.2.1 Metadata Item
Remarks:
7.2.2 Object Item
Remarks:
7.2.3 Jump-off-page / Human Start page Item
Remarks:
7.3 Example of full OAI-PMH record (thesis) as MPEG-21 DIDL
This document is an addition to the existing DIDL document specification document for repositories which is being used by the Dutch Universities, Koninklijke Bibliotheek, National Library of The Netherlands, and DAREnet. The goal of this document is to make the use of DIDL unambiguously clear by describing:
When used correctly, this specification will create a valid XML MPEG-21 DIDL record for use with OAI-PMH responses.
This specification of the DIDL document for repositories is based on decisions that were proposed early in the development of this XML format to use MPEG-21 DIDL. The proposition was a rough sketch of a wrapper format that has room for metadata, object and jump-off-page resources.
This specification is a more precise workout.
The DIDL was originally developed within the DARE programme of SURF as a first, implementation of MPEG-21 DIDL.
The rationale behind this development was:
The DIDL has been in use within DARE since the summer of 2006. One of the results is that the contents of all Dutch repositories are now part of the E-Depot of the Koninklijke Bibliotheek, National Library of The Netherlands.
The Persistent Identifier is used to retrieve information also over hundreds of years despite of the underlying future technology. When a Persistent Identifier is used to Identify a Digital Object or Information, the Repository commits itself to keep the information resolvable.
The is particular DIDL document can also being used to transport the Persistent Identifier with the representations to the Resolver.
A national resolution mechanism is used to translate the Persistent Identifier into the current representations. The representation might be anno 2007 MSWord2007, or PDF8.0, but in the future that might be XYZ that represents the current information. The resolver keeps track of the updates.
In the SURFshare program the URN:NBN is used. (the arguments are not included here) We encourage to use the urn:nbn throughout Europe.
Use a persistent Identifier to Identify the information a representation represents, not to Identify the representation itself. This means Don't Identify the physical digital object like a Word file, but on a more abstract level the information it contains. The W3C URI model is as follows URN is a resource that contains static or dynamic content and refers to an URL. The URL provides the location of the representation.
In DIDL the DIDL Item Element contains an Persistent Identifier as a URN, the DIDL Resource Element contains the URL. This is how the National Resolution Services can link the URN to a URL.
The DIDL document is part of an OAI-PMH response. The DIDL document will be returned within a OAI-record when using didl as value of the metadataPrefix verb. This enables the repository to generate this particular didl format that is described in the document below.
Within the OAI XML structure, the DIDL resides within the metadata element. See below:
<OAI-PMH ...> |
The DIDL document is a document with one top-level Item element. The Item contains several child Item elements. These child item elements appear in three different kind of Object process types (metadata, objects and jump-off page). Between brackets the cardinality of the XML elements are shown:
<metadata> |
|
Item descriptors provide information about the Item. This information can be semantic hints for automatic processing or reusing the XML.
Example on level one |
<didl:DIDL ...> |
Example on level two |
<didl:DIDL ...> |
The first Descriptor contains the ID of the Item elements. This is mostly used to uniquely identify the digital object (e.g. with a urn:nbn). This ID is wrapped in a Statement with a DII Identifier element. For example:
<didl:Item> |
1. In our case the root Item has a Persistent Identifier to represent the
For second level Item elements accounts that this Identifier is NOT equal to the used OAI identifier or DIDL identifier.
2. The Identifier in the root Item element MAY be the same as the DIDL or OAI Identifier, but is not recommended.
3. The namespace for dii MUST be declared in the DIDL tag.
4. The Identifier MUST be an URI when applicable.
The second Descriptor contains a modification date. When something changes inside an Item, this modification date element has to be up-dated. This modification date is being specified by the modified element from dcterms:
<didl:Item> |
The third descriptor contains the object type. This Object type appears on the second level of Item elements. In other words; this applies only on child Item elements of the first Item.
This object type is being specified by the ObjectType element from the MPEG-21 Digital Item Processing (DIP) namespace that specifies an architecture pertaining to the dissemination of Digital Item Documents (DIDs).
<didl:Item> |
In section 7.3 this ObjectType statement will be further elaborated upon.
The top-Item element contains at least two mandatory Item element ObjectTypes. These Item-ObjectTypes are expressions of the root Item: one for the metadata and one for the digital object file, e.g. a PDF, as described by the metadata.
Optionally there can be a third Item element ObjectType for a jump-off-page: The jump-off page is an html intermediate page that is used for human readable presentations when an Item that has more than one digital object file. This situation typically occurs with dissertations (theses) with separate object files (e.g. when the thesis consists of a set of previously published articles). It also occurs when the content provider has a PDF, MS Word DOC and a HTML version of the same article.
<didl:DIDL ...> |
The DIDL document contains at least one metadata Item element. This metadata can be in different formats, simple Dublin Core, qualified Dublin Core, MODS, MARC21, etc. This can be done by refference (link to metadata XML) or by value (embedding the metadata in the DIDL XML). The use of simple Dublin Core is mandatory.
The second Item contains one or more links to the digital objects, and the third Item contains a link to a jump-off page.
<didl:Item> |
The URI's will be processed case un-sensitive. It is recommended to use camelCase writing. It is VERY important to use the exact combinations of characters, otherwise automatic processing will not be possible. To make it very clear the following URI's are used:
The first Item ObjectType element contains the metadata. The metadata is put in a Component and then in a Resource element. This can be cone by reference or by value. Every other format of the metadata is considered as a separate entity. Different metadata formats MUST be in separate Item elements. Every Component (mostly one) has a label with the name of a metadata format that has been used.
|
<didl:Item> |
|
|
1 |
|
2 |
|
|
|
3 |
|
|
|
|
|
|
|
4 |
<didl:Item> |
The second Item ObjectType contains a link to one digital object. This is 'by ref', and the Item element has an ObjectType statement with an info:eu-repo/semantics/objectFile URI. An Item can occur more then once, see the following:
|
|
|
|
|
As you can see in the above example, the Resource locations do not appear in several components within one Item, but each Resource location is wrapped in an Item element. The rationale behind this is that each Bitstream of file can have its own Identifier.
On the ... one may place the Identifier and modified tags, which is similar to the metadata Item.
The third ObjectType Item element contains a link to the jump-off page or intermediate page. This is done in the same way as for the Object Item element. Currently this is restricted to 1 Item of this type; there are no identifier elements, nor modification date elements present. This Item element is optional:
|
|
|
See for web presentation of this record via jump-off page:
http://igitur-archive.library.uu.nl/dissertations/2006-1206-200250/UUindex.html
<?xml version="1.0" encoding="UTF-8" ?>
<OAI-PMH
xmlns="http://www.openarchives.org/OAI/2.0/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd
>
<responseDate>2006-12-20T10:29:11Z</responseDate>
<request
identifier="oai:dspace.library.uu.nl:1874/15290"
metadataPrefix="didl"
verb="GetRecord">
http://dspace.library.uu.nl:8080/dspace-oai/request
</request>
<GetRecord>
<record>
<header>
<identifier>oai:dspace.library.uu.nl:1874/15290</identifier>
<datestamp>2006-12-06T19:00:49Z</datestamp>
<setSpec>hdl_1874_69</setSpec>
<setSpec>hdl_1874_12233</setSpec>
</header>
<metadata>
<!-- Introducing the DIDL document. -->
<!--
<didl:DIDL> is the wrapper or container that can be seen as an autonomous entity
that can exist outside the OAI-PMH context.
The DIDLDocumentId attribute (optional) is the DIDL identifier
and it CAN be the same as the record Identifier!
Leave it out if you have no dedicated DIDL identifier.
-->
<didl:DIDL
DIDLDocumentId=" urn:NBN:nl:ui:10-1705/6748398729821"
xmlns:didl="urn:mpeg:mpeg21:2002:02-DIDL-NS"
xmlns:dii="urn:mpeg:mpeg21:2002:01-DII-NS"
xmlns:dip="urn:mpeg:mpeg21:2005:01-DIP-NS"
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
urn:mpeg:mpeg21:2002:02-DIDL-NS http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-21_schema_files/did/didl.xsd
urn:mpeg:mpeg21:2002:01-DII-NS http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-21_schema_files/dii/dii.xsd
urn:mpeg:mpeg21:2005:01-DIP-NS http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-21_schema_files/dip/dip.xsd
>
<!-- The Item is the autonomous compound complex entity that is a representation of a work-->
<didl:Item>
<didl:Descriptor>
<didl:Statement mimeType="application/xml">
<dii:Identifier> urn:NBN:nl:ui:10-1705/6748398729821</dii:Identifier>
</didl:Statement>
</didl:Descriptor>
<didl:Descriptor>
<didl:Statement mimeType="application/xml">
<dcterms:modified>2006-12-20T10:29:12Z</dcterms:modified>
</didl:Statement>
</didl:Descriptor>
<didl:Component>
<!-- Actual resource of Item; Location of the DIDL document -->
<didl:Resource mimeType="application/xml"
ref="http://localhost/DIDLdocument-v2.3.xml"/>
</didl:Component>
<didl:Component>
<!-- Alternate resource of Item -->
<didl:Resource mimeType="application/xml"
ref="http://remote-server.nl/This_Item_represented_in_METS.xml"/>
</didl:Component>
<didl:Component>
<!-- Alternate resource of Item -->
<didl:Resource mimeType="application/xml"
ref="http://dx.doi.com/10.1705/6748398729821"/>
</didl:Component>
<didl:Component>
<!-- Alternate resource of Item -->
<didl:Resource mimeType="application/xml"
ref="http://ORE.resolve.org/?id={3F2504E0-4F89-11D3-9A0C-0305E82C3301}"/>
</didl:Component>
<!-- Introducing the area for metadata -->
<didl:Item>
<didl:Descriptor> <!-- ObjectType of Item -->
<didl:Statement mimeType="application/xml">
<dip:ObjectType>info:eu-repo/semantics/descriptiveMetadata</dip:ObjectType>
</didl:Statement>
</didl:Descriptor>
<didl:Component> <!-- Actual resource of Item -->
<didl:Resource mimeType="application/xml">
<oai_dc:dc
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xsi:schemaLocation="
http://www.openarchives.org/OAI/2.0/oai_dc/
http://www.openarchives.org/OAI/2.0/oai_dc.xsd
http://purl.org/dc/elements/1.1/
http://dublincore.org/schemas/xmls/simpledc20021212.xsd
>
<dc:title>Neonatal Glucocorticoid Treatment and Predisposition to Cardiovascular Disease in Rats</dc:title>
<dc:creator>Bal, M.P.</dc:creator>
<dc:subject>Geneeskunde</dc:subject>
<dc:subject>glucocorticoid</dc:subject>
<dc:subject>dexamethasone</dc:subject>
<dc:subject><!--etc...--></dc:subject>
<dc:subject>cellular hypertrophy</dc:subject>
<dc:subject>contractile proteins</dc:subject>
<dc:description>The present thesis describes the issue of "neonatal glucocorticoid treatment and predisposition to cardiovascular disease in rats". </dc:description>
<dc:publisher>Utrecht University</dc:publisher>
<dc:date>2006-12-12</dc:date>
<dc:type>Doctoral thesis</dc:type>
<dc:format>image/jpeg</dc:format>
<dc:format>image/pdf</dc:format>
<dc:format>image/pdf</dc:format>
<dc:format><!--etc...--></dc:format>
<dc:identifier>http://igitur-archive.library.uu.nl/dissertations/2006-1206-200250/UUindex.html</dc:identifier>
<dc:language>en</dc:language>
<dc:rights>(c) Bal, M.P., 2006</dc:rights>
</oai_dc:dc>
</didl:Resource>
</didl:Component>
</didl:Item>
<!-- Introducing the area for MODS metadata -->
<didl:Item>
<didl:Descriptor> <!-- ObjectType of Item -->
<didl:Statement mimeType="application/xml">
<dip:ObjectType>info:eu-repo/semantics/descriptiveMetadata</dip:ObjectType>
</didl:Statement>
</didl:Descriptor>
<didl:Component>
<didl:Resource mimeType="application/xml">
<mods
version="3.2"
xmlns="http://www.loc.gov/mods/v3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.loc.gov/mods/v3
http://www.loc.gov/standards/mods/v3/mods-3-2.xsd">
<titleInfo xml:lang="en">
<title> Neonatal Glucocorticoid Treatment and Predisposition to Cardiovascular Disease in Rats </title>
</titleInfo>
<name type="personal" ID="n1">
<namePart type="family"> Bal </namePart>
<namePart type="given">M.P.</namePart>
<role>
<roleTerm authority="marcrelator" type="code">aut</roleTerm>
</role>
</name>
<name type="personal" ID="n2">
<namePart type="family">Winter, de</namePart>
<namePart type="given">R.J.</namePart>
<role>
<roleTerm authority="marcrelator" type="code">aut</roleTerm>
</role>
</name>
<extension>
<daiList
xmlns:dai="info:eu-repo/dai"
xsi:schemaLocation="info:eu-repo/dai
http://www.surfgroepen.nl/sites/oai/metadata/Shared%20Documents/dai-extension.xsd">
<identifier
IDref="n2"
authority="info:eu-repo/dai/nl">157455590</identifier>
<identifier
IDref="n1"
authority="info:eu-repo/dai/nl">123456678</identifier>
</daiList>
</extension>
</mods>
</didl:Resource>
</didl:Component>
</didl:Item>
<!-- Introducing the area for digital fulltext objects -->
<!--
-->Bitstream no: \[0\]
<didl:Item>
<didl:Descriptor> <!-- ObjectType of Item -->
<didl:Statement mimeType="application/xml">
<dip:ObjectType>info:eu-repo/semantics/objectFile</dip:ObjectType>
</didl:Statement>
</didl:Descriptor>
<didl:Descriptor> <!-- Identifier of Item -->
<didl:Statement mimeType="application/xml">
<dii:Identifier>info:doi/10. 1874/15290/18</dii:Identifier>
</didl:Statement>
</didl:Descriptor>
<didl:Descriptor> <!-- Modified date of Item -->
<didl:Statement mimeType="application/xml">
<dcterms:modified>2006-12-20T10:29:12Z</dcterms:modified>
</didl:Statement>
</didl:Descriptor>
<didl:Component> <!-- Actual resource of Item -->
<didl:Resource
mimeType="text/html"
ref="https://dspace.library.uu.nl:8443/bitstream/1874/15290/18/index.htm" />
</didl:Component>
</didl:Item>
<!--
-->Bitstream no: \[1\]
<didl:Item>
<didl:Descriptor> <!-- ObjectType of Item -->
<didl:Statement mimeType="application/xml">
<dip:ObjectType>info:eu-repo/semantics/objectFile</dip:ObjectType>
</didl:Statement>
</didl:Descriptor>
<didl:Descriptor> <!-- Identifier of Item -->
<didl:Statement mimeType="application/xml">
<dii:Identifier>info:doi/10.1874/15290/16</dii:Identifier>
</didl:Statement>
</didl:Descriptor>
<didl:Descriptor> <!-- Modified date of Item -->
<didl:Statement mimeType="application/xml">
<dcterms:modified>2006-12-20T10:29:12Z</dcterms:modified>
</didl:Statement>
</didl:Descriptor>
<didl:Component> <!-- Actual resource of Item -->
<didl:Resource
mimeType="image/jpeg"
ref="https://dspace.library.uu.nl:8443/bitstream/1874/15290/16/bal.jpg" />
</didl:Component>
</didl:Item>
<!--
-->Bitstream no: \[2\]
<didl:Item>
<didl:Descriptor> <!-- ObjectType of Item -->
<didl:Statement mimeType="application/xml">
<dip:ObjectType>info:eu-repo/semantics/objectFile</dip:ObjectType>
</didl:Statement>
</didl:Descriptor>
<didl:Descriptor> <!-- Identifier of Item -->
<didl:Statement mimeType="application/xml">
<dii:Identifier>info:doi/10.1874/15290/15</dii:Identifier>
</didl:Statement>
</didl:Descriptor>
<didl:Descriptor> <!-- Modified date of Item -->
<didl:Statement mimeType="application/xml">
<dcterms:modified>2006-12-20T10:29:12Z</dcterms:modified>
</didl:Statement>
</didl:Descriptor>
<didl:Component> <!-- Actual resource of Item -->
<didl:Resource
mimeType="application/pdf"
ref="https://dspace.library.uu.nl:8443/bitstream/1874/15290/15/c1.pdf" />
</didl:Component>
</didl:Item>
<!--
-->Bitstream no: \[3\]
<didl:Item>
<didl:Descriptor> <!-- ObjectType of Item -->
<didl:Statement mimeType="application/xml">
<dip:ObjectType>info:eu-repo/semantics/objectFile</dip:ObjectType>
</didl:Statement>
</didl:Descriptor>
<didl:Descriptor> <!-- Identifier of Item -->
<didl:Statement mimeType="application/xml">
<dii:Identifier>info:doi/10.1874/15290/14</dii:Identifier>
</didl:Statement>
</didl:Descriptor>
<didl:Descriptor> <!-- Modified date of Item -->
<didl:Statement mimeType="application/xml">
<dcterms:modified>2006-12-20T10:29:12Z</dcterms:modified>
</didl:Statement>
</didl:Descriptor>
<didl:Component> <!-- Actual resource of Item -->
<didl:Resource
mimeType="application/pdf"
ref="https://dspace.library.uu.nl:8443/bitstream/1874/15290/14/c2.pdf" />
</didl:Component>
</didl:Item>
<!--
-->Bitstream no: \[etc...\]
<!-- Introducing the intermediate page -->
<didl:Item>
<didl:Descriptor> <!-- ObjectType of Item -->
<didl:Statement mimeType="application/xml">
<dip:ObjectType>info:eu-repo/semantics/humanStartPage </dip:ObjectType>
</didl:Statement>
</didl:Descriptor>
<didl:Component> <!-- Actual resource of Item -->
<didl:Resource
mimeType="text/html"
ref="http://igitur-archive.library.uu.nl/dissertations/2006-1206-200250/UUindex.html" />
</didl:Component>
</didl:Item>
</didl:Item>
</didl:DIDL>
</metadata>
</record>
</GetRecord>
</OAI-PMH>