Tvorba transformačních procesů

V intranetu systému flexideo je možné tvořit základní transformační procesy. Někdy je však třeba poněkud složitějších provedení či jiných výstupních forem, které pomocí XSLT jsou možné, ale intranetové webové prostředí pro návrh transformací je neumožní. V takových případech je možné, máte-li dostatečné znalosti SQL, XML a XSLT, navrhnout si šablony a související tvorbu XML "ručně" a využít tak všech možností daných prostředí. Aby pak bylo možné navržené akce testovat a ladit, existuje v rámci programu flexideo replikátor dialog pro přípravu transformačních procedur a to pod následujícím odkazem:

Pod odkazem se skrývá hlavní dialogové okno se seznamem tvořených procedur, které vypadá takto:

V seznamu uvedného příkladu je zobrazena jediná transformační akce, která provádí vyhození libovolného typu dokumentu do koše. Takovouto transformaci, i když je jednoduchá, není možné v tomto rozsahu nastavit v intranetovém rozhraní pro transformační procesy. Důvod omezení je prostý. Webové rozhraní je pro tyto účely navrženo tak, aby bylo co nejsnáze použitelné a tedy co nejméně komplikované. Obecnost použití je vždy komplikace, neříká co a jak nejlépe udělat. Pro pochopení bude dobré uvést i stručnou šablonu, kterou je v případě nevyužití webového generátoru šablon třeba poskládat "ručně":

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:template match="/input">
<request>
<save-document>
<xsl:apply-templates select="pdk-list/item"/>
</save-document>
</request>
</xsl:template>
<xsl:template match="pdk-list/item">
<xsl:element name="{@type}">
<xsl:attribute name="dkey">
<xsl:value-of select="@pdk"/>
</xsl:attribute>
<x_common>
<deleted changed="true">true</deleted>
</x_common>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

XSLT z příkladu bylo uloženo do souboru make-save.xsl. Obsahuje dvě šablony, jednu výchozí založenou na kmenovém tagu vstupních dat /input a šablonu pomocnou pro každou položku, která má být vložena do koše: pdk-list/item. Zatímco první tvoří obálku s požadavkem na uložení dle protokolu požadavků a odpovědí serveru flexideo, druhá tvoří tag se jménem dokumentu který má být vyhazován na základě atributu type položky vstupního seznamu pdk-list (toto je právě onen obecný moment, který vám webový generátor transformací neumožní - viz. také popis pdk-list). Dále už následují pevně dané tagy obecné oblasti, kterou disponují všechny dokumenty, a která řídí mimo jiné i umístění v koši. Tolik k transformaci v příkladu, vraťme se k oknu pomocí kterého je možné tranformaci vytvořit.

Dialogové okno pro vlastní tvorbu transformačních procesů vedle seznamu již vytvořených obsahuje řízení jednoho zvoleného. Na levo od seznamu je tedy zobrazovaný název procesu, tedy nikoli QName procesu zobrazovaný v seznamu - ten je neměnný a po jeho vložení je možné jej pouze odstranit. Seznam je však ve skutečnosti tvořen na základě podsložek obsažených ve složce se soubory akcí pro kontrolu s navrženým XDS, jejíž umístění je dáno pracovními složkami aplikačního nastavení. Pod názvem je seznam kroků procedury. V příkladu je pouze jeden krok. Často jich bývá více a to především díky potřebě zadání doplňujících vstupních infromací od uživatele. V rámečku ve spodní části jsou informace, které se zobrazí v bublině v seznamu akcí při jejím spouštění a je zde dobré stručně a jasně popsat co daný proces provádí. Mezi seznamem kroků a těmito poznámkami jsou tlačítka pro manipulaci se seznamem kroků. Seznam neumožňuje měnit pořadí kroků, protože kroky většinou na sebe navazují a jejich nechtěné přehození by mohlo způsobit vážné potíže. Nicméně je možné předřadit nový krok na již exitující pozici, pokud tuto pozici v seznamu vyberete a pak dáte přidat. Budete dotázání, zda je požadovnáno předřazení nebo vložení na konec seznamu. Vedle tlačítek pro úpravu kroků je na pravé straně volba "» provést krok", která umožňuje jejich testování v praxi s tím, že vstupy, výstupy a použité dotazy se ukládají do samostatných souborů do podsložky developers umístěné ve složce transformace. Proto je dobré před finálním doladěním nedávat v prováděcím kroku volbu "odesílat na server" a požadavek k odeslání si nejprve prohlédnout v souboru. V praxi je pak možné na soubor vstupních dat použít některý z komerčních XSLT testerů pro doladění napsané šablony, pokud výsledek neodpovídá představě. Další možnost testování nabízí po přesunu a registraci procesu na serveru přímo webové prostředí intranetu. V přehledu, kde je možné akci použít zvolte nástroj pro spouštění akcí s ikonou šipky cmntools.runaction (na horní liště) pracovní plochy. Pokud je akce transformace zaregistrována správně, zobrazí se vámi zapsaný zobrazovaný název v seznamu akcí pro spuštění. V horní části tohoto dialogu je zatrhávací volba. Při jejím zatržení se budou zobrazovat ladící XML náhledy jak na vstupní data, tak na šablonu s aktuálním nastavením parametrů, tak také náhled na požadavky před jejich odesláním a pak také odpověď serveru. V každém z těchto kroků je pak možné akci tlačítkem storno přerušit. Pokud nechete v této fázi akci ještě zpřístupňovat ostatním, můžete si ji prozatím registrovat pouze pro sebe a zveřejnit ji později (viz. Registr akcí).

V dalším textu projdeme nastavení jednoho kroku transformace.


Nastavení kroku transformace

Nastavení kroku transformace jsou dostupné pomocí tlačítka "Upravit..." pod seznamem kroků v hlavním okně transformací. Po jeho zvolení se zobrazí následující dialog.


Co je a jak vypadá pdk-list?

V běžném použití je seznam klíčů (pdk-list) získáván na základě přehledu a pokud uživatel provede v přehledu výběr položek, je následně dotázán, zda má být použit výběr nebo vše v přehledu. Při použi...


Analýza kompletaceTvorba transformačních procesůRegistr akcíTestování požadavkůTvůrce základních SQL dotazůProhlížeč kompletního XDSTestovací klient serveru flexideo Aktualizace souborů ze složky, aktualizace DADPráce s pomocnými prohlížečiPopis některých dalších složek replikátoruPřehled rozkládacích kódů výrazů