Esercitazione XML

XML CASA Introduzione XML XML Come usare Albero XML Sintassi XML Elementi XML Attributi XML Spazi dei nomi XML Visualizzazione XML Richiesta HTTP XML Analizzatore XML XML DOM XPath XML XML XSLT XQuery XML XML XLink Validatore XML DTD XML Schema XML Server XML Esempi XML Quiz XML Certificato XML

XML AJAX

Introduzione AJAX AJAX XMLHttp Richiesta AJAX Risposta dell'AJAX File XML AJAX AJAX PHP AJAX ASP Database AJAX Applicazioni AJAX Esempi AJAX

XML DOM

DOM Introduzione Nodi DOM Accesso DOM Informazioni sul nodo DOM Elenco dei nodi DOM DOM attraversando Navigazione DOM DOM Ottieni valori Nodi di modifica DOM DOM Rimuovere i nodi DOM Sostituisci nodi DOM Crea nodi DOM Aggiungi nodi Clonazione dei nodi DOM Esempi DOM

Esercitazione XPath

Introduzione a XPath Nodi XPath Sintassi XPath Assi XPath Operatori XPath Esempi di XPath

Esercitazione XSLT

Introduzione a XSLT Lingue XSL Trasformazione XSLT XSLT <modello> XSLT <valore-di> XSLT <per-ciascuno> XSLT <ordina> XSLT <se> XSLT <scegli> Applicare XSLT XSLT sul Cliente XSLT sul server XSLT Modifica XML Esempi XSLT

Esercitazione XQuery

Introduzione a XQuery Esempio XQuery XQuery FLWOR XQuery HTML Termini di XQuery Sintassi XQuery Aggiungi XQuery XQuery Seleziona Funzioni XQuery

DTD XML

Introduzione alla DTD Blocchi di costruzione DTD Elementi DTD Attributi DTD Elementi DTD vs Attr Entità DTD Esempi di DTD

Schema XSD

Introduzione all'XSD XSD Come fare per XSD <schema> Elementi XSD Attributi XSD Restrizioni XSD

Complesso XSD

Elementi XSD XSD vuoto Solo elementi XSD Solo testo XSD XSD misto Indicatori XSD XSD <qualsiasi> XSD <qualsiasi attributo> Sostituzione XSD Esempio XSD

Dati XSD

Stringa XSD Data XSD Numerico XSD XSD Varie Riferimento XSD

Servizi Web

Servizi XML XML WSDL SAPONE XML XML RDF RSS XML

Riferimenti

Tipi di nodi DOM Nodo DOM Elenco nodi DOM DOM NamedNodeMap Documento DOM Elemento DOM Attributo DOM Testo DOM DOM CDATA Commento DOM DOM XMLHttpRichiesta Analizzatore DOM Elementi XSLT Funzioni XSLT/XPath

Spazi dei nomi XML


Gli spazi dei nomi XML forniscono un metodo per evitare conflitti tra i nomi degli elementi.


Conflitti di nome

In XML, i nomi degli elementi sono definiti dallo sviluppatore. Ciò si traduce spesso in un conflitto quando si tenta di combinare documenti XML da diverse applicazioni XML.

Questo XML contiene informazioni sulla tabella HTML:

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

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

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

Se questi frammenti XML venissero aggiunti insieme, si verificherebbe un conflitto di nomi. Entrambi contengono un elemento <table>, ma gli elementi hanno contenuto e significato diversi.

Un utente o un'applicazione XML non saprà come gestire queste differenze.


Risolvere il conflitto di nomi utilizzando un prefisso

I conflitti di nome in XML possono essere facilmente evitati utilizzando un prefisso del nome.

Questo XML contiene informazioni su una tabella HTML e un mobile:

<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 sopra, non ci sarà alcun conflitto perché i due elementi <table> hanno nomi diversi.



Spazi dei nomi XML - L'attributo xmlns

Quando si utilizzano prefissi in XML, è necessario definire uno spazio dei nomi per il prefisso.

Lo spazio dei nomi può essere definito da un attributo xmlns nel tag iniziale di un elemento.

La dichiarazione dello spazio dei nomi ha la seguente sintassi. xmlns: prefisso =" 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="https://www.w3schools.com/furniture">
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

</root>

Nell'esempio sopra:

L'attributo xmlns nel primo elemento <table> fornisce al prefisso h: uno spazio dei nomi qualificato.

L'attributo xmlns nel secondo elemento <table> fornisce al prefisso f: uno spazio dei nomi qualificato.

Quando viene definito uno spazio dei nomi per un elemento, tutti gli elementi figlio con lo stesso prefisso sono associati allo stesso spazio dei nomi.

I namespace possono anche essere dichiarati nell'elemento radice XML:

<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="https://www.w3schools.com/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: l'URI dello spazio dei nomi non viene utilizzato dal parser per cercare informazioni.

Lo scopo dell'utilizzo di un URI è dare allo spazio dei nomi un nome univoco.

Tuttavia, le aziende utilizzano spesso lo spazio dei nomi come puntatore a una pagina Web contenente informazioni sullo spazio dei nomi.


Uniform Resource Identifier (URI)

Un Uniform Resource Identifier (URI) è una stringa di caratteri che identifica una risorsa Internet.

L'URI più comune è l' Uniform Resource Locator (URL) che identifica un indirizzo di dominio Internet. Un altro tipo di URI non così comune è l' Uniform Resource Name (URN).


Spazi dei nomi predefiniti

La definizione di uno spazio dei nomi predefinito per un elemento ci evita di utilizzare prefissi in tutti gli elementi figlio. Ha la seguente sintassi:

xmlns="namespaceURI"

Questo XML contiene informazioni sulla tabella HTML:

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

Questo XML contiene informazioni su un mobile:

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

Spazi dei nomi in uso reale

XSLT è un linguaggio che può essere utilizzato per trasformare documenti XML in altri formati.

Il documento XML di seguito è un documento utilizzato per trasformare XML in HTML.

Lo spazio dei nomi "http://www.w3.org/1999/XSL/Transform" identifica gli elementi XSLT all'interno di un documento HTML:

<?xml version="1.0" encoding="UTF-8"?>

<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 style="text-align:left">Title</th>
      <th style="text-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 vuoi saperne di più su XSLT, leggi il nostro Tutorial XSLT .