---
title: "Plik PXF jako odpowiednik funkcji \"plug and play\" w oprogramowaniu – przykład zastosowania w edycji baz danych"
date: "2011-08-09"
categories: 
  - "software"
description: Odkryj, w jaki sposób format Portable XML (PXF) zwiększa efektywność edycji i projektowania baz danych, umożliwiając płynną integrację danych XML i SQL w aplikacjach biznesowych.
---
Status: #blog

Tags: 

Categories: [development](/blog/pl/category/development.md) [database + sql](/blog/pl/category/database-sql.md)
# Plik PXF jako odpowiednik funkcji "plug and play" w oprogramowaniu – przykład zastosowania w edycji baz danych

Kilka tygodni temu przedstawiliśmy Państwu format [Portable XML Form](https://www.altova.com/pl/stylevision/authentic_eform_desktop.html) (PXF), w którym wszystkie elementy projektu, wspierające projekt StyleVision, w tym schematy XML i dokumenty instancji, pliki projektów SPS, XSLT, obrazy oraz inne pliki zewnętrzne, są zintegrowane. Użytkownicy końcowi mogą po prostu otworzyć plik PXF w programie Authentic i od razu rozpocząć edycję danych XML i baz danych. 

[![Obrazek](https://lh3.ggpht.com/-EYWr_SBTj64/Tjw7lF3a0qI/AAAAAAAAAHM/4hS3Bm8VYxQ/clip_image014_thumb%25255B1%25255D.png?imgmax=800 "clip_image014")](http://lh4.ggpht.com/-W7ZAW-A3A1U/Tjw7ktItbXI/AAAAAAAAAHI/fOOwGLvCodM/s1600-h/clip_image014%25255B4%25255D.png)

W tym artykule stworzymy elektroniczny formularz, który umożliwi użytkownikom biznesowym rejestrowanie darowizn i wprowadzanie danych o nowych darczyńcach dla fikcyjnej organizacji charytatywnej o nazwie Green Planet Fund. Nowy format plików PXF firmy Altova jest ogromnym ułatwieniem zarówno dla programistów, jak i dla użytkowników końcowych – plik PXF można transportować, pobierać, kopiować i zapisywać, podobnie jak każdy inny dokument biurowy, co zwiększa zarówno efektywność, jak i minimalizuje ryzyko błędów podczas wdrażania. Programiści nie muszą już przesyłać ani instalować wielu plików, ani tworzyć aplikacji serwerowej, aby obsługiwać daną funkcjonalność, a użytkownicy biznesowi mogą szybko i niezawodnie udostępniać kluczowe informacje. Jest to szczególnie ważne w organizacjach rozproszonych, gdzie dane biznesowe muszą być przesyłane drogą elektroniczną między różnymi lokalizacjami lub między pracownikami terenowymi a ich odpowiednikami w centrali. Plik PXF, który obsługuje elektroniczne formularze zaprojektowane w StyleVision i edytowane przez użytkowników biznesowych w Authentic, sprawia, że edycja danych biznesowych jest niezwykle prosta. W większości przypadków dane biznesowe będą bezpośrednio zawarte w pliku PXF jako osadzony dokument XML, ale możliwe jest również połączenie pliku PXF z serwerem bazy danych i przechowywanie danych bezpośrednio w bazie danych, jak pokazuje poniższy przykład.

W tym przykładzie użyjemy programu StyleVision do stworzenia formularza elektronicznego, w którym użytkownicy będą rejestrować darowizny i dodawać nowych darczyńców dla fikcyjnego funduszu Green Planet. Końcowi użytkownicy korzystają z tych formularzy w edytorze Authentic [WYSIWYG](https://www.altova.com/pl/authentic.html), który jest zaawansowanym interfejsem przypominającym edytor tekstu i umożliwia użytkownikom dodawanie, przeglądanie i aktualizowanie treści XML oraz danych z baz danych. Po kliknięciu opcji Plik, Nowy z bazy danych w programie StyleVision, uruchomiony zostaje kreator połączenia. Po prostu wybierz typ bazy danych – zostaniesz poproszony o wskazanie lokalizacji źródła. 

[![Obrazek](https://lh3.ggpht.com/--jKT2liOD_k/Tjw7e18n_rI/AAAAAAAAAFw/Ndts9-22PUY/clip_image001_thumb%25255B1%25255D.gif?imgmax=800 "clip_image001")](http://lh4.ggpht.com/-zsLKZuLLC5g/Tjw7er1VH7I/AAAAAAAAAFs/dn9KgVKrVfc/s1600-h/clip_image001%25255B4%25255D.gif) 

W tym miejscu zidentyfikowano bazę danych DonorsDatabase, która znajduje się na serwerze MARKETING006SQLEXPRESS. Łańcuch połączenia jest automatycznie zapisywany wraz z plikiem projektu i odzyskiwany za każdym razem, gdy użytkownik biznesowy uzyskuje dostęp do formularza w systemie Authentic. Baza danych jest aktualizowana o informacje, które użytkownik biznesowy wprowadza w formularzu w systemie Authentic. 

[![Obrazek](https://lh5.ggpht.com/-I5IhjtJd3NI/Tjw7fn_S86I/AAAAAAAAAF4/_Yo7X_PybXs/clip_image002_thumb%25255B1%25255D.gif?imgmax=800 "clip_image002")](http://lh3.ggpht.com/-RKdQqTJATKo/Tjw7fQbBOOI/AAAAAAAAAF0/jVtTgHKDcOE/s1600-h/clip_image002%25255B4%25255D.gif) 

Po nawiązaniu połączenia, w oknie dialogowym "Wstawianie obiektów bazy danych" można wybrać tabele, widoki danych, a nawet instrukcje SQL SELECT. 

[![Obrazek](https://lh4.ggpht.com/-ADs0U5zltTM/Tjw7gNibz_I/AAAAAAAAAGA/M3pExZ7uJHA/clip_image003_thumb%25255B1%25255D.gif?imgmax=800 "clip_image003")](http://lh4.ggpht.com/-N1JaZsDiE80/Tjw7f13IRzI/AAAAAAAAAF8/ug8IDN7khMk/s1600-h/clip_image003%25255B4%25255D.gif) 

W tym przykładzie dodaliśmy instrukcję SQL SELECT (poniżej), która łączy tytuł darczyńcy, imię i nazwisko, a także oblicza łączną kwotę przekazaną przez każdego darczyńcę. Po kliknięciu przycisku "Dodaj instrukcję SELECT", instrukcja SQL SELECT staje się dostępna w projekcie StyleVision, jak widać powyżej. 

[![Obrazek](https://lh6.ggpht.com/-AU4MuFoCB1I/Tjw7g4wSPZI/AAAAAAAAAGI/7LVJOALjBJk/clip_image004_thumb%25255B1%25255D.gif?imgmax=800 "clip_image004")](http://lh6.ggpht.com/-YaRHyvwpp74/Tjw7gsAjXSI/AAAAAAAAAGE/6Av7pLg3Cto/s1600-h/clip_image004%25255B4%25255D.gif) 

Prosimy pamiętać, że do stworzenia naszego zapytania SQL wykorzystaliśmy narzędzie Altova [DatabaseSpy](https://www.altova.com/pl/databasespy.html), które służy do wykonywania zapytań, projektowania i porównywania baz danych. Chociaż można eksportować dane z edytora SQL w programie DatabaseSpy do różnych formatów, w tym przykładzie po prostu skopiowaliśmy instrukcję SELECT z DatabaseSpy do okna w oknie dialogowym SQL SELECT w programie StyleVision. StyleVision generuje tymczasowy schemat XML na podstawie struktury bazy danych i wyświetla go w oknie schematu. Należy zauważyć, że zarówno tabele "Contributions" i "Donors", jak i nasze zapytanie SQL SELECT pojawiają się w drzewie schematu. 

[![Obrazek](https://lh6.ggpht.com/-M0Zpte_mFr4/Tjw7hDXpTTI/AAAAAAAAAGQ/osu0zMEpHLU/clip_image005_thumb%25255B1%25255D.gif?imgmax=800 "clip_image005")](http://lh5.ggpht.com/-q534_fkPkW0/Tjw7g7HF4eI/AAAAAAAAAGM/gaDBCjGZksw/s1600-h/clip_image005%25255B4%25255D.gif) 

Podczas tego procesu transformacji, StyleVision tworzy wewnętrzne pliki XML – jeden, który nie jest edytowalny i służy do podglądów, oraz plik XML będący źródłem generowanych danych, a także edytowalny plik XML, który zapisuje zmiany z powrotem do bazy danych. Teraz, gdy już zdefiniowaliśmy i zapisaliśmy ciąg połączenia z bazą danych, możemy przystąpić do projektowania formularza elektronicznego, który Green Planet Fund będzie wykorzystywać do dodawania nowych darczyńców i rejestrowania wpłat. W tym przykładzie utworzyliśmy dwie proste tabele w StyleVision – jedną do rejestrowania wpłat, a drugą do wyszukiwania i dodawania darczyńców. (Należy pamiętać, że nasz przykład służy wyłącznie do celów ilustracyjnych i pokazujemy tylko niewielką próbkę pól, które zwykle umieszczamy w rzeczywistej aplikacji. Funkcjonalność jest również znacznie mniej zaawansowana niż w rzeczywistym projekcie.) W naszym projekcie wykonaliśmy następujące czynności:
*   Utworzyliśmy fragment projektu zawierający tabelę do wprowadzania danych o nowych darczyńcach oraz tabelę zawierającą listę zarejestrowanych darczyńców, która jest dynamicznie aktualizowana.
*   Dodaliśmy pole wyboru, które po zaznaczeniu wyświetla tabelę zarejestrowanych darczyńców oraz tabelę do wprowadzania danych z fragmentu projektu.
*   Zmodyfikowaliśmy właściwości "Authentic" tabeli zarejestrowanych darczyńców, aby pobierać wszystkie rekordy.
*   Zmodyfikowaliśmy właściwości "Authentic" tabeli do wprowadzania danych, aby pobierać tylko jeden rekord, co ułatwia wprowadzanie danych.
*   Użyliśmy XPath do połączenia tytułu, imienia i nazwiska każdego darczyńcy w tabeli zarejestrowanych darczyńców, używając funkcji `normalize-space` do usunięcia wszystkich odstępów.
*   Użyliśmy formatowania wartości (patrz poniżej) do formatowania daty wpłaty – to również pozwala użytkownikowi końcowemu edytować datę za pomocą interfejsu kalendarza w module "Authentic".

[![Obrazek](https://lh3.ggpht.com/-WBtD8wC1X8k/Tjw7hv0kNsI/AAAAAAAAAGY/yPdY_-h1B5Y/clip_image006_thumb%25255B1%25255D.gif?imgmax=800 "clip_image006")](http://lh6.ggpht.com/-2J43TgS-Wck/Tjw7hbQIDVI/AAAAAAAAAGU/R2vN3B-o47E/s1600-h/clip_image006%25255B4%25255D.gif) 

Należy zauważyć, że fragment projektu o nazwie "DonorList" jest umieszczony wewnątrz znaczników DB i reprezentowany jako pojedynczy element. Sam fragment projektu znajduje się na dole projektu. 

[![Obrazek](https://lh6.ggpht.com/-zMJhaGKardQ/Tjw7ia5MEfI/AAAAAAAAAGg/qVcF1LzPIhA/clip_image008_thumb%25255B1%25255D.jpg?imgmax=800 "clip_image008")](http://lh3.ggpht.com/-5Hfw7IROWSs/Tjw7h-hfOUI/AAAAAAAAAGc/SPCBBIqtQf4/s1600-h/clip_image008%25255B4%25255D.jpg) 

Kliknięcie zakładek znajdujących się obok zakładki "Projekt" spowoduje wyświetlenie raportu w różnych formatach. Poniżej prezentujemy wersję "Autentyczną". 

[![Obrazek](https://lh3.ggpht.com/-2oHQJRTtPpk/Tjw7i3vnx8I/AAAAAAAAAGs/zq975fjuWY0/clip_image010_thumb%25255B1%25255D.jpg?imgmax=800 "clip_image010")](http://lh3.ggpht.com/-Bp8eCYz6YkA/Tjw7ipq04jI/AAAAAAAAAGo/Px7_p09CpoA/s1600-h/clip_image010%25255B4%25255D.jpg) 

Należy zauważyć, że projekt jest nadal w standardowym formacie SPS (greenplanetdonorsII.sps) – teraz jesteśmy gotowi, aby zapisać go jako plik PXF, dzięki czemu można go przesłać e-mailem do klienta i natychmiast wdrożyć po otrzymaniu. Po wybraniu opcji "Plik" -> "Zapisz jako" z górnego menu, można wybrać, czy zapisać projekt w formacie SPS, czy PXF. 

[![Obrazek](https://lh6.ggpht.com/-QGjpsv_YTb0/Tjw7jXLsw2I/AAAAAAAAAG0/bfwIq5kRYrY/clip_image011_thumb%25255B1%25255D.gif?imgmax=800 "clip_image011")](http://lh6.ggpht.com/-u1a_y36ZKtU/Tjw7jIIJvyI/AAAAAAAAAGw/wmFK7BjDTuk/s1600-h/clip_image011%25255B4%25255D.gif) 

Po wybraniu opcji "Zapisz jako plik PXF", zostaniesz poproszony o wybranie plików, które mają zostać wbudowane w plik PXF. Wszystkie pliki obsługiwane przez program StyleVision są automatycznie dostępne w oknie dialogowym. 

[![Obrazek](https://lh6.ggpht.com/-vpOBRt6UyJg/Tjw7j6ES3CI/AAAAAAAAAG8/MVs3FvpCPks/clip_image012_thumb%25255B1%25255D.gif?imgmax=800 "clip_image012")](http://lh6.ggpht.com/-3IrvEz_cueo/Tjw7jnXnA4I/AAAAAAAAAG4/dSqKcaCn3A8/s1600-h/clip_image012%25255B4%25255D.gif) 

W tym miejscu sprawdziliśmy wszystkie elementy projektu, a także pliki XSLT. Dzięki temu użytkownicy końcowi będą mogli generować dane w każdym z tych formatów bezpośrednio z formularza zaprojektowanego w StyleVision, korzystając z programu Authentic. Należy pamiętać, że istnieje również możliwość dołączenia dodatkowych plików. Chociaż ten projekt nie wymaga innych plików, ta funkcja znacznie ułatwia przesyłanie i wdrażanie projektów, które wymagają wielu plików. Teraz można przesłać plik PXF, który właśnie utworzyliście, do klienta. Wszystkie pliki projektu, a także ciąg połączenia z bazą danych, są zawarte w pliku PXF, dzięki czemu, po otwarciu go przez użytkownika końcowego w programie Authentic, może on od razu rozpocząć przeglądanie, edytowanie i wprowadzanie danych. Aby utworzyć nowy rekord w programie Authentic, umieść kursor w jednym z pól w tabeli "Wpisy" na formularzu i kliknij przycisk "Dodaj wiersz" na pasku narzędzi. (Alternatywnie, można wybrać opcję "Authentic – Dodaj wiersz" z górnego menu.) 

[![Obrazek](https://lh5.ggpht.com/-Ayja1Iksf2w/Tjw7kRarnPI/AAAAAAAAAHE/7b_UXrTpD8Q/clip_image013_thumb%25255B1%25255D.gif?imgmax=800 "clip_image013")](http://lh6.ggpht.com/-JEQlq12xldY/Tjw7kA11yuI/AAAAAAAAAHA/_2zc5z0NG_E/s1600-h/clip_image013%25255B4%25255D.gif) 

Teraz użytkownik biznesowy może wprowadzać dane (nowe dane są wyróżnione pogrubieniem) 

[![Obrazek](https://lh3.ggpht.com/-EYWr_SBTj64/Tjw7lF3a0qI/AAAAAAAAAHM/4hS3Bm8VYxQ/clip_image014_thumb%25255B1%25255D.png?imgmax=800 "clip_image014")](http://lh4.ggpht.com/-W7ZAW-A3A1U/Tjw7ktItbXI/AAAAAAAAAHI/fOOwGLvCodM/s1600-h/clip_image014%25255B4%25255D.png) 

...or nowych darczyńców. 

[![Obrazek](https://lh5.ggpht.com/-mTCdNUilMJI/Tjw7l-G9cnI/AAAAAAAAAHU/DfWjVK0EzCw/clip_image015_thumb%25255B1%25255D.gif?imgmax=800 "clip_image015")](http://lh3.ggpht.com/-4DlCOz_rB0w/Tjw7lVIVLjI/AAAAAAAAAHQ/y50yklmfJLw/s1600-h/clip_image015%25255B4%25255D.gif) 

Należy pamiętać, że w bazie danych SQL Server, identyfikator darczyńcy (Donor ID) jest polem generowanym automatycznie. Po tym, jak użytkownik kliknie "Plik" -> "Zapisz" w menu głównym, nowe dane są przesyłane do bazy danych, baza danych generuje numer identyfikacyjny, a nowe dane są wpisywane do pozostałych tabel formularza. (Jak widać powyżej, dane są wpisywane w czasie rzeczywistym). Zmiany i dodatki są natychmiast zapisywane w bazie danych. Poniższy widok bazy danych SQL Server pokazuje, że Edward i Julie Jay, których właśnie dodaliśmy do formularza, otrzymali identyfikator darczyńcy o numerze 18. 

[![Obrazek](https://lh3.ggpht.com/-5HjV2YQ5Y1Y/Tjw7mWtNNVI/AAAAAAAAAHg/Pxc9XKS0jj0/clip_image017_thumb%25255B2%25255D.png?imgmax=800 "clip_image017")](http://lh3.ggpht.com/-EQRAkypnY1k/Tjw7mBLKEWI/AAAAAAAAAHY/-J7C4nwoa-U/s1600-h/clip_image017%25255B5%25255D.png) 

Chociaż nie uwzględniliśmy tego w tym przykładzie, formularz można zaprojektować tak, aby generował komunikat o błędzie, gdy użytkownik próbuje zapisać nowego darczyńcę bez podania przynajmniej imienia i nazwiska. Można to osiągnąć za pomocą XPath w dodatkowej właściwości walidacji właściwości "Authentic" lub poprzez utworzenie ograniczenia w bazie danych SQL Server. Ten przykład został zaprojektowany, aby pokazać, jak łatwo jest tworzyć i wdrażać interaktywne formularze. Elektroniczne formularze zaprojektowane w StyleVision zawsze były doskonałym sposobem na aktualizację zarówno zawartości XML, jak i bazy danych – plik PXF po prostu ułatwia ich transport i wdrażanie.




