Šablona pro porovnání změn mezi draftem a uloženým dokumentem

Upravit obsah stránky

Umístění:
    bullet

    [web]/stylesheets-g/hist-compare-temp.xsl

Šablona umí projít dle replikátorem generované struktury (soubor structure.xml ve složce každého FDT) draft se změnami dokumentu a porovnat s obsahem dokumentu dříve uloženého.

Způsob spuštění

Aby bylo možné používat šablonu v akci, je její klíčová šablona volena jako pojmenovaná s názvem compareDocuments a má tyto parametry:
    bullet

    outputFormat
    - výstupní formát ( xml - seznam uzlů change pro každou změnu - viz. příklad níže (výchozí), text - textový popis změn, html - HTML kód s popisem změn;

    bullet

    unformattedValues
    - s možnostmi ( no - výchozí | yes = bez formátování). Pokud se nastaví na yes, pak se data, časy, logické hodnoty a čísla nebudou nijak formátovat a budou se předávat tak, jak jsou zapsány v xml draftu pro odeslání na server;

    bullet

    documentName
    - parametr s uvedením typového názvu dokumentu tak, není nutné zadávat parametr s názvem typu dokumentu (documentName), pokud platí, že pdk-list draft je v dostupných datech fáze jen jeden;

    bullet

    structureNode
    - kmenový uzel s popisem struktury dokumentu - je to přesně ten uzel, který obsahuje dkey - zde jde o uzel z xml souboru struktury structure.xml;

    bullet

    olderNode
    - kmenový uzel dokumentu s atributem
      dkey
    , který obsahuje strukturu původního, již uloženého dokumentu.

    bullet

    newerNode
    - kmenový uzel dokumentu s atributem
      dkey
    , který obsahuje strukturu nově ukládaného draftu ještě před jeho uložením.

Parametr
 documentName
není nutné zadávat, pokud platí, že
pdk-list
draft je v dostupných datech fáze jen jeden (většinou to tak je). Parametr tak bude užitečný v případech, kdy šablona bude použita i jinde než v akci s danou vstupní strukturou a bude možné předat nejen tento parametr, ale i další parametry, zejména parametry výchozích uzlů dokumentů a struktury, které nejsou při běžném použití v akci třeba.

Příklad XML výstupu

$outputFormat="xml"


 <changes>
  <change parent-label="Obecné informace o dokumentu"
    skey="#new" type="add" segment="a"
    label="Doplňky dokumentu" id="10000125"/>
  <change parent-label="Obecná identifikace"
    type="value" segment="e" before="Hledání leadů"
    after="Hledání leadů II." label="Textový popis"
    id="10000146"/>
  <change parent-label="Změna" type="value"
    segment="e" before="1" after="3" label="Počítadlo"
    id="10001093"/>
  <change parent-label="Obecná identifikace"
    skey="11" type="remove" segment="a"
    label="Změna" id="10001090"/>
</changes>


Příklad textového popisu:

  $outputFormat="text" 


Když ve formuláři upravíme například štítek formuláře dokumentu (tj. "Popisek dokumentu") a "Textový popis", napíše mi to následující text do poznámky dokumentu:
 Popisek dokumentu - hodnota před: X item user TEST; - hodnota po: X item user TEST 2;
Textový popis - hodnota před: Hledání partnerů :-); - hodnota po: Hledání partnerů II.;

Šablona umí pracovat se změnami v opakovatelné oblasti a srovnává klíčově správní instance opakování. Vyznačení změn v opakovatelné oblasti je indikováno stejně dobře, jako v neopakovatelné. Takže například změna ulice v opakovatelné korespondenční adrese se propíše stejně dobře jako změna ulice v adrese sídla, která je na kontaktu neopakovatelná.