XML komunikácia
Jednou z komfortných možností, ako exportovať údaje z OBERON-u, alebo naopak, importovať do OBERON-u, je využitie XML komunikácie. Ide o výmenu súborov vo formáte XML, v ktorých sú uložené prenášané údaje. Najčastejšie sa exportujú/importujú údaje dokladov ako faktúra, objednávka, výdajka a pod.
Výmena XML dokumentov môže prebiehať v rámci jednej firmy (napr. pri viacerých pobočkách), ďalej medzi rôznymi účtovnými jednotkami, ktoré používajú OBERON (teda rovnaký softvér) a nakoniec aj medzi rôznymi účtovnými jednotkami používajúcimi rozdielny účtovný (skladový) softvér.
Pri XML komunikácii sa importujú/exportujú súbory vo formáte XML, ktoré sú pre OBERON presne špecifického a daného formátu (ide o tzv. natívny formát OBERON XML). Aby OBERON vedel importovať údaje z iného systému s rozdielnou štruktúrou XML súboru, existuje možnosť pred samotným importom automaticky vykonať konverziu (transformáciu) týchto údajov. Konverziu údajov je možné vykonať niekoľkými spôsobmi, pričom najčastejšie je to pomocou XSLT transformačných šablón. Obdobne je možné postupovať aj pri exporte údajov.
Schématický diagram exportu údajov
Schématický diagram importu údajov
Transformačné XSL šablóny (XSLT)
Transformačné šablóny sú súčasťou jazyka XSL (eXtensible Stylesheet Language) slúžiaceho na tvorbu štýlov zobrazenia k súborom XML. XSL transformačné šablóny (XSLT) primárne slúžia na prevod dát vo formáte XML do formátu HTML na prehľadné zobrazenie dát používateľovi. Využívajú sa však aj na prevod medzi rôznymi štruktúrami XML, prípadne aj inými textovými formátmi, medzi ktoré najčastejšie patria napríklad CSV súbory, prípadne súbory tabuľky XML pre Microsoft Excel a iné.
V systéme OBERON je možné využiť XSLT šablóny na import alebo export údajov z iných systémov s rozdielnou štruktúrou komunikácie pomocou XML súborov. Pred importom alebo po exporte je možné vykonať konverziu XML dát pomocou transformačnej šablóny a zabezpečiť tak kompatibilitu dát pre jednotlivé systémy.
- Vzorové XSLT šablóny použiteľné na konverziu XML súborov v sekcii na stiahnutie:
https://exalogic.sk/na-stiahnutie/oberon-agenda-firmy/xml-komunikacia-subory/ - Bližšie informácie o XSLT šablónach je možné získať na týchto stránkach:
http://www.whoishostingthis.com/resources/xslt/
Príklad zdrojovej XML štruktúry:
<?xml version="1.0" encoding="UTF-8"?> </BusinessPartners> <BusinessPartner IDNum="1001"> <Name>Test, s.r.o.</Name> <IdentificationNumber>31658768</IdentificationNumber> <IdentificationNumber_Tax>2225557779</IdentificationNumber_Tax> <IdentificationNumber_VAT>SK2225557779</IdentificationNumber_VAT> <Branch_Name>Pobočka</Branch_Name> <CustomsOffice_Number_SBL>12365478901</CustomsOffice_Number_SBL> <Address_Residence> <Street_Name_Full>Pod mostom 138/2</Street_Name_Full> <Postal_Code>058 01</Postal_Code> <City>Poprad</City> </Address_Residence> </BusinessPartner> . . </BusinessPartners>
XSLT transformačná štruktúra:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <partneri_zoznam> <!-- XPath výraz pre výber požadovaných položiek zo štruktúry XML a prechádzanie všetkými elementmi typu 'BusinessPartner' nachádzajúcimi sa v otcovskom elemente 'BusinessPartners' zdrojovej XML štruktúry --> <xsl:for-each select="BusinessPartners/BusinessPartner"> <partner> <!-- mapovanie vlastností pôvodného xml do novej štruktúry --> <!-- znak '@' pred identifikátorom 'IDNum' znamená načítanie hodnoty atribútu --> <identifikator><xsl:value-of select="@IDNum"/></identifikator> <nazov><xsl:value-of select="Name"/></nazov> <ico><xsl:value-of select="IdentificationNumber"/></ico> <dic><xsl:value-of select="IdentificationNumber_Tax"/></dic> <ic_dph><xsl:value-of select="IdentificationNumber_VAT"/></ic_dph> <pobocka_nazov><xsl:value-of select="Branch_Name"/></pobocka_nazov> <cislo_sbl><xsl:value-of select="CustomsOffice_Number_SBL"/></cislo_sbl> <!-- vnorenie do hlbšej úrovne pomocou znaku '/' --> <sidlo_ulica> <xsl:value-of select="Address_Residence/Street_Name_Full"/> </sidlo_ulica> <sidlo_psc><xsl:value-of select="Address_Residence/Postal_Code"/></sidlo_psc> <sidlo_obec><xsl:value-of select="Address_Residence/City"/></sidlo_obec> </partner> </xsl:for-each> </partneri_zoznam> </xsl:template>
Výsledný XML súbor po vykonaní konverzie pomocou XSLT šablóny:
. . 1001 Test, s.r.o. 31658768 2225557779 SK2225557779 Pobočka 12365478901 Pod mostom 138/2 058 01 Poprad