Usage de l'attribut HREF

Dans Calames, l'introduction d'une adresse de destination (URL) dans un attribut HREF n'est possible qu'au sein de cinq balises : <dao> et <daoloc> pour le signalement des reproductions numériques des documents décrits ; <bibref>, <archref> et <extref> dans les autres cas.

Pour ces trois dernières balises, l'attribut LINKTYPE contient par défaut la valeur « simple » (valeur unique définie par la DTD EAD 2.0). Tandis que <bibref> et <archref> peuvent être employés pour leur seule valeur sémantique (encodage de références bibliographiques ou archivistiques), les éléments <extref>, <dao> et <daoloc> ne prennent de sens dans un instrument de recherche que par le signalement et la publication de liens : leur emploi est donc indissociable de l'usage de l'attribut HREF.

L'URL utilisée dans un attribut HREF doit faire mention du protocole utilisé : les adresses doivent commencer par « http://www. ... », et non pas être saisies directement à partir de « www. ... ».

Seule l'utilisation de l'attribut HREF permet la création et l'affichage d'un lien hypertexte dans une notice Calames.

L'utilisation de l'attribut TITLE est facultative : elle peut venir compléter celle de l'attribut HREF : dans Calames, le contenu sera affiché comme légende du lien hypertexte (information-bulle).

Remarque

Dans le cas de liens vers d'autres notices Calames (à n'utiliser qu'au sein de l'élément <archref>), l'adresse qui doit être insérée en attribut HREF correspond à l'URL canonique de la notice-cible.

Ces permaliens sont proposés par la boîte à outils de l'interface publique Calames et prennent toujours la forme suivante : http://www.calames.abes.fr/pub/ms/[id.] (ne pas copier l'adresse s'affichant dans la barre de navigation).

Attention

Les caractères spéciaux et leur usage dans les valeurs d'attributs.

Certains caractères ne peuvent être insérés tels quels dans un attribut HREF, sans quoi ils corrompent le code XML des fichiers et/ou provoquent une erreur à l'enregistrement.

Au sein des URL que les catalogueurs souhaitent insérer, il est indispensable de remplacer ces caractères problématiques par l'encodage html qui leur correspondent.

Par exemple, l'esperluette (&), qui est un caractère d'échappement dans XML, doit être remplacée par la chaîne de caractères « &amp; » (ou « &#38; ») : après publication du fichier, les navigateurs régénéreront le caractère spécial correspondant au moment du rebond.

Si les caractères spéciaux ne sont pas remplacés dans un URL inséré dans un HREF, le message d'erreur suivant s'affiche au moment de l'enregistrement des modifications :

Attention

Le langage XML comporte notamment cinq références d'entités prédéfinies, qui devront être ainsi transformées avant enregistrement d'un fragment :

  • & devient &amp; (ou &#38;)

  • " devient &quot; (ou &#34;)

  • < devient &lt; (ou &#60;)

  • > devient &gt; (ou &#62;)

  • ' devient &apos; (ou &#8217;)

Le caractère " &quot;" ne peut être contenu dans des valeurs d'attributs.

Aussi les guillemets droits, qui sont parfois utilisées dans la rédaction de certaines formes retenues d'autorités, doivent-ils être bannis des formes normalisées de points d'accès Calames (voir annexe 2 – Créer et modifier des Autorités Sudoc).

D'autres caractères doivent être signalés comme problématiques :

  • les accolades « { » et « } » ne doivent pas être utilisées, non plus que leurs différents codes de caractères : tout ce qui trouve entre ces caractères (accolades comprises) est effacé à l'enregistrement de la valeur d'attribut

  • le signe "plus" « + » ne peut être enregistré (un espace vide le remplace après enregistrement, et ce aussi bien au sein du contenu encodé que des valeurs d'attributs). Seul le code hexadécimal « %2B » peut lui être substitué avant un unique enregistrement, mais le caractère « + » alors généré sera effacé après un second enregistrement.

  • "pourcent" (%) est accepté, mais sert de caractère d'échappement et introduit les codes hexadécimaux des URLS dites « unifiées ». Aussi faut-il avoir une vigilance particulière relativement aux URL contenant ce caractère.

    La combinaison d'un caractère % suivi d'un code hexadécimal ASCII strict (table ASCII 0 à 127) sera réinterprétée par l'éditeur XML : après enregistrement, le caractère correspondant est généré automatiquement.

    Par exemple, « %20 » devient un espace, « %25 » devient « % », « %2A » devient l'étoile « * », « %3B » devient le caractère point-virgule « ; », etc.

Attention

Attention

Les codes hexadécimaux des cinq caractères spéciaux XML (& " < > ') ne peuvent se substituer à l'usage de leurs entités et ne pourront donc pas figurer en attribut HREF.

Exemple : ne pas utiliser la chaîne de caractères « %3C » qui code le caractère « < » dans les adresses de navigateurs.

Si la combinaison hexadécimale correspond à un code de caractère non-ASCII (table étendue, en principe exclue de la définition des URL), le caractère « □ » lui est substitué après enregistrement au sein de la valeur d'attribut.

Les caractères "dièse" (#, utilisé notamment comme ancre HTML), "crochets carrés" ([ ]), "séparateur vertical" (|), "slash" (/), "antislash" (\), "accent circonflexe" (^), "étoile" (*), "tilde" (~), points d'interrogation et d'exclamation, ... et plus généralement tous les caractères spéciaux d'encodages URL, à l'exception des neuf caractères cités ci-dessus, n'ont pas besoin d'être traités spécifiquement avant emploi dans l'attribut HREF (ou plus généralement dans le code XML).