Confrontare schemi XML con DiffDog 2010
DiffDog 2010 include un nuovo strumento potente per confrontare gli schemi XML, che sviluppatori XML e altri possono utilizzare per aggiornare i file di dati XML esistenti man mano che gli schemi XML evolvono. Questo articolo esamina un esempio di utilizzo di questa funzionalità.
Prima di approfondire le nuove funzionalità, esaminiamo rapidamente due schemi XML utilizzando la funzione "DiffDog File Compare". Come nelle versioni precedenti, gli utenti di DiffDog 2010 possono confrontare gli schemi XML come documenti .xsd e visualizzare le differenze in un formato colorato e consapevole della struttura XML.
![]()
Questo è un metodo efficace per identificare e gestire le differenze tra gli schemi XML, soprattutto quando si desidera esaminare le modifiche apportate agli schemi XML standard del settore, che si evolvono nel tempo.Cosa c'è di nuovo in DiffDog 2010 è un componente aggiuntivo Differenziazione degli schemi XML Un'opzione che visualizza graficamente due schemi XML affiancati, identifica automaticamente gli elementi identici e consente agli utenti di confrontare le differenze e generare trasformazioni XSL per aggiornare i file di dati XML. Ecco la prima schermata che si visualizza quando si aprono gli stessi due schemi XML mostrati nella comparazione di file precedente, utilizzando la nuova funzionalità di confronto degli schemi XML.
![]()
Gli elementi principali dei due schemi XML vengono collegati automaticamente. Possiamo cliccare sul pulsante "Confronta" nella barra degli strumenti per collegare automaticamente gli elementi identici nei due schemi XML.
![]()
(Naturalmente, possiamo anche selezionare "Confronta schemi XML" dal menu contestuale del tasto destro, oppure scegliere "Avvia confronto" dal menu "Differenze e unione", oppure premere la scorciatoia da tastiera F5. DiffDog offre molte opzioni per eseguire la stessa operazione, quindi potete lavorare nel modo che preferite.)
Successivamente, possiamo associare elementi con nomi diversi nei due schemi XML collegando manualmente le frecce tra di essi. In questo esempio, la maggior parte delle modifiche alla versione dello schema XML a destra consiste semplicemente nell'assegnare nuovi nomi agli elementi, il che renderà più chiara la struttura quando lo schema XML e i suoi file di dati saranno distribuiti all'interno della nostra azienda.
![]()
Una volta mappati tutti gli elementi, è possibile generare un file XSLT per trasformare i file di dati XML esistenti, basandosi sullo schema XML a sinistra, al fine di riflettere le modifiche presenti nella versione più recente a destra. Questa funzionalità è stata progettata per aiutare gli sviluppatori XML a evitare le attività noiose di scrivere e debuggare manualmente le trasformazioni XSL.
![]()
Ecco un esempio di un file di dati XML originale, basato sullo schema XML mostrato a sinistra, visualizzato in Altova XMLSpy:
![]()
Il file di output, ottenuto applicando la trasformazione XSL che abbiamo creato con DiffDog 2010, è riportato di seguito. Si noti la sostituzione dell'elemento "author" con "writer", di "email" con "feedback", e così via.
![]()
Se ci sono molti file XML esistenti che devono essere trasformati, le funzionalità di gestione dei progetti di XMLSpy possono aiutarci ad automatizzare il processo. Possiamo aggiungere cartelle esterne a un progetto XMLSpy.
![]()
Utilizzando la finestra di dialogo delle proprietà di XMLSpy per ogni cartella del progetto, è possibile assegnare valori predefiniti per specificare uno schema XML per la validazione, la trasformazione XSL e la destinazione dell'output.
![]()
Ora possiamo selezionare la cartella di input nella finestra di supporto del progetto XMLSpy e trasformare tutti i file contenuti in essa con la semplice combinazione di tasti F10. Quando abbiamo originariamente mappato gli elementi dello schema XML in DiffDog, abbiamo lasciato l'elemento "pubblicazione" sul lato sinistro non collegato, poiché non aveva un elemento corrispondente nella versione precedente dello schema. Ciò significa che, quando trasformiamo i file XML di input utilizzando XSLT, l'output risultante non conterrà l'elemento "pubblicazione". Se "pubblicazione" è un elemento obbligatorio, possiamo utilizzare Altova MapForce per una soluzione rapida.Una delle opzioni in DiffDog è quella di generare una mappatura MapForce anziché un file XSLT. Quando scegliamo questa opzione, MapForce si avvia con la nostra mappatura DiffDog già caricata come un nuovo progetto MapForce, come mostrato di seguito.
![]()
È facile migliorare la mappatura aggiungendo un valore costante come valore predefinito per l'elemento di pubblicazione.
![]()
Ora possiamo salvare un file XSL da MapForce che riutilizza tutte le mappature degli elementi che abbiamo originariamente progettato in DiffDog e che aggiunge una costante. Quando applichiamo il nuovo file XSL per trasformare il nostro file XML originale, otteniamo un risultato che include il valore predefinito per l'elemento di pubblicazione.
![]()
Questo articolo ha iniziato descrivendo la nuova funzionalità di confronto degli schemi XML in DiffDog 2010. L'analisi di un esempio semplice, ma tipico, tratto dalla realtà ha evidenziato ulteriori attività che possono essere facilmente svolte grazie alla stretta integrazione con XMLSpy e MapForce.
Tutti e tre questi strumenti, e molti altri, sono disponibili a prezzi notevolmente scontati nel pacchetto Altova MissionKit 2010, una suite integrata di strumenti XML, database e UML progettata per soddisfare le diverse esigenze di sviluppo e gestione dei dati degli architetti software e degli sviluppatori XML di oggi. Clicca qui per scaricare oggi stesso una versione di prova gratuita!