Preskoči na glavno vsebino

XSLT transformácia

XSLT transformácia na konverziu XML formátov

Avtor: Petr Pech

Aby ABRA Flexi dokázala načítať a exportovať aj iné XML formáty ako ten natívny, možno použiť XSLT transformácie. Typicky sa tým rieši prevod dát z iného ekonomického systému alebo výstup vo formáte, ktorý očakáva nadväzujúca aplikácia.


Ako to funguje

Smer

Kedy sa transformácia použije

Import

Na XML z tela požiadavky sa najprv aplikuje XSLT transformácia a výsledné XML sa až potom importuje do ABRA Flexi.

Export

Najprv sa uplatní filter, stránkovanie a úroveň detailu; na výsledné XML sa potom aplikuje XSLT transformácia.

🚨 XSLT možno použiť iba v kombinácii s XML. S príponou .json volanie skončí chybou 400 a hlásením Content is not allowed in prolog.


Použitie v REST API

Transformácia sa vyberá parametrom format, v ktorom sa transformácia označí identifikátorom — buď skratkou s prefixom code:, alebo číselným ID:

GET https://demo.flexibee.eu/c/demo/faktura-vydana.xml?format=code:FAKTURY
GET https://demo.flexibee.eu/c/demo/faktura-vydana.xml?format=3

⚠️ Prefix code: je povinný — samotná skratka bez neho skončí chybou 400 a hlásením Neznámý formát '…' pro XSL transformaci. Rovnakú chybu dostanete aj pri transformácii, ktorá vo firme neexistuje.


Kde transformácie žijú

Používateľské transformácie sú uložené v evidencii xslt, takže sa s nimi dá pracovať aj cez API. Prehľad dostupných transformácií vypíšete takto:

GET https://demo.flexibee.eu/c/demo/xslt.json?detail=custom:id,kod,nazev

Vlastnosť

Povinná

Význam

kod

áno

Skratka, ktorú potom uvádzate v parametri format.

nazev

áno

Názov transformácie.

transformace

áno

Samotný XSLT predpis.

popis, poznam

nie

Popis a poznámka.

nazevA, nazevB, nazevC

nie

Názov v ďalších jazykoch (SK, EN, RO).

Ako transformácie zakladať a spravovať v aplikácii, popisuje článok Používateľské transformácie.

💡 Než transformáciu nasadíte do integrácie, overte si ju na jedinom zázname — ?limit=1 spolu s format= vráti malý výstup, na ktorom sa chyby v predpise hľadajú oveľa jednoduchšie.


Súvisiace

Ste s tem dobili odgovor na svoje vprašanje?