Les espaces de nommage dans les langages (XML, C++,JAVA)

Les espaces de nommage dans les langages (XML, C++,JAVA) - Divers - Programmation

Marsh Posté le 03-11-2006 à 11:07:37    

J'essaie d'en apprendre un peu plus sur les espaces de nommage. Mais des choses me turlupinent. Si j'ai bien compris, un namespace a pour but de référencer un objet (bon en XML c'est une balise) ayant un identifiant unique (un nom global unique) de façon à pouvoir gérer les inclusions de fichiers source au sein d'autres fichiers sans avoir de collision de noms.
Alors avec Java j'ai bien compris ce mécanisme à travers le nom des classes concaténé au CLASSPATH qui permettent d'avoir un nom de classe absolu unique car basé sur le système de fichier d'un OS (un répertoire ne peut avoir 2 fichiers de même nom). L'affaire est donc réglée pour une application locale.
Pour une application répartie, comment cela est géré ? en utilisant des objets distant via RMI il est possible dans l'absolu de créer un conflit de nom de classe, me trompe-je ? comment fait-on pour distinguer le toto.java sur la machine X du toto.java sur la machine Y ... une URI définissant un espace de nommage pour de telles classes n'est en soit pas unique (ça reste une chaîne de caractère).
Alors en XML c'est cela qui est utilisé (une URI définie un espace de nommage). Imaginez donc sur un poste local l'inclusion de 2 fichiers (A et B) dans un 3ème fichier XML. Il n'est pas impossible d'avoir un conflit de balise car dans A et B, la balise peut avoir le même nom absolu (nom balise + nom espace de nommage).
Idem en C++, l'espace de nommage est juste une chaîne de caractère...il est donc possible de créer des collissions de nom rien que sur une appli locale (avec inclusion de fichiers).
 
Morale : à quoi sert l'espace de nommage que l'on peut définir en XML et C++ alors que dans l'absolu, l'identifiant n'est pas unique...autant ne pas en spécifier.
 
Merci de m'éclaircir sur ce point.


Message édité par Giz le 03-11-2006 à 11:32:56
Reply

Marsh Posté le 03-11-2006 à 11:07:37   

Reply

Marsh Posté le 03-11-2006 à 11:22:23    

Attention en XML, c'est pas obligatoirement une URI... Il peut toujours y avoir un conflit. Pour ça qu'il faut faire gaffe, et que le W3 utilise toujours une URI pour justement éviter un conflit, une URI étant unique

Reply

Marsh Posté le 03-11-2006 à 11:31:09    

et c'est quoi la différence entre une URI/URL/URN, RFC ... ça m'embrouille tout ces trucs  :pfff:

Reply

Marsh Posté le 03-11-2006 à 11:42:48    


En regardant sur le wiki, http://fr.wikipedia.org/wiki/URI, je ne vois pas la différence entre une URI et une URL. Mais j'ai lu :  

There are two types of URIs: URLs and URNs


Donc dans le namespace on spécifie bien une URL en fait (qui est plus généralement une URI) qui reste une chaîne de caractère :/....l'URL en tant que namespace spécifiée n'est pas obligée d'exister.

Reply

Marsh Posté le 03-11-2006 à 12:16:25    

Non, puisqu'on peut aussi spécifier une URN. Exemple :

urn:schemas-microsoft-com:office:word

Reply

Marsh Posté le 03-11-2006 à 12:17:01    

Maintenant si on met une URL, il est bien que ça aboutisse sur quelque chose, genre le namespace XHTML

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed