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

DTD XML


Un documento XML con sintassi corretta è chiamato "Well Formed".

Un documento XML convalidato rispetto a un DTD è sia "ben formato" che "valido".


Che cos'è un DTD?

DTD sta per Document Type Definition.

Un DTD definisce la struttura, gli elementi legali e gli attributi di un documento XML.


Documenti XML validi

Un documento XML "valido" è "ben formato", così come è conforme alle regole di un DTD:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

La dichiarazione DOCTYPE sopra contiene un riferimento a un file DTD. Il contenuto del file DTD viene mostrato e spiegato di seguito.


DTD XML

Lo scopo di un DTD è definire la struttura, gli elementi legali e gli attributi di un documento XML:

Nota.dtd:

<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>

Il DTD sopra è interpretato in questo modo:

  • !DOCTYPE note - Definisce che l'elemento principale del documento è una nota
  • !ELEMENT note - Definisce che l'elemento della nota deve contenere gli elementi: "to, from, header, body"
  • !ELEMENT to - Definisce l'elemento to di tipo "#PCDATA"
  • !ELEMENT from - Definisce l'elemento from di tipo "#PCDATA"
  • Intestazione !ELEMENT - Definisce l'elemento di intestazione di tipo "#PCDATA"
  • !ELEMENT body - Definisce l'elemento body in modo che sia di tipo "#PCDATA"

Suggerimento: #PCDATA significa dati di caratteri analizzabili.



Utilizzo di DTD per la dichiarazione di entità

Una dichiarazione DOCTYPE può essere utilizzata anche per definire caratteri o stringhe speciali, utilizzati nel documento:

Esempio

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

<!DOCTYPE note [
<!ENTITY nbsp "&#xA0;">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: W3Schools.">
]>

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer;&nbsp;&copyright;</footer>
</note>
Provate voi stessi "

Suggerimento: un'entità è composta da tre parti: inizia con una e commerciale (&), quindi arriva il nome dell'entità e termina con un punto e virgola (;).


Quando usare un DTD?

Con un DTD, gruppi indipendenti di persone possono accettare di utilizzare un DTD standard per lo scambio di dati.

Con un DTD, puoi verificare che i dati che ricevi dal mondo esterno siano validi.

Puoi anche utilizzare un DTD per verificare i tuoi dati.

Se vuoi studiare DTD, leggi il nostro Tutorial DTD .


Quando NON utilizzare un DTD?

XML non richiede un DTD.

Quando si sperimenta con XML o quando si lavora con piccoli file XML, la creazione di DTD può essere una perdita di tempo.

Se si sviluppano applicazioni, attendere che la specifica sia stabile prima di aggiungere un DTD. In caso contrario, il software potrebbe smettere di funzionare a causa di errori di convalida.