Tworzenie plików XML na podstawie baz danych relacyjnych

Czasami, korzystanie z przykładu stworzonego przez kogoś innego to dobry sposób na szybki start projektu. Wadą jest to, że można przegapić lepsze, bardziej efektywne rozwiązanie. W naszym ostatnim artykule na temat XML w chmurze, wykorzystaliśmy DatabaseSpy do połączenia z lokalną bazą danych MySQL oraz z usługą Amazon Relational Database Service w chmurze. Użyliśmy funkcji Concat() w zapytaniu SQL SELECT, aby utworzyć wynik w formacie XML z danych, które nie są w formacie XML, jak pokazano poniżej.

Nasze zapytanie SELECT zostało oparte na przykładzie zawartym w dokumentacji MySQL dotyczącym obsługi XML. Przyjrzyjmy się bliżej problemowi, który to stwierdzenie próbuje rozwiązać. Można skopiować tabelę wyników z DatabaseSpy, podobną do tej, która jest wyświetlana powyżej, i wkleić ją do okna edytora w programie XMLSpy, ale sama tabela wyników nie tworzy prawidłowo sformatowanego dokumentu XML. Aby być poprawnym zgodnie z definicja W3C, Dokument XML musi zawierać element główny. Wszystkie pozostałe elementy i struktury logiczne muszą być umieszczone wewnątrz elementu głównego. Można również postrzegać element główny jako otoczkę obejmującą całą zawartość XML, podobnie jak element otacza każdą linię w naszych oryginalnych wynikach. Lepszy sposób generowania plików XML z danych relacyjnych Nie musimy ręcznie modyfikować wyników, aby dodać element główny, ani też nie musimy modyfikować naszych już i tak skomplikowanych zapytań SQL, aby dodać ten element. Program DatabaseSpy umożliwia łatwe eksportowanie poprawnych dokumentów XML z tabel baz danych, które zawierają zwykłe dane, takie jak nasza tabela miast. W oknie dialogowym eksportu DatabaseSpy możemy wybrać format XML jako format wyjściowy, kliknąć tabelę "cities", aby wybrać ją z hierarchii baz danych, oraz wybrać XMLSpy jako miejsce docelowe. Sekcja "Podgląd" znajdująca się na dole okna eksportu wyświetla fragment zawartości tabeli.

Po kliknięciu przycisku "Eksport", program DatabaseSpy formatuje dane relacyjne za pomocą elementów XML, których nazwy pochodzą z nazw kolumn tabeli, a następnie przesyła wynik bezpośrednio do programu XMLSpy. Zrzut ekranu poniżej pokazuje fragment pliku w programie XMLSpy. Okno "Wiadomości" na dole potwierdza, że plik jest poprawnie sformatowany.

Należy zauważyć, że program DatabaseSpy dostarczył element główny i dodał komentarze opisujące typy danych kolumn tabeli bazy danych. Ponadto, nie musieliśmy konstruować instrukcji SQL z użyciem skomplikowanej funkcji Concat(). Rozpoczęliśmy ten artykuł, aby zaspokoić proste wymaganie dotyczące elementu głównego, które jest niezbędne do poprawnego wyświetlenia wyniku funkcji Concat(), o której wspomnieliśmy wcześniej. Kiedy projekty w rzeczywistych zastosowaniach wymagają konwersji z baz danych relacyjnych do formatu XML, wymagania są prawdopodobnie znacznie bardziej złożone.

Altova XMLSpy łączy się bezpośrednio z popularnymi bazami danych, umożliwiając pracę z technologiami XML i danymi relacyjnymi. XMLSpy pozwala łatwo tworzyć schemat XML na podstawie struktury bazy danych, lub tworzyć strukturę bazy danych na podstawie schematu XML. XMLSpy zawiera również zaawansowane edytory i debuggery dla języków XQuery i XPath, przeznaczone do pracy z danymi XML przechowywanymi bezpośrednio w bazach danych, a także specjalne wsparcie dla funkcji XML w bazach danych Microsoft SQL Server, IBM DB2 i Oracle. Wraz z tym, jak coraz więcej branż wdraża i rozwija standardy oparte na XML do wymiany informacji, rośnie zapotrzebowanie na konwersję danych przechowywanych w starszych bazach danych do formatu XML. Altova MapForce łączy się z bazami danych i umożliwia mapowanie oraz transformację danych relacyjnych, aby były one kompatybilne z jednym lub więcej schematów XML.

Można wykorzystać zdefiniowane mapowanie do wykonania jednorazowej konwersji danych, można zapisać i ponownie otworzyć mapowanie, aby wykonać kolejną konwersję w przyszłości, lub można zlecić programowi MapForce wygenerowanie kodu źródłowego, który można wykorzystać w własnym projekcie bez opłat licencyjnych, w przypadku gdy konieczne są wielokrotne konwersje.

Jeśli chcą Państwo przekonać się, jak dobrze narzędzia Altova potrafią generować poprawnie sformatowane pliki XML z baz danych relacyjnych, pobierzcie bezpłatną wersję próbną pakietu Altova MissionKit.