Tutorial XML per principianti

⚡ Riepilogo intelligente

XML, Extensible Markup Language, struttura, memorizza e trasporta dati tra sistemi utilizzando tag auto-descrittivi definiti dall'utente. Questo tutorial spiega la sintassi XML, le dichiarazioni, i tag, gli attributi, le entità, il DTD, il DOM, gli schemi e i namespace, e confronta XML con HTML e JSON.

  • 📄 Cos'è l'XML: XML è un linguaggio di markup per il trasporto dei dati, non per la loro visualizzazione, che utilizza tag personalizzati che ne descrivono il contenuto.
  • 🧱 Tag ed elementi: Un elemento è costituito da un tag di apertura, un contenuto e un tag di chiusura; i tag distinguono tra maiuscole e minuscole e devono essere annidati e chiusi correttamente.
  • 🏷️ Attributi ed entità: Gli attributi aggiungono dettagli all'interno di un tag di apertura e le entità come < rappresentano in modo sicuro i caratteri riservati.
  • 📏 DTD e schema: Uno schema DTD o XSD definisce la struttura consentita, e XSD aggiunge tipi di dati e supporto per gli spazi dei nomi che mancano al DTD.
  • 🌳 DOM e parser: Il DOM considera un documento come un albero, mentre i parser come DOM e SAX basato su eventi leggono e convalidano i file XML.
  • 🆚 XML vs HTML vs JSON: A differenza dell'HTML, incentrato sulla visualizzazione, e del JSON, più leggero e adatto agli array, XML trasporta i dati con tag rigidi ed estensibili.
  • 🤖 Assistenza AI: Gli strumenti di intelligenza artificiale possono generare o convalidare uno schema XSD e convertire rapidamente XML in JSON o altri formati.

Tutorial XML

Cos'è l'XML?

XML sta per eXtensibile MArkupe Llinguaggio. È un linguaggio (non un linguaggio di programmazione) che utilizza il markup e può essere esteso. Deriva 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.

  1. XML1.0
  2. 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. Per la codifica XML si utilizza il formato UTF. UTF sta per USC (UCS sta per Universal Cpersonaggio Se) Ttrasformazione Format.

Principalmente, esistono due tipi di codifica UTF.

  1. UTF-8: UTF-8 utilizza 8 bit per rappresentare i caratteri.
  2. Esempio:

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

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
  • 20 - 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 is an attributo.

Nel documento B, il soggetto is an 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 > i simboli vengono utilizzati per tag. Non è possibile digitare direttamente il meno di and più grande di Non è necessario utilizzare i segni della tastiera per il contenuto. 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 tabella seguente 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.
Code annidamento 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 una mappa direttaping 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 essere analizzati e utilizzati da diversi linguaggi di programmazione.

Differenze tra JSON e XML

Esistono anche molte differenze tra XML e JSON.

La tabella seguente mostra 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.

DOM XML
Esempio DOM XML

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 Blocco note e simili) può essere utilizzato come editor XML.

Il seguente elenco mostra alcuni dei più diffusi editor XML.

1) Blocco note XML

XML Notepad è un editor open-source per XML. Presenta una visualizzazione ad albero e l'output XSL nel pannello di sinistra, mentre il testo dei nodi si trova a destra. In basso è presente una finestra per la segnalazione degli errori.

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 a un utente di modificare e trasformare documenti e dati XML come lo 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 (si prega di consultare il sito web indicato di seguito per il prezzo aggiornato), è disponibile una prova gratuita.

link: http://www.stylusstudio.com/


3) Altova XMLSpy

XMLSpy è commercializzato principalmente come editor JSON e XML. Ha un progettista e un editor di schema integrati. Include Visual Studio e Eclipse integrazione.

Statistiche chiave:

  • Tipo: editor XML
  • Sviluppatore – Altova
  • Sistema operativo supportato – Microsoft Windows.
  • Prezzo – A pagamento (si prega di consultare il sito web indicato di seguito per il prezzo aggiornato), è disponibile una prova gratuita.

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 (si prega di consultare il sito web indicato di seguito per il prezzo aggiornato)

link: https://www.oxygenxml.com/


5) Semplifica

Xmplify XML Editor offre un ambiente di modifica completamente compatibile con XML, con completamento automatico basato su DTD e schemi XML, convalida automatica dei documenti e molto altro.

Statistiche chiave:

  • Tipo: editor XML
  • Sviluppatore – MOSO Corporation
  • Sistema operativo supportato: sistema operativo Mac.
  • Prezzo pagato (si prega di consultare il sito web indicato di seguito per il prezzo aggiornato)

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 di documenti XML. Si comporta 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.
  • Mappaping-associazione dati basata su: 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) viene utilizzato per descrivere la struttura del documento XML. È un'alternativa al DTD.

Perché lo schema è importante?

Il DTD non è potente quanto lo schema, in quanto non è sufficientemente estensibile e flessibile. Pertanto, potrebbe non essere adatto in alcune situazioni. In tali situazioni, lo schema diventa fondamentale. Lo scopo principale dell'utilizzo di uno schema XML è definire gli elementi e gli attributi di un documento XML.

In che modo uno schema XML si differenzia da un 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/benefici di XML:

  • Consente di trasportare e condividere facilmente i 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.
  • È relativamente facile da imparare e programmare.
  • Esegue la convalida utilizzando DTD e Schema.
  • Consente di trasferire documenti tra sistemi e applicazioni diversi. Grazie a XML, è possibile scambiare dati rapidamente tra piattaforme differenti.
  • XML separa i dati dall'HTML.

Svantaggi dell'XML

Ecco gli svantaggi dell'utilizzo di XML:

  • XML richiede un'applicazione di elaborazione.
  • La sintassi XML è simile ad altri formati di trasmissione dati "basati su testo", il che a volte può generare confusione.
  • Nessun supporto intrinseco per i tipi di dati.
  • La sintassi XML è ridondante.
  • Non consente all'utente di creare i propri tag.

DOMANDE FREQUENTI

Sì. Sebbene JSON domini le API web, XML rimane ampiamente utilizzato nei file di configurazione, nei formati di documento come DOCX e SVG, nei servizi web SOAP, nei feed RSS e nello scambio di dati aziendali, dove schemi e validazione sono importanti.

XSLT (Extensible Stylesheet Language Transformations) trasforma un documento XML in un altro formato, come HTML, testo semplice o un XML con una struttura diversa. Utilizza regole di modello per selezionare e rimodellare i nodi per la visualizzazione o lo scambio.

Sì. La maggior parte dei browser visualizza un file XML come una struttura ad albero comprimibile, mostrandone gli elementi e la struttura. È anche possibile aprirlo con qualsiasi editor di testo o con un editor XML dedicato per modificarlo e convalidarlo.

Sì. Fornendo all'IA un documento XML di esempio, questa può generare uno schema XSD che descrive gli elementi, gli attributi e i tipi di dati, oppure analizzare uno schema esistente e spiegare perché un documento non supera la convalida. RevEsamina i vincoli.

Sì. L'IA può generare codice o convertire direttamente XML in JSON, CSV o in una struttura dati, e segnalare le parti che non corrispondono correttamente, come attributi o elementi ripetuti. Verifica l'output confrontandolo con i tuoi dati.

Riassumi questo post con: