---
title: "Het vergelijken van XML-schema's met DiffDog 2010"
date: "2009-12-10"
tags: 
  - "altova-xmlspy"
  - "diff-merge-tool"
  - "diffdog"
  - "file-comparison"
  - "mapforce"
  - "missionkit"
  - "v2010"
  - "xml-schema"
  - "xmlspy"
  - "xslt"
description: Ontdek hoe DiffDog 2010 de vergelijking van XML-schema's verbetert met nieuwe tools voor het visualiseren van verschillen, het koppelen van elementen en het efficiënt genereren van XSL-transformaties.
---
Status: #blog

Tags:  #altova-xmlspy #diff-merge-tool #diffdog #file-comparison #mapforce #missionkit #v2010 #xml-schema #xmlspy #xslt

Categories: [Altova](/blog/nl/category/altova.md) 
# Het vergelijken van XML-schema's met DiffDog 2010

DiffDog 2010 bevat een krachtig nieuw hulpmiddel om XML-schema's te vergelijken, dat XML-ontwikkelaars en anderen kunnen gebruiken om bestaande XML-gegevensbestanden bij te werken naarmate XML-schema's evolueren. Dit artikel beschrijft een voorbeeldscenario voor deze functie.

Voordat we de nieuwe functionaliteit bekijken, laten we snel twee XML-schema's vergelijken met behulp van de functie "[DiffDog Bestand Vergelijken](https://www.altova.com/nl/diffdog/file-diff-tool.html)". Net als in eerdere versies kunnen gebruikers van [DiffDog 2010](https://www.altova.com/nl/diffdog/diff-merge-tool.html) XML-schema's vergelijken als .xsd-bestanden en de verschillen weergeven in een kleurencodering, met een XML-bewuste weergave.

[![DiffDog: Weergave voor het vergelijken van XML-schema's](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) 

Dit is een goede manier om verschillen in XML-schema's te identificeren en te beheren, vooral wanneer u wijzigingen in industriestandaard XML-schema's wilt bekijken die in de loop van de tijd evolueren.[Wat is er nieuw](https://www.altova.com/nl/whatsnew.html) In DiffDog 2010 is een aanvullende functie [Verschillen in XML-schema's](https://www.altova.com/nl/diffdog/xml-schema-diff-tool.html) Een optie die twee XML-schema's naast elkaar grafisch weergeeft, automatisch identieke elementen herkent en gebruikers in staat stelt om verschillen te markeren en XSL-transformaties te genereren om XML-gegevensbestanden bij te werken. Hier is de eerste weergave die we zien wanneer we dezelfde twee XML-schema's openen, zoals getoond in de bestandsvergelijking hierboven, met behulp van de nieuwe functie voor het vergelijken van XML-schema's.

[![Eerste weergave van verschillen tussen XML-schema's met behulp van DiffDog XML](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) 

De basiselementen van de twee XML-schema's worden automatisch met elkaar verbonden. We kunnen op de knop "Vergelijken" in de werkbalk klikken om automatisch identieke elementen in de twee XML-schema's met elkaar te verbinden.

[![DiffDog: XML-verschilanalyse](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image3_thumb.gif "DiffDog XML Differencing")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image3.gif) 

(Natuurlijk kunnen we ook "XML-schema's vergelijken" selecteren vanuit het contextmenu dat verschijnt wanneer u met de rechtermuisknop klikt, of "Vergelijking starten" kiezen in het menu "Verschil en samenvoegen", of de toetsencombinatie F5 gebruiken – DiffDog biedt u veel opties om dezelfde taak uit te voeren, zodat u op de manier kunt werken die u prettig vindt.) Vervolgens kunnen we elementen met verschillende namen in de twee XML-schema's aan elkaar koppelen door handmatig pijlen tussen hen te tekenen. In dit voorbeeld zorgen de meeste wijzigingen in de versie van het XML-schema aan de rechterkant er simpelweg voor dat elementen nieuwe namen krijgen, wat duidelijker zal zijn wanneer het XML-schema en de bijbehorende data bestanden binnen ons bedrijf worden verspreid.

[![XML-schema's die door de gebruiker zijn gedefinieerd, in de DiffDog-weergave voor het vergelijken van XML-schema's](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) 

Zodra alle elementen zijn toegewezen, kunnen we een XSLT-bestand genereren om bestaande XML-gegevensbestanden te transformeren op basis van het XML-schema aan de linkerkant, zodat ze overeenkomen met de wijzigingen in de nieuwere versie aan de rechterkant. Deze functie is ontworpen om XML-ontwikkelaars te helpen bij het vermijden van de tijdrovende taken van het handmatig schrijven en debuggen van XSL-transformaties.

[![DiffDog: Menu voor verschillen en samenvoegingen](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) 

Hier is een voorbeeld van een origineel XML-gegevensbestand, gebaseerd op het XML-schema aan de linkerkant, zoals weergegeven in [Altova XMLSpy](https://www.altova.com/nl/xmlspy.html):

[![XML-gegevensbestand bekeken 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) 

Het resultaatbestand, na het toepassen van de XSL-transformatie die we hebben gemaakt met DiffDog 2010, wordt hieronder weergegeven. Let op de vervanging van het element "author" door "writer", "email" door "feedback", enzovoort.

[![De XSL-output bekijken 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) 

Als er veel bestaande XML-bestanden zijn die getransformeerd moeten worden, kunnen de [projectbeheer](https://www.altova.com/nl/xmlspy/xml-project-management.html)-functies van XMLSpy ons helpen om dit proces te automatiseren. We kunnen externe mappen toevoegen aan een XMLSpy-project.

[![XMLSpy-projecthulpvenster](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) 

Met behulp van het dialoogvenster voor eigenschappen in XMLSpy, voor elke projectmap, kunnen we standaardwaarden instellen voor het toewijzen van een XML-schema voor validatie, de XSL-transformatie en de bestemming van de uitvoer.

[![Dialoogvenster voor projectinstellingen in 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)

Nu kunnen we de invoermap selecteren in het hulpmiddelvenster van XMLSpy en alle bestanden in die map transformeren met de sneltoets F10. Toen we oorspronkelijk de XML-schema-elementen in DiffDog definieerden, lieten we het publicatie-element aan de linkerkant onverbonden, omdat het geen overeenkomend element had in de eerdere versie van het schema. Dit betekent dat wanneer we XML-invoerb bestanden transformeren met behulp van XSLT, het resulterende uitvoerbestand het publicatie-element niet zal bevatten. Als publicatie een verplicht element is, kunnen we [Altova MapForce](https://www.altova.com/nl/mapforce.html) gebruiken voor een snelle oplossing. Een van de opties in DiffDog is om een MapForce-mapping te genereren in plaats van een XSLT. Wanneer we deze optie kiezen, start MapForce en wordt onze DiffDog-mapping direct geladen als een nieuw MapForce-ontwerp, zoals hieronder te zien is.

[![MapForce: Nieuw ontwerp](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image10_thumb.gif "MapForce New Design")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image10.gif)

Het is eenvoudig om de mapping te verbeteren door een constante waarde als standaardwaarde toe te voegen voor het publicatie-element.

[![Verbeterd ontwerp van 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) 

Nu kunnen we een XSL-bestand opslaan vanuit MapForce dat alle elementafbeeldingen hergebruikt die we oorspronkelijk in DiffDog hebben ontworpen, en dat de constante toevoegt. Wanneer we de nieuwe XSL-transformatie toepassen op ons oorspronkelijke XML-gegevensbestand, krijgen we een resultaat dat de standaardwaarde voor het publicatie-element bevat.

[![De definitieve versie van de output bekijken 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) 

Deze post begon met een beschrijving van de nieuwe functie voor het vergelijken van XML-schema's in DiffDog 2010. Het uitwerken van een eenvoudig – maar typisch – voorbeeld uit de praktijk liet snel zien dat er nog meer taken eenvoudig kunnen worden uitgevoerd dankzij de nauwe integratie met XMLSpy en MapForce.

Alle drie deze tools, en nog veel meer, zijn verkrijgbaar met aanzienlijke korting in de [Altova MissionKit 2010](https://www.altova.com/nl/missionkit/software-development-tools.html), een geïntegreerde suite van XML-, database- en UML-tools, ontworpen om te voldoen aan de diverse ontwikkel- en gegevensbeheerbehoeften van moderne softwarearchitecten en XML-ontwikkelaars. [Klik hier](https://www.altova.com/nl/download/missionkit/software_development_tools_enterprise.html) om vandaag nog een gratis proefversie te downloaden!
