Szpieg, który kochał XML

Po prawej stronie okna aplikacji widoczne są trzy listy zawierające globalne encje, atrybuty elementu, a także wszystkie elementy, które można wstawić do kodu. Wszystkie obiekty podzielone są na trzy grupy: te, które można dopisywać przed lub za bieżącym elementem, i te, które można wstawić jako obiekty potomne. Warto przypomnieć, że w schemacie XML można m.in. narzucać kolejność elementów, tak więc taki podział obiektów jest bardzo pomocny.

Drugi widok to specjalny edytor tekstowy, wyróżniający podświetleniem składnię w dokumencie XML. Sposób podświetlenia zależy m.in. od przyjętej struktury dokumentu. Edytor tekstowy XML Spy ma bardzo elastyczny komponent podpowiadający właściwą składnię, co pomaga np. przy tworzeniu przekształceń XSL. Jeżeli transformacja XSL zostanie związana z dokumentem XML (i pośrednio ze schematem), to podczas pisania właściwych przekształceń XML Spy nie tylko podpowiada składnię XSL, ale także listę encji, które mogą być wykorzystane w danym wyrażeniu regularnym określającym "pasujące" do danej operacji fragmenty XML. Bez takiej pomocy tworzenie złożonych plików XSL sprowadza się w zasadzie do pracy metodą prób i błędów.

Trzeci widok jest związany z definicją struktury XML. To w zasadzie edytor graficzny do modelowania struktury pliku XSD. Można najpierw zdefiniować bazowe elementy, złożone typy danych itp., a następnie metodą "przeciągnij i upuść" zbudować z nich gotowy model (określając wartości domyślne, wymaganą liczbę wystąpień czy wzajemne relacje pomiędzy elementami). Później można zbudować szkielet poprawnego pliku XML zgodnego z danym schematem. XML Spy automatycznie tworzy szczegółową dokumentację pliku XSD.

Czwarty widok służy zarówno do prezentowania wyników transformacji XSL, jak i podglądania struktury XML w taki sposób, w jaki będzie ona prezentowana w przeglądarce Internet Explorer. Niestety, w przypadku błędów w XSL/XSLT nie ma możliwości automatycznego przeniesienia się do błędnego fragmentu transformacji.

Dokumenty XML Spy mogą być pogrupowane w projekty i można je przechowywać w specjalnym repozytorium. Pakiet współpracuje także z wieloma narzędziami do kontroli wersji (w tym z Microsoft SourceSafe). Projekt może mieć również zdefiniowaną "globalną" transformację, która na podstawie ciągu plików XML stworzy gotową witrynę WWW.

Nieoceniony pomocnik

XML Spy importuje dokumenty tekstowe oraz tabele baz danych, przekształcając je w odpowiednie pliki XML. Niestety, nie wykorzystuje informacji o relacjach i traktuje bazy danych jak płaskie, dwuwymiarowe tabele. Pakiet może także pracować z plikami XML, które nie mają określonej struktury (są poprawne, ale nie są dobrze określone). Potrafi nawet, na podstawie danych z dokumentu XML, wygenerować dokument definiujący strukturę.

XML Spy jest nieocenionym pomocnikiem w procesie tworzenia aplikacji. Z punktu widzenia programisty wygrywa on z alternatywnym pakietem XMeaL. Ten drugi jest bowiem narzędziem, które ma za zadanie ukryć przed użytkownikiem XML-ową strukturę dokumentów. To rodzaj edytora WYSIWYG dla XML. XML Spy jest narzędziem dla programistów i tych, którzy chcą tworzyć dokumenty, mając pełną kontrolę nad znacznikami XML. Pakiet pozwala korzystać z parserów wbudowanych w system i przeglądarkę i również samodzielnie wkompilować odpowiednie moduły, np. pisane w Javie czy C++.

W pakiet wbudowano środowisko skryptowe, większość operacji więc można automatyzować. Opracowano także schemat tworzenia dodatków do XML Spy, umożliwiających rozbudowanie funkcji pakietu.