Skip to main content

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

Umístění:

[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.

## [ ](https://git.headwork.zone/Headwork/intranet/wiki/hist-compare-temp.xsl.-#zp%C5%AFsob-spu%C5%A1t%C4%9Bn%C3%AD)

## 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:

- ```
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;

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;

- ```
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;

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;

- ```
olderNode
  • kmenový uzel dokumentu s atributem
dkey

, který obsahuje strukturu původního, již uloženého dokumentu.

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.

### [ ](https://git.headwork.zone/Headwork/intranet/wiki/hist-compare-temp.xsl.-#p%C5%99%C3%ADklad-xml-v%C3%BDstupu)

### 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>


### [ ](https://git.headwork.zone/Headwork/intranet/wiki/hist-compare-temp.xsl.-#p%C5%99%C3%ADklad-textov%C3%A9ho-popisu)

### 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á.