Formattazione XML

Formatta e comprime l'XML e verifica all'istante che la corrispondenza dei marcatori sia integra, cioè che il documento sia ben formato. Utile per esaminare le risposte SOAP e REST e per leggere i flussi RSS e Atom.

Che cos'è lo strumento di formattazione XML

Lo strumento prende un XML compresso su un'unica riga, oppure con un'indentazione incoerente, e lo riorganizza in una struttura leggibile con un rientro regolare. Sa fare anche l'operazione inversa: eliminare gli spazi e i ritorni a capo fra i marcatori per comprimere tutto su una sola riga (modalità compressa), e si passa dall'una all'altra con un solo interruttore. Il rientro si sceglie fra due spazi, quattro spazi o una tabulazione, in modo da adeguarsi alla convenzione già seguita dal progetto.

Mentre scrivete, lo strumento verifica anche in tempo reale se il documento rispetta le regole di buona formazione della specifica XML: corrispondenza tra tag di apertura e di chiusura, un solo elemento radice, nomi di tag e attributi validi, valori degli attributi tra virgolette, nessun attributo duplicato, nessuna «&» non codificata, nessun «--» nei commenti e così via. In caso di problemi compare il badge «XML non valido» con l'elenco degli errori e il relativo numero di riga, così non dovete scorrere tutto il documento a occhio. Tutto viene eseguito in JavaScript nel vostro browser e l'XML incollato non viene mai inviato ai server di toolbase.cc.

Come usare lo strumento di formattazione XML

  1. Incollate l'XML Incollate l'XML nel riquadro di sinistra. Se non avete un esempio a portata di mano, il pulsante «Esempio» carica un flusso RSS dimostrativo.
  2. Scegliete l'ampiezza del rientro Selezionate due spazi, quattro spazi o una tabulazione. Facendola coincidere con la convenzione già usata nel file, potrete incollare il risultato senza doverlo poi ritoccare.
  3. Osservate il risultato e l'esito riportato Il risultato formattato compare a destra insieme all'esito «Ben formato» oppure «XML non valido». Se non è valido, sotto compare l'elenco degli errori con il numero di riga.
  4. Passate alla modalità compressa se serve Attivando la «Modalità compressa» il riquadro di destra mostra la versione ridotta a un'unica riga, priva degli spazi fra i marcatori.
  5. Copiate la versione formattata o quella compressa I due pulsanti «Copia la versione formattata» e «Copia la versione compressa» inviano il risultato corrispondente agli appunti.

Consigli per sfruttarlo al meglio

  • L'XML inserito è elaborato interamente dal JavaScript del navigatore e non giunge mai ai serventi di toolbase.cc: potete formattare in sicurezza anche configurazioni interne e risposte che contengano dati riservati.
  • Attivando la modalità compressa si eliminano tutti i ritorni a capo e gli spazi di rientro fra i marcatori: comodo per incorporare l'XML in un file di configurazione o per comprimere il corpo di una richiesta HTTP.
  • Quando compare l'esito «XML non valido», la causa è quasi sempre un marcatore non chiuso oppure una discordanza fra il nome di apertura e quello di chiusura. Cercate il punto servendovi del numero di riga indicato nell'elenco degli errori.
  • Questo strumento è affine, per impostazione, ai formattatori di JSON e di SQL. Se nello sviluppo di un'interfaccia trattate risposte tanto in JSON quanto in XML, usatelo insieme al formattatore JSON.
  • Anche gli XML con prefissi di spazio dei nomi, come <soap:Envelope>, sono verificati confrontando i nomi completi dei marcatori: lo strumento si presta quindi alla messa a punto dei messaggi SOAP.

Impieghi dello strumento di formattazione XML

Esaminare le risposte di un'interfaccia SOAP o REST

Quando un'interfaccia SOAP o REST restituisce XML compresso su un'unica riga, formattarlo permette di seguire a colpo d'occhio l'annidamento degli elementi e i prefissi di spazio dei nomi: utile durante la messa a punto in fase di sviluppo.

Leggere un flusso RSS o Atom

Formattando il flusso RSS o Atom pubblicato da un blog o da un sito di notizie si può esaminare l'ordine degli elementi item e il valore di ciascun campo in una forma leggibile.

Individuare errori di sintassi in file di configurazione e definizioni di compilazione

Quando un layout XML di Android o un pom.xml di Maven non si carica, incollarlo e convalidarlo permette di trovare subito il marcatore rimasto aperto.

Comprimere per ridurre il volume trasferito

Distribuire un XML rientrato così com'è, come risposta di un'interfaccia o come file statico, aggiunge byte superflui per ogni spazio di rientro. Per ciò che raggiunge davvero gli utenti conviene usare la versione compressa.

Preparare l'XML prima di convertirlo in un altro formato

Accertarsi prima che il documento sia ben formato evita che strumenti come da XML a JSON si arrestino con un errore confuso e difficile da ricondurre all'origine.

Glossario dell'XML

Elemento
L'unità di base di un documento XML, composta da un marcatore di apertura e uno di chiusura (<item>...</item>) oppure da un marcatore che si chiude da sé (<item />). Gli elementi possono annidarsi l'uno nell'altro, e l'intero documento forma un albero sotto un unico elemento radice.
Attributo
Un'informazione aggiuntiva scritta all'interno di un marcatore di apertura nella forma name="value". Se rappresentare un dato come elemento figlio o come attributo è una scelta di progettazione discussa a lungo nelle guide sugli schemi XML.
Ben formato
Insieme delle regole di sintassi che ogni documento XML deve rispettare secondo la specifica XML. Comprendono tag aperti e chiusi correttamente senza annidamenti sbagliati, un solo elemento radice, valori degli attributi tra virgolette e senza duplicati, e «&» e «<» codificati correttamente. La validazione di questo strumento verifica proprio questa proprietà. È un concetto diverso da «valido», che indica la conformità a uno schema.
Spazio dei nomi
Un meccanismo dichiarato come xmlns:soap="..." e utilizzato tramite nomi di marcatore con prefisso, come <soap:Envelope>. Permette a XML di vocabolari diversi di convivere in un solo documento senza conflitti di nome, ed è impiegato ampiamente nei messaggi SOAP.
Sezione CDATA
Un testo racchiuso fra <![CDATA[ ... ]]> che l'analizzatore XML non interpreta come marcatura. Utile per incorporare frammenti HTML o codice sorgente che contengono parentesi angolari senza dover proteggere ogni singolo carattere.
Istruzione di elaborazione
Una direttiva racchiusa fra <? e ?>, come la dichiarazione XML <?xml version="1.0"?> posta in cima a un documento. Le istruzioni di elaborazione incorporano indicazioni destinate all'analizzatore o all'applicazione che consuma il documento.
DTD (definizione del tipo di documento)
Uno dei meccanismi per stabilire quali elementi e attributi un documento XML può contenere. Si dichiara con <!DOCTYPE ...>; lo schema XML (XSD) ne è un'alternativa più completa, anch'essa oggi molto diffusa.

Domande frequenti

Significa che il documento rispetta le regole di sintassi obbligatorie della specifica XML: ogni tag di apertura ha il proprio tag di chiusura e l'annidamento è corretto, c'è un solo elemento radice, i valori degli attributi sono tra virgolette e non si ripetono, e «&» e «<» sono codificati. Un parser restituisce un errore e non carica un XML che non sia ben formato. È un concetto diverso da «valido», che indica la conformità a uno schema (DTD/XML Schema).

Per una nuova interfaccia web JSON è nella maggior parte dei casi più leggero e maneggevole, ma là dove XML è lo standard — integrazioni SOAP, flussi RSS e Atom, immagini SVG, sistemi aziendali esistenti — occorre continuare a usarlo. Nella pratica si sceglie secondo il caso.

In fase di analisi vengono scambiati per parte di un marcatore e provocano un errore di forma. Nei valori degli attributi e nei nodi di testo vanno protetti con i riferimenti alle entità, scrivendo &lt; e &amp;.

No. La compressione di questo strumento elimina solo gli spazi e gli a capo tra un tag e l'altro e non modifica né i commenti né il contenuto delle sezioni CDATA. Anche gli spazi all'interno del testo, come quello tra le parole in <p>Hello <b>world</b></p>, hanno un significato e vengono mantenuti. Se volete eliminare i commenti, rimuoveteli a mano.

Sì. Anche i nomi con prefisso, come <ns:tag>, sono verificati confrontando la corrispondenza per intero, prefisso compreso: la convalida e la formattazione riescono quindi correttamente anche negli XML che fanno largo uso di spazi dei nomi, come i messaggi SOAP.
Tool-kun

A proposito — XML, figlio di SGML

XML, il linguaggio di marcatura estensibile, è una specifica raccomandata nel 1998 dal consorzio del web e nacque come versione semplificata di SGML, l'imponente norma per la descrizione dei documenti definita negli anni Ottanta. Anche l'HTML è un'applicazione di SGML: XML e HTML sono dunque fratelli nella stessa famiglia.

Nella prima metà degli anni Duemila XML si diffuse rapidamente come formato standard per le interfacce web, SOAP in testa, e per lo scambio di dati fra imprese. Nell'uso aziendale di allora si apprezzavano soprattutto gli attributi, gli spazi dei nomi e la possibilità di definire tipi rigorosi con gli schemi.

Negli anni Dieci ha ceduto il ruolo di protagonista a JSON, ma non è affatto scomparso: nei flussi RSS e Atom, nelle immagini vettoriali SVG, nel formato interno dei documenti per ufficio e nei file di disposizione delle applicazioni Android, e in generale là dove serve l'espressività di un documento strutturato, XML è tuttora lo standard.

Questo strumento è il terzo formattatore dopo quelli di JSON e SQL e completa la dotazione di toolbase.cc per la formattazione dei dati con i tre formati principali: JSON, SQL e XML.