---
title: "Confrontare schemi XML con DiffDog 2010"
date: "2009-12-10"
tags: 
  - "altova-xmlspy"
  - "diff-merge-tool"
  - "diffdog"
  - "file-comparison"
  - "mapforce"
  - "missionkit"
  - "v2010"
  - "xml-schema"
  - "xmlspy"
  - "xslt"
description: Scoprite come DiffDog 2010 migliora il confronto degli schemi XML grazie a nuovi strumenti per visualizzare le differenze, mappare gli elementi e generare trasformazioni XSL in modo efficiente.
---
Status: #blog

Tags:  #altova-xmlspy #diff-merge-tool #diffdog #file-comparison #mapforce #missionkit #v2010 #xml-schema #xmlspy #xslt

Categories: [Altova](/blog/it/category/altova.md) 
# 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](https://www.altova.com/it/diffdog/file-diff-tool.html)". Come nelle versioni precedenti, gli utenti di [DiffDog 2010](https://www.altova.com/it/diffdog/diff-merge-tool.html) possono confrontare gli schemi XML come documenti .xsd e visualizzare le differenze in un formato colorato e consapevole della struttura XML.

[![Visualizzazione comparativa dei file XML Schema con DiffDog](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image1_thumb.gif "DiffDog file comparison view of XML Schemas")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image1.gif) 

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](https://www.altova.com/it/whatsnew.html) in DiffDog 2010 è un componente aggiuntivo [Differenziazione degli schemi XML](https://www.altova.com/it/diffdog/xml-schema-diff-tool.html) 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.

[![Visualizzazione iniziale delle differenze tra schemi XML, utilizzando DiffDog](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image2_thumb.gif "Initial DiffDog XML Schema Differencing view of XML Schemas")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image2.gif) 

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.

[![DiffDog: confronto e differenziazione di file XML](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image3_thumb.gif "DiffDog XML Differencing")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image3.gif) 

(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.

[![Schemi XML definiti dall'utente nella vista di confronto degli schemi XML di DiffDog](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image4_thumb.gif "User-mapped XML Schemas in DiffDog XML Schema Differencing view")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image4.gif) 

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.

[![Menu di DiffDog per il confronto e la fusione di file](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image4a_thumb.gif "DiffDog Diff and Merge Menu")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image4a.gif) 

Ecco un esempio di un file di dati XML originale, basato sullo schema XML mostrato a sinistra, visualizzato in [Altova XMLSpy](https://www.altova.com/it/xmlspy.html):

[![File di dati XML visualizzato in XMLSpy](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image5_thumb.gif "XML data file viewed in XMLSpy")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image5.gif) 

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.

[![L'output XSL visualizzato in XMLSpy](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image6_thumb.gif "XSL output viewed in XMLSpy")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image6.gif) 

Se ci sono molti file XML esistenti che devono essere trasformati, le funzionalità di [gestione dei progetti](https://www.altova.com/it/xmlspy/xml-project-management.html) di XMLSpy possono aiutarci ad automatizzare il processo. Possiamo aggiungere cartelle esterne a un progetto XMLSpy.

[![Finestra di supporto per i progetti di XMLSpy](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image7_thumb.gif "XMLSpy Project Helper Window")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image7.gif) 

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.

[![Finestra di dialogo delle proprietà della cartella del progetto XMLSpy](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image8_thumb.gif "XMLSpy project folder properties dialog")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image8.gif)

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](https://www.altova.com/it/mapforce.html) 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.

[![Nuovo design di MapForce](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image10_thumb.gif "MapForce New Design")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image10.gif)

È facile migliorare la mappatura aggiungendo un valore costante come valore predefinito per l'elemento di pubblicazione.

[![Design avanzato di MapForce](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image11_thumb.gif "MapForce enhanced design")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image11.gif) 

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.

[![Versione finale dell'output visualizzata in XMLSpy](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image12_thumb.gif "Final version of output viewed in XMLSpy")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image12.gif) 

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](https://www.altova.com/it/missionkit/software-development-tools.html), 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](https://www.altova.com/it/download/missionkit/software_development_tools_enterprise.html) per scaricare oggi stesso una versione di prova gratuita!
