Porównywanie schematów XML za pomocą programu DiffDog 2010

DiffDog 2010 zawiera nowe, potężne narzędzie do porównywania schematów XML, które programiści XML i inne osoby mogą wykorzystać do aktualizacji istniejących plików danych XML w miarę ewolucji schematów XML. W tym artykule przyjrzymy się przykładowemu scenariuszowi wykorzystania tej funkcji. Zanim przejdziemy do omówienia nowej funkcjonalności, przyjrzyjmy się dwóm schematom XML, korzystając z funkcji Porównywanie plików DiffDog. Podobnie jak w poprzednich wersjach, użytkownicy DiffDog 2010 mogą porównywać schematy XML jako pliki .xsd i wyświetlać różnice w formacie kolorystycznym, uwzględniającym strukturę XML.

To jest dobry sposób na identyfikację i zarządzanie różnicami w schematach XML, szczególnie gdy chcemy przeglądać zmiany w standardowych schematach XML, które ewoluują z czasem.Co nowego w DiffDog 2010 jest to dodatkowa funkcja Porównywanie schematów XML Opcja ta wyświetla graficznie dwa schematy XML obok siebie, automatycznie identyfikuje identyczne elementy oraz umożliwia użytkownikom analizowanie różnic i generowanie transformacji XSL do aktualizacji plików danych XML. Poniżej przedstawiamy pierwszy widok, który pojawia się po otwarciu tych samych dwóch schematów XML, o których mowa w powyższym porównaniu plików, przy użyciu nowej funkcji porównywania schematów XML.

Podstawowe elementy dwóch schematów XML są automatycznie powiązane. Możemy kliknąć przycisk "Porównaj" na pasku narzędzi, aby automatycznie połączyć identyczne elementy w obu schematach XML.

(Oczywiście, możemy również wybrać opcję "Porównaj schematy XML" z menu kontekstowego, klikając prawym przyciskiem myszy, lub wybrać "Rozpocznij porównanie" z menu "Różnice i scalanie", lub nacisnąć skrót klawiszowy F5 – DiffDog oferuje wiele opcji do wykonania tego samego zadania, dzięki czemu można pracować w sposób, który najbardziej odpowiada Twoim preferencjom.) Następnie możemy powiązać elementy o różnych nazwach w dwóch schematach XML, ręcznie łącząc je strzałkami. W tym przykładzie większość zmian w wersji schematu XML po prawej stronie polega po prostu na nadawaniu elementom nowych nazw, które będą bardziej czytelne, gdy schemat XML i jego pliki danych będą dystrybuowane w naszej firmie.

Po zmapowaniu wszystkich elementów, możemy wygenerować plik XSLT, który przekształci istniejące pliki danych XML, wykorzystując schemat XML po lewej stronie, aby odzwierciedlić zmiany wprowadzone w nowszej wersji po prawej stronie. Ta funkcja ma na celu ułatwienie pracy programistom XML, eliminując żmudne zadania ręcznego pisania i debugowania transformacji XSL.

Oto przykład oryginalnego pliku danych XML, oparty na schemacie XML znajdującym się po lewej stronie, wyświetlanego w programie Altova XMLSpy:

Poniżej znajduje się plik wynikowy po zastosowaniu transformacji XSL, którą stworzyliśmy za pomocą programu DiffDog 2010. Zwróćcie uwagę na zamianę elementu "author" na "writer", "email" na "feedback" i inne podobne zmiany.

Jeśli istnieje duża liczba istniejących plików XML, które wymagają przekształcenia, to Zarządzanie projektami Funkcje programu XMLSpy mogą pomóc nam zautomatyzować ten proces. Możemy dodawać zewnętrzne foldery do projektu XMLSpy.

Korzystając z okna dialogowego właściwości XMLSpy dla każdego folderu projektu, możemy przypisać wartości domyślne, określając schemat XML do walidacji, transformację XSL oraz miejsce docelowe dla pliku wynikowego.

Teraz możemy wybrać folder wejściowy w oknie pomocniczym projektu XMLSpy i przekształcić wszystkie znajdujące się w nim pliki za pomocą skrótu klawiszowego F10. Kiedy pierwotnie mapowaliśmy elementy schematu XML w programie DiffDog, pozostawiliśmy element "publikacja" po lewej stronie bez połączenia, ponieważ nie miał on odpowiednika w starszej wersji schematu. Oznacza to, że podczas przekształcania plików XML za pomocą XSLT, wynikowy plik wyjściowy nie będzie zawierał elementu "publikacja". Jeśli element "publikacja" jest wymagany, możemy skorzystać z programu Altova MapForce w celu szybkiego rozwiązania. Jedną z opcji w programie DiffDog jest generowanie mapowania MapForce zamiast XSLT. Wybierając tę opcję, program MapForce uruchamia się, a nasze mapowanie z programu DiffDog jest już załadowane jako nowy projekt MapForce, jak pokazano poniżej.

Łatwo można rozszerzyć mapowanie, dodając stałą wartość jako domyślny parametr dla elementu publikacji.

Teraz możemy zapisać plik XSL z programu MapForce, który wykorzystuje wszystkie mapowania elementów, które pierwotnie zaprojektowaliśmy w programie DiffDog, i dodaje stałą wartość. Po zastosowaniu nowego pliku XSL do przekształcenia naszego oryginalnego pliku danych XML, otrzymujemy wynik, który zawiera domyślną wartość dla elementu publikacji.

Ten artykuł rozpoczął się od opisu nowej funkcji porównywania schematów XML w programie DiffDog 2010. Rozwinięcie prostego, ale typowego przykładu z życia wziętego szybko pokazało, że dzięki ścisłej integracji z programami XMLSpy i MapForce można łatwo wykonać dodatkowe zadania.

Wszystkie te narzędzia, a także wiele innych, są dostępne w zestawie Altova MissionKit 2010 w atrakcyjnych cenach. Jest to kompleksowy pakiet narzędzi do obsługi XML, baz danych i UML, zaprojektowany, aby spełniać różnorodne potrzeby programistów i specjalistów ds. zarządzania danymi w dzisiejszym świecie tworzenia oprogramowania. Kliknij tutaj, aby pobrać bezpłatną wersję próbną już dziś!