Aller au contenu principal

Docuteam Dublin Core 1.0

Docuteam Dublin Core 1.0 est un format de paquet qui peut être utilisé pour la déposition avec le Deposition API de docuteam feeder.

Définition

  • Un SIP docuteam Dublin Core est un fichier .zip qui contient un dossier nommé sip qui est un container Bagit.
  • Le Bagit doit être créé au minimum avec des sommes de contrôle SHA-256 (les autre algorithmes de somme de contrôle supporté par Bagit sont optionnels).
  • À l'intérieur du container Bagit, une hiérarchie de dossier contient les données décrites par les métadonnée XML DublinCore.

Références

Bagit library:

DublinCore:

Spéficiation de la structure du container Bagit

À l'intérieur du Bagit compressé, le SIP est organisé de la manière suivante:

  • Le container Bagit contient au minimum les sommes de contrôle SHA-256
  • Le dossier racine, qui correspond à l'objet racine dans le SIP, porte le nom data (cela est fait automatiquement par les bibliothèques Bagit)
  • Les sous-dossiers peuvent nommés librement
  • Les sous-dossiers peuvent être organisés de manière récursive
  • Chaque dossier (à n'importe quel niveau) doit contenir un fichier de métadonnées toujours nommé dc.xml
  • Chaque dossier (à n'importe quel niveau) peut contenir l'un des éléments suivants (mais pas les deux !):
    • un ou plusieurs sous-dossier
    • un fichier de donnée qui peut être librement nommé (excepté dc.xml)

Voici une définition formelle de la structure:

<rootfolder>     ::=  <metadata file> <children>*
<metadata file> ::= dc.xml
<children> ::= <folder>* | <file>
<folder> ::= <metadata file> <children>*
<file> ::= filename.ext

Exemple de structure du container

  • Exemple 1: container avec un seul fichier
data/
├── dc.xml
└── filename1.ext
  • Exemple 2: container avec plusieurs fichiers
data/
├── dc.xml
├── folder1
│ ├── dc.xml
│ └── fileA.ext
├── folder2
│ ├── dc.xml
│ └── fileB.ext
└── folder3
├── dc.xml
└── fileC.ext
  • Exemple 3: container avec une structure complexe contenant plusieurs fichiers
data/
├── dc.xml
├── folder1
│ ├── dc.xml
│ ├── folder2
│ │ ├── dc.xml
│ │ └── file3.ext
│ └── folder4
│ ├── dc.xml
│ └── folder5
│ ├── dc.xml
│ └── file5.ext
├── folder6
│ ├── dc.xml
│ └── file6.ext
└── folder7
├── dc.xml
└── folder8
├── dc.xml
└── folder9
├── dc.xml
└── file8.ext

Spécification des métadonnées

Les métadonnées sont restreintes au Dublin Core Metadata Element Set, c'est à dire à 15 éléments (terme dc 1.1, voir http://dublincore.org/documents/dcmi-terms/#section-3).

En addition, les restrictions suivantes doivent être appliquées :

  • Le champ Identifier est obligatoire à tous les niveaux dans le fichier dc.xml et doit contenir :
    • À tous les niveaux: l'identifiant de l'application cliente de l'objet avec le préfixe clientid:(p.ex. clientid:1234567 or clientid:d4FTw3v6T)
    • Au niveau racine: l'identifiant de l'espace de nommage du client dans le repository (il s'agit le plus souvent du numéro ISIL) avec le préfixe namespace:, p.ex. namespace:CH-1234-1.
  • Le champ Title est obligatoire pour tous les niveaux dans le fichier dc.xml. Ce champ ne peut pas être répété. Tous les autres 13 champs sont optionnels et répétables :
    • Creator (p.ex. les auteurs (personne ou collectivité). Si il y a plusieurs auteurs ce champ peut être répété)
    • Subject (p.ex. mot-clés. Si il y a plusieurs mots-clés ce champ peut être répété)
    • Description (une description textuelle de l'objet ou du dossier)
    • Publisher
    • Contributor
    • Date (en utilisant ISO-8601, p.ex. 2018-11-30)
    • Type
    • Format
    • Source
    • Language
    • Relation
    • Coverage
    • Rights

Exemple de métadonnées

  • Exemple 1 : métadonnées minimales au niveau racine
<?xml version="1.0" encoding="UTF-8"?>

<metadata
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:title>Minimalist Example</dc:title>
<dc:identifier>namespace:CH-123456-12</dc:identifier>
<dc:identifier>clientid:12345</dc:identifier>
</metadata>
  • Exemple 2 : métadonnées complète au niveau racine
<?xml version="1.0" encoding="UTF-8"?>

<metadata
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:title>All fields are set</dc:title>
<dc:creator>Atreid, Leto</dc:creator>
<dc:creator>docuteam</dc:creator>
<dc:subject>dublincore</dc:subject>
<dc:subject>package</dc:subject>
<dc:subject>format</dc:subject>
<dc:description>Description of the docuteam dublin core package format, v. 1.0.</dc:description>
<dc:publisher>docuteam</dc:publisher>
<dc:contributor>Smith, John</dc:contributor>
<dc:contributor>Jaquard, Paul</dc:contributor>
<dc:date>2018-11-05</dc:date>
<dc:type>Text</dc:type>
<dc:format>application/pdf</dc:format>
<dc:identifier>namespace:CH-123456-12</dc:identifier>
<dc:identifier>clientid:999full</dc:identifier>
<dc:source>Dublin Core Package Structure (https://docs.google.com/document/d/ 1lxqiqkmlNYVWlwJSsIe4b5DwJxN6DZqNvpo0MouAFIA/edit)</dc:source>
<dc:language>en</dc:language>
<dc:relation>docuteam bridge api for client applications)</dc:relation>
<dc:coverage>2018-2022</dc:coverage>
<dc:coverage>Baden</dc:coverage>
<dc:rights>CreativeCommons CC-By</dc:rights>
</metadata>