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
![]()
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 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.