Wyrażenia XPath do generowania raportów danych

W naszym poprzednim artykule, zatytułowanym "Wykorzystanie wyrażeń XPath do precyzyjnego wyboru danych", opisaliśmy, jak użyć programu XMLSpy do stworzenia wyrażenia XPath, które pozwala na wybór konkretnej tabeli danych zawartej w znacznie większym zbiorze danych dostarczonym przez amerykańskie Ministerstwo Edukacji.

Możemy ponownie wykorzystać pracę wykonaną w programie XMLSpy, aby szybko stworzyć projekt w programie StyleVision dla raportu lub formularza elektronicznego, który w czytelny sposób prezentuje najważniejsze informacje z danych. Możemy zacząć od prostego projektu w StyleVision, wykorzystując schemat XML gradData oraz plik XML, który stworzyliśmy w XMLSpy. Ponieważ zapisaliśmy nasze ostateczne, dopracowane ustawienia wykresu w XMLSpy, możemy również zaimportować projekt wykresu do StyleVision.

Użyjemy wyrażenia XPath /data/set[@setnum="FOS"], opracowanego w programie XMLSpy, w dwóch miejscach, aby wybrać tylko jedną z tabel zawartych w większym pliku XML. To wyrażenie będzie pasować tylko do elementów /data/set, których atrybut setnum ma wartość "FOS": set setnum="FOS".

Najpierw użyjemy wyrażenia, aby zdefiniować warunkowe wyświetlanie opisu elementu. Każda tabela zawiera opis, który może posłużyć jako przydatny tytuł wykresu. Wyrażenie XPath można wprowadzić w oknie pomocniczym "Właściwości" dla danego warunku.

Wyrażenie to staje się widoczne, gdy kursor znajduje się nad określonym elementem:

Użyjemy również wyrażenia XPath w oknie dialogowym ustawień wykresu, aby wybrać wiersze danych, które mają zostać wyświetlone na wykresie

Te dwa przykłady wygenerowały kod HTML, który jest wyświetlany na pierwszym obrazku na górze tego wpisu.

Wyrażenie XPath w połączeniu z listą rozwijaną umożliwia użytkownikowi dokonanie wyboru

Możemy przekształcić ten raport w interaktywną formę Authentic Formularz elektroniczny można zaimplementować, używając elementu XML jako zmiennej w wyrażeniu XPath, zamiast używać stałej wartości tekstowej "FOS". W ten sposób użytkownik może ustawić zawartość tego elementu XML za pomocą listy rozwijanej.

Aby zaimplementować tę funkcjonalność, wstawimy drugi plik XML, który będzie służył do przechowywania tymczasowych wyborów użytkownika. Przykładowy plik jest pokazany poniżej w oknach "Przegląd projektu StyleVision" i "Drzewo schematów".

Możemy umieścić listę rozwijaną na górze formularza, powyżej opisu i wykresu.

StyleVision oferuje kilka sposobów definiowania zachowania pola kombi. Użyjemy listy widocznych elementów wraz z odpowiadającymi im wartościami XML.

Wybór z listy rozwijanej przypisze wartość XML do elementu "chart" w pliku "userselections.xml", którą następnie będziemy mogli porównać z atrybutem "setnum" w pliku "gradData.xml".

Następnie musimy zmodyfikować oba wyrażenia XPath. Nowe wyrażenie XPath dla warunku przypisanego do pola "description" to:

../@setnum=$XML2/userchoice/chart

jak pokazano poniżej w oknie właściwości.

Nowe wyrażenie XPath dla danych wykresu to: $XML/data/set[@setnum=$XML2/userchoice/chart]/row

pokazane poniżej w oknie ustawień wykresu.

StyleVision zawiera edytor wyrażeń XPath, do którego można uzyskać dostęp, klikając przycisk "edytuj" obok każdego z wyrażeń XPath wyświetlonych powyżej. Edytor wyrażeń XPath posiada tryb "konstruktor" i tryb "ewaluator", które ułatwiają tworzenie wyrażeń XPath 1.0 i XPath 2.0. Tryb "konstruktor" oferuje sprawdzanie składni w czasie rzeczywistym oraz automatyczne podpowiadanie, co zwiększa efektywność pracy. Edytor XPath jest wyświetlany w zmniejszonym rozmiarze poniżej:

Po dostosowaniu rozmiaru pola kombi, aby pomieściło najdłuższy wpis, formularz elektroniczny wygląda następująco:

Pole wyboru umożliwia użytkownikowi wybranie dowolnego innego wykresu

Wartość XML nowego wyboru zastępuje zawartość <chart> element w pliku "userselections.xml", a oba wyrażenia XPath generują nowe wyniki:

Kliknij tutaj, aby pobrać bezpłatną wersję próbną pakietu Altova MissionKit...w tym XMLSpy, MapForce i StyleVision, i zacznij korzystać z XPath, aby precyzyjniej definiować własne kryteria wyboru danych!