J'essaie de comprendre pourquoi nous avons besoin d'URI pour les espaces de noms XML et je ne trouve pas de raison pour cela. Quelqu'un peut-il m'éclairer un peu en montrant leur utilisation sur un exemple concret?
MODIFIER:
Ok donc par exemple: j'ai ceci de w3schools
<root
xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3schools.com/furniture">
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
Alors, qu'est-ce qui devrait http://www.w3schools.com/furniture
tenir?
Réponses:
Un espace de noms est une façon de dire "Ce genre de Foo" est différent de "Ce genre de Foo", même s'ils sont orthographiés de la même manière. Ou, si vous préférez " MON genre de Foo" est différent de " Tout le monde elses genre de Foo".
La façon technique de dire ceci est "L'URI de mon espace de noms pour Foo" est différent de tout le monde URI pour leur espace de noms pour Foo. En d'autres termes, les URI ne sont que des chaînes qui vous permettent de le dire.
L'astuce consiste alors à dire «Hé, les URL sont des URI valides», puis à utiliser un URI correspondant à une URL sous votre contrôle. Si tout le monde le fait, vous évitez les collisions accidentelles dans l'espace de noms. Vous pourriez aussi bien avoir dit espace de noms "A" et espace de noms "B", mais vous risquez que quelqu'un d'autre utilise également le même espace de noms, puis votre type de Foo n'est plus différent de leur Foo, ce qui est exactement ce que vous voulez éviter .
Vous pouvez ensuite ajouter une convention supplémentaire aux URL utilisées comme URI, par exemple que l'URL doit correspondre à une page contenant de la documentation ou des XSD ou similaires, mais cela n'est pas nécessaire. C'est juste pratique.
la source
a
serait donc totalement valide? Stupide, mais valide? Ou faut-il que ce soit un URI?En termes généraux, tout identifiant unique servirait pour un espace de noms; mais comme il est censé être unique au monde , la norme devrait soit mandater une autorité d'arbitrage, soit utiliser une autre ressource qui est à la fois unique au monde mais facile à saisir et à prouver qu'elle est la vôtre.
Oh regarde! si vous avez un domaine, ce n'est évidemment que le vôtre, et il est facile de prouver qu'il vous appartient!
Par exemple, ils voulaient éviter la situation où deux librairies différentes commencent à utiliser des «livres» comme espace de noms, avec des définitions internes totalement différentes. Bien qu'ils l'utilisent en interne, il n'y a aucun problème; mais dès que l'un d'eux veut publier ses spécifications, tout l'enfer se déchaîne.
Au lieu de cela, si vous êtes encouragé à utiliser votre domaine, n'importe qui (enfin, toute personne qui possède un domaine) peut définir son propre espace de noms privé avec la certitude que personne d'autre n'utilisera exactement le même identifiant.
En prime, vous pouvez éventuellement stocker la définition de votre espace de noms à l'URI, ce qui le rend auto-documenté.
Cela me semble une excellente idée.
la source
Qu'est-ce que xmlIns spécifie?
En tant que nœuds d'attribut nommés "xmlns" ou "xmlns: xxx", exactement comme les espaces de noms sont écrits dans le document XML source. C'est le modèle présenté par DOM.
Que contient l'URI?
Un espace de noms XML est déclaré à l'aide du pseudo-attribut XML réservé xmlns ou xmlns: prefix, dont la valeur doit être un nom d'espace de noms valide.
Par exemple, la déclaration suivante mappe le préfixe "xhtml:" à l'espace de noms XHTML:
COMME je l'ai découvert après avoir lu l' article sur Wikipédia. L'URI contient les spécifications au format XML de l'espace de noms et fournit une méthode pour éviter les conflits de nom d'élément.
Peut-être connaissez-vous le document xml utilisé
XML Schema
pour la structure élément / table / classe des éléments du document XML.que devrait contenir http://www.w3schools.com/furniture ?
La réponse se trouve sur votre page où vous avez découvert l'espace de noms XML. Consultez la
Namespaces in Real Use
section sur cet article W3Schools .Vérifiez le lien suivant de stackoverflow qui montre ce que cet URI porte:
Comment créer et utiliser un espace de noms XML?
la source
URI = nom ou identificateur global unique de l'espace de noms
Envisagez de constituer une base de données ou un document sur la gestion financière de la logistique de l'industrie pétrolière. Il faudrait pour cela utiliser des vocabulaires spécifiques (c'est-à-dire des termes contrôlés) pour chacun des sujets: base de données, document, gestion, finance, logistique, pétrole et industrie.
Si aucun des termes ne se chevauche dans ces sept vocabulaires, alors un seul URI est nécessaire. Mais pour chaque terme qui chevauche d'autres termes dans ces vocabulaires, vous auriez besoin d'un vocabulaire spécifique à un sujet supplémentaire identifié dans un URI ou IRI. Un moyen de contourner cela est de créer une taxonomie fusionnée, avec des termes généraux plus larges et des termes spécifiques à un sujet plus étroits.
Cela pourrait ensuite être développé en un thésaurus qui montre également les synonymes de jargon d'un terme, et permet de spécifier un terme préféré parmi ces synonymes de jargon.
la source