Section | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Document History
Date | Version history | Owner | Changelog | |
---|---|---|---|---|
18 April 2009 | 3.0 | SURFshare | Start of version 3.0. Based on NEEO document "MPEG21 DIDL Application Profile for Institutional Repositories" version 0.4, which is based on "MPEG21 DIDL Document Specifications for repositories" version 2.3.1. See also history. Note that this is the first version of this document. The version number (3.0) indicates that it is more recent and more up-to-date than the predecessors on which it is based by having a higher number than their latest versions.
| |
22 Januari 2008 | 2.3.1 | SURFshare | Minor change in the schema path. ISO changed the path .../dii.xsd/dii.xsd to .../dii/dii.xsd | |
05 December 2007 | 2.3 | SURFshare | 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 | SURFshare | Some changes and little tweaks. |
|
23 March 2007 | 2.2.1 | SURFshare | Added comment of Peter van Huisstede, small corrections in the example XML. |
|
6 March 2007 | 2.2 | SURFshare | 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 | SURFshare | 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 | SURFshare | Fundamental change of element and attribute use; for better representation of the semantics. |
|
4 December 2006 | 1.1.2 | SURFshare | Translated into English for DRIVER |
|
11 July 2006 | 1.1.1 | SURFshare | Few typos are removed. |
|
10 July 2006 | 1.1 | SURFshare | Extension with:
|
|
30 March 2006 | 1.0 | SURFshare | Initial document |
|
| 0.4 | NEEO |
|
|
| 0.3 | NEEO | Only minor changes |
|
| 0.2 | NEEO |
|
|
| 0.1 | NEEO | Changes with respect to version 2.3.1 of "MPEG21 DIDL Document Specifications for repositories" by Maurice Vanderfeesten (SURF)
|
|
...
Code Block | ||||
---|---|---|---|---|
| ||||
<OAI-PMH ...> ... <request ... metadataPrefix="didl"> ... <record> <header>...</header> <metadata> <didl:DIDL xmlns:didl="urn:mpeg:mpeg21:2002:02-DIDL-NS" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dii="urn:mpeg:mpeg21:2002:01-DII-NS" 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 urnurn:mpeg:mpeg21:2002:01-DII-NS [http://standards.iso.org/ittf/PubliclyAvailableStandards/] MPEG-21_schema_files/dii/dii.xsd"> ... </didl:DIDL> </metadata> <about>...</about> </record> ... </OAI-PMH> |
Remarks:
- Don't forget the DIDL tag in the OAI-PMH response.
- Make a declaration of the didl, dii, dc and dcterms namespaces here, in the DIDL tag.
- The about element is optional in 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 describe three different types: descriptive metadata, object files and jump-off pages. Between brackets the cardinality of the XML elements are shown:
| |
Item Descriptors
Item Descriptors provide information about the Digital Item. A Descriptor contains a Statement with information about the Item. For each "statement" a new Descriptor is used.
The top level Item element MUST contain two Descriptor elements. One Descriptor element for the (Persistent) Identifier and one Descriptor element for the modification date.
...
Example on level one |
| |||||||
Example on level two |
|
Apart from the Identifier, modified date and type, Descriptors with other semantic content can be used, see section 3.2.
...
Code Block | ||||
---|---|---|---|---|
| ||||
<didl:Item> <didl:Item> <didl:Descriptor> <didl:Statement mimeType="application/xml"> <dii:Identifier>urn:nbn:nl:ui:13-6748398729821</dii:Identifier> </didl:Statement> </didl:Descriptor> ... </didl:Item> ... </didl:Item> |
Remarks:
- In this example the root Item has a Persistent Identifier.
wikipediaWiki Markup The identifier MUST be an URI. Some repositories can make use of registered URIs, e.g., in the Netherlands the repositories can make use of National Bibliography Numbers. If a repository doesn't have access to registered URIs, UUIDs or TAGs can be used. More information about UUIDs can be found at \[http://en.
Anchor _Hlt190750088 _Hlt190750088 Anchor _Hlt190750089 _Hlt190750089 .org/wiki/UUID and for TAGs the best starting point is http://www.taguri.org/. TAGs for the repository of Tilburg University could be constructed in the following way. All TAGs start withwikipedia<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="85e3d8f1-815a-4c97-a30d-0838bad96ef9"><ac:parameter ac:name="">_Hlt190750088</ac:parameter></ac:structured-macro><ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="df294e90-e409-4264-b616-bddd4a10dc9b"><ac:parameter ac:name="">_Hlt190750089</ac:parameter></ac:structured-macro>.org/wiki/UUID\|http://en.wikipedia.org/wiki/UUID\] and for TAGs the best starting point is [http://www.taguri.org/|http://www.taguri.org/]. TAGs for the repository of Tilburg University could be constructed in the following way. All TAGs start with 'tag:uvt.nl,<year>:<record id>'. <year> is the year that the compound object entered the repository. The URIs for MODS records can look like 'tag:uvt.nl,<year>:<record id>/mods' and the URIs for object files can look like 'tag:uvt.nl,<year>:<record id>/<file id>'.
- The identifiers of the root Item and the second level Item elements SHOULD NOT be equal to the OAI identifier or the DIDL document identifier.
- Identifiers should not change. Different identifier implies a different object.
- The namespace for dii SHOULD be declared in the DIDL tag.
...
Code Block | ||||
---|---|---|---|---|
| ||||
<didl:Item> <didl:Item> ... <didl:Descriptor> <didl:Statement mimeType="application/xml"> <dcterms:modified>2006-12-20T10:29:12Z</dcterms:modified> </didl:Statement> </didl:Descriptor> ... </didl:Item> ... </didl:Item> |
Remarks:
- Declare the dcterms namespace in the DIDL tag.
- The format of the date is Zulu-time; which means that it can be sorted as text.
- There can be only one Statement element in a Descriptor element, which means that dii:identifier and dcterms:modified reside in separate Descriptor elements.
...
Code Block | ||||
---|---|---|---|---|
| ||||
<didl:Item> <didl:Item> ... <didl:Descriptor> <didl:Statement mimeType="application/xml"> <rdf:type rdf:resource="info:eu-repo/semantics/descriptiveMetadata" /> </didl:Statement> </didl:Descriptor> ... </didl:Item> ... </didl:Item> |
See for more information about the type statement the next section.
...
Code Block | ||||
---|---|---|---|---|
| ||||
<didl:DIDL ...> <didl:Item> <didl:Item>...</didl:Item> <\!-\- metadata \--> <didl:Item>...</didl:Item> <\!-\- object files \--> <didl:Item>...</didl:Item> <\!-\- jump-off-page \--> </didl:Item> </didl:DIDL> |
...
Code Block | ||||
---|---|---|---|---|
| ||||
<didl:Item> <didl:Item> <\!—one---one or many occurrences--> <didl:Descriptor> <didl:Statement mimeType="application/xml"> <rdf:type rdf:resource="info:eu-repo/semantics/descriptiveMetadata" /> </didl:Statement> </didl:Descriptor> ... </didl:Item> <didl:Item> <\!—zero---zero or many occurrences--> <didl:Descriptor> <didl:Statement mimeType="application/xml"> <rdf:type rdf:resource="info:eu-repo/semantics/objectFile" /> </didl:Statement> </didl:Descriptor> ... </didl:Item> <didl:Item> <\!—zero---zero or one occurrences--> <didl:Descriptor> <didl:Statement mimeType="application/xml"> <rdf:type rdf:resource="info:eu-repo/semantics/humanStartPage" /> </didl:Statement> </didl:Descriptor> ... </didl:Item> </didl:Item> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<didl:Item> <didl:Descriptor> <didl:Statement mimeType="application/xml"> <rdf:type rdf:resource="info:eu-repo/semantics/descriptiveMetadata" /> </didl:Statement> </didl:Descriptor> <didl:Descriptor> <\!-\- This metadata instance has its own ID number \--> <didl:Statement mimeType="application/xml"> <dii:Identifier>urn:nbn:nl:ui:13-74836724783</dii:Identifier> </didl:Statement> </didl:Descriptor> <didl:Descriptor> <\!-\- This record has its own Modification date \--> <didl:Statement mimeType="application/xml"> <dcterms:modified>2006-12-20T10:29:12Z</dcterms:modified> </didl:Statement> </didl:Descriptor> <didl:Component> <didl:Resource mimeType="application/xml"> <\!-\- the MODS data \--> <mods:mods xmlns:mods="http://www.loc.gov/mods/v3" xsi:schemaLocation= "http://www.loc.gov/mods/v3 [http://www.loc.gov/standards/mods/v3/mods-3-3.xsd]"> <mods:titleInfo>...</mods:titleInfo> <mods:name>...</mods:name> <mods:typeOfResource> ... </mods:typeOfResource> ... </mods:mods> </didl:Resource> </didl:Component> </didl:Item> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<didl:Item> ... <\!-\- Below this line one can find links to one or more digital objects \--> <didl:Item> <\!-\- First Item for a File/Bitstream \--> <didl:Descriptor> <didl:Statement mimeType="application/xml"> <rdf:type rdf:resource="info:eu-repo/semantics/objectFile" /> </didl:Statement> </didl:Descriptor> <didl:Descriptor> <\!-\- This Object Item has its own persistent ID \--> <didl:Statement mimeType="application/xml"> <dii:Identifier>urn:nbn:nl:ui:13-36724783</dii:Identifier> </didl:Statement> </didl:Descriptor> <didl:Descriptor> <\!-\- This Item has its own Modification date \--> <didl:Statement mimeType="application/xml"> <dcterms:modified>2006-12-20T10:29:12Z</dcterms:modified> </didl:Statement> </didl:Descriptor> <didl:Component> <didl:Resource mimeType="application/pdf" ref="http://my.server.nl/report.pdf"/> </didl:Component> </didl:Item> <didl:Item> <\!-\- Second Item for a File/Bitstream \--> <didl:Descriptor> <didl:Statement mimeType="application/xml"> <rdf:type rdf:resource="info:eu-repo/semantics/objectFile" /> </didl:Statement> </didl:Descriptor> <didl:Descriptor> <\!-\- This Object Item has its own persistent ID \--> <didl:Statement mimeType="application/xml"> <dii:Identifier>urn:nbn:nl:ui:13-36724784</dii:Identifier> </didl:Statement> </didl:Descriptor> <didl:Descriptor> <\!-\- This Item has its own Modification date \--> <didl:Statement mimeType="application/xml"> <dcterms:modified>2006-12-20T10:29:12Z</dcterms:modified> </didl:Statement> </didl:Descriptor> <didl:Descriptor> <\!-\- this file is the appendix \--> <didl:Statement mimeType="application/xml"> <dc:description>Appendix</dc:description> </didl:Statement> </didl:Descriptor> ... <didl:Component> <didl:Resource mimeType="application/pdf" ref="http://my.server.nl/appendix.pdf"/> </didl:Component> </didl:Item> <didl:Item> <\!-\- Third Item for a File/Bitstream \--> <didl:Descriptor> <didl:Statement mimeType="application/xml"> <rdf:type rdf:resource="info:eu-repo/semantics/objectFile" /> </didl:Statement> </didl:Descriptor> <didl:Descriptor> <\!-\- This Object Item has its own persistent ID \--> <didl:Statement mimeType="application/xml"> <dii:Identifier>urn:nbn:nl:ui:13-36724785</dii:Identifier> </didl:Statement> </didl:Descriptor> <didl:Descriptor> <\!-\- This Item has its own Modification date \--> <didl:Statement mimeType="application/xml"> <dcterms:modified>2006-12-20T10:29:12Z</dcterms:modified> </didl:Statement> </didl:Descriptor> <didl:Descriptor> <\!—---\- deposit date \--> <didl:Statement mimeType="application/xml"> <dcterms:issued>2010-12-01</dcterms:issued> </didl:Statement> </didl:Descriptor> <didl:Descriptor> <\!—---\- embargo on file \--> <didl:Statement mimeType="application/xml"> <dcterms:available>2010-12-01</dcterms:available> </didl:Statement> </didl:Descriptor> ... <didl:Component> <didl:Resource mimeType="application/pdf" ref="http://my.server.nl/datasheets.xls"/> </didl:Component> </didl:Item> </didl:Item> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<didl:Item> ... <\!-\- Below this line; an Item with a link to one optional Intermediate page \--> <didl:Item> <didl:Descriptor> <didl:Statement mimeType="application/xml"> <rdf:type rdf:resource="info:eu-repo/semantics/humanStartPage" /> </didl:Statement> </didl:Descriptor> ... <didl:Component> <didl:Resource mimeType="text/html" ref="http://my.server.nl/mypub.html"/> </didl:Component> </didl:Item> </didl:Item> |
...