Przejdź do głównej zawartości

Mapowanie do/z XML i XSD


Platforma umożliwia mapowania własnych struktur danych drzewiastych do/z XML (dla danych) i XSD (dla schematów). Ponieważ pełne możliwości XML/XSD są bardzo rozległe, mamy tu do dyspozycji trzy tryby odwzorowania: pełne, skrótowe i hybrydowe.

  1. Odwzorowanie skrótowe reprezentuje rekordy jako sekwencje (lub dowolne listy xsd:all) elementów, a pola z wartościami jako atrybuty lub elementy z prostą zawartością. Kolejność wynika wprost z kolejności w schemacie platformy. Przestrzeń nazw jest pusta lub skonfigurowana raz na poziomie bloczka. Podejście takie pozwala na szybkie prototypowanie lub tworzenie nieskomplikowanych schematów dla prostych danych.
  2. Na drugim biegunie jest odwzorowanie pełne, które wymaga dla każdego rekordu i pola określenia adnotacji Odwzorowanie do XML, w której podajemy nazwę i przestrzeń elementu/atrybutu XML, rodzaj tzw. "partykuły" XSD lub inne szczegóły odwzorowania (np. lista wartości prostych, zawartość tekstowa, wybór jednej z możliwości, derywacje typów, itd), oznaczamy typowanie lokalne lub globalne, a także dokładny porządek dzieci, zwykle różny od wynikającego z ułożenia w schemacie platformy. Elementy niewskazane w tym porządku będą wówczas ignorowane z punktu widzenia XML.

Specyfikowanie tych wszystkich informacji za każdym razem byłoby niepraktyczne, dlatego istnieje też tryb hybrydowy, w którym jedne fragmenty drzewa są obsługiwane w trybie prostym, a inne w trybie pełnym (o ile występują na nim adnotacje XML).

Mapowanie do/z XML/XSD jest wykorzystywane np. w następujących miejscach platformy:

  1. bloczek zapisu do typowanego XML, w którym należy najpierw załadować plik (lub pliki z odniesieniami zewnętrznymi) XSD i na tej podstawie przygotować szablon głównego dokumentu oraz jego fragmentów-list,
  2. bloczek odczytu i zapisu prostego XML, w który można posługiwać się fragmentami odwzorowania szczegółowego XML lub pozostać przy trybie prostym,
  3. bloczki Żądania i Odpowiedzi SOAP, w których schemat danych jest zamieniany na fragmenty specyfikacji WSDL usługi,
  4. bloczek wywoływania zewnętrznych usług SOAP, w którym ładujemy WSDL (z dysku lub sieci) i po wskazaniu operacji przygotowujemy szablony danych wejściowych (do wypełnienia przed wywołaniem) usługi oraz ewentualnie wyjściowych (podmienianych w wyniku żądania typu zapytanie).
wskazówka

W związku z rozległym zagadnieniem jakim jest XSD jeśli chodzi o zapoznanie się z pełnymi możliwościami odwzorowania XSD należy zaznajomić się z zewnętrzną dokumentacją XSD.

Adnotacja Odwzorowanie XML wyświetla się w drzewie schematu w postaci ikony symbolizującej XML <> oraz skrótowego opisu, podpowiadającego z czym mamy do czynienia (opakowanie specjalne, element czy atrybut). Dla przejrzystości nazwa jest wyświetlana tylko jeśli jest inna niż ta w schemacie platformy. Podobny skrót ma miejsce dla przestrzeni nazw XML - zobaczymy ją tylko jeśli jest inna niż w rodzicu. Oczywiście po zaznaczeniu węzła wszystkie szczegóły są dostępne w zakładce Szczegóły. Co ciekawe, pomiędzy XSD, a opisem schematu platformy jest przenoszona nie tylko struktura danych, ale także opisy, wyrażenia regularne zawężające dane, listy wartości dopuszczalnych oraz ograniczenia pojedynczych opcji (XmlSchemaChoice). Pozwala to wprost przenieść schemat do bloczka generatora danych losowych i uzyskać dane testowe spełniające większość ograniczeń danego XSD.

Pic 232

Zobacz również​

Testy GUI

Bloczki

Zadania