Lune des principales caractéristiques du balisage XML est sa portabilité. Les documents XML peuvent ainsi contenir nimporte quel caractère Unicode, à lexception des caractères de contrôle. Malheureusement, de nombreuses bases de données ne proposent pas daide, ou quune assistance limitée, pour Unicode et exigent une configuration spéciale pour utiliser les caractères non conformes au code ASCII. Si vos données contiennent des caractères qui ne sont pas conformes au code ASCII, vérifiez que votre base de données et votre logiciel de transfert acceptent ces caractères et la manière dont ils sont gérés. Il est indispensable de contrôler soigneusement comment la base de données (ou le système à partir duquel sont extraites les données) gère et manipule le codage.
Étant donné que les documents XML doivent être codés en UTF-8 (de préférence), il est possible dutiliser dautres schémas de codage, tel ISO-8859-1, à condition que ces schémas soient clairement indiqués dans la déclaration de len-tête XML de début afin quils soient reconnus et représentés correctement dans le service darchivage XML central dAGRIS.
XML prédéfinit les cinq références dentités ci-dessous. Ces références sont utilisées dans les documents XML pour remplacer certains caractères qui seraient autrement interprétés comme une partie du langage de balisage.
Caractère |
Références dentités |
& |
& |
< |
< |
> |
> |
|
" |
|
' |
Quatre caractères sont traités comme des espaces blancs dans les données XML: la tabulation horizontale, le changement de ligne, le retour à la ligne et le caractère espace ASCII. Aucun dentre eux ne doit apparaître dans une même balise XML. La frappe de la saisie doit être identique à ce qui doit apparaître dans la base de donnée web AGRIS. Il faut donc éviter les deux situations suivantes:
Les éléments répétables ou qualificatifs doivent tous avoir des balises multiples.
Lexemple suivant nest pas acceptable:
<ags:subjectClassification scheme="ags:ASC">E20 ; J12</ags:subjectClassification> |
Le codage correct est le suivant:
<ags:subjectClassification
scheme="ags:ASC">E20</ags:subjectClassification> |
Il faut éviter de créer et denvoyer des documents XML volumineux. Si la taille des fichiers dépasse 500Kb, il faut les découper en deux fichiers ou plus. Lorsque lon découpe un fichier, il ne faut pas oublier de mettre les en-têtes corrects dans les fichiers créés (voir 4.1). Pour manipuler des documents XML dans de grands services darchivage, il vaut mieux découper chaque ressource XML dans chaque document.
Lattribut xml:lang procure aux auteurs XML un moyen cohérent didentifier le langage dun document donné. Le PA AGRIS se sert de cet attribut pour des éléments dont on considère quil est nécessaire de connaître le langage de contenu. Cette extensibilité permet également des valeurs multiples de lélément spécifié en différents langages. Utilisez le schéma ISO639-2 (code à 3 lettres) pour lattribut xml:lang.
Les balises sans éléments, de sous-éléments ou dattributs doivent être présentes sans contenu. Lors de la mise en correspondance de la structure de la base de données avec un document XML, il faut vérifier que les types déléments optionnels et les attributs correspondent à des colonnes annulables (c'est-à-dire à des champs permettant des valeurs nulles) et réciproquement. Si lon ne suit pas cette procédure, on risque de produire des documents invalides (lors du transfert de données depuis la base de données) et de créer des éléments ou des qualificatifs vides indésirables.
Malgré la flexibilité du schéma DTD, il faut respecter certaines règles pour obtenir un document XML valide. Certains éléments, qualificatifs et schémas obligatoires doivent être insérés dans les balises. Les documents valides doivent ainsi contenir au moins les cinq éléments fondamentaux suivants pour chaque ags:resource:
• <dc:title>
• <dc:date>
• <dc:subject>
• <dc:language>
• <agls:availability>
Les systèmes locaux contiennent souvent des champs particuliers qui répondent aux exigences locales, mais qui nont pas délément correspondant dans la structure de métadonnées définie par le PA AGRIS. Lors du processus de configuration et de conversion, ces métadonnées ne doivent pas être prises en compte. La présente version de métadonnées PA AGRIS est flexible et permet daccepter différents types dinformations. Il sera sans doute possible denvisager dajouter des qualificatifs ou des schémas essentiels dans les versions ultérieures.
La série de métadonnées du Dublin nest pas totalement adaptée à la description des ressources et, dans certains cas, lélément DC a été qualifié pour les besoins des ressources AGRIS.
La qualification des éléments du Dublin Core est fondée sur une règle que lon appelle familièrement le principe du dumb-down. Daprès cette règle, tout qualificatif doit pouvoir être ignoré et ce, sans que la valeur ne perde son sens. Bien que cela entraîne une certaine perte de spécificité, la partie restante de la valeur du terme (moins le qualificatif) doit conserver sa validité globale et son utilité pour la recherche. On suppose donc que la qualification doit raffiner un élément et non pour en changer la portée sémantique.
Les raffinements délément (qualificatifs) partagent la signification de lélément non qualifié, mais avec une portée plus restreinte. Lorsque cela est nécessaire ces qualificatifs sont ignorés en éléments Dublin Core par des imbrications pour respecter la conformité au DC. Lexemple suivant ignore ags:publisherPlace et ags:publisherName dans lélément fondamental dc:publisher. De cette manière, le raffinement délément es ignoré et la valeur utilisée comme contenu de lélément fondamental non qualifié est dc:publisher.
Avec qualificatif |
Dumb-down |
<dc:publisher> |
<dc:publisher>FAO Rome (Italy)</dc:publisher> |