# XML-Mapping

### XML-Mapping

Konwertuj dane XML- Mapowanie komponentów za pomocą przeciągania i upuszczania
- Obsługuje modele treści XML Schema i DTD
- Generuje schemat XML na podstawie dokumentu przykładowego
- Biblioteki XSLT 1.0/2.0/3.0 oraz funkcje przetwarzania danych

- Obsługa cyfrowych podpisów XML 
- Obsługa symboli wieloznacznych w XML (xs:any i xs:anyAttribute)
- Obsługa komentarzy i instrukcji przetwarzania
- Konwersja plików XML za pomocą XSLT

## Tworzenie mapowania XML

MapForce obsługuje mapowania XML oparte na modelach treści XML Schema lub DTD. Aby utworzyć mapowanie XML, wystarczy załadować dwa lub więcej schematów do MapForce i przeciągnąć linie łączące między węzłami źródła i celu. Obsługa treści mieszanych umożliwia również mapowanie danych tekstowych, które są przeplatane z danymi XML.

Jeśli nie posiadają Państwo powiązanej definicji schematu dla dokumentu instancji XML, MapForce automatycznie generuje schemat XML na podstawie tego dokumentu.

[MapForce: Narzędzie do mapowania danych XML](https://www.altova.com/images/mapforce-xml-mapping-example.png)

MapForce obsługuje.. [zaawansowane transformacje XML](any-to-many-chained-mapping.md) między wieloma schematami wejściowymi i wyjściowymi, wieloma plikami źródłowymi i/lub docelowymi, lub zaawansowanymi transformacjami danych wykonywanymi w wielu etapach (od schematu do schematu, i tak dalej)

Po zdefiniowaniu mapowania XML oraz zasad przetwarzania danych, można załadować plik źródłowy, a wbudowany silnik przetwarzania MapForce natychmiast przekształci dane do nowego formatu.

MapForce automatycznie generuje arkusze stylów XSLT w wersjach 1.0, 2.0 lub 3.0, które służą do transformacji danych w wielu dokumentach XML, zgodnie ze schematem źródłowym, aby dopasować je do docelowego schematu XML.

Dowiedz się, jak konwertować pliki XML do formatu XML oraz do innych formatów za pomocą programu MapForce

[Oto krótki przegląd konwersji z formatu XML do XML w programie MapForce](https://www.youtube.com/watch?v=t9mcb5eEX6g)

Oprócz mapowania XML, MapForce obsługuje również.. [mapowanie dowolnej kombinacji](mapforce.md) do tworzenia aplikacji do integracji danych lub usług internetowych, wykorzystując dane w formatach XML, JSON, PDF, baz danych, EDI, XBRL, plików tekstowych, Excela, Protobuf oraz/lub danych z usług internetowych.

## Wyświetlanie wyników mapowania XML

Podczas projektowania mapowania XML, wbudowany silnik MapForce umożliwia przeglądanie i zapisywanie automatycznie generowanego kodu XSLT 1.0, XSLT 2.0, XSLT 3.0 lub XQuery za pomocą jednego kliknięcia. Można również kliknąć zakładkę "Wynik", aby zobaczyć rzeczywisty wynik generowany przez mapowanie XML.

Poniższy zrzut ekranu przedstawia wynik w formacie XML oraz wygenerowany arkusz stylów XSLT 2.0, który odpowiada mapowaniu XML przedstawionemu powyżej.

[Wynik mapowania XML w MapForce](https://www.altova.com/images/mapforce-xml-mapping-output.png)

## Mapowanie XML z wykorzystaniem podpisów cyfrowych

Podpisy cyfrowe to specyfikacja W3C, która umożliwia cyfrowe podpisywanie dokumentów XML za pomocą zaszyfrowanego kodu, który może być użyty do weryfikacji, czy dokument XML nie został zmieniony. Funkcja podpisywania XML w MapForce obsługuje tylko certyfikaty typu RSA-SHA1 i DSA-SHA1. 

MapForce umożliwia tworzenie cyfrowych podpisów XML dla plików wyjściowych w formatach XML i XBRL. Podpis jest generowany dla pliku wynikowego po naciśnięciu przycisku "wygeneruj", a plik wynikowy z podpisem może zostać zapisany.

Podpisy cyfrowe mogą być umieszczane jako ostatni element generowanego dokumentu lub przechowywane w oddzielnym pliku podpisu.

- Jeśli opcja "Enveloped" (Zawarte) jest wybrana, to podpis jest ostatnim elementem potomnym znajdującym się pod elementem głównym pliku XML.
- Jeśli opcja "Oddzielny" jest wybrana, plik podpisu zostanie wygenerowany jako oddzielny dokument.

Obrazek po prawej stronie przedstawia podpis cyfrowy umieszczony na końcu pliku wynikowego, wygenerowany przy użyciu opcji "enveloped".

[MapForce: mapowanie XML z wykorzystaniem podpisów cyfrowych](https://www.altova.com/images/mapforce-xml-mapping-digital-signature.png)

### Poprawność dokumentu XML {#valid}

Jeśli podpis XML jest osadzony w dokumencie XML, do dokumentu dodawany jest element "Signature" w przestrzeni nazw http://www.w3.org/2000/09/xmldsig#. Aby dokument pozostał ważny zgodnie ze schematem, schemat musi zawierać odpowiednie definicje elementów. Jeśli nie chcemy modyfikować schematu dokumentu XML, podpis XML można utworzyć w oddzielnym pliku, korzystając z opcji "odłączony" (detached). 

## Obsługa symboli wieloznacznych w plikach XML

Element `<xs:any>` oraz `<xs:anyAttribute>` w schemacie XML umożliwiają umieszczenie dowolnego nowego elementu lub atrybutu w odpowiednim miejscu w dokumencie instancji XML, nawet jeśli ten nowy element lub atrybut nie jest zdefiniowany w schemacie XML. Jest to znane jako "symbol wieloznaczny" w XML i jest popularnym mechanizmem, który pozwala na pewien stopień dostosowania w wielu schematach XML, obsługujących standardy branżowe w szerokim zakresie działalności.

MapForce obsługuje elementy `<xs:any>` i atrybuty `<xs:anyAttribute>`, umożliwiając mapowanie danych na wyjście w formacie XML lub w dowolnym innym formacie. Przycisk wyboru znajdujący się obok elementów `<xs:any>` lub `<xs:anyAttribute>` w komponencie wejściowym mapowania XML otwiera okno dialogowe wyboru symboli wieloznacznych.

Element `<xs:any>`, a także `<xs:anyAttribute>`, są powszechnie używane w projektowaniu schematów XML, a wsparcie dla nich w MapForce było często żądane przez użytkowników.

## Mapowanie danych XML do i z baz danych

MapForce oferuje zaawansowane wsparcie dla.. [mapowanie baz danych](database-mapping.md)...w tym mapowanie danych z dowolnych baz danych na formaty XML, pliki tekstowe, EDI, Excel (OOXML), XBRL, usługi internetowe, a nawet inne formaty baz danych.

Po załadowaniu struktury bazy danych do okna projektowania, MapForce automatycznie interpretuje schemat bazy danych, umożliwia wybór dostępnych tabel i widoków bazy danych oraz rozpoznaje relacje między tabelami.

[MapForce: Mapowanie baz danych](https://www.altova.com/images/mapforce_database_mapping.png)

Po załadowaniu wszystkich plików XML i innych modeli danych wymaganych do mapowania bazy danych, należy dokończyć proces mapowania, po prostu przeciągając linie łączące elementy źródłowe i docelowe.

Wspierany **Bazy danych relacyjne**:

- Firebird
- IBM DB2 for iSeries®
- IBM DB2®
- Informix®
- MariaDB
- Microsoft Access™
- Microsoft® Azure SQL
- Microsoft® SQL Server®
- MySQL®
- Oracle®
- PostgreSQL
- Progress OpenEdge
- SQLite
- Sybase® ASE
- Teradata

Wspierany **Bazy danych NoSQL**:

- MongoDB
- CouchDB

MapForce obsługuje wszystkie popularne bazy danych relacyjnych, a także popularne bazy danych NoSQL, umożliwiając tworzenie graficznych mapowań danych między źródłami danych w bazach danych, funkcjami przetwarzania danych i filtrami, a także innymi strukturami danych różnego rodzaju.

Funkcje mapowania baz danych: 

- Wykonanie zapytań do baz danych we wszystkich popularnych systemach baz danych
- Mapowanie danych z dowolnego obsługiwanego typu bazy danych do dowolnego innego
- Określ ustawienia kluczy bazy danych
- Zdefiniuj operacje wykonywane na tabelach bazy danych
- Bezpośrednio wysyłaj zapytania do baz danych
- Połącz się z danymi XML i przypisz je do pól w bazie danych
- Sortowanie elementów wejściowych bazy danych

### Filtrowanie i przetwarzanie danych z baz danych {#processing}

Wiele mapowań baz danych wymaga manipulacji danymi między źródłem a celem, w oparciu o warunki logiczne lub instrukcje SQL i SQL/XML. Może być konieczne wykonanie porównań logicznych, obliczeń matematycznych lub operacji na łańcuchach znaków, sprawdzenie, czy dane w bazie zawierają określone wartości, oraz wprowadzenie innych modyfikacji danych. Na powyższym zrzucie ekranu, funkcje przetwarzania danych są przedstawione jako pola znajdujące się pomiędzy liniami łączącymi model danych źródłowych i docelowych.

Funkcje przetwarzania danych umożliwiają wykonywanie zaawansowanych mapowań baz danych w czasie rzeczywistym, spełniając różnorodne potrzeby transformacji danych. Można na przykład tworzyć mapowania baz danych, które wykorzystują wiadomości XML lub EDI do pobierania wierszy z bazy danych na podstawie kryteriów filtrowania zawartych w elementach XML lub EDI.

Mapowania baz danych na format XML generują dokument XML. Mapowania baz danych na pliki tekstowe mają na wyjściu pliki CSV lub pliki tekstowe o stałej długości. Mapowania baz danych na format EDI mogą generować wiadomości EDIFACT, X12 lub HL7. Mapowania baz danych na Excel generują format Office Open XML (OOXML). Mapowania na format XBRL generują raporty finansowe w formacie XBRL.

Mapowania XML do bazy danych generują pliki w postaci skryptów SQL (np. instrukcje SELECT, INSERT, UPDATE i DELETE), które są uruchamiane bezpośrednio w wybranej bazie danych, bez potrzeby opuszczania programu MapForce.

## Mapowanie danych w formacie XBRL

Extensible Business Reporting Language (XBRL) to język znaczników oparty na XML, służący do elektronicznego przesyłania danych biznesowych i finansowych.

MapForce umożliwia wykorzystanie taksonomii XBRL jako źródła lub celu mapowania, co pozwala na graficzną transformację danych księgowych z systemu backend do formatu zgodnego z wymaganiami, bez ryzyka utraty integralności semantycznej lub strukturalnej, a także umożliwia integrację danych raportowych w celu przeprowadzenia analiz finansowych.

[Mapowanie danych XBRL w programie MapForce](https://www.altova.com/images/mapforce_xbrl_mapping.png)

Możliwość mapowania plików wykonywalnych i generowania kodu w językach Java, C# lub C++ oznacza, że można również automatyzować konwersję danych finansowych na podstawie graficznego projektu mapowania. Dzięki temu proces składania publicznych danych finansowych staje się powtarzalny i łatwy do zarządzania, co pozwala na generowanie prawidłowych raportów XBRL zgodnie z wymaganiami, wykorzystując zmienne dane przechowywane w polach systemu księgowego.

### Tworzenie mapowań XBRL {#xbrl}

Aby stworzyć mapowanie XBRL w oparciu o istniejącą taksonomię, wystarczy wstawić strukturę swojej taksonomii do panelu projektowania MapForce. MapForce wyświetli graficzną reprezentację struktury pliku, przedstawiającą koncepcje taksonomii, hiperkostki, elementy abstrakcyjne, okresy, identyfikatory itp. za pomocą intuicyjnych ikon.

Komponent XBRL pobiera informacje strukturalne i semantyczne z powiązanych baz danych i prezentuje je w hierarchii, którą można łatwo interpretować, rozszerzać lub zawężać w zależności od potrzeb.

### Filtrowanie i przetwarzanie danych XBRL {#filter-xbrl}

MapForce oferuje elastyczne możliwości filtrowania i przetwarzania danych, wykorzystując zaawansowane funkcje przetwarzania oparte na warunkach logicznych lub modyfikując dane podczas konwersji z formatu źródłowego do formatu docelowego.

Na przykład, ponieważ dane w formacie XBRL są zasadniczo płaskie, często konieczne jest stosowanie funkcji grupowania, które łączą dane źródłowe w grupy, a następnie przetwarzają te grupy, aby przekształcić dane w strukturę hierarchiczną. Ułatwia to realizacja za pomocą funkcji grupowania dostępnych w bibliotece MapForce.

## Mapowania danych typu "jeden do wielu" oraz łańcuchowe

MapForce to niezwykle elastyczne narzędzie do mapowania danych XML, przeznaczone do złożonych projektów integracji i konwersji danych. Źródła i cele mapowania danych mogą mieć różne formaty, w tym dowolne kombinacje plików XML, baz danych, plików tekstowych, standardu EDI, arkuszy Excel, formatu XBRL, platform Shopify/GraphQL oraz usług internetowych. Mapowanie danych może polegać na przekształceniu jednego źródła do jednego celu, jednego źródła do wielu celów, wielu źródeł do jednego celu lub wielu źródeł do wielu celów, przy czym wszystkie te elementy mogą być w różnych formatach danych.

[MapForce: Łańcuchowe mapowanie](https://www.altova.com/images/mapforce_chained_mapping.png)

MapForce umożliwia integrację danych z wielu plików i źródeł danych, a także podział danych z jednego źródła na wiele wyników. Możliwość określenia wielu plików jest realizowana poprzez obsługę znaków wieloznacznych (np. ? lub *) w nazwach plików, poprzez określenie tabeli w bazie danych, sekwencji automatycznych numerów lub za pomocą innych metod. Ta funkcja jest bardzo przydatna w wielu scenariuszach integracji danych; na przykład, może być konieczne połączenie danych z kolekcji plików lub generowanie oddzielnych plików XML dla każdego rekordu w głównej tabeli w dużej bazie danych.

MapForce umożliwia również wykorzystanie nazw plików jako parametrów w projektach integracji danych. Dzięki temu można tworzyć dynamiczne mapowania, w których konkretne nazwy plików są definiowane w czasie działania programu.

### Mapowanie danych z powiązaniami {#chained}

Łańcuchowe transformacje umożliwiają tworzenie złożonych przekształceń, w których wynik jednego przekształcenia staje się wejściem dla kolejnego. Ta potężna funkcja zwiększa możliwości MapForce w zakresie wykonywania w pełni automatycznych transformacji. Każdy element w łańcuchu staje się modułową jednostką w sekwencji wzajemnie powiązanych transformacji, co pozwala na przeprowadzanie konwersji w czasie rzeczywistym.

Można tworzyć łańcuchy transformacji, łącząc dowolną liczbę komponentów mapujących z komponentem docelowym. Możliwe jest wyświetlanie lub generowanie podglądu i kodu dla komponentów pośrednich, a także dla końcowego wyniku mapowania.

## Automatyzacja procesu mapowania XML za pomocą serwera MapForce

Altova [MapForce Server](../mapforce-server.md) zawiera wbudowany silnik transformacji danych, opracowany dla MapForce, który został znacznie ulepszony, aby działać w środowiskach serwerowych. Serwer MapForce umożliwia.. [przekształcenia danych](mapforce.md#powerful) dla dowolnej kombinacji formatów XML, baz danych, EDI, XBRL, plików tekstowych, Excela, JSON, Protocol Buffers oraz usług internetowych, wykorzystując wstępnie przetworzone i zoptymalizowane mapowania danych przechowywane w plikach wykonywalnych, w oparciu o.. [mapowania danych zdefiniowane w programie MapForce](mapforce.md) MapForce Server przenosi transformację danych na wyższy poziom, oferując funkcje serwerowe, takie jak przetwarzanie równoległe i wielowątkowe, masowe wstawianie danych do baz SQL, wsparcie dla różnych platform oraz wiele innych.

Przetwarzanie wstępne umożliwia szybszą pracę i zmniejsza zużycie pamięci dla większości mapowań danych. Serwer MapForce działa pod kontrolą serwera FlowForce, może być uruchamiany w trybie autonomicznym z linii poleceń lub programowo za pomocą interfejsu API.

Po zaprojektowaniu i przetestowaniu mapowania XML w programie MapForce, można uruchomić je za pomocą serwera MapForce, aby automatyzować procesy biznesowe, które wymagają powtarzalnych przekształceń danych.

[Tworzenie pliku konfiguracyjnego serwera MapForce](https://www.altova.com/images/mapforce-server-execution-file.png)

MapForce wstępnie przetwarza i optymalizuje mapowania danych XML, przechowuje je w plikach wykonywalnych MapForce Server, które mogą być uruchamiane z linii komend za pomocą MapForce Server, oraz przesyła je do wykorzystania w zadaniach FlowForce Server.

Kiedy serwer MapForce działa pod kontrolą serwera FlowForce, mapowania danych są wykonywane jako etapy zadania w serwerze FlowForce, w oparciu o wyzwalacze zdefiniowane jako część tego zadania. Na przykład, nowy plik XML pojawia się w określonym katalogu, co uruchamia wieloetapowe zadanie w serwerze FlowForce. Najpierw plik jest weryfikowany za pomocą serwera RaptorXML+XBRL, a następnie serwer MapForce jest uruchamiany w celu wyodrębnienia określonych danych z pliku XML i wprowadzenia ich do bazy danych.


## Call to Action

[Pobierz teraz w pełni funkcjonalną, bezpłatną 30-dniową wersję próbną programu Altova MapForce!](download.md)
[Istniejący klienci mogą zaktualizować oprogramowanie do najnowszej wersji, korzystając z tej strony.](download.md)
[MapForce, teraz.](https://shop.altova.com/MapForce)

