Heim  >  Artikel  >  Backend-Entwicklung  >  XML-Einführungs-Tutorial – detaillierte Einführung in XML-Namespaces

XML-Einführungs-Tutorial – detaillierte Einführung in XML-Namespaces

黄舟
黄舟Original
2017-03-15 16:54:371517Durchsuche

Der Namespace

XML gibt den Verwendungsbereich von XML-Namen an. Da XML Element-Tags anpassen kann, besteht eine hohe Wahrscheinlichkeit, dass sich XML-Namen zwischen verschiedenen XML-Anwendungen überschneiden.

Es wäre verwirrend, wenn es keine Möglichkeit gäbe, zwischen nicht zutreffenden Namen zu unterscheiden. XML-Namespaces sollen dieses Problem lösen. Durch den XML-Namespace können wir die XML-Namen verschiedener XML-Anwendungen sehr gut unterscheiden. Ohne eine Möglichkeit, zwischen nicht zutreffenden Namen zu unterscheiden, würde es zu Verwirrung kommen. XML-Namespaces sollen dieses Problem lösen. Durch XML-Namespaces können wir Elemente und
Attribute mit demselben Namen aus verschiedenen XML-Anwendungen unterscheiden. Zusammengehörige Elemente und Attribute aus einer einzelnen XML-Anwendung können gruppiert werden, um die Identifizierung und Verarbeitung von Software zu erleichtern. Namespaces werden gruppiert
nach Präfix und lokalem Teil , getrennt durch Doppelpunkte. Das Präfix identifiziert den Namespace, in dem sich das Element oder Attribut befindet, und der lokale Teil identifiziert ein Element oder Attribut innerhalb des Namespace. Der gesamte Name wird auch als qualifizierter Name (qualified name) bezeichnet. Das Präfix kann aus allen zulässigen XML-Namenszeichen bestehen, mit Ausnahme der drei XML-Buchstaben (jede Kombination aus Groß- und Kleinschreibung). Jedes Präfix in einem qualifizierten Namen muss einem eindeutigen URI zugeordnet sein. Namen, die mit demselben URI-Präfix verknüpft sind, gehören zum selben Namespace. Das Präfix

<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>
wird im Allgemeinen im Element der obersten Ebene mithilfe des Präfixes definiert. Verschiedene Präfixe können auch in Elementen auf niedrigerer Ebene definiert werden:


<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>
Durch Anhängen des xmlns-Attributs ohne Präfix an das Stammelement können Sie Elemente ohne Präfix und alle untergeordneten Elemente ohne Präfix angeben. Das Element gehört zu einem Namespace .


<svg xmlns="http://www.w3.org/2000/svg"> 
<ellipse rx="110" ry="130" /> 
<rect x="4cm" y="1cm" /> 
</svg>
Wenn der Namespace nur zur Identifizierung von Elementen und Attributen aus einer bestimmten XML-Anwendung und nicht zur Unterscheidung verschiedener Elemente mit demselben Namen verwendet wird, kann er in

verwendet werden DTD definiert ein festes xmlns-Attribut im Element, ohne dass es im Dokument definiert werden muss. Die Definitionsmethode lautet wie folgt:

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

Wenn Sie beim Definieren einer DTD ein Namespace-Präfix verwenden müssen, müssen Sie beim Definieren auch das Präfix in die DTD-Definition schreiben, z als:

<!ELEMENT xlink:name (#PCDATA)>

Die Verwendung von Parameterentitäten
zur Referenzierung von zur Definition von Namespace-Präfixen kann die Wartung, Organisation und Freigabe von DTD-Dokumenten erleichtern! Bitte geben Sie beim Nachdruck die Quelle an, vielen Dank!

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

Verwenden Sie dann den Parameter-Entitätsnamen, um weitere Parameter-Entitätsreferenzen zu definieren, wie zum Beispiel:

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

Auf diese Weise Wenn Sie das Präfix ändern müssen, müssen Sie nur eine Stelle ändern, nicht das gesamte Dokument.

Das obige ist der detaillierte Inhalt vonXML-Einführungs-Tutorial – detaillierte Einführung in XML-Namespaces. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn