Maison >développement back-end >Tutoriel XML/RSS >Exemple de partage de code sur les espaces de noms en XML

Exemple de partage de code sur les espaces de noms en XML

黄舟
黄舟original
2017-03-21 16:52:551428parcourir

L'espace de noms

en XML est également appelé l'espace de noms .

Quel est le rôle de l'espace de noms ?

Afin de résoudre le conflit de même nom et de distinguer la reconnaissance du vocabulaire XML dans différents domaines. (Reportez-vous à l'exemple ci-dessous)

Remarque : L'espace de noms n'a qu'une signification logique et ne peut pas vraiment implémenter Référence à 🎜>URI.

Déclaration d'espace de noms :

placée dans la balise de début de l'élément (généralement l'élément racine), Déclarée sous une forme semblable à une propriété. La déclaration d'espace de noms

associe le préfixe de nom à l'URI.

La portée de l'espace de noms :

Uniquement les éléments de la déclaration de l'espace de noms et Valable au sein de l'élément et de l'attribut contenus dans cet élément.

(Remarque : L'espace de noms par défaut n'agit pas directement sur les attributs)

L'élément qui déclare l'espace de noms est appelé Conteneur (Conteneur). L'association entre l'espace de noms et le préfixe est valide dans la portée du corps conteneur.

Deux méthodes de déclaration d'espace de noms :

1, expliciteDéclaration d'espace de noms : xmlns : Nom du préfixe = "certainsURI"

Par exemple :

<根元素 xmlns: xg = “http://xugang.cnblogs.com” >
           <xg:子元素  attName = “myname” />

2, Déclaration d'espace de noms par défaut : xmlns = "someURI"

Il n'a pas nom de préfixe, donc les éléments et attributs XML sans noms de préfixe dans le corps contenant appartiennent à l'espace de noms par défaut.

Par exemple :

<根元素 xmlns = “http://xugang.cnblogs.com” >
           <子元素 attName =“myname” />

Remarque : Essayez d'utiliser uniquement le root L'élément déclare l'espace de noms par défaut . Si l'espace de noms par défaut est déclaré dans un élément non racine , il peut facilement être mal compris ou ignoré par les utilisateurs en tant qu'élément sans espace de noms. Par conséquent, les éléments non racines essaient de ne pas utiliser la déclaration d'espace de noms par défaut (il est recommandé d'utiliser la déclaration d'espace de noms explicite).

Déclaration de l'espace de nomsRemarque :

* Les guillemets doubles doivent être un URI ;
* XML est sensible à la casse et le nom du préfixe ne fait pas exception.
* Il est recommandé que le nom du préfixe soit une abréviation anglaise, et le chinois peut également être utilisé (mais le chinois ne l'est pas). recommandé);
* Essayez d'Éviter la situation où le préfixe avec le même nom correspond à l'espace de noms de URI différent, ce qui induirait facilement les utilisateurs en erreur
* Essayez ; déclarer dans l'élément racine Tous les espaces de noms
* Si l'élément où se trouve un attribut appartient à un espace de noms explicitement déclaré, il n'est généralement pas nécessaire d'ajouter un préfixe à l'attribut.

URI (Uniform Resource Identifier) : Uniform Resource Identifier.

URI est l'URL et Un surensemble d'URN.

URL (Uniform Resource Locater, localisateur de ressources au format unifié) : utilisé pour marquer l'emplacement d'une ressource sur le réseau , On l'appelle communément une URL.

URNUniform Resource Name,统一格式资源名称):表示Internet上某个持久(persistent)的资源,格式相对自由。如:“myURN: IT”表示本示例内部使用的名称。

示例:

IT部门使用.xml

<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<资料>   
<设备 编号="联想6515b">      
<生产商>联想集团</生产商>      
<地址>北京市中关村127号</地址>   
</设备></资料>

建筑部门使用.xml

<?xml version="1.0" encoding="GB2312" standalone="yes" ?>
<资料>
   <设备 编号="中联F001">
      <生产商>中联重科</生产商>
      <地址>湖南省长沙市新开铺113号</地址>
   </设备>
</资料>

错误的部门融合.xml

<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<资料>
   <设备 编号="联想6515b" 编号="中联F001">
      <设备名>笔记本</设备名>
      <生产商>联想集团</生产商>
      <地址>北京市中关村127号</地址>
      <设备名>起重机</设备名>
      <生产商>中联重科</生产商>
      <地址>湖南省长沙市新开铺113号</地址>
   </设备>
</资料>

正确的部门融合.xml

<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<资料 xmlns:IT="http://www.lenovo.com" xmlns:建筑="myURN:中联">
   <设备 IT:编号="联想6515b" 建筑:编号="中联F001">
      <IT:设备名>笔记本</IT:设备名>
      <IT:生产商>联想集团</IT:生产商>
      <IT:地址>北京市中关村127号</IT:地址>
      <建筑:设备名>起重机</建筑:设备名>
      <建筑:生产商>中联重科</建筑:生产商>
      <建筑:地址>湖南省长沙市新开铺113号</建筑:地址>
   </设备>
</资料>

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