Latest web development tutorials

XML-Namespaces

XML-Namespaces stellen ein Verfahren Elementnamenskonflikte zu vermeiden.


Namenskonflikte

In XML-Elementnamen vom Entwickler festgelegt werden, wenn zwei verschiedene Dokumente, die die gleiche Elementname verwenden, wird ein Namenskonflikt auftreten.

Diese XML trägt HTML-Tabelle Informationen:

<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>

Diese XML trägt Informationen über eine Tabelle (ein Möbelstück):

<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>

Wenn diese beiden XML-Dokumente zusammen verwendet werden, da die beiden Dokumente mit unterschiedlichen Inhalten und Definition des <table> Element enthalten sind, auftreten Namenskonflikte.

XML-Parser kann nicht bestimmen, wie mit solchen Konflikten umgehen.


Verwenden Sie Präfixe zu vermeiden Namenskonflikte

Namenskonflikte in XML kann unter Verwendung des Namens Präfix so leicht zu vermeiden, erhalten werden.

Diese XML trägt HTML-Tabelle und ein Möbelstück in einer Nachricht:

<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>

<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

In dem obigen Beispiel gibt es keinen Konflikt, weil die beiden <table> Elemente haben unterschiedliche Namen.


XML-Namespace - xmlns Attribut

Wenn Präfixe in XML verwenden, ein sogenannterNamespace für das Präfix muss definiert werden.

Namespacexmlns - Attributwird in dem Start - Tag des Elements definiert.

Namespace-Deklaration Syntax ist wie folgt. xmlns:prefix= "URI".

<root>

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

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

</root>

In dem obigen Beispiel xmlns Attribut <table> Tag definiert h: Namespacepräfix qualifiziert: und f.

Wenn ein Namespace in dem Start-Tag des Elements definiert ist, werden alle untergeordneten Elemente mit dem gleichen Präfix und sind mit einem Namespace zugeordnet.

Namespace, können Sie erklären, oder sie werden in dem Element in der XML-Stammelement verwendet:

<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3cschool.cc/furniture"
>

<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>

<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

</root>

Hinweis: Der Namespace - URI - Parser nicht verwendet werden , um Informationen zu finden.

Sein Zweck ist der Namespace einen eindeutigen Namen zu geben. Doch oft viele Unternehmen den Namespace als Zeiger verwenden, um die tatsächliche Existenz einer Seite zu verweisen, auf dieser Seite enthält Informationen über den Namespace.

Besuchen Sie http://www.w3.org/TR/html4/ .


Uniform Resource Identifier (URI, steht für Uniform Resource Identifier)

Uniform Resource Identifier (URI) ist eine Zeichenfolge , die Internet - Ressourcen identifizieren kann.

Die häufigste ist die URIUniform Resource Locator verwendet , um eine Internet - Domainadresse (URL) zu identifizieren.Eine weniger häufige URI ist derUniform Resource Name (URN).

In unserem Beispiel verwenden wir nur URL.


Standard-Namespace

Element definiert der Standard-Namespace ermöglicht es uns, das Präfix in allen Unterelemente in der Arbeit zu verzichten. Die Syntax ist wie folgt:

xmlns="namespaceURI"

Diese XML trägt HTML-Tabelle Informationen:

<table xmlns="http://www.w3.org/TR/html4/">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>

Diese XML trägt Informationen über ein Möbelstück:

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


Die tatsächliche Verwendung des Namens

XSLT ist ein Prozess, für den XML-Dokumenten in andere XML-Sprache Format, wie HTML.

Im XSLT-Dokument unten können Sie sehen, dass die meisten der Tags HTML-Tags sind.

Nicht-HTML-Tags haben das Präfix xsl und identifiziert somit der Namensraum: xmlns: xsl = "http://www.w3.org/1999/XSL/Transform":

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr>
<th align="left">Title</th>
<th align="left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

Wenn Sie sich über XSLT erfahren möchten, benutzen Sie bitte unser Homepage XSLT - Tutorial zu finden.