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

Elementi XML


Un documento XML contiene elementi XML.


Che cos'è un elemento XML?

Un elemento XML è qualsiasi cosa, da (incluso) il tag di inizio dell'elemento a (incluso) il tag di fine dell'elemento.

<price>29.99</price>

Un elemento può contenere:

  • testo
  • attributi
  • altri elementi
  • o un mix di quanto sopra
<bookstore>
  <book category="children">
    <title>Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
  <book category="web">
    <title>Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

Nell'esempio sopra:

<titolo>, <autore>, <anno> e <prezzo> hanno contenuto di testo perché contengono testo (come 29.99).

<bookstore> e <book> hanno contenuto di elementi , perché contengono elementi.

<libro> ha un attributo (categoria="bambini").


Elementi XML vuoti

Un elemento senza contenuto si dice vuoto.

In XML, puoi indicare un elemento vuoto come questo:

<element></element>

Puoi anche utilizzare un cosiddetto tag di chiusura automatica:

<element />

I due moduli producono risultati identici nel software XML (lettori, parser, browser).

Gli elementi vuoti possono avere attributi.



Regole di denominazione XML

Gli elementi XML devono seguire queste regole di denominazione:

  • I nomi degli elementi fanno distinzione tra maiuscole e minuscole
  • I nomi degli elementi devono iniziare con una lettera o un trattino basso
  • I nomi degli elementi non possono iniziare con le lettere xml (o XML, o Xml, ecc.)
  • I nomi degli elementi possono contenere lettere, cifre, trattini, trattini bassi e punti
  • I nomi degli elementi non possono contenere spazi

Qualsiasi nome può essere utilizzato, nessuna parola è riservata (tranne xml).


Migliori pratiche di denominazione

Crea nomi descrittivi, come questo: <persona>, <nome>, <cognome>.

Crea nomi brevi e semplici, come questo: <titolo_libro> non come questo: <titolo_del_libro>.

Evitare "-". Se dai un nome a qualcosa "nome", alcuni software potrebbero pensare che tu voglia sottrarre "nome" da "nome".

Evitare ".". Se si nomina qualcosa "first.name", alcuni software potrebbero pensare che "name" sia una proprietà dell'oggetto "first".

Evitare ":". I due punti sono riservati per gli spazi dei nomi (più avanti).

Le lettere non inglesi come éòá sono perfettamente legali in XML, ma fai attenzione ai problemi se il tuo software non le supporta.


Stili di denominazione

Non ci sono stili di denominazione definiti per gli elementi XML. Ma eccone alcuni comunemente usati:

Stile Esempio Descrizione
Minuscolo <nome> Tutte le lettere minuscole
Maiuscolo <COGNOME> Tutte le lettere maiuscole
Sottolineare <nome_nome> Il carattere di sottolineatura separa le parole
Caso Pasquale <Nome> Prima lettera maiuscola in ogni parola
Caso di cammello <nome> Prima lettera maiuscola in ogni parola tranne la prima

Se scegli uno stile di denominazione, è bene essere coerenti!

I documenti XML hanno spesso un database corrispondente. Una pratica comune consiste nell'utilizzare le regole di denominazione del database per gli elementi XML.

Camel case è una regola di denominazione comune nei JavaScript.


Gli elementi XML sono estensibili

Gli elementi XML possono essere estesi per trasportare più informazioni.

Guarda il seguente esempio XML:

<note>
  <to>Tove</to>
  <from>Jani</from>
  <body>Don't forget me this weekend!</body>
</note>

Immaginiamo di aver creato un'applicazione che ha estratto gli elementi <to>, <from> e <body> dal documento XML per produrre questo output:

MESSAGGIO

A: Tove
Da: Jani

Non dimenticarmi questo fine settimana!

Immagina che l'autore del documento XML abbia aggiunto alcune informazioni extra:

<note>
  <date>2008-01-10</date>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

L'applicazione dovrebbe interrompersi o arrestarsi in modo anomalo?

No. L'applicazione dovrebbe essere ancora in grado di trovare gli elementi <to>, <from> e <body> nel documento XML e produrre lo stesso output.

Questa è una delle bellezze di XML. Può essere esteso senza interrompere le applicazioni.