3.6

Sezione 3: Autori

Q 3.6: Come faccio a convertire le mie informazioni in formato XML?

Scrivi una conversione in un linguaggio che capisca XML

 

Anche se è possibile scrivere routine di conversione inventando il tuo parser XML, non è consigliato a meno che non sia utilizzato come esercitazione per gli studenti di scienza informatica. Tutti i linguaggi più importanti hanno librerie XML che fanno tutto il lavoro pesante del parsing (e convalida, se necessario).

Devi sapere cosa c’è all’interno del documento XML prima di iniziare: non esiste bacchetta magica che deduce automaticamente quali sono i significati delle cose e dove sono posizionate nel file. Se ti sono stati dati alcuni file XML dal nulla, dovrai trovare il creatore o della documentazione a riguardo. Le prime 2- righe del file potrebbero avere qualche indizio su che tipo di file XML siano. Ti servirà quasi certamente una copia del DTD o Schema sul quale i file sono stati creati.

Le opzioni per la programmazione sono:

  • Usa un linguaggio progettato per questo compito. XSLT2 a tutte le infrastrutture per gestire XML incorporato sin dall’inizio, e gli elaboratori indipendenti sono disponibili per tutte le piattaforme. Molti editor XML hanno una copia di XSLT (possibilmente XSLT2) incorporata, quindi offrono un ambiente di sviluppo integrato per l’editing e la conversione. La conversione XSLT2 può essere eseguita anche all’interno di pacchetti server come Apache Cocoon.
  • Usa un pacchetto di elaborazione o pipelining XML. Questi sono (solitamente) progetti commerciali che forniscono un’estensiva gestione di documenti, database di documenti, e conversione di documenti e funzioni di editing, spesso come parte di una soluzione di informazioni d’impresa molto più ampia, usando XSLT2 o il proprio sistema di casa di produzione. Due popolari sono MarkLogicOmniMark.
  • Per i dati, usa un sistema di conversione che non richiede la scrittura di codice: Flexterè un esempio di uno con un’interfaccia grafica per trovare elementi fonte (XML) su campi target (vari formati). Seppure questo approccio non sia appropriato per un ‘documento’ XML (libri, articoli, ecc.) fornisce un metodo utile per XML di tipo ‘dati’ tabulare di complessità arbitraria.
  • Usa un linguaggio convenzionale compatibile. Java o C (o una delle sue tante varianti ++/#) sono comuni; Pascal, FORTRAN, o COBOL sono rari oggigiorno, ma esistono librerie XML anche per questi). BASIC, pronto?
  • Usa un linguaggio di scripting. Perl, Python, Tcl, VBscript, o anche Powershell sono tutti popolari, ed esistono librerie XML per questi; quelle Python hanno una reputazione eccellente.
  • Combina le infrastrutture XML con infrastrutture di comandi shell standard. Ecco un primo esempio di una routine da XML a CSVche usa onsgmls per mostrare l’ESIS, e awkper riformattarlo. Si possono sviluppare processi simili usando lo strumento LTXML2.
  • Ci sono programmi scaricabili (a volte gratuiti) che affermano di essere convertitori XML ‘semplici’. L’editore sarebbe felice di ricevere consigli e avvertimenti ☺.

Il processo di conversione del XML in altri formati viene a volte chiamato ‘conversione verso il basso’, in quanto potrebbe coinvolgere la perdita inevitabile di informazioni (solitamente metadati) quando il formato target semplicemente non ha un modo di rappresentarle.

Leave a Comment

Your email address will not be published. Required fields are marked *