---
title: "Wyrażenia XPath do generowania raportów danych"
date: "2013-09-27"
categories: 
  - "xpath"
tags: 
  - "altova-xmlspy"
  - "authentic"
  - "epub"
  - "stylevision"
  - "xml-reports"
  - "xpath"
Descriptions: Learn about using XPath to select data for reports in Altova StyleVision. 
description: W tym artykule omówiono wykorzystanie wyrażeń XPath w programach XMLSpy i StyleVision do efektywnego generowania raportów danych, w tym do tworzenia interaktywnych formularzy elektronicznych i wykresów.
---
Status: #blog

Tags:  #altova-xmlspy #authentic #epub #stylevision #xml-reports #xpath

Categories: [xpath+xquery](/blog/pl/category/xpathxquery.md)
# Wyrażenia XPath do generowania raportów danych

W naszym poprzednim artykule, zatytułowanym "[Wykorzystanie wyrażeń XPath do precyzyjnego wyboru danych](https://www.altova.com/blog/2013/09/use-xpath-expressions-to-refine-data.html)", 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.

![Raport HTML generowany na podstawie danych wybranych za pomocą wyrażeń XPath w programie StyleVision](https://lh3.ggpht.com/-8oo4VgEw2gE/UjnhznO7ahI/AAAAAAAABTA/MgScZv75SRE/clip_image001%25255B3%25255D.png?imgmax=800 "An HTML report based on XPath data selection in StyleVision")

Możemy ponownie wykorzystać pracę wykonaną w programie [XMLSpy](https://www.altova.com/pl/xmlspy.html), aby szybko stworzyć projekt w programie [StyleVision](https://www.altova.com/pl/stylevision.html) dla raportu lub formularza elektronicznego, który w czytelny sposób prezentuje najważniejsze informacje z danych. <!--more--> 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.

![Projekt graficzny raportu danych, opracowany w programie StyleVision](https://lh5.ggpht.com/-xiB7bV790Jk/Ujnh0IRLadI/AAAAAAAABTE/2Iu9DewDrVE/clip_image002%25255B3%25255D.png?imgmax=800 "StyleVision design for the data report")

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.

![Okno właściwości dla kontroli warunkowej, wyświetlające wyrażenie XPath](https://lh5.ggpht.com/-YG9jeuYhz60/Ujnh0nD5kOI/AAAAAAAABTM/e8991AZ1Mmo/clip_image003%25255B3%25255D.png?imgmax=800 "Properties window for the condition control, showing the XPath expression")

Wyrażenie to staje się widoczne, gdy kursor znajduje się nad określonym elementem:

![Wyrażenie XPath wyświetlane w oknie projektowania](https://lh6.ggpht.com/-29GKlKQI2lg/Ujnh1IkwNKI/AAAAAAAABTU/uwAQH1bDzsU/clip_image004%25255B3%25255D.png?imgmax=800 "XPath displayed in the design window")

Użyjemy również wyrażenia XPath w oknie dialogowym ustawień wykresu, aby wybrać wiersze danych, które mają zostać wyświetlone na wykresie

![Wyrażenie XPath do wyboru danych w oknie ustawień wykresu](https://lh3.ggpht.com/-2CPnWbnUFDo/Ujnh1pCrmCI/AAAAAAAABTc/sSVaLkPHNo4/clip_image005%25255B3%25255D.png?imgmax=800 "XPath for data selection in the chart settings dialog")

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](https://www.altova.com/pl/authentic.html) 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".

![Przegląd projektu i drzewo schematów, przedstawiające wiele działających plików XML](https://lh3.ggpht.com/-Im-cnaYif1U/Ujnh2Cw5PcI/AAAAAAAABTk/C4XnAC8TpC8/clip_image006%25255B3%25255D.png?imgmax=800 "Design Overview and Schema Tree showing multiple working XML files")

Możemy umieścić listę rozwijaną na górze formularza, powyżej opisu i wykresu.

![Dodano pole kombinowane do projektu, aby umożliwić interaktywne sterowanie](https://lh5.ggpht.com/-bVe6I8apjyQ/Ujnh3ICXv6I/AAAAAAAABTs/MlP9zxtIb6U/clip_image007%25255B3%25255D.png?imgmax=800 "A combo box added to the design for interactive contro")

StyleVision oferuje kilka sposobów definiowania zachowania pola kombi. Użyjemy listy widocznych elementów wraz z odpowiadającymi im wartościami XML.

![Definicja pola kombi zawierająca widoczne elementy oraz wartości XML](https://lh4.ggpht.com/-FKR2V28AAo0/Ujnh3rnMaSI/AAAAAAAABT0/AxeFDeQ3O5I/clip_image008%25255B3%25255D.png?imgmax=800 "Combo box defintion of Visible Entries and XML values")

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.

![Zaktualizowane wyrażenie XPath dla wyświetlanych danych wybranych przez użytkownika](https://lh3.ggpht.com/-JdpIuvVUwkg/Ujnh4LTVkgI/AAAAAAAABT8/zgCirqKk4N4/clip_image009%25255B3%25255D.png?imgmax=800 "Updated XPath expression for user-selected display")

Nowe wyrażenie XPath dla danych wykresu to: `$XML/data/set[@setnum=$XML2/userchoice/chart]/row`

pokazane poniżej w oknie ustawień wykresu.

![Aktualizacja wyrażenia XPath w oknie ustawień wykresu](https://lh5.ggpht.com/-dGod4uRG51s/Ujnh4o79oAI/AAAAAAAABUE/4ARuRxZhoY4/clip_image010%25255B3%25255D.png?imgmax=800 "Updated XPath in the chart settings dialog")

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:

![Konstruktor wyrażeń XPath (wersja skrócona)](https://lh5.ggpht.com/-Ub_TN4ToohM/Ujnh5S626lI/AAAAAAAABUM/HiponeePKfk/clip_image011%25255B3%25255D.png?imgmax=800 "XPath Builder (reduced view)")

Po dostosowaniu rozmiaru pola kombi, aby pomieściło najdłuższy wpis, formularz elektroniczny wygląda następująco:

![Interaktywny format e-Pub do raportowania danych](https://lh6.ggpht.com/-0yA20dK6nbU/Ujnh6j9GF7I/AAAAAAAABUU/g2vu5nIXBPk/clip_image012%25255B3%25255D.png?imgmax=800 "Interactive e-Pub for data reporting")

Pole wyboru umożliwia użytkownikowi wybranie dowolnego innego wykresu

![Wybór nowego użytkownika z listy rozwijanej w polu kombi](https://lh4.ggpht.com/-IG1CxL7EX54/Ujnh7K_KfpI/AAAAAAAABUc/DIEOPx80NSU/clip_image013%25255B3%25255D.png?imgmax=800 "New user selection from combo-box drop-down")

Wartość XML nowego wyboru zastępuje zawartość `<chart>` element w pliku "userselections.xml", a oba wyrażenia XPath generują nowe wyniki:

![Aktualizowany raport dotyczący formatu e-Pub](https://lh3.ggpht.com/-zjsWOtn6bhQ/Ujnh7rIzJ7I/AAAAAAAABUo/NOL594co0Bg/clip_image014%25255B3%25255D.png?imgmax=800 "Updated e-Pub report")

[Kliknij tutaj, aby pobrać bezpłatną wersję próbną pakietu Altova MissionKit](https://www.altova.com/pl/download-trial.html)**...w tym XMLSpy, MapForce i StyleVision, i zacznij korzystać z XPath, aby precyzyjniej definiować własne kryteria wyboru danych!**
