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à, che a 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 che a località.
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 < che a > simboli a utilizzati per tag. Non è possibile digitare direttamente dalla tastiera per meno di che a 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 | |
---|---|---|
Supporti per | 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. |
Scopo | Utilizzato per visualizzare i dati. | Utilizzato per trasportare dati |
Guidata da | Guidato dal formato. | Guidato dai contenuti. |
Natura | 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 | |
---|---|---|
Supporti per | 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 che a 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 che a 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,
- Le xmln la parola chiave indica l'inizio dello spazio dei nomi.
- Le Nome è il prefisso dello spazio dei nomi.
- Le 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 | |
---|---|---|
Supporti per | 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 | Varia |
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 | |
---|---|---|
Supporti per | 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.
Sommario
- 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.