Debugger dla XQuery

Testowanie i debugowanie wyrażeń XQuery

  • Testowanie wyświetlania złożonych dokumentów w trybie pełnoekranowym
  • Okno debuggera do testowania wyrażeń/funkcji
  • Wsparcie dla XQuery 1.0 i 3.1 z uwzględnieniem schematów
  • Krok po kroku: wykonywanie węzłów i instrukcji
  • Etapy oceny: wejście, wyjście i przejście
  • Wsparcie dla punktów przerwania i punktów śledzenia
  • Okna wyświetlające informacje o zmiennych i stosie wywołań
  • Narzędzie do tworzenia i testowania zapytań XQuery
  • Debugowanie wykonywania zapytań XQuery względem danych XML lub JSON
  • Mapowanie zwrotne w XQuery
  • Profilator zapytań XQuery

Debugger dla XQuery

Debugowanie kodu XQuery

XMLSpy zawiera debuger XQuery, który umożliwia testowanie i udoskonalanie kodu XQuery. Można korzystać z debugera XQuery w trybie pełnoekranowym podczas analizy wyników dużych i złożonych dokumentów XQuery w odniesieniu do baz danych XML na serwerze. Jednak podczas tworzenia krótszych wyrażeń i funkcji XQuery, można preferować okno debugera XQuery.

Łatwy w obsłudze debugger posiada interfejs wielopanelowy, który wyświetla dokument XQuery, źródłowy dokument XML lub JSON (opcjonalnie) oraz aktualny kontekst procesora XQuery. Poniżej tych trzech paneli znajdują się okna zawierające informacje o zmiennych i stosie wywołań, które zawierają wiele zakładek dostarczających wszystkie niezbędne informacje do debugowania.

Można ustawić punkty przerwania dla dowolnego elementu w dokumencie instancji oraz dla dowolnego wyrażenia w dokumencie XQuery, aby debugger zatrzymywał się za każdym razem, gdy dostępny jest określony element lub instrukcja. To przyspiesza proces debugowania, ponieważ nie trzeba ręcznie przechodzić przez każdą instrukcję. Można również przeglądać i zarządzać listą aktualnie zdefiniowanych punktów przerwania za pomocą wygodnego okna dialogowego "Punkty przerwania XQuery".

Po kliknięciu ikony "Uruchom debuger/Wykonaj", procesor XQuery zatrzymuje się przy pierwszym punkcie przerwania i wyświetla częściowy wynik, odnoszący się do stanu procesora XQuery w danym momencie przetwarzania dokumentu. Debuger wyróżnia aktualny węzeł w pliku XML oraz aktualną instrukcję w dokumencie XQuery, a wszystkie zmienne, wartości monitorowane za pomocą wyrażeń XPath oraz dane dotyczące stosu wywołań, istotne dla tego momentu, są wyświetlane w oknach informacyjnych debugera.

Możliwość jednoczesnego wyświetlania konkretnego węzła danych XML lub JSON, instrukcji XQuery oraz częściowego wyniku pozwala na natychmiastowe wizualne zrozumienie sposobu, w jaki dokument XQuery przetwarza dane. Podczas korzystania z debugera można w dowolnym momencie wprowadzać zmiany w instancji oraz/lub dokumentach XQuery, korzystając z inteligentnych funkcji edycji dostępnych w programie XMLSpy.

Okno XQuery

Debugger XQuery w programie XMLSpy

Okno debugera XPath/XQuery jest częścią potężnej zakładki XPath/XQuery, znajdującej się na dole interfejsu XMLSpy. Jest idealne do debugowania krótszych fragmentów kodu XQuery, umożliwiając natychmiastową i interaktywną analizę. Ponieważ debugger znajduje się w tym samym oknie, co zaawansowany edytor XQuery, można debugować kod w trakcie jego tworzenia, korzystając z intuicyjnego budowania wyrażeń, ulepszonych narzędzi wspomagających wprowadzanie danych, gotowych fragmentów kodu i innych narzędzi oszczędzających czas.

Podczas pracy można przełączać się między pionowym a poziomym układem okna, aby dostosować je do długości aktualnie edytowanego kodu XQuery.

Mapowanie zwrotne w XQuery

Kolejnym sposobem debugowania jest odwzorowanie wyników zapytania XQuery do kodu źródłowego. Funkcja odwzorowania w programie XMLSpy umożliwia natychmiastowe wyświetlenie odpowiadającego węzła XML/JSON oraz wyrażenia XQuery – wystarczy kliknąć węzeł w wynikach zapytania XQuery.

Po kliknięciu przycisku "Włącz odwzorowanie wsteczne" na pasku narzędzi, wykonywane będą operacje XQuery w taki sposób, aby wynikowy dokument mógł zostać odwzorowany z powrotem na oryginalne dokumenty XQuery+XML lub JSON. Kliknięcie w węzeł w wynikowym dokumencie spowoduje podświetlenie instrukcji XQuery oraz danych źródłowych, które wygenerowały ten konkretny węzeł, co ułatwi natychmiastowe debugowanie.

Technika "back-mappingu" w XQuery pozwala programistom zaoszczędzić znaczną ilość czasu, ułatwiając zrozumienie i udoskonalanie kodu. Co więcej, XMLSpy w ogóle nie modyfikuje generowanego kodu aby zrealizować odwzorowanie z powrotem do XQuery.

Oto jak działa proces odwrotnego mapowania w XQuery

Profilator zapytań XQuery

W celu dokładniejszej analizy wydajności kodu, XMLSpy zawiera narzędzie profiler XQuery, które monitoruje i rejestruje szczegółowe dane dotyczące każdego wykonywanego polecenia, co pomaga szybko zidentyfikować i usunąć wąskie gardła.

Profilator XQuery oferuje opcje monitorowania transformacji na podstawie wykresu wywołań lub liczby wywołań. Podczas wykonywania zapytania XQuery w programie XMLSpy, profilator XQuery wyświetla metryki, takie jak liczba wywołań, czas trwania oraz czas trwania elementów potomnych. Kliknięcie dowolnego elementu wyświetlanego w oknie profilatora automatycznie otwiera powiązany dokument XQuery i podświetla dany element, co ułatwia identyfikację wąskich gardeł za pomocą jednego kliknięcia.

Więcej narzędzi do pracy z XQuery