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.

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ý súbor XML po konverzii pomocou XSLT šablóny:


        1001
        Test, s.r.o.
        31658768
        2225557779
        SK2225557779
        Pobočka
        12365478901
        Pod mostom 138/2
        058 01
        Poprad
    
    .
    .
Prehľad ochrany osobných údajov

Táto webová stránka používa súbory cookie, aby sme vám mohli poskytnúť čo najlepší používateľský zážitok. Informácie o súboroch cookie sú uložené vo vašom prehliadači a vykonávajú funkcie, ako je vaše rozpoznanie, keď sa vrátite na našu webovú stránku, a pomoc nášmu tímu pochopiť, ktoré časti webovej stránky považujete za najzaujímavejšie a najužitočnejšie.