Maison  >  Article  >  développement back-end  >  Introduction détaillée aux exemples de code d'espaces de noms en XML

Introduction détaillée aux exemples de code d'espaces de noms en XML

黄舟
黄舟original
2017-03-29 15:55:581509parcourir

XML Namespace fournit un moyen d'éviter les conflits de noms d'éléments méthodes

-------------------------------------------- --- ---------------------------------------

Conflit de noms
Étant donné que les éléments utilisés dans les documents XML ne sont pas fixes, il peut arriver que deux documents XML différents utilisent le même nom pour décrire différents types d'éléments, et cette situation conduit souvent à des conflits de noms. Veuillez consulter les deux exemples suivants. 🎜>Ce document XML contient des informations sur les fruits dans l'élément table :

Ce document XML contient des informations sur la table (meubles, non comestibles) dans l'élément table :
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>

Si le au-dessus de deux fragments de document XML sont utilisés ensemble, il y aura un conflit de nom car les deux fragments contiennent des éléments f5d188ed2c074f8b944552db028f98a1 La définition et le contenu de l'élément table sont différents. -------------------------- -------------- ------------------------------------
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>

Utiliser des préfixes pour résoudre les conflits de noms

Le document XML suivant contient des informations dans le tableau element :

Le document XML suivant contient des informations sur la table du meuble :

<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
Il n'y a désormais plus de problème de conflit de nom d'élément, car les deux documents utilisent des préfixes différents pour leurs éléments respectifs. éléments de table. Les éléments de table dans les deux documents sont (fae077d51b591786197c1ce2523c9adb et < ;f:table>

En utilisant le préfixe, nous créons deux éléments de table différents. >----------------- -------------------------------- ------------------ -------------
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

Utilisation de l'espace de noms

Le document XML suivant contient des informations dans l'élément table :

Le document XML suivant contenant des informations sur la table des meubles :


Dans les deux exemples ci-dessus, en plus d'utiliser des préfixes, les deux éléments de table utilisent le xmlns

attribut
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
pour rendre les éléments et les différents espaces de noms liés ensemble

----------------------------- ----------- --------------------------------------- -
<f:table xmlns:f="http://www.w3schools.com/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

Attributs d'espace de nomsL'attribut d'espace de noms est généralement placé à la balise de début de l'élément, et sa syntaxe d'utilisation est la suivante :

Dans l'exemple ci-dessus, l'espace de noms définit une adresse Internet : la convention de dénomination


xmlns:namespace-prefix="namespace"
W3C

déclare que l'espace de noms lui-même est un identifiant de ressource uniforme, un identifiant uniforme de
ressource

(URI).
xmlns:f="http://www.w3schools.com/furniture"

Lorsque nous utilisons un espace de noms au niveau de la balise d'ouverture d'un élément, tous les éléments enfants de l'élément seront liés au même espace de noms via un préfixe. Remarque : L'adresse réseau utilisée pour identifier l'espace de noms n'est pas appelée par l'analyseur XML. L'analyseur XML n'a pas besoin de trouver des informations à partir de cette adresse réseau. Le rôle de l'adresse réseau est uniquement de donner l'espace de noms. un nom unique, donc cette adresse réseau peut également être virtuelle, mais de nombreuses entreprises traitent souvent cette valeur d'adresse réseau comme une véritable page Web, cette adresse contient des informations plus détaillées sur l'espace de noms actuel.
Uniform Resource Identifier

Un Uniform Resource Identifier (URI) est une

chaîne

qui identifie une ressource réseau. L'URI le plus courant doit être l'URL (Uniform Resource Locator). Une URL est utilisée pour identifier l'adresse d'un hôte réseau. D’un autre côté, un autre URI moins couramment utilisé est l’URN (Universal Resource Name). Dans notre cas, les URL sont généralement utilisées.

Étant donné que l'exemple précédent utilisait l'adresse URL pour identifier l'espace de noms, nous pouvons être sûrs que cet espace de noms est unique.


------------------------------------------------------ ------ ------------------------------------Espace de noms par défaut

définition Un espace de noms XML par défaut élimine le besoin de préfixes dans les balises d'ouverture des éléments enfants. Sa syntaxe est la suivante :

Le document XML suivant contient des informations sur les fruits dans l'élément table :


Le document XML suivant contient les informations sur la table des meubles :
<element xmlns="namespace">


--------------------------------------------- - -----------------------------------------

<table xmlns="http://www.w3.org/TR/html4/">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
Utiliser le nom Quand vous commencez à utiliser XSL dans le fichier espace

, vous constaterez que l'espace de noms est utilisé très fréquemment. Les feuilles de style XSL sont principalement utilisées pour convertir des documents XML dans un format similaire aux fichiers HTML.

<table xmlns="http://www.w3schools.com/furniture">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
Si vous regardez le document XSL ci-dessous, vous constaterez que de nombreuses balises sont des balises HTML. Ces balises ne sont pas des balises HTML, mais un préfixe XSL. Ce préfixe XSL est identifié par l'espace de noms « http://www.w3.org/TR/xsl » :

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn