Latest web development tutorials

namespace XML

Namespace XML forniscono un metodo per evitare conflitti tra i nomi degli elementi.


Naming conflitti

In XML, i nomi degli elementi sono definiti dallo sviluppatore, quando due documenti differenti utilizzano lo stesso nome di elemento, si verificherà un conflitto di denominazione.

Questo XML trasporta informazioni tabella HTML:

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

Questo XML trasporta informazioni su un tavolo (un mobile):

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

Se questi due documenti XML sono utilizzati insieme, dal momento che i due documenti sono inclusi con contenuti diversi e la definizione dell'elemento <table>, si verificano conflitti di denominazione.

parser XML non può determinare come affrontare tali conflitti.


Utilizzare i prefissi per evitare conflitti

Conflitti di denominazione in XML possono essere ottenuti utilizzando il prefisso del nome così facilmente evitato.

Questo XML trasporta tabella HTML e un mobile in un messaggio:

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

Nell'esempio di cui sopra, non vi è alcun conflitto perché i due <table> elementi hanno nomi diversi.


namespace XML - attributo xmlns

Quando si utilizzano i prefissi in XML, deve essere definito un cosiddettonamespace per il prefisso.

xmlns Namespace attributoè definito nel tag iniziale dell'elemento.

sintassi di dichiarazione dello spazio dei nomi è la seguente. 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>

Nell'esempio precedente, l'attributo xmlns tag <table> definisce h: namespace prefix qualificati: e f.

Quando uno spazio dei nomi è definito nel tag iniziale dell'elemento, tutti gli elementi figlio con lo stesso prefisso e sono associati con uno spazio dei nomi.

Spazio dei nomi, è possibile dichiarare o sono utilizzati in l'elemento nell'elemento radice XML:

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

Nota: Lo spazio deinomi URI parser non sarà utilizzato per trovare informazioni.

Il suo scopo è quello di dare il namespace un nome univoco. Tuttavia, molte aziende utilizzano spesso lo spazio dei nomi come un puntatore per puntare l'effettiva esistenza di una pagina, la pagina contiene informazioni sullo spazio dei nomi.

Visita http://www.w3.org/TR/html4/ .


uniform resource identifier (URI, acronimo di Uniform Resource Identifier)

Uniform Resource Identifier (URI) è una stringa di caratteri che possono identificare le risorse di Internet.

L'URI più comune è laUniform Resource Locator utilizzato per identificare un indirizzo di dominio Internet (URL).Un URI meno comune è laUniform Resource Name (URN).

Nel nostro esempio, usiamo solo URL.


namespace di default

Elemento definisce lo spazio dei nomi di default ci consente di omettere il prefisso in tutti i sotto-elementi del lavoro. La sua sintassi è la seguente:

xmlns="namespaceURI"

Questo XML trasporta informazioni tabella HTML:

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

Questo XML trasporta informazioni su un mobile:

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


uso effettivo dello spazio dei nomi

XSLT è un processo per i documenti XML in altro formato linguaggio XML, ad esempio HTML.

Nel documento XSLT di sotto, si può vedere che la maggior parte dei tag sono tag HTML.

tag non HTML hanno il xsl prefisso, e identifica in tal modo lo spazio dei nomi: 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>

Se si vuole conoscere XSLT, si prega di nostra home page per trovare XSLT tutorial.