5. Espaces de noms URN
Un espace de noms URN est un ensemble de noms qui obéissent à trois contraintes : chaque nom est (1) unique, (2) attribué de manière cohérente et (3) attribué selon une définition commune.
-
La contrainte d'"unicité" signifie qu'un nom au sein de l'espace de noms URN n'est jamais attribué à plus d'une ressource et n'est jamais réattribué à une ressource différente (pour le type de "ressource" identifié par les URN attribués au sein de l'espace de noms URN). Cela reste vrai même si le nom lui-même est déconseillé ou devient obsolète.
-
La contrainte d'"attribution cohérente" signifie qu'un nom au sein de l'espace de noms URN est attribué par une organisation ou créé conformément à un processus ou à un algorithme qui est toujours suivi.
-
La contrainte de "définition commune" signifie qu'il existe des définitions claires de la syntaxe des noms au sein de l'espace de noms URN et du processus consistant à les attribuer ou à les créer.
Un espace de noms URN est identifié par un NID particulier afin de garantir l'unicité globale des URN et, éventuellement, de fournir un indice quant à la structure des URN attribués au sein d'un espace de noms URN.
En ce qui concerne l'unicité globale, l'utilisation de NID différents pour des ensembles de noms différents garantit que deux URN ne seront pas identiques pour des ressources différentes, car chaque ensemble est tenu d'attribuer chaque nom de manière unique. Toutefois, une même ressource peut avoir plus d'un URN qui lui est attribué, soit dans le même espace de noms URN (si l'espace de noms URN le permet), soit dans des espaces de noms URN différents, et à des fins similaires ou différentes (MAY). (Par exemple, si un éditeur attribue un ISBN [RFC3187] à une publication électronique et que cette publication est ensuite intégrée à une archive numérique de conservation à long terme exploitée par une bibliothèque nationale, la bibliothèque pourrait attribuer à la publication un numéro de bibliographie nationale (NBN) [RFC3188], ce qui donnerait deux URN désignant le même livre.) Sous réserve d'autres contraintes, telles que celles imposées par la syntaxe URI [RFC3986], les règles du schéma URN visent à permettre de préserver la forme normale et naturelle des noms spécifiés dans les systèmes d'identificateurs non-URN lorsqu'ils sont traités comme des URN.
En ce qui concerne la structure des noms attribués au sein d'un espace de noms URN, l'élaboration d'une structure de nommage (et donc d'un ensemble de noms) dépend des exigences de la communauté qui définit les noms, de la manière dont les noms seront attribués et utilisés, etc. Ces questions sortent du cadre de la syntaxe URN et des règles générales des espaces de noms URN, car elles sont propres à la communauté qui définit un système d'identificateurs non-URN ou un espace de noms URN particulier (par exemple, les communautés bibliographique et de l'édition dans le cas de l'espace de noms URN "ISBN" [RFC3187] et de l'espace de noms URN "ISSN" [RFC3044], ou les développeurs d'extensions du protocole Extensible Messaging and Presence Protocol [RFC6120] dans le cas de l'espace de noms URN "XMPP" [RFC4854]).
Parce que le caractère deux-points (":") sert à séparer "urn" du NID et le NID du NSS, il est tentant de considérer l'URN entier comme structuré par des caractères deux-points et de supposer que les deux-points créent une structure ou une hiérarchie dans la portion NSS de l'URN. Une telle structure pourrait être spécifiée par une spécification de NID particulière, mais il n'existe aucune structure implicite. Dans un URN tel que
urn:example:apple:pear:plum:cherry
la chaîne NSS est "apple🍐plum:cherry" dans son ensemble, et les caractères deux-points à l'intérieur de cette chaîne NSS n'ont aucune signification particulière, sauf si une telle signification est décrite dans la spécification de l'espace de noms "example".
Les espaces de noms URN héritent de certains droits et responsabilités du fait de la nature des URN, en particulier :
-
Ils respectent les principes généraux d'un espace de noms URN bien géré en assurant une identification persistante des ressources et une attribution unique des noms conformément à une définition commune.
-
Facultativement, ils peuvent être enregistrés dans des services d'enregistrement globaux tels que ceux décrits dans [RFC2483].
Il existe deux types d'espaces de noms URN : formels et informels. Ils se distinguent par le niveau de service attendu, les informations nécessaires pour définir l'espace de noms URN et les procédures d'enregistrement. Comme la majorité des espaces de noms URN enregistrés jusqu'à présent sont formels, le présent document se concentre sur les espaces de noms URN formels.
5.1. Espaces de noms URN formels
Un espace de noms URN formel profite à un sous-ensemble d'utilisateurs de l'Internet. En particulier, il n'aurait pas de sens qu'un espace de noms URN formel ne soit utilisé que par une communauté ou un réseau non connecté à l'Internet. Par exemple, il serait inapproprié qu'un espace de noms URN oblige effectivement quelqu'un à utiliser un réseau ou un service propriétaire non ouvert à l'utilisateur général de l'Internet. L'intention est que, même si la communauté de ceux qui pourraient activement utiliser les URN attribués au sein de cet espace de noms URN peut être restreinte, l'utilisation potentielle des noms au sein de cet espace de noms URN soit ouverte à tout utilisateur de l'Internet. Les espaces de noms URN formels peuvent être appropriés même lorsque certains aspects ne sont pas entièrement ouverts. Par exemple, un espace de noms URN peut recourir à un registre payant, géré de manière privée ou propriétaire pour l'attribution des URN dans l'espace de noms URN. Toutefois, il peut néanmoins profiter à certains utilisateurs de l'Internet si les services associés publient ouvertement les noms.
Une organisation qui attribuera des URN au sein d'un espace de noms URN formel devrait satisfaire aux critères suivants (SHOULD) :
-
Stabilité organisationnelle et capacité à maintenir l'espace de noms URN pendant longtemps ; en l'absence de telles preuves, il devrait être clair comment l'espace de noms URN peut rester viable si l'organisation ne peut plus le maintenir.
-
Compétence en matière d'attribution d'URN. Cela améliorera la probabilité de persistance (par exemple, pour minimiser la probabilité de conflits).
-
Engagement à ne pas réattribuer les URN existants et à permettre aux anciens URN de rester valides (par exemple, si le titulaire d'un URN n'est plus membre ou client de l'organisation attributrice, si diverses informations sur le titulaire ou l'entité nommée viennent à changer, ou même si le titulaire ou l'entité nommée elle-même n'existe plus ; dans tous ces cas, l'URN reste valide).
Un espace de noms URN formel établit un NID particulier, sous réserve des contraintes suivantes (au-delà des règles syntaxiques déjà spécifiées) :
-
Il ne doit pas être un NID déjà enregistré (MUST NOT).
-
Il ne doit pas commencer par "urn-" (qui est réservé aux espaces de noms URN informels) (MUST NOT).
-
Il doit comporter plus de deux caractères, et il ne doit pas commencer par ALPHA ALPHA "-", c'est-à-dire toute chaîne constituée de deux lettres suivies d'un trait d'union ; de telles chaînes sont réservées à un usage potentiel comme NID fondés sur les codes de pays ISO alpha-2 [ISO.3166-1] en vue d'enregistrements nationaux éventuels d'espaces de noms URN (toutefois, la définition et la portée des règles d'attribution des responsabilités pour ces espaces de noms URN fondés sur les codes de pays sortent du cadre du présent document) (MUST, MUST NOT). Par conséquent, il ne doit pas commencer par la chaîne "xn--" ni par toute autre chaîne constituée de deux lettres suivies de deux traits d'union ; de telles chaînes sont réservées à une représentation potentielle des A-labels DNS et de chaînes similaires à l'avenir [RFC5890].
-
Il ne doit pas commencer par la chaîne "X-" afin de ne pas être confondu avec un espace de noms URN expérimental précédemment autorisé par [RFC3406], ni entrer en conflit avec lui (MUST NOT).
Les candidats et les évaluateurs qui examinent de nouveaux NID devraient également être conscients que ceux-ci peuvent avoir des implications sémantiques et donc être une source de conflit. Une attention particulière devrait être accordée aux chaînes qui pourraient être interprétées comme des identificateurs de pays (y compris les codes ISO 3166-1 alpha-3) ou comme relevant de l'autorité d'un pays, ainsi qu'aux chaînes qui pourraient impliquer une association avec des schémas d'URI existants, des systèmes d'identificateurs non-URN ou des marques. Toutefois, conformément aux politiques traditionnelles, les litiges concernant la "propriété" de chaînes particulières sont des désaccords entre les parties concernées ; ni l'IANA ni l'IETF ne s'impliqueront dans de tels litiges, sauf en réponse à des ordonnances d'un tribunal compétent.
5.2. Espaces de noms URN informels
Les espaces de noms URN informels sont des espaces de noms URN à part entière, avec tous les droits et responsabilités associés. Les espaces de noms URN informels diffèrent des espaces de noms URN formels par le processus d'attribution du NID : pour un espace de noms URN informel, le déclarant ne désigne pas le NID ; c'est l'IANA qui attribue le NID constitué de la chaîne "urn-" suivie d'un ou plusieurs chiffres (par exemple, "urn-7"), les chiffres étant le prochain numéro disponible dans la séquence d'entiers positifs attribués aux espaces de noms URN informels. Ainsi, la syntaxe d'un identificateur d'espace de noms URN informel est :
InformalNamespaceName = "urn-" Number
Number = DigitNonZero 0*Digit
DigitNonZero = "1"/ "2" / "3" / "4"/ "5"
/ "6" / "7" / "8" / "9"
Digit = "0" / DigitNonZero
Les seules restrictions sur <Number> sont qu'il (1) soit constitué strictement de chiffres ASCII, (2) ne comporte pas de zéros initiaux et (3) ne fasse pas dépasser au NID les limitations de longueur définies pour la syntaxe URN (voir la section 2).