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ś!