Tutorial XML per principianti
Cos'รจ l'XML?
XML sta per eXtensibile MArkupe Llingua. ร un linguaggio (non> un linguaggio di programmazione) che utilizza il markup e puรฒ estendersi. ร derivato da Standard Gmineralizzato MArkupe Llingua (SGML). XML utilizza anche DTD (Doccupazione Tipo Definizioni) per definire la struttura del documento XML.
XML non รจ destinato alla gestione di operazioni e algoritmi di calcolo. Pertanto, XML non รจ un linguaggio di programmazione. L'obiettivo principale รจ trasportare i dati, non visualizzare informazioni. XML colma il divario tra leggibilitร umana e leggibilitร automatica. A differenza dei tag HTML, i tag XML sono autodescrittivi.
XML รจ un formato aperto. L'estensione del nome file XML รจ .xml
Storia dell'XML
XML รจ nato nel lontano 1996 ed รจ stato pubblicato per la prima volta nel 1998. Wondo Wide Web Consortium (W3C) รจ lo sviluppatore di XML, ed รจ diventato a Raccomandazione del W3C nel 1998.
Esistono due versioni di XML.
- XML1.0
- XML1.1
XML1.1 รจ l'ultima versione. Ancora, XML1.0 รจ la versione piรน utilizzata.
Gli editor di XML sono:
- Tim Bray,
- Jean Paoli,
- CM Sperberg,
- Eva Maler,
- Franรงois Yergeau.
Funzionalitร XML
Ecco alcune caratteristiche importanti di XML:
- ร estensibile e leggibile dall'uomo.
- ร indipendente dalla piattaforma e dalla lingua.
- Conserva lo spazio bianco.
- Semplicitร generale.
- Natura autodescrittiva.
- Separa i dati dall'HTML.
- I tag XML non sono predefiniti. ร necessario definire i tag personalizzati.
- XML รจ stato progettato per trasportare dati, non per visualizzarli.
- Il codice di markup XML รจ facile da comprendere per un essere umano.
- Il formato ben strutturato รจ facile da leggere e scrivere dai programmi.
- XML รจ un linguaggio di markup estensibile come HTML.
Codifica XML
La codifica รจ la conversione dei caratteri Unicode nella loro rappresentazione binaria. UTF viene utilizzato per la codifica XML. UTF sta per USC (UCS sta per Universal Cpersonaggio Se) Ttrasformazione Format.
Principalmente, esistono due tipi di codifica UTF.
- UTF-8: UTF-8 utilizza 8 bit per rappresentare i caratteri.
- UTF-16
Esempio:
<?xml version="1.0" encoding="UTF-8"?>
Utilizza 16 bit per rappresentare i caratteri.
Esempio:
<?xml version="1.0" encoding="UTF-16"?>
ร possibile utilizzare la codifica all'interno della dichiarazione XML. UTF-8 รจ la codifica predefinita in XML.
Sintassi XML
Il segmento di codice seguente mostra la sintassi XML di base.
<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
Dichiarazione XML
La dichiarazione XML รจ costituita dalla versione XML, dalla codifica dei caratteri e/o dallo stato autonomo. La dichiarazione รจ facoltativa.
Sintassi per la dichiarazione XML
Il segmento di codice seguente mostra la sintassi per la dichiarazione XML.
<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?>
Regole di dichiarazione XML
Di seguito sono riportate le regole per la dichiarazione XML.
- Se la dichiarazione XML รจ presente, deve essere la prima cosa che appare.
- La dichiarazione XML fa distinzione tra maiuscole e minuscole e deve iniziare con la lettera minuscola <?xml.
- Non ha cartellino di chiusura.
Esempio di dichiarazione XML
Il seguente segmento di codice mostra un esempio di dichiarazione XML.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
Commenti XML
I commenti sono facoltativi. L'aggiunta di commenti aiuta a comprendere il contenuto del documento.
Sintassi per i commenti XML
Un commento inizia con <!โ e finisce con ->.
Il seguente segmento di codice mostra la sintassi per i commenti XML.
<!-- Add your comment here -->
Tag ed elementi XML
I tag funzionano in coppia, ad eccezione delle dichiarazioni. Ogni coppia di tag รจ composta da un tag di apertura (Noto anche come iniziare l'etichetta) E tag di chiusura (Noto anche come etichetta di fine).
I nomi dei tag sono racchiusi in <>. Per una particolare coppia di tag, i tag di inizio e di fine devono essere identici, tranne il tag di fine / dopo l' <.
<name>...</name>
Tutto ciรฒ che si trova tra i tag di apertura e di chiusura viene chiamato contenuto.
Il tag di apertura, il contenuto e il tag di chiusura vengono definiti insieme come an elemento.
Opening tag + content + closing tag = an element
Nota: Gli elementi possono anche contenere attributi. Imparerai gli attributi molto presto.
Consideriamo l'elemento seguente.
<age>20</age>
Nell'elemento sopra,
- Europe รจ nome dell'elemento.
Nota: nome dell'etichetta indicato anche come un elemento or nome dell'elemento.
- โ cartellino di apertura
- 25 - contenuto
- โ cartellino di chiusura.
Se non c'รจ contenuto tra i tag, come mostrato di seguito, si parla di tag vuoti.
<result></result>
Tag XML e regole degli elementi
L'elenco seguente mostra le regole per i tag e gli elementi XML.
- I tag fanno distinzione tra maiuscole e minuscole.
Esempio:
Corretta:
<age>20</age>
Sbagliato:
<age>20</Age>
Nota: ETร, Etร , and sono tre nomi diversi in XML.
- Tutti i documenti XML devono contenere un singolo elemento radice.
- Tutti gli elementi devono avere un tag di chiusura (eccetto le dichiarazioni).
- Il nome di un tag deve iniziare con una lettera o un carattere di sottolineatura e non puรฒ iniziare con XML.
- Il nome di un tag puรฒ contenere lettere, cifre, trattini, trattini bassi e punti. I trattini sono sottolineati e i punti sono gli unici segni di punteggiatura consentiti.
- Il nome di un tag non puรฒ contenere spazi.
- Tutti gli elementi devono essere nidificati correttamente.
Esempio:
Corretta:
<b><u>This text is bold and italic</u></b>
Sbagliato:
<b><u>This text is bold and italic.</b></u>
Attributi XML
L'attributo per un elemento viene inserito dopo il nome del tag nel tag iniziale. Puoi aggiungere piรน di un attributo per un singolo elemento con nomi di attributo diversi.
Consideriamo il documento XML seguente.
<company name="ABC Holdings" location="London">
<chairman>Mr. John</chairman>
<gm>Mr. Wood</gm>
</company>
Ci sono due attributi in azienda elemento, es Nome and posizione.
Studiamo il Nome attributo,
- name=โABC Partecipazioniโ โ un attributo
- Nome - nome attributo
- Partecipazioni ABC โ valore dell'attributo
Note:: An nome attributo รจ anche conosciuto come an attributo.
Inoltre, si noti che nell'esempio precedente, the azienda Europe รจ radice elemento.
Regole per gli attributi XML
L'elenco seguente mostra le regole degli attributi XML.
- I valori degli attributi devono essere racchiusi tra virgolette.
- Un elemento non puรฒ contenere piรน attributi con lo stesso nome.
Attributo contro Elemento
Sei ancora confuso sulla differenza tra un attributo e un elemento? Ecco un altro esempio.
Consideriamo i documenti A e B riportati di seguito.
Documento A:
<teacher subject="English">
<name>Mr. John</name>.
<qualification>Graduate</qualification>
</teacher>
Documento B:
<teacher>
<subject>English</subject>
<name>Mr. John</name>
<qualification>Graduate</qualification>
</teacher>
Nel documento A, il soggetto offre attributo.
Nel documento B, il soggetto offre elemento.
Entitร XML
Cosa sono le entitร XML?
In termini semplici, le entitร sono un modo per rappresentare caratteri speciali. Le entitร sono anche conosciute come entitร Riferimenti.
Perchรฉ hai bisogno di entitร XML?
Alcuni personaggi (es ", & <, e cosรฌ via) sono riservati in XML. Sono indicati come caratteri speciali e non possono essere utilizzati direttamente per altri scopi.
Ad esempio, al cotone biologico viene applicata l'etichetta < and > simboli a utilizzati per tag. Non รจ possibile digitare direttamente dalla tastiera per meno di and piรน grande di segni. ร invece necessario utilizzare le entitร .
La tabella seguente mostra alcune delle entitร XML piรน diffuse.
| Carattere | Descrizione | Nome dell'entitร | Impiego |
|---|---|---|---|
| " | Virgolette (doppie virgolette) | quot | " |
| & | Ampersand | amp | & |
| ' | Apostrofo (virgoletta singola) | APOS | ' |
| < | Less che firmare | lt | < |
| > | Segno maggiore | gt | > |
Esempio:
<friend>
<name>My friends are Alice & Jane.</name>
</friend>
HTML contro XML
Somiglianze tra HTML e XML
L'elenco seguente mostra le somiglianze tra HTML e XML.
- Entrambi sono formati aperti.
- Entrambi sono linguaggi di markup.
- Entrambi utilizzano tag e attributi per descrivere il contenuto.
Differenze tra HTML e XML
Anche se XML รจ come HTML, XML non sostituisce l'HTML. Esistono anche alcune differenze significative tra HTML e XML.
La seguente tabella mostra un confronto tra HTML e XML.
| HTML | XML | |
|---|---|---|
| Acronimo di Rosso (Red) | Hyper Text Markup Language | Extensible Markup Language |
| Tipo di lingua | Un linguaggio di markup predefinito. | Un framework per specificare i linguaggi di markup. |
| Dettagli strutturali | Non fornito. | Fornito. |
| Missione | Utilizzato per visualizzare i dati. | Utilizzato per trasportare dati |
| Guidata da | Guidato dal formato. | Guidato dai contenuti. |
| Nature | Ha una natura statica. | Ha una natura dinamica. |
| Tipo di tag | Tag predefiniti. | Tag definiti dall'utente. |
| Limite di tag | ร disponibile un numero limitato di tag. | I tag sono estensibili. |
| Tag di chiusura | Non รจ necessario utilizzare i tag di chiusura (ma รจ consigliabile utilizzare i tag di chiusura). | I tag di chiusura sono obbligatori. |
| Supporto dello spazio dei nomi | Non supportato. | Supportato. |
| Distinzione tra maiuscole e minuscole | I tag non fanno distinzione tra maiuscole e minuscole. | I tag fanno distinzione tra maiuscole e minuscole. |
| Spazio bianco | Lo spazio bianco non puรฒ preservare (puรฒ ignorare lo spazio bianco). | Spazio bianco preservato (non รจ possibile ignorare lo spazio bianco). |
| Analisi in corso JavaCopione | Non รจ necessaria alcuna applicazione aggiuntiva. | ร necessaria l'implementazione del DOM. |
| Annidamento del codice | Non necessariamente necessario. | Necessario. |
| errori | Puรฒ ignorare piccoli errori. | Non sono ammessi errori. |
| Estensione nome file | .html or htm | . Xml |
| Taglia | Relativamente grande. | Relativamente piccolo. |
| Citazioni | Le virgolette non sono richieste per i valori degli attributi. | Obbligatorio per i valori degli attributi XML. |
| Supporto per oggetti | Offre supporto per oggetti nativi. | Gli oggetti devono essere espressi mediante convenzioni. |
| Supporto nullo | Riconosce nativamente il valore null. | ร necessario utilizzare xsi:nil sugli elementi. |
| Decisioni di formattazione | Fornisce la mappatura diretta per i dati dell'applicazione. | Richiedere uno sforzo piรน significativo. |
| Curva di apprendimento | Less curva di apprendimento ripida rispetto a XML. | Ripida curva di apprendimento. |
| Sito web | https://html.spec.whatwg.org/ | https://www.w3.org/TR/xml11/ |
Sintassi HTML di base
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
Sintassi XML di base
<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
Stesso esempio con HTML e XML
Con HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p>Book</p>
<p>Name: Anna Karenina</p>
<p>Author: Leo Tolstoy</p>
<p>Publisher: The Russian Messenger</p>
</body>
</html>
Con XML
<?xml version = "1.0" encoding = "UTF-8" ?>
<book>
<name>Anna Karenina</name>
<author>Leo Tolstoy</author>
<publisher>The Russian Messenger</publisher>
</book>
JSON contro XML
Somiglianze tra JSON e XML
L'elenco seguente mostra le somiglianze tra JSON e XML.
- Entrambi sono formati aperti.
- Entrambi si autodescrivono.
- Entrambi hanno una struttura gerarchica.
- Entrambi possono analizzare e utilizzare diversi linguaggi di programmazione.
Differenze tra JSON e XML
Esistono anche molte differenze tra XML e JSON.
Le tabelle seguenti mostrano un confronto tra JSON e XML.
| JSON | XML | |
|---|---|---|
| Acronimo di Rosso (Red) | JavaNotazione dell'oggetto script | Extensible Markup Language |
| Esteso da | JavaCopione | SGML |
| Archiviazione dati | Dati archiviati come coppie chiave-valore. | Dati archiviati come struttura ad albero. |
| Spazi dei nomi | Nessun supporto per gli spazi dei nomi. | Supporta gli spazi dei nomi. |
| Commenti | L'aggiunta di commenti non รจ supportata. | Puรฒ aggiungere commenti. |
| Accessibilitร dei dati | Facilmente accessibile come oggetti JSON. | I dati devono essere analizzati. |
| Metadati | L'aggiunta di metadati non รจ supportata. | Puรฒ scrivere metadati. |
| Tipi | Tipi JSON: stringa, numero, array, booleano. | Tutti i dati XML dovrebbero essere stringhe. |
| Tipi di dati di supporto | supporti testo and numero solo tipi di dati. | Supporta molti tipi di dati (testo, numeri, immagini, ecc.) |
| Supporto dell'array | Maggiore supporto per gli array rispetto a XML. | Nessun o meno supporto per gli array. |
| Supporto dell'oggetto | Supporto nativo per oggetto. | L'oggetto deve essere espresso mediante convenzioni. |
| Supporto del kit di strumenti AJAX | Supportato. | Non completamente supportato. |
| Recupero di valori | Facile. | Difficile. |
| Deserializzazione/serializzazione | Interamente automatizzato. | Gli sviluppatori devono scrivere JavaCodice script. |
| Supporto browser | Supportato dalla maggior parte dei browser. | L'analisi XML tra browser puรฒ essere complicata. |
| Codifica | Supporta solo la codifica UTF-8. | Supporta varie codifiche. |
| Funzionalitร di visualizzazione | Nessuna funzionalitร di visualizzazione. | Offri funzionalitร di visualizzazione. |
| Dimensioni del documento | Piรน piccolo dell'XML. | Piรน grande di JSON. |
| Estensione nome file | .json | . Xml |
| Sicurezza | Less assicurato. | Piรน sicuro di JSON. |
| Facile da leggere | Relativamente facile. | Relativamente difficile. |
| Curva di apprendimento | Facile da imparare. | Ripida curva di apprendimento. |
| Sito web | https://www.json.org/json-en.html | https://www.w3.org/TR/xml11/ |
Sintassi JSON di base
{string:value, .......}
Stesso esempio con JSON e XML
Con JSON
{"books":[
{"name":"Anna Karenina", "author":"Leo Tolstoy"},
{"name":"One Hundred Years of Solitude", "author":"Gabriel Garcia Marquez"},
{"name":"The Great Gatsby", "author":"Scott Fitzgerald"},
{"name":"Invisible Man", "author":"Ralph Ellison"}
]}
Con XML
<?xml version = "1.0" encoding = "UTF-8" ?>
<books>
<book>
<name>Anna Karenina</name>
<author>Leo Tolstoy</author>
</book>
<book>
<name>One Hundred Years of Solitude</name>
<author>Gabriel Garcia Marquez</author>
</book>
<book>
<name>The Great Gatsby</name>
<author>Scott Fitzgerald</author>
</book>
<book>
<name>Invisible Man</name>
<author>Ralph Ellison</author>
</book>
</books>
DTD XML
Cos'รจ DTD?
DTD sta per Doccupazione Tipo Ddefinizione. Definisce la struttura di un documento XML utilizzando alcuni elementi legali. La DTD XML รจ facoltativa.
Regole DTD
L'elenco seguente mostra le regole DTD.
- Se la DTD รจ presente, deve apparire all'inizio del documento (sopra la DTD puรฒ apparire solo la dichiarazione XML).
- La dichiarazione dell'elemento deve iniziare con an ! marchio.
- Il nome DTD e il tipo di elemento dell'elemento root devono essere gli stessi.
Esempi di DTD
Esempio di DTD interno:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student [
<!ELEMENT student (firstname,lastname,school)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT school (#PCDATA)>
]>
<student>
<firstname>Mark</firstname>
<lastname>Wood</lastname>
<school>Hills College</school>
</student>
Nell'esempio sopra,
- Studente !DOCTYPE indica l'inizio della dichiarazione DTD. E il studente รจ l'elemento radice del documento XML.
- Studente !ELEMENT indica il studente l'elemento deve contenere nome e cognome and scuola elementi.
- !ELEMENT nome indica il Cognome l'elemento รจ di tipo #DATIPC (Parrapato Cpersonaggio Dati).
- !ELEMENT cognome indica il cognome l'elemento รจ di tipo #DATIPC.
- Scuola !ELEMENT indica il scuola l'elemento รจ di tipo #DATIPC.
Esempio di DTD esterno:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student SYSTEM "student.dtd">
<student>
<firstname>Mark</firstname>
<lastname>Wood</lastname>
<school>Hills College</school>
</student>
Il contenuto del file DTD (student.dtd) come segue.
<!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)>
DOM XML
Cos'รจ DOM?
DOM sta per Doccupazione Ooggetto Model. Definisce un modo standard di accesso e manipolazione dei documenti XML. DOM ha una struttura ad albero (gerarchica).
Esempio di DOM
Consideriamo il documento XML seguente.
<?xml version="1.0" encoding="UTF-8" ?>
<school>
<student>
<name>
<first_name>Alex</first_name>
<last_name>Clarke</last_name>
</name>
<age>14</age>
<address>No. 35, Flower Road, Leeds</address>
</student>
</school>
La struttura ad albero del file XML sopra riportato sarebbe simile all'immagine seguente.

Convalida XML
Cosa sono i documenti XML ben formati?
Ben formato I documenti XML sono documenti XML con la sintassi corretta.
Cosa sono i documenti XML validi?
Valido I documenti XML sono ben formati e conformi anche alle regole DTD.
Spazi dei nomi XML
Perchรฉ gli spazi dei nomi?
Gli spazi dei nomi aiutano a evitare conflitti tra i nomi degli elementi.
Dichiarazione dello spazio dei nomi
Di seguito รจ riportata la sintassi per la dichiarazione dello spazio dei nomi.
<element xmlns:name="URL">
Nella dichiarazione di cui sopra,
- Migliori xmln la parola chiave indica l'inizio dello spazio dei nomi.
- Migliori Nome รจ il prefisso dello spazio dei nomi.
- Migliori URL รจ l'identificatore dello spazio dei nomi.
Esempi di spazi dei nomi
Il seguente segmento di codice mostra un esempio di namespace.
<?xml version="1.0" encoding="UTF-8" ?>
<abt:about xmlns:abt="https://www.guru99.com/about-us.html">
<abt:founder>Krishna</abt:founder>
<abt:vision>Fun and Free Education for ALL</abt:vision>
</abt:about>
Editor XML
Sono disponibili diversi editor XML. Qualsiasi editor di testo (come il blocco note e cosรฌ via) puรฒ essere utilizzato come editor XML.
L'elenco seguente mostra alcuni degli editor XML piรน diffusi nel 2021.
1) Blocco note XML
Blocco note XML รจ un editor open source per XML. Ha una visualizzazione ad albero e un output XSL nel riquadro sinistro e testo del nodo sulla destra. Ha una finestra di debug degli errori in basso.
Statistiche chiave:
- Tipo: editor XML
- Sviluppatore โ Microsoft
- Sistema operativo supportato โ Microsoft Windows.
- Prezzo โ Gratuito
link: http://microsoft.github.io/XmlNotepad/
2) Studio dello stilo
Stylus Studio รจ un IDE scritto in C++ per Extensible Markup Language (XML). Consente all'utente di modificare e trasformare documenti XML, dati quali scambio elettronico di dati (EDI), CSV e dati relazionali.
Statistiche chiave:
- Tipo: ambiente di sviluppo integrato (IDE) per XML
- Sviluppatore โ Progress Software Corporation
- Sistema operativo supportato โ Microsoft Windows.
- Prezzo โ A pagamento (fare riferimento al sito Web indicato di seguito per il prezzo piรน recente), prova gratuita disponibile.
link: http://www.stylusstudio.com/
3) Altova XMLSpy
XMLSpy รจ commercializzato principalmente come un editor JSON e XML. Ha un editor e un progettista di schema integrati. Include Visual Studio And Eclipse integrazione.
Statistiche chiave:
- Tipo: editor XML
- Sviluppatore โ Altova
- Sistema operativo supportato โ Microsoft Windows.
- Prezzo โ A pagamento (fare riferimento al sito Web indicato di seguito per il prezzo piรน recente), prova gratuita disponibile.
link:https://www.altova.com/xmlspy-xml-editor
4) Editor XML di ossigeno
Oxygen XML รจ un editor multipiattaforma sviluppato in JavaAiuta a convalidare schemi come DTD, W3C XML Schema, RELAX NG, Schematron, NRL e NVDL.
Statistiche chiave:
- Tipo: editor XML
- Sviluppatore โ SyncRO Soft Ltd
- Sistema operativo supportato โ Windows, Linux e Mac OS X
- Prezzo โ Pagato (fare riferimento al sito Web indicato di seguito per il prezzo piรน recente
link:https://www.oxygenxml.com/
5) Semplifica
Xmplify XML Editor fornisce un ambiente di editing completamente compatibile con XML con convalida automatica dei documenti, convalida automatica basata su DTD e XML Schema, ecc.
Statistiche chiave:
- Tipo: editor XML
- Sviluppatore โ MOSO Corporation
- Sistema operativo supportato: sistema operativo Mac.
- Prezzo โ Pagato (fare riferimento al sito Web indicato di seguito per il prezzo piรน recente
link: http://xmplifyapp.com/
Parser XML
Un parser XML รจ una libreria software che fornisce un'interfaccia per lavorare con documenti XML. Controlla se il formato del documento XML รจ corretto. Alcuni parser possono anche convalidare i documenti XML. I browser moderni sono dotati di parser XML.
SAX
SAX sta per Simple API per XM.L. ร un aPPLICAZIONE programma iinterfaccia (API) per l'analisi dei documenti XML. Si comportano in modo simile ai gestori di eventi in Java.
A differenza del DOM, SAX รจ un esempio di parser XML basato su eventi.
Ecco alcune importanti differenze tra SAX e DOM.
| SAX | DOM | |
|---|---|---|
| Acronimo di Rosso (Red) | API semplice per XML | Modello oggetto documento |
| Tipo di analizzatore | Basato sugli eventi | Basato su oggetti |
| Leggere e scrivere XML | Sola lettura | Sia leggere che scrivere |
| Inserisci/aggiorna/elimina nodi | Impossibile inserire/aggiornare/eliminare nodi | Puรฒ inserire/aggiornare/eliminare nodi |
| Efficienza della memoria | Buona efficienza della memoria | Varie |
| Velocitร | Piรน lento del parser DOM | Piรน veloce di SAX Parser |
| Adatto per | File di piccole dimensioni | File di grandi dimensioni |
Associazione dati XML
L'associazione dati XML รจ la rappresentazione dei dati in un documento XML come oggetto aziendale nella memoria di un computer.
Esistono tre approcci per l'associazione dati XML.
- Associazione dati basata su schema XML: Le classi XML corrispondenti vengono create in base allo schema.
- Associazione dati basata su classi: Uno schema XML corrispondente viene creato in base alle classi.
- Associazione dati basata su mappatura: Descrive come uno schema XML esistente si associa a un insieme di classi (e viceversa).
Esistono anche framework di associazione dati XML.
Esempi:
L'associazione dei dati XML รจ semplice con i framework. Il framework di associazione dati genera una grande quantitร di codice per te. ร necessario inserire uno schema DTD o XML.
Schemi XML
XML schema (conosciuto anche come Definizione dello schema XML or XSD) utilizzare per descrivere la struttura del documento XML. ร un'alternativa al DTD.
Perchรฉ lo schema รจ importante?
DTD non รจ potente come schema in quanto non รจ sufficientemente estensibile e flessibile. Quindi potrebbe non essere adatto ad alcune situazioni. In una situazione del genere lo schema รจ importante. Lo scopo principale dell'utilizzo dello schema XML รจ definire gli elementi e gli attributi di un documento XML.
In che modo lo schema XML รจ diverso da DTD?
Il confronto seguente mostra le differenze tra XSD (XML Schema) e DTD.
| DTD | XSD | |
|---|---|---|
| Acronimo di Rosso (Red) | Definizione del tipo di documento | Definizione dello schema XML |
| Estensibilitร | Non estensibile | Extensible |
| Controllo sulla struttura XML | Less di controllo | Piรน controllo |
| Tipi di dati di supporto | Non supportato | Supporto |
| Supporto per lo spazio dei nomi | Non supportato | Supporto |
Il seguente segmento di codice mostra un esempio di schema XML.
xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
<xs:element name = "employee">
<xs:complexType>
<xs:sequence>
<xs:element name = "firstname" type = "xs:string" />
<xs:element name = "lastname" type = "xs:string" />
<xs:element name = "phone" type = "xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Vantaggi dell'XML
Ecco i vantaggi/vantaggi di XML:
- Ha reso facile il trasporto e la condivisione dei dati.
- XML migliora lo scambio di dati tra diverse piattaforme.
- ร un linguaggio di markup, ovvero un insieme di caratteri e/o simboli inseriti in un documento di testo.
- XML indica come dovrebbe apparire il documento XML dopo essere stato visualizzato.
- Semplifica il processo di cambiamento della piattaforma.
- Migliora la disponibilitร dei dati.
- Supporta documenti multilingue e Unicode.
- Fornire relativamente facile da imparare e codificare.
- ร un linguaggio di markup, ovvero un insieme di caratteri e/o simboli inseriti in un documento di testo.
- Esegue la convalida utilizzando DTD e Schema.
- Rende i documenti trasportabili tra sistemi e applicazioni. Con l'aiuto di XML รจ possibile scambiare rapidamente dati tra diverse piattaforme.
- XML separa i dati dall'HTML.
Svantaggi dell'XML
Ecco i contro/svantaggi dell'utilizzo di XML:
- XML richiede un'applicazione di elaborazione.
- La sintassi XML รจ simile ad altri formati alternativi di trasmissione dati basati su testo, il che a volte puรฒ creare confusione.
- Nessun supporto del tipo di dati intrinseco
- La sintassi XML รจ ridondante.
- Non consente all'utente di creare i suoi tag.
Sintesi
- XML sta per eXtensible Markup Language. XML รจ un linguaggio (non un linguaggio di programmazione) che utilizza il markup e puรฒ estendersi.
- L'obiettivo principale รจ trasportare i dati, non visualizzarli.
- XML 1.1 รจ la versione piรน recente. Tuttavia, XML 1.0 รจ la versione piรน utilizzata.
- I tag funzionano in coppia, ad eccezione delle dichiarazioni.
- Tag di apertura + contenuto + tag di chiusura = un elemento
- Le entitร sono un modo di rappresentare caratteri speciali.
- DTD sta per Definizione del tipo di documento. Definisce la struttura di un documento XML utilizzando alcuni elementi legali. La DTD XML รจ facoltativa.
- DOM sta per Document Object Model. Definisce una modalitร standard di accesso e manipolazione dei documenti XML.
- I documenti XML ben formati sono documenti XML con la sintassi corretta.
- I documenti XML validi sono ben formati e sono inoltre conformi alle regole DTD.
- Gli spazi dei nomi aiutano a evitare conflitti tra i nomi degli elementi.
