Guide du développeur XML de métadonnées

titre provisoire

Table des matières

On fait quoi avec les bibliographies multiples?

Avant propos

Ce document présente les lignes directrices pour l'implémentation des métadonnées gouvernementales en schéma XML. Ces métadonnées gouvernementales sont décrites dans le document @@xref. Le modèle qui sous-tend celles-ci est décrit dans le guide @@xref.

Avertissement:

Les termes élément, enrichissement et schème d'encodage employés dans ce document réfèrent aux objets du modèle de métadonnées correspondants tels que définits dans le guide d'utilisation des métadonnées.

Ce guide utilise conjointement deux terminologies provenant des domaines XML et des métadonnées, ce qui peut porter à confusion. On désignera donc par le terme élément une métadonnée et par élément XML l'objet définit dans la norme XML 1.0.

Chapitre 1. Introduction

Note:

  • Un rappel des bonnes pratiques (priorité à la réutilisation, pointeurs vers les autres documents dont celui décrivant le modèle abstrait de métadonnées)

  • Une courte description des étapes de modélisation pour les métadonnées: analyse des besoins en métadonnées, formulation des besoins en termes du modèle de métadonnées, réutilisation des composants communs utiles, création des composants originaux, publication (enregistrement?) des composants dans le registre gouvernemental

  • Un rappel sur meta:simple-littéral et sa conformance avec les schémas XML

Les concepts et leur transposition en schéma XML

  • Le mécanisme mis en place pour modifier un profil ou une métadonnée existante: le complexType associé à chaque métadonnée (i.e. titre_type pour titre) permet d'imposer un schème d'encodage... Donner une procédure à suivre:

    1. Créer un schéma driver

      1. espace nominatif cible (targetNamespace) identique à celui du schéma que l'on veut redéfinir

      2. redéfinir les complexType associés aux métadonnées (donner des exemples)

    2. importer le schéma driver dans le schéma du profil local que l'on veut créer...

Les exemples

  • Un exemple de réutilisation des métadonnées gouvernementales

    awef

  • Un exemple d'ajout de métadonnées

  • Un exemple d'ajout d'un enrichissement à une métadonnées

  • Un exemple de création d'un nouveau schème d'encodage

  • Un exemple de création d'un nouveau schème d'encodage à partir d'une liste d'autorité locale

Notes en vrac

  • espaces nominatifs et noms qualifiés. Donner des précisions à propos des noms d'éléments qualifiés. Par exemple, on peut préconiser l'emploi d'un préfixe, mais celui-ci reste arbitraire dans le document XML.

  • se conformer au protocole de création de schémas

Chapitre 2. Principes généraux

Principe numéro 1. On employera des noms d'espaces nominatifs pour identifier de façon unique des noms d'élément, des enrichissements et des schèmes d'encodageLes composants provenant d'autres schèmes, par exemple ceux de Dublin Core@@xref, doivent conserver leurs noms d'espace nominatif d'origine.

2.1. Implémentation du modèle de métadonnées en schéma XML

Cette section décrit comment réaliser les composants du modèle de métadonnées gouvernemental en utilisant le langage des schémas XML du World Wide Web Consortium (W3C).

Principe numéro 2. Une métadonnée est représentée par un élément XMLLe nom de cet élément doit correspondre avec le nom de la métadonnée et non son libellé. Le nom d'un élément XML doit toujours s'écrire en lettres minuscules.

Soit la métadonnée Date de création et un fragment de la fiche qui la définit:

Date de création
LibelléDate de création
Nomdate-création
......

L'élément qualifié:

<métadonnées xmlns:meta="http://www.gouv.qc.ca/2003/metadonnees"> <meta:date-création>2004-01-08</meta:date-création> </métadonnées>

Principe numéro 3. La valeur d'une métadonnée est consignée dans le contenu d'un élément XMLOn doit éviter de consigner la valeur d'une métadonnée dans un attribut XML.

Exemple 2.1. Valeur d'une métadonnée

Employer:

<métadonnées xmlns:meta="http://www.gouv.qc.ca/2003/metadonnees"> <meta:titre>Initiation aux techniques horticoles</meta:titre> </métadonnées>

Ce qui suit est à éviter:

<métadonnées xmlns:meta="http://www.gouv.qc.ca/2003/metadonnees"> <meta:titre valeur="Initiation aux techniques horticoles"/> </métadonnées>

Une bonne pratique consiste à utiliser autant que possible une valeur littérale dans le contenu d'une métadonnée.

Principe numéro X. Les valeurs multiples sont consignées chacunes dans un élément XMLOn doit éviter de consigner plusieurs valeurs dans un même élément XML.

<meta:auteur>Borduas, Paul-Emile</meta:auteur> <meta:auteur>Arbour, Magdeleine</meta:auteur> <meta:auteur>Barbeau, Marcel</meta:auteur>

Principe numéro X. Un enrichissement est représenté par un élément XML. Le nom de cet élément XML doit correspondre avec le nom de l'enrichissement et non son libellé. L'élément XML n'est pas imbriqué dans un élément de niveau supérieur qui représenterait la métadonnée qu'il enrichit. La filiation entre l'enrichissement et l'élément est assurée par un groupe de substitution à même le schéma XML.

Exemple 2.2. Enrichissement représenté par un élément XML

Soit la métadonnée Titre et son enrichissement Titre autre. Voici un fragment de schéma XML:

<xs:schema targetNamespace="http://www.schemas.gouv.qc.ca/2002/metadonnees" xmlns:meta="http://www.schemas.gouv.qc.ca/2002/metadonnees" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> … <xs:element name="titre" type="meta:simple-littéral"> <xs:annotation> <xs:documentation>Nom donné au document.</xs:documentation> </xs:annotation> </xs:element> … <xs:element name="titre-autre" substitutionGroup="meta:titre"> <xs:annotation> <xs:documentation>Titre complémentaire ou alternatif du document.</xs:documentation> </xs:annotation> </xs:element> … </xs:schema>

Un fragment XML contenant les deux métadonnées:

<métadonnées xmlns:meta="http://www.gouv.qc.ca/2003/metadonnees"> <meta:titre>L'ABC de la taille</meta:titre> <meta:titre-autre>Apprenez comment tailler facilement vos végétaux</meta:titre-autre> </métadonnées>

Les exemples qui suivent sont à éviter:

<métadonnées xmlns:meta="http://www.gouv.qc.ca/2003/metadonnees"> <meta:titre>L'ABC de la taille <meta:titre-autre>Apprenez comment tailler facilement vos végétaux</meta:titre-autre> </meta:titre> </métadonnées>

<métadonnées xmlns:meta="http://www.gouv.qc.ca/2003/metadonnees"> <meta:titre>L'ABC de la taille</meta:titre> <meta:titre.titre-autre>Apprenez comment tailler facilement vos végétaux</meta:titre.titre-autre> </métadonnées>

Principe numéro X. Un schème d'encodage est représenté par un type de donnée XML. On employera l'attribut XML xsi:type pour associer un schème d'encodage à un élément. Ce type de donnée doit être dérivé du type de base meta:simple-littéral et son nom doit être un nom XML qualifié (QName). Le nom du type de donnée doit correspondre à celui du schème d'encodage.

Par exemple:

<meta:identifiant xsi:type="meta:ISBN">2-89105-817-8</meta:identifiant>

Principe numéro X. Lorsque la langue du contenu d'une métadonnée est identifiée, celle-ci doit être consignée dans l'attribut XML xml:langLa valeur inscrite doit provenir de la liste des codes de langues à deux ou trois lettres prescrite par les normes RFC 3066 RFC 3066 et ISO 639 [ref_ISO639]. Les subdivisions des codes sont acceptés (par exemple: en-GB). La langue par défaut est le français.

Par exemple:

<métadonnées xmlns:meta="http://www.gouv.qc.ca/2003/metadonnees"> <meta:titre xml:lang="fra">Lexique musical international</meta:titre> <meta:titre xml:lang="eng">International vocabulary of music</meta:titre> </métadonnées>

Est équivalent à:

<métadonnées xmlns:meta="http://www.gouv.qc.ca/2003/metadonnees"> <meta:titre>Lexique musical international</meta:titre> <meta:titre xml:lang="eng">International vocabulary of music</meta:titre> </métadonnées>

2.2. Valeurs structurés

2.2.1. Un exemple: la signature numérique

<?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="http://www.schemas.gouv.qc.ca/2002/metadonnees/doc-transaction" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:meta="http://www.schemas.gouv.qc.ca/2002/metadonnees" xmlns:doc-trans="http://www.schemas.gouv.qc.ca/2002/metadonnees/doc-transaction" xmlns:tag="http://www.schemas.gouv.qc.ca/2002/thesaurus" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.2" xml:lang="fr"> <xs:annotation> <xs:documentation> Schéma XML pour le profil de métadonnées documents de transaction du gouvernement du Québec (Canada). Travaux réalisés dans le cadre du projet de Cadre de Référence Gouvernemental en Gestion Intégrée des Documents (CRGGID). Ce schéma XML est basé sur la version du 4 mai 2003 du profil. Version 0.2 Créé le 2003-01-22 Dernière modification: 2003-10-30 Par Arnaud d'Alayer (arnaud.dalayer@umontreal.ca) Groupe de Recherche sur les Documents Structurés Université de Montréal http://grds.ebsi.umontreal.ca Historique des modifications: v0.2 . Version en ligne </xs:documentation> </xs:annotation> <xs:import namespace="http://www.schemas.gouv.qc.ca/2002/metadonnees" schemaLocation="../enrichissements_20031022.xsd"/> <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/> <xs:element name="doc-transaction" type="doc-trans:doc-transaction"> <xs:annotation> <xs:documentation>Profil de métadonnées pour les documents de doc-transaction du gouvernement du Québec (2002).</xs:documentation> </xs:annotation> </xs:element> <xs:complexType name="doc-transaction"> <xs:annotation> <xs:documentation xml:lang="fr">Type de base pour le profil de métadonnées des documents de transaction. Ce type a été créé par commodité pour les développeurs qui pourront l'utiliser comme modèle de contenu d'un élément conteneur autre que celui proposé ici.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element ref="meta:titre"/> <xs:element ref="meta:titre-autre" minOccurs="0" maxOccurs="4"/> <xs:element ref="meta:signataire" maxOccurs="unbounded"/> <xs:element ref="meta:collaborateur" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="meta:tierce-partie" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="meta:destinataire" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="meta:création" minOccurs="0"/> <xs:element ref="meta:publication" minOccurs="0"/> <xs:group ref="meta:description"/> <xs:element ref="meta:couverture-temporelle" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="meta:couverture-géographique" minOccurs="0" maxOccurs="unbounded"/> <xs:group ref="meta:fonctions"/> <xs:element ref="meta:programme-service" minOccurs="0"/> <xs:element ref="meta:résumé" minOccurs="0"/> <xs:element ref="meta:statut" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="meta:identifiant"/> <xs:element ref="meta:langue"/> <xs:group ref="meta:formats"/> <xs:element ref="meta:relation" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="meta:limite-accès" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="meta:règle-conservation"/> <xs:element ref="doc-trans:signatures-numériques" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="signatures-numériques" type="doc-trans:signatures-numériques"> <xs:annotation> <xs:documentation>La signature numérique est une valeur qui est attachés à un document comme une métadonnée qui certifie le lien entre une personne et un document. Cette valeur est obtenue par l’application d’un premier algorithme de hachage à la chaîne de caractères ou de bits contenus dans un document, puis par le passage de cette première valeur dans un second algorithme opérant avec une valeur connue du seul signataire (sa clé privée).</xs:documentation> </xs:annotation> </xs:element> <xs:complexType name="signatures-numériques"> <xs:annotation> <xs:documentation> Type de l'élément signatures-numériques. Les signatures sont du type XML Signature : http://www.w3.org/TR/xmldsig-core/ </xs:documentation> </xs:annotation> <xs:sequence> <xs:element ref="ds:Signature" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:schema>

2.3. Limitations

2.4. Métadonnée obligatoire, élément vide

La condition obligatoire d'une métadonnée s'exprime via la facette minOccurs et non en précisant que le contenu ne peut pas être vide.

2.5. FAQ

Chapitre 3. Lignes directrices pour les profils de métadonnées

On fait quoi avec les bibliographies multiples?

[ref_ISO639]

[RFC 3066]

[ref-ISO-15489-1-2001]

[CRDP 2001] Loi concernant le cadre juridique des technologies de l'information (L.Q. 2001, c. 32) . texte annoté et glossaire. Centre de recherche en droit public. Faculté de droit. Université de Montréal. 2001. Centre de recherche en droit public. Montréal .

[EBSI 2002] Terminologie de base en sciences de l'information : volets 1 et 2 . Université de Montréal. École de bibliothéconomie et sciences de l'information. École de bibliothéconomie et sciences de l'information. 2002. http://www.ebsi.umontreal.ca/termino/index.htm.

[Rousseau, Couture 1999] Les frondements de la discipline archivistique. Glossaire. Marlène Gagnon. Jean-Yves Rousseau et Carol Couture. Presse de l'Université du Québec. Ste-Foy Québec . 1999. 279-294. 2-7605-0781-5.

[EBSI 2002] Prénom Nom. et/ou Organisation. Le titre de la ressource . (Consulté le 12 janvier 2003). http://www.ebsi.umontreal.ca/termino/index.htm.