Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in Codebeispiele von Namespaces in XML

Detaillierte Einführung in Codebeispiele von Namespaces in XML

黄舟
黄舟Original
2017-03-29 15:55:581507Durchsuche

XML Namespace bietet eine Möglichkeit, Konflikte bei der Benennung von Elementen zu vermeiden Methoden

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

Namenskonflikt
Da die in XML-Dokumenten verwendeten Elemente nicht festgelegt sind, kann es vorkommen, dass zwei verschiedene XML-Dokumente denselben Namen verwenden, um verschiedene Arten von Elementen zu beschreiben. Dies führt häufig zu Namenskonflikten. Bitte beachten Sie die folgenden beiden Beispiele 🎜>Dieses XML-Dokument enthält Fruchtinformationen im Tabellenelement:

Dieses XML-Dokument enthält Tischinformationen (Möbel, nicht essbar) im Tabellenelement:
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>

Wenn die Werden oben zwei XML-Dokumentfragmente zusammen verwendet, kommt es zu einem Namenskonflikt, da beide Fragmente f5d188ed2c074f8b944552db028f98a1 enthalten. Die Definition und der Inhalt des Tabellenelements sind unterschiedlich. -------------------------- ---------- --------------------------
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>

Verwenden Sie Präfixe, um Namenskonflikte zu lösen

Das folgende XML-Dokument enthält Informationen in der Tabelle Element:

Das folgende XML-Dokument enthält Informationen über den Möbeltisch:

<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
Jetzt gibt es kein Konfliktproblem bei der Benennung von Elementen, da die beiden Dokumente unterschiedliche Präfixe für ihre jeweiligen Elemente verwenden Tabellenelemente. Die Tabellenelemente in den beiden Dokumenten sind (fae077d51b591786197c1ce2523c9adb und < ;f:table>). Durch die Verwendung des Präfixes erstellen wir zwei verschiedene Tabellenelemente >-------------------------------- -------------------------------- -------------

Verwendung des Namespace
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
Das folgende XML-Dokument enthält Informationen das Tabellenelement:

Das folgende XML-Dokument, das Informationen zur Möbeltabelle enthält:

In den beiden obigen Beispielen verwenden beide Tabellenelemente zusätzlich zur Verwendung von Präfixen das xmlns

Attribut
, um die Elemente und verschiedenen Namespaces miteinander in Beziehung zu setzen

<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>
-------------------------------------------- ----------- ------------------------- -

Namespace-Attribute
<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>
Das Namespace-Attribut wird im Allgemeinen am Start-Tag des Elements platziert und seine Verwendungssyntax lautet wie folgt:

Im obigen Beispiel der Namespace definiert eine Internetadresse:


W3C

Die Namenskonvention erklärt, dass der Namespace selbst ein Uniform Resource Identifier, Uniform
xmlns:namespace-prefix="namespace"
Resource

Identifier (URI) ist.

xmlns:f="http://www.w3schools.com/furniture"
Wenn wir einen Namespace am Eröffnungs-Tag eines Elements verwenden, werden alle untergeordneten Elemente des Elements über ein Präfix mit demselben Namespace verknüpft.

Hinweis: Die zur Identifizierung des Namespace verwendete Netzwerkadresse wird vom XML-Parser nicht aufgerufen. Die Rolle der Netzwerkadresse besteht lediglich darin, den Namespace anzugeben Ein eindeutiger Name, daher kann diese Netzwerkadresse auch virtuell sein. Viele Unternehmen behandeln diesen Netzwerkadressenwert jedoch häufig wie eine echte Webseite. Diese Adresse enthält detailliertere Informationen über den aktuellen Namespace. Uniform Resource IdentifierEin Uniform Resource Identifier (URI) ist eine
Zeichenfolge

, die eine Netzwerkressource identifiziert. Der gebräuchlichste URI sollte der Uniform Resource Locator (URL) sein. Eine URL wird verwendet, um die Adresse eines Netzwerkhosts zu identifizieren. Andererseits ist ein weiterer, weniger häufig verwendeter URI der Universal Resource Name (URN). In unserem Fall werden in der Regel URLs verwendet.

Da im vorherigen Beispiel die URL-Adresse zur Identifizierung des Namespace verwendet wurde, können wir sicher sein, dass dieser Namespace eindeutig ist.

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


Standardnamespace Definition Ein Standard-XML-Namespace macht Präfixe in den Eröffnungs-Tags von untergeordneten Elementen überflüssig. Seine Syntax lautet wie folgt:

Das folgende XML-Dokument enthält Fruchtinformationen im Tabellenelement:

Das folgende XML-Dokument enthält die Möbeltabelleninformationen:

<element xmlns="namespace">
-------------------------------------------------------- - -----------------------------------------


Verwenden Sie die Benennung Wann Wenn Sie anfangen, XSL in der Space-Datei

zu verwenden, werden Sie feststellen, dass der Namespace so häufig verwendet wird. XSL-Stylesheets werden hauptsächlich verwendet, um XML-Dokumente in ein Format zu konvertieren, das HTML-Dateien ähnelt.
<table xmlns="http://www.w3.org/TR/html4/">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>

Wenn Sie sich das XSL-Dokument unten ansehen, werden Sie feststellen, dass es sich bei vielen der Tags um HTML-Tags handelt. Bei diesen Tags handelt es sich nicht um HTML-Tags, sondern um vorangestellte XSL-Tags. Dieses XSL-Präfix wird durch den Namensraum „http://www.w3.org/TR/xsl“ identifiziert:

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

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in Codebeispiele von Namespaces in XML. 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