Maison  >  Article  >  développement back-end  >  Didacticiel d'introduction XML - Introduction détaillée aux espaces de noms XML

Didacticiel d'introduction XML - Introduction détaillée aux espaces de noms XML

黄舟
黄舟original
2017-03-15 16:54:371518parcourir

L'espace de noms

XML indique la plage d'utilisation des noms XML. Étant donné que XML peut personnaliser les balises d'éléments, il est fort probable que les noms XML se chevauchent entre différentes applications XML.

Ce serait déroutant s'il n'y avait pas un moyen de différencier les noms qui ne s'appliquent pas. Les espaces de noms XML sont conçus pour résoudre ce problème. Grâce à l'espace de noms XML, nous pouvons distinguer les noms XML de différentes applications XML. Sans un moyen de différencier les noms qui ne s'appliquent pas, une confusion en résulterait. Les espaces de noms XML sont conçus pour résoudre ce problème. Grâce aux espaces de noms XML, nous pouvons distinguer les éléments et les
attributs portant le même nom provenant de différentes applications XML. Les éléments et attributs associés d'une seule application XML peuvent être regroupés pour faciliter l'identification et le traitement du logiciel. Les espaces de noms sont regroupés
par préfixe et partie locale , séparés par deux points. Le préfixe identifie l'espace de noms dans lequel réside l'élément ou l'attribut, et la partie locale identifie un élément ou un attribut dans l'espace de noms. Le nom entier est également appelé nom qualifié (nom qualifiéified). Le préfixe peut être composé de n'importe quel caractère de nom XML légal, à l'exception des trois lettres XML (dans n'importe quelle combinaison de majuscules et de minuscules). Chaque préfixe d'un nom qualifié doit être associé à un URI unique. Les noms associés au même préfixe URI appartiennent au même espace de noms. Le préfixe

<rdf:RDF xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#"> 
<rdf:Description about="http://www.example.com/test.xml"> 
<title>example</title> 
<author>linuxsir</author> ... </rdf:Description> 
</rdf:RDF>
est généralement défini dans l'élément de niveau supérieur à l'aide du préfixe. Différents préfixes peuvent également être définis dans les éléments de niveau inférieur :


<rdf:RDF xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#"> 
<rdf:Description xmlns:dc="http://www.w3.org/dc/" about="http://www.example.com/test.xml"> 
<dc:title>example</dc:title> 
<dc:author>linuxsir</dc:author> ... </rdf:Description> 
</rdf:RDF>
En ajoutant l'attribut xmlns sans préfixe à l'élément racine, vous pouvez spécifier les éléments sans préfixe et tous les enfants sans préfixe. L'élément appartient à un espace de noms. .


<svg xmlns="http://www.w3.org/2000/svg"> 
<ellipse rx="110" ry="130" /> 
<rect x="4cm" y="1cm" /> 
</svg>
Si l'espace de noms est uniquement utilisé pour identifier des éléments et des attributs d'une certaine application XML, et n'est pas utilisé pour distinguer différents éléments portant le même nom, il peut être utilisé dans

DTD définit un attribut xmlns fixe dans l'élément sans avoir besoin de le définir dans le document. La méthode de définition est la suivante :

<!ATTLIST svg xmlns CDATA #FIXED "http://www.w3.org/svg/">

Lors de la définition d'une DTD, si vous devez utiliser un préfixe d'espace de noms, vous devez également écrire le préfixe dans la définition de la DTD lors de la définition, par exemple comme :

<!ELEMENT xlink:name (#PCDATA)>

Utiliser des entités paramètres
pour référencer afin de définir des préfixes d'espace de noms peut faciliter la maintenance, l'organisation et la publication des documents DTD ! Veuillez indiquer la source lors de la réimpression, merci !

<!ENTITY % prefix "xlink"> <!ENTITY % colon ":">

Ensuite, utilisez le nom de l'entité paramètre pour définir davantage de références d'entité paramètre, telles que :

<!ENTITY % xlink-title "%prefix;%colon;title"> <!ENTITY % xlink-author "%prefix;%colon;author">

De cette façon , si Si vous devez modifier le préfixe, vous ne devez modifier qu'un seul endroit, pas l'intégralité du document.

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