}w !"#$%&'()+,-./012345
Masarykova univerzita Fakulta informatiky
Textové výstupy právních informačních systémů
Diplomová práce
Bc. Pavel Dvořák
Brno, leden 2015
Prohlášení Prohlašuji, že tato diplomová práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj.
Vedoucí práce: doc. RNDr. Petr Sojka, Ph.D. ii
Poděkování Zde bych velice rád poděkoval doc. RNDr. Petru Sojkovi, Ph.D., za cenné připomínky a odborné rady, které mi spolu se svým časem vždy ochotně poskytl a nemalou měrou tak přispěl k vypracování této diplomové práce. Dále děkuji Ing. Pavlu Gardavskému ze společnosti AION CS, za vřelé přijetí do jeho týmu. Svůj podíl na úspěšném dokončení a moje poděkování náleží i JUDr. Bc. Jaromíru Šavelkovi, který mě do problematiky využití informačních technologií v právnické rovině přivedl. Neméně děkuji své rodině, přátelům i partnerce za jejich podporu a trpělivost projevenou v čase mého studia.
iii
Shrnutí Diplomová práce „Textové výstupy právních informačních systémů“ seznamuje čtenáře s problematikou tvorby formálních výstupů právních informačních systémů. Na úvod jsou představeny významné tuzemské právní informační systémy a jejich zdroje právních informací. Práce se rovněž zabývá relevantní právní úpravou, která reguluje legislativní proces a zejména formu právních předpisů v českém právním řádu. V praktické části je představena technologie značkovacího jazyka XML jako vhodného nástroje pro uchovávání právních dokumentů a jejich snadné konverze do dalších formátů, stojícího v pozici zdroje pro jejich sazbu skrze typografický nástroj LATEX. Vše je závěrem demonstrováno při reálném nasazení ve spojení s právním projektem "Zákony pro lidi", kde je mechanismus uveden do praxe. Cílem je dosažení typograficky kvalitních výstupů oficiálních právních předpisů české Sbírky zákonů.
iv
Klíčová slova XML, XSLT, LATEX, právní informační systém, právní dokument, klasifikace textu, značkování, sazba
v
Obsah Prohlášení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Poděkování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shrnutí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Klíčová slova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Informační systémy a právní praxe . . . . . . . . . . . . . . . . . . 2.1 Zdroje právních informací . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Právní předpisy . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Judikatura . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Odborná literatura . . . . . . . . . . . . . . . . . . . . . 2.2 Právní informační systém . . . . . . . . . . . . . . . . . . . . . . . 2.3 Textové informační systémy . . . . . . . . . . . . . . . . . . . . . . 2.3.1 ASPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 CODEXIS . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Právo jako online dostupná služba . . . . . . . . . . . . . . . . . . 2.4.1 Beck-online . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 Sokordia ISpis . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Legal XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.1 OASIS Legal XML . . . . . . . . . . . . . . . . . . . . . 2.5.2 CEN MetaLex . . . . . . . . . . . . . . . . . . . . . . . . 2.5.3 Akoma Ntoso . . . . . . . . . . . . . . . . . . . . . . . . 3 Právní řád České republiky . . . . . . . . . . . . . . . . . . . . . . . 3.1 Legislativní úprava právních dokumentů . . . . . . . . . . . . . . . 3.1.1 Legislativní pravidla vlády . . . . . . . . . . . . . . . . 3.1.2 Zákon o Sbírce zákonů a Sbírce mezinárodních smluv . 3.2 Struktura významných právních dokumentů . . . . . . . . . . . . . 3.2.1 Právní předpis . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Judikát . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Sbírka zákonů . . . . . . . . . . . . . . . . . . . . . . . . 4 Elektronické zpracování právních dokumentů . . . . . . . . . . . . 4.1 Oddělení formy od obsahu . . . . . . . . . . . . . . . . . . . . . .
ii iii iv v 3 6 6 6 8 8 9 10 10 11 12 12 13 13 14 15 16 18 18 19 19 20 20 21 22 23 23 1
Obsah 4.1.1 eXtensible Markup Language . . . . . . . . . . . . 4.1.2 LaTeX . . . . . . . . . . . . . . . . . . . . . . . . . 5 Tvorba textového výstupu . . . . . . . . . . . . . . . . . . . . . 5.1 Legislativní projekt Zákony pro lidi . . . . . . . . . . . . . . 5.1.1 Průzkum API aneb XML schéma Zákony pro lidi 5.1.2 Průběh doznačkování . . . . . . . . . . . . . . . . 5.2 Šablona pro sazbu právních dokumentů . . . . . . . . . . . . 5.2.1 Sázecí balík TexLive 2014 . . . . . . . . . . . . . . 5.2.2 Výběr vhodného fontu . . . . . . . . . . . . . . . . 5.2.3 Návrh a tvorba odpovídajících maker . . . . . . . 5.3 Konverze právního předpisu od XML k PDF . . . . . . . . . . 5.3.1 Mapování značek . . . . . . . . . . . . . . . . . . . 5.3.2 Implementace a sazba dokumentu . . . . . . . . . 5.4 Zhodnocení výsledků . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Vizuální podoba právního předpisu . . . . . . . . 5.4.2 Shrnutí nedostatků . . . . . . . . . . . . . . . . . . 6 Závěr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A Struktura přiloženého CD . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
24 26 28 29 30 35 38 39 39 40 44 44 49 51 51 52 54 61
2
Kapitola 1
Úvod Informatika a právo. Na první pohled zcela odlišné vědní disciplíny, které jsou však v dnešní moderní informační společnosti zcela neoddělitelné – dohromady tvoří specifický ekosystém. Informatika respektive informační technologie mají pomyslnou moc zefektivňovat práci v mnoha směrech každodenního života lekářů, ekonomů, politiků, stejným způsobem jako v případě právníků, soudců, ale i veřejnosprávních úředníků či běžných občanů. Komplexnost legislativy propojené v právní řád tvoří složitý a těžko zvladatelný systém, bez kterého by se však zdravá společnost vyspělé civilizace obešla jen stěží. Potřeba fungujícího právního systému je již známá z dávné historie – za zmínku jistě stojí propracovanost římského práva, které doslova předběhlo svoji dobu a v mnoha ohledech z něj většina evropských právních řádů čerpá dosud. Základním stavebním kamenem pro ulehčení práce právníků, soudů či legislativních orgánů, se tak staly informační technologie v právu v čele s tzv. právní informační systémy (v práci se vyskytující pod zkratkou PIS). Myšlenka právního informačního systému, absentujícího základnu kvalitně elektronicky zpracovaných dokumentů, bez fungující možnosti tvorby správně formátovaných a korektních výstupů, je mylná a pro potřeby reálného nasazení zcela nedostačující. Jednou z možností, jak problém elektronického zpracování právních dokumentů vyřešit, je nasazení značkovacích jazyků – jmenovitě jazyka XML (eXtensible Markup Language, v překladu rozšiřitelný značkovací jazyk). Zásadní výhodou značkovacích jazyků je oddělení formy dokumentu od jeho obsahu – v podstatě jde o rozlišení dat v dokumentu obsažených a dat, která dokument popisují [1]. Využitím značkovacích jazyků se již v zahraničí zabývalo několik významných (tzv. „Legal XML“) projektů, avšak jejich výsledky byly u nás, po celkem značnou dobu, trestuhodně ignorovány. Všechny v práci zmiňované projekty více či méně pojí základní myšlenka značkovaní – v dokumentu se identifikují jednotlivé fragmenty jakými je např. nadpis, oddíl či paragraf, a podle předem připraveného XML schématu (v principu nadefinované specifické značky pro každý fragment 3
1. Úvod dokumentu) je ve struktuře dokumentu popíšeme, respektive označkujeme. Takto zpracovaný dokument nabízí možnosti efektivního strojového zpracování, kdy se již více nemusíme zabývat obsahem dokumentu, ale pracovat pouze s popisem jeho elementů, což je stěžejním předpokladem pro tvorbu efektivního právního informačního systému a pro možnosti jeho formálních výstupů. Pro potřebu tvorby správně formátovaných textových vystupů se nabízí typografický nástroj LATEX, který je zejména pro kvalitní typografickou sazbu tištěných dokumentů ústředně navržen [2]. Problematikou značkovacích jazyků a jejich využitím v právnické rovině jsem se již zabýval ve své publikaci „Úprava právních dokumentů pomocí značkovacích jazyků“ [3], která vyšla v odborném časopise Právnické fakulty Masarykovy univerzity Revue pro právo a technologie [4]. Z výše uvedených důvodů a z hlediska, že je mi elektronická úprava právních dokumentů velice blízká, se jako téma své diplomové práce zaměřuji na textové výstupy právních informačních systémů, kde lze jednak využít značkovací jazyk XML a druhak se zaměřit na uhlazenou sazbu skrze typografický nástroj LATEX. Diplomová práce je rozdělena na dvě části – teoretickou a aplikační. V teoretické části je zpracována rešerše tuzemských právních informačních systémů a zahraničních „Legal XML“ projektů včetně uvedení do problematiky jazyka XML a nástroje LATEX. V potaz je brána i relevantní právní úprava, která se zabývá jak legislativním procesem – tedy tvorbou právního předpisu, tak i jeho strukturou a formou oficiální Sbírky zákonů České republiky, což je pro obsahově hodnotné a kvalitní textové výstupy právních informačních systémů a potřeby mé diplomové práce stěžejní, proto je nelze zanedbat. V aplikační části práce je provedena analýza projektu Zákony pro lidi (dále se objevuje zkratka ZPL), zhodnocení nedostatků označkovaných právních předpisů a pokus o jejich řešení z hlediska možností konverze do dalších formátů (jmenovitě pro nástroj LATEX a následnou sazbu). V návaznosti na správně doznačkované právní předpisy je provedena konverze dokumentu vhodná pro další zpracování sázecím systémem LATEX. Z toho důvodu je vyžadován návrh a implementace nového vyhovujícího stylu pro sazbu českých právních předpisů, analogicky jejich komplexního souboru – Sbírky zákonů ČR. Výstup práce je tvořen z několika dílčích částí, kterými jsou doznačkovaný vzorek českého právního předpisu (byl zvolen autorský zákon, který svojí formou a obsahem zastupuje typické právní předpisy české Sbírky zákonů a z pohledu technicko-legislativní stránky se jedná o právní předpis nejzdařilejší – až na ojedinělé výjimky obsahuje téměř kompletní strukturu 4
1. Úvod českého právního předpisu včetně dodatečných příloh), implementovaný nový „LATEXovský“ styl a ve finále již automatizovaně vysázený autorský zákon ve formátu PDF svým vzhledem a kvalitou se co nejvíce přibližující oficiální produkci českých legislativních orgánů. Závěrem jsou výsledky práce, z hlediska jejich využití v praxi, zhodnoceny a je zde vynesen jednoznačný soud ohledně jejich použitelnosti a praktického nasazení na portálu ZPL, zejména z pohledu obohacení online dostupných právních předpisů o jejich ucelenou a automatizovanou sazbu, která stojí v pozici relevantního pramene práva a jde ještě dále – de facto poskytuje typografickou kvalitu stejnopisu tištěné Sbírky zákonů ČR, avšak v jejím úplném a konsolidovaném znění.
5
Kapitola 2
Informační systémy a právní praxe Znalost aktuálních informací je v moderním světě stále více rozhodujícím faktorem pro výkon téměř každého povolání. S pronikáním informačních technologií do různorodých odvětví, se získávání informací zdá být jednoduchou záležitostí – opak je však pravdou. Informatizace společnosti se dnes dostala do fáze, kdy nedostatek informací již není problémem, nýbrž zahlcení jejich velkým množstvím a orientace, v dá se říci „chaosu“, mnohdy vyžaduje nepoměrně větší námahu, než jejich samotné vyhledávání.
2.1 Zdroje právních informací Zejména při výkonu povolání, jakým je dnešní typický právník či úředník soudů, jehož náplní práce je jednak vyhledávání velkého množství informací, ale rovněž i jejich třídění na základě relevatních právních skutečností, se tento stav stává skutečným rizikem. Nástup právních informačních systémů, jak je známe dnes, orientaci v tak spletitém komplexu informací, kterým celý právní řád bezesporu je, významným způsobem usnadnil. Avšak, abychom mohli považovat právní informační systém za relevatní interpretaci a prameny práva, musíme jej správnými a korektními informacemi naplnit – zvolit vhodné zdroje právních informací. Typickým obsahem právních informačních systémů jsou právní předpisy a judikatura (soudní rozhodnutí), dále odborná literatura a další typy právních dokumentů, které však tvoří více či méně zanedbatelnou (nikoli však nepodstatnou) část souboru právnických dat. Z toho důvodu se jimi podrobněji v práci nezabývám. 2.1.1 Právní předpisy Právní předpisy lze zjednodušeně chápat jako obecně závazné normy chování vydané legislativními orgány státu a určeným způsobem publikované ve 6
2. Informační systémy a právní praxe věstníku, respektive jejich sbírky (známé pod oficiálním názvem „Sbírka zákonů České republiky“). Právní řád však nelze pojímat pouze jako soubor těchto právních norem, nýbrž jako uspořádaný systém právních informací. A právě systematické uspořádání právních předpisů přispívá k zpřehlednění a snažší orientaci v komplexu právního řádu [5, s. 23–24]. Podle Šína v jeho publikaci Tvorba práva: pravidla, metodika, technika můžeme právní řád rozdělit z hlediska 3 možných systematických přístupů. Na právní řád lze nahlížet z pohledu vertikálního, horizontálního nebo teritoriálního členění [6, s. 26–27]. Horizontální členění je za účelem zjednodušení systému právního řádu ze všech pohledů nejméně zajímavý. Slouží zejména k formalizaci a odlišení jednotlivých právních odvětví (např. ústavní právno, správní právo, ale i živnostenské právo nebo právo softwarové). To usnadňuje zejména výklad v nich obsažených právních norem, které se interpretují z hlediska příslušnosti a kontextu k jednotlivých právním odvětvím a zvyklostem, které k nim náleží. O mnoho zajímavější systémový přístup tvoří rovina vertikální, která pojednává o tzv. právní síle právních norem. V principu jde o skutečnost, že právní předpis vyšší právní síly má při jeho aplikaci vždy přednost před právním předpisem nižší právní síly. Právní předpisy se podle jejich síly dělí na tři hierarchické úrovně: ústavní, zákonnou a podzákonnou [5, s. 24]. Pro případ, že dojde ke konflitku právních norem se použijí další výkladová pravidla jako např. pravidlo přednosti pozdějšího právního předpisu [7, s. 264–266]. Třetí, teritoriální přístup, se týká územní působnostni právních norem, např. právní norma s celostátní působností nebo naopak – právní norma vztahující se pouze na určitý vyšší územně samosprávný celek. Z pohledu systematizace právního řádu se nelze zabývat pouze výše zmíněnými přístupy z hlediska specifických okruhů práva či nadřazenosti a podřazenosti právních předpisů dle jejich právní síly, ale je třeba uvažovat i jejich vzájemnou provázanost. Příkladem je zvláštní druh předpisu nazývaný novelou. V právním světě je zcela běžným jevem, že se právní předpisy aktualizují podle potřeby regulace aktuálního stavu společnosti. V principu proces vypadá tak, že se v novele – nově vydaném zákoně uvádí, že upravuje již existující právní předpis a přidává do jeho obsahu nové pasáže, některé mění či ruší. Zde se nabízí první možnost, jak využít značkování právních dokumentů a celý proces editace jednotlivých fragmentů právního předpisu usnadnit. S ohledem na zachování přehlednosti a konzistence se v návaznosti na novelizace zákonů vydávají tzv. konsolidovaná znění, která zachycují právní předpis v jeho aktuální účinné podobě [5, s. 25]. Konsolidovaná znění 7
2. Informační systémy a právní praxe právních předpisů tvoří bázi a současně výrazný klad projektu ZPL [8], který slouží jako základ pro aplikační část práce, kterou tvoří kapitola 5. 2.1.2 Judikatura Judikatura nebo-li soudní rozhodnutí je individuální právní akt, jenž je výsledkem probíhajícího soudního řízení a který zakládá, mění, ruší nebo autoritativně ověřuje konkrétní práva a povinnosti určitého subjektu [9, s. 209]. Z hlediska toho, že v kontinentálním pojetí práva, ve kterém nemají soudní rozhodnutí tak významné postavení jako precedens v právu anglosaském, je třeba je i přesto považovat za relevantní a důležitý zdroj právních informací. Důležitost soudních rozhodnutí tkví především v jejich samotné podstatě, tedy v aplikaci relevantní právní normy na konkrétní případ – soudní rozhodnutí poskytuje cennou informaci, v jakém případě, za jakých okolností a na základě které právní normy, soud rozhodl. To přispívá k detailnosti a přesnosti výkladu právních norem [5, s. 30]. Nalezání práva v právních normách, které soudce před vydáním soudního rozhodnutí musí učinit se až nápadně podobá práci typického právníka, jehož hlavní náplní práce je vyhledávání, třídění a sběr dat, jak jsem již předeslal v úvodu. Důraz je kladem zejména na správnou interpretaci obsahu právní normy a odůvodnění, proč se soudce rozhodl právě tímto způsobem. Soudní rozhodnutí jsou zpravidla dvojího typu – meritorní (rozhodnutí ve věci samé) a procesní. Ve věci samé se ve většině případů rozhoduje rozsudkem, ve všech ostatních pak usnesením [5, s. 31]. 2.1.3 Odborná literatura Odborná literatura sice není fundamentálním zdrojem právních informací, avšak tvoří nezanedbatelnou část právních informačních systémů, jakožto prostředek pro zjednodušování výkladu práva. Odborná literatura se v zásadě dělí na dva typy: primární a sekundární. Primární literatura obsahuje originální odborné texty, literatura sekundární je tvořena zejména odkazy na texty primární. Příkladem odborné literatury jsou učebnice, odborné články, ale také kvalifikační práce. Výsadní postavení v odborné literatuře zaujímá tzv. literatura komentářového typu. V principu se jedná o právní předpisy a soudní rozhodnutí doplněná o dovysvětlující komentář, který usnadňuje jejich výklad. Komentované právní předpisy a judikatura se však s nástupem právních informačních systémů dostává na okraj zájmu. Za zmínku 8
2. Informační systémy a právní praxe stojí jistě i bibliografické publikace, které tvoří sbírku bibliografických údajů – komplexní bibliografické databáze zpravidla bývají součástí právních informačních systémů [5, s. 38–39]. Jak jsem již na začátku oddílu zmínil, obsah právních informačních systémů netvoří pouze tři, mnou vyzdvihované, zdroje právních informací (právní předpisy, judikatura, odborná literatura), ale i další legislativní dokumenty, kterými jsou např. rejstříkové záznamy o vybraných subjektech, či tzv. právní analýzy, poskytující odborný a nezaujatý pohled na obtížně řešitelné právní otázky. Nicméně tyto dokumenty tvoří minimum opravdu relevatních zdrojů pro tvorbu právních informačních systémů a proto je v práci zcela opomíjím.
2.2 Právní informační systém U zrodu právních informačních systémů stál specifický vědní obor zvaný právní informatika. Samotný pojem sice není mezinárodně uznaným termínem, avšak pro pochopení problematiky a rozvoj informačních technologií v oblasti práva se nemalou měrou rozhodně zasloužil. Průkopníky právní informatiky z hlediska právního informačního systému se u nás stali pánové Cvrček a Novák se svou publikací Základy právní informatiky. Právo zde chápou jako informační systém a možnosti jeho automatizované interpretace jako právního informačního systému [10]. Právní informatiku tak lze chápat jako jakékoli využití obecné informatiky v právní rovině, avšak dále již bude označována uznalejším a zároveň i přesnějším slovním spojením – Informační a komunikační technologie, a právo. V ideálním světě by právní informační systém fungoval jednoduše – uživatel interpretuje hledané informace v přirozeném jazyce a stejným způsobem dostane kýženou odpověď. Toto pojetí však lze při současné znalosti technologií aplikovat jenom stěží. Naproti tomu, většina dnešních právních informačních systémů funguje na principu dotazů – informační systém poskytuje uživateli vyhledávácí formulář, kde prostřednictvím klíčových slov a dalších relevantních údajů interpretuje již zmíněný dotaz. Z pohledu uživatele je tak stěžejní formulace dotazu, z hlediska tvůrců systému pak naplnění klíčovými daty a jejich správné utřídění – to může probíhat jak manuálně, tak plně automatizovaným procesem. Zpracování zdrojového textu v konkrétním právním dokumentu může probíhat na základě tzv. lexikální analýzy (nebo také fulltextové indexace, či 9
2. Informační systémy a právní praxe indexace pomocí klíčových slov), kdy se systém snaží identifikovat jednotlivá slova, fráze a dle toho vypouštět nepodstatná tzv. nevýznamová slova. V tomto případě se jedná o základní přístup, využívajícího většina současných právních informačních systémů. Druhým, z mého pohledu o mnoho zajímavějším způsobem, je obohacení jednotlivých fragmentů dokumentu o další data (tzv. metadata), která jej popisují – značkováním skrze značky značkovacích jazyků [5, s. 61–62]. Z výše zmíněných informací lze proto usoudit, že srdcem každého právního informačního systému je dobře zvládnutá databáze právních dokumentů, vhodná k dalšímu zpracování.
2.3 Textové informační systémy Jako textové informační systémy označujeme ty informační systémy, které obsahují nestrukturované dokumenty v přirozeném jazyce. V kontextu několika minulých pododdílů vyplývá, že typický právní informační systém je v podstatě textový informační systém. Na následujících řádcích představuji dva nejvýznamnější tuzemské zástupce těchto systémů, kterými jsou ASPI Nakladatelství Wolters Kluwer ČR, a. s. [11] a CODEXIS společnosti ATLAS Consulting spol. s.r.o. [12]. Oba systémy pracují na principu inverzního rejstříku (forma fulltextové indexace) doplněného o klíčová slova a lemmatizaci (mechanismus, který umí rozpoznávat skloňování slov apod., nikoliv pouze jejich základní tvar). 2.3.1 ASPI ASPI je v současné době nejrozšířenějším právním informačním systémem u nás. Jde o jeden z prvních právních systémů, má dlouhou tradici a jeho služby jsou využívání napříč rovinou, kdekoli je potřeba aktuálních právních informací, ať už v justici, advokátních kancelářích nebo i na úřadech veřejné správy. Dostupnost systému ASPI v současné podobě je datována na začátek devadesátých let minulého století. Obsahem systému ASPI jsou právní předpisy spolu s jejich komentáři a články mnoha autorů a kapacit v právnickém oboru, dále pak judikatura soudů a správních orgánů, vzory smluv a mnoho dalších právních dokumentů. Perličkou je fakt, že v ASPI můžeme nalézt i právní předpisy Slovenské republiky. ASPI umožňuje i sledování změn dokumentů – obsahuje právní předpisy po všech novelizacích vždy v aktuálním platném vydání i za před10
2. Informační systémy a právní praxe pokladu, že právní předpis své účinnosti ještě nenabyl (např. nový Občanský zákoník, který byl v platnosti již před 1. lednem 2014). Právní dokumenty jsou v ASPI i na určité úrovni provázány, a to jak uvnitř konkrétního právního předpisu (odkazování na paragrafy apod.), tak i napříč celým portfoliem předpisů, kde jsou vyznačeny citace odkazovaných zákonů. Součástí systému ASPI je i odborná literatura, která je zpracována jak fulltextově, tak i formou bibliografických citací [5, s. 85–89]. ASPI dále obsahuje i právní předpisy Evropské unie a judikaturu Evropského soudního dvora. Zajímavým modulem je i stejnopis tištěné Sbírky zákonů ČR (stejný stejnopis dostupný z webových stránek Ministerstva vnitra) a existence aplikace iASPI pro mobilní platformy iOS a Android. 2.3.2 CODEXIS V principu se CODEXIS od systému ASPI příliš neodchyluje, avšak můžeme si všimnout několika rozdílů v jejich koncepci. Co se týká „enginu“ vyhledávání, který oba systémy pohání, je téměř totožný – oba pracují na základě inverzního rejstříku. Obsahově jsou si rovněž velice podobné, avšak CODEXIS jde ještě o něco dále, kde jako komentované právní předpisy neobsahuje pouze vybrané dokumenty, ale veškerou literaturu, která se v konkrétním případě k předspisu vztahuje. CODEXIS má však i jednu nevýhodu a tou je absence nakladatelství právnické literatury – tzn., že pro literaturu v systému obsaženou je nejdříve nutností získání licence, což je vcelku výrazný handicap. Nicméně tvůrci se jej snaží minimalizovat alespoň formou anotací, z nichž uživatel systému získá rámcový přehled, kde se co nachází. Hlavní odlišnosti tkví především v uživatelském rozhraní, komfortu používání a koncepce poskytující vzájemně se lišící verze systému. Komplexní verze CODEXIS, následovaná odnoží pro advokáty doplněnou o jich se týkající právní předpisy, CODEXIS pro soudce, ale také vzdělávací CODEXIS Academia pro potřeby e-learningu. Z pohledu přístupu k systému je zde další odlišnost – tvůrci systému CODEXIS kladou důraz na dostupnost „online“, jehož prostřednictvím poskytují verzi systému dostupnou skrze webový prohlížeč. Zde se již dostáváme na pomezí textového informačního systému a webových služeb, o kterých je řeč dále [5, s. 175]. Měl jsem možnost si oba systémy na Právnické fakultě Masarykovy univerzity „osahat“ a musím konstatovat, že na ASPI je i přes neustálý vývoj již znát jeho technologická zastaralost, zejména při pohledu na uživatelské rozhraní, a práce s ním je oproti CODEXISu náročnější a nekomfortní. Tento 11
2. Informační systémy a právní praxe stav jde jistě ruku v ruce s efektivitou výkonu právnického povolání, kde přehlednost a intuivita hraje nezanedbatelnou roli.
2.4 Právo jako online dostupná služba Druhou větví, na kterou lze s jistou dávkou benevolence právní informační systémy rozlišit, jsou webové portály – v práci uvádím systémy Beck-online [13], Sokordia ISpis [14] a Zákony pro lidi [8]. Na poli právních online služeb se dále vyskytuje např. Portál veřejné správy rovněž poskytující mimo jiné právní předpisy online a vyhledvání v nich (nicméně vyhledávání stále nefunguje spolehlivě) [15]. Ministerstvo vnitra na svých webových stránkách vcelku nedávno zpřístupnilo stejnopis tištěné Sbírky zákonů ČR [16]. Výhodou je, narozdíl od komerčních právních informačních systémů, dostupnost zdarma, handicapem je pouze základní funkcionalita a dostupnost originálních zákonů – nejedná se o úplná konsolidovaná a aktuální znění právních předpisů. 2.4.1 Beck-online Beck-online je online dostupný právní informační systém, jehož vývoj a provoz zajišťuje Nakladatelství C. H. Beck, které je v oblasti právní (ale i ekonomické) literatury dobře známé [17]. Odborná literatura a komentáře právních předpisů C. H. Beck jsou velmi vysoké úrovně, právnická obec si jejich dostupnosti nesmírně váží a jsou velmi často vyhledávány. Obsahově se systém Beck-online od již představených právních informačních systémů příliš neliší. Pojící linkou tak stále zůstává databáze právních předpisů doplněná o hodnotné komentáře, soudních rozhodnutí obohacená o množství již zmíněné kvalitní odborné literatury Nakladatelství C. H. Beck, která je dle mého názoru částí nejcennější. Systém rovněž disponuje efektivním fulltextovým vyhledáváním spolu s lemmatizátorem. Následující dva právní informační systémy nebo spíše webové portály (Sokordia ISpis a Zákony pro lidi) se od mnou dosud představených systémů ve větší míře liší, a to zejména z pohledu na jejich zaměření a komplexnost. Nesnaží se svým obsahem pokrýt celou škálu právních dokumentů od právních předpisů po literaturu, ale zaměřují se vždy více či méně na jednu oblast legislativních dokumentů – Sokordia ISpis na judikaturu soudů a ZPL zastřešující konsolidované znění české Sbírky zákonů. 12
2. Informační systémy a právní praxe 2.4.2 Sokordia ISpis Právní nástroje společnosti Sokordia stojí oproti běžným právním informačním systémům poněkud stranou. Nejedná se o informační systém v pravém slova smyslu, ale o souhrn aplikací, které více či méně netvoří ucelený celek, nýbrž („s přimhouřením oka“) modulovou architekturu. Zmínit lze aplikaci Sokordia Datové schránky pro manipulaci s datovými zprávami, Sokordia Lustrace, Sokordia Podpis pro snadné opatřování PDF souborů elektronickým podpisem, Služba hromadné e–PR pro automatizaci vydávání platebních rozkazů atd. Nejvýznamnějším „modulem“ z hlediska relevance tématu práce je však právní informační systém pro výkon advokacie (jak jej sami tvůrci nazývají), umožňující vyhledávání v judikatuře našich soudů vydané po roce 2000 (jmenovitě Nejvyššího soudu, Ústavního soudu, Nejvyššího správního soudu a vybraná rozhodnutí Vrchních a Krajských soudů, dále rozhodnutí převzatá z Insolvenčního rejstříku a rozhodnutí Úřadu pro ochranu hospodářské soutěže) – Sokordia ISpis respektive webový portál Salvia [18]. Užitečnou funkcí systému je tvorba seznamů citovaných právních norem, které se ke konkrétnímu hledanému rozhodnutí v databázi judikatury vztahují. Judikatura je roztříděná právě na základě právních norem, podle kterých lze rozhodnutí vyhledávat (tzv. katalog judikatury), pro vyhledávání pomocí klíčových slov je k dispozici taktéž. Rovněž umožňuje vyhledávání v právních předpisech prostřednictvím portálu ZPL (vzájemně si tak pokrývají chybějící právní dokumenty), poskytuje právní kalkulačku či vyhledávání osob v rejstřících (v obchodním rejstříku či ARESu). Na aplikaci rejstříky navazuje tzv. Hlídač, který umožňuje zachovat si přehled o změnách stavu zadaných osob v relevantním rejstříku. Projekt Salvia je ve vývoji od roku 2003 a je neustále zdokonalován (podle slov vývojářů, bychom se v dohledné době měli dočkat moderního grafického rozhraní, které v aktuálním stavu stále připomíná datum svého vzniku a je výrazně zastaralé).
2.5 Legal XML Pod ve světě ustálenou terminologii „Legal XML“ spadají projekty, které se zabývají využitím značkovacícho jazyka XML k úprávě právních dokumentů a tvorbou nových standardů, které by značkování právních dokumentů zformalizovaly. Oddíl této problematice věnovaný jsem do práce zařadil zejména 13
2. Informační systémy a právní praxe z důvodu jejího velkého potenciálu a možného efektivního nasazení, který však v české právní rovině je naprosto opomíjen i přes zcela nevyhovující stav elektronického uchovávání českých právních předpisů. Nicméně v posledních dvou letech již lze zaznamenat pokrok kupředu a značkovací jazyk XML je brán na zřetel. Napříč celou diplomovou prací užívám tento anglický originál zejména z důvodu chybějícího nebo až příliš umělého českého ekvivalentu. Na poli „Legal XML“ projektů jsem ve stručnosti vybral tři největší hráče: „Legal XML“ od konsorcia OASIS, CEN MetaLex a Akoma Ntoso (V případě hlubšího zájmu o zmíněné „Legal XML“ projekty, odkazuji čtenáře na svojí bakalářskou práci „Úprava právních dokumentů pomocí znakčovacích jazyků“, ve které jsem projekty analyzoval hlouběji a došlo i ke srovnání a pokus o aplikaci na český právní řád) [3]. Projekty se vzájemně příliš neliší, vždy jde zjednodušeně řečeno o tvorbu příslušných XML schémat a definici popisujících elementů, podle kterých se struktura a fragmenty právních dokumentů značkují, což je zároveň obsahem kapitoly 4. Zpravidla bývají doplněny o databáze právních dokumentů, dokumentaci, příp. XML editor. Souhrně tvoří komplexní právní informační systémy se standardními možnostmi tvorby textových výstupů, které však v konkrétních případech příliš neřeší (nikoliv však zcela opomíjejí).
2.5.1 OASIS Legal XML Konsorcium OASIS (Organization for the Advancement of Structured Information Standards – volně přeloženo jako Organizace pro rozvoj strukturovaných informačních standardů) je průkopníkem a etalonem v oblasti využití značkovacích jazyků mimo oblasti informačních technologií a tvorby příslušných standardů. Jde o neziskovou skupinu zaměřenou na otevřené standardy [19]. Historie „Legal XML by OASIS“ se datuje ke konci minulého století, kdy skupina advokátů, soudních pracovníků a informatiků začala zcela nezávisle a neziskově pracovat na způsobu zefektivnění výměny právních dokumentů v oblasti soudnictví [3, s. 27]. Pojetí problematiky „Legal XML“ je z hlediska pohledu tohoto konsorcia rozděleno do tzv. „Technical committees“. V současné době jsou aktivní čtyři hlavní oblasti respektive committees – OASIS LegalDocumentML, OASIS LegalRuleML, OASIS LegalXML Electronic Court Filing a OASIS LegalXML eNotarization. Již úspěšně ukončenou sekcí je tvorba jiných standardů (výčtem např. LegalXML eCon14
2. Informační systémy a právní praxe tracts nebo LegalXML IntJustice) [20]. Nejzajímavějším z „committees“ je projekt LegalDocumentML, o kterém se ve zkratce zmíním dále. Cílem projektu LegalDocumentML je tvorba standardu umožňující efektivní výměnu právních dokumentů napříč světovými parlamenty. Důraz je kladen zejmena na zapojení všech zůčastněných stran, zejména právníků, legislativních orgánů, či informatiků a analýza jejich návrhů a připomínek. Početná skupina všech zůčastněných se zformovala na základě a výsledcích jiného „Legal XML“ projektu, konkrétně projektu Akoma Ntoso, který je stručně představen v pododdíle 2.5.3. V jádru věci se oba systémy velice podobají a některé prvky jsou dokonce zcela totožné (což plyne z podstaty, že OASIS původní Akoma Ntoso projekt dále rozvíjí). Snahou je jeho další vývoj pod záštitou skupiny OASIS ve smyslu zdokonalování a optimalizace schématu na základě zkušeností získaných za provozu. Ve výsledku začlenění mezi její standardy a spolupráce s ostatními velkými „Legal XML“ projekty [20]. 2.5.2 CEN MetaLex V projektu MetaLex jsou kladeny nejvyšší nároky zejména na popis dokumentu sebe sama, tedy na kvalitní podobu metadat. Velké usílí bylo nadále vynaloženo na reprezentaci odkazování napříč právním řádem, ale i spolupráci a kompatibilitu právních dokumentů většiny evropských zemí. Jistě stojí za zmínku, že projekt Akoma Ntoso, který vznikal téměř souběžně jako MetaLex, je s ním v jistém smyslu kompatibilní a vzájemně své specifické konvence uznávají. Práce na projektu MetaLex započala z iniciativy Amsterdamské univerzity, aby se následně dostala pod výbor CEN, za příležitosti uspořádání prvního workshopu (2006), zabývajícího se zefektivněním výměny právních dokumentů, kde schéma doznalo mnoho změn. Stalo se tak na základě zkušeností při vývoji již zmíněného Akoma Ntoso a italského projektu Norme in Rete. (The CEN workshop on an Open XML interchange format for legal and legislative resources) [21]. Nicméně spolupráce s odborníky z Amsterdamské univerzity zůstala nadále zachována [22]. Standard MetaLex je tvořen několika ústředními složkami. Skládá se z dokumentace schématu, která analyzuje strukturu a postup značkování, dále XML schéma (syntaxe značkování), OWL schéma (podrobná struktura metadat), databáze právních předpisů – MetaLex Document Server (v současné době pokrývá téměř celý právní řád Holandska) a aktuální Workshop Agreement [23]. Hlavním posláním standardu je umožnit veřejným institucím 15
2. Informační systémy a právní praxe propojovat, nahlížet a orientovat se v pramenech práva různých evropských zemí, stejně tak jako tvůrcům komplexních právních informačních systémů, to vše za předpokladu zachování jejich otevřenosti (z hlediska otevřenosti formátu XML). V potaz je rovněž bráno propojení pramenů práva na základě jejich právní síly a tvorbě hierarchické struktury [22, s. 136–142]. 2.5.3 Akoma Ntoso Impulsem pro vývoj projektu Akoma Ntoso byla iniciativa Organizace spojených národů (přesněji Oddělení pro ekonomické a sociální záležitosti) sjednotit a posílit pozici parlamentních respektive právních informačních systémů na africkém kontinentě – tvorba jednotného a otevřeného formátu právních dokumentů, využívající přednosti jazyka XML. Akoma Ntoso je akronymem pro Architecture for Knowledge-Oriented Management of African Normative Texts usign Open Standards and Ontologies (Architektura znalostně orientovaná správy afrických normativních textů, využívajících otevřených standardů a ontologií) [24, s. 21]. Akoma Ntoso zastřešuje několik XML schémat pro celé spektrum právních dokumentů parlamentů afrických zemí, což poskytuje možnosti pro snažší tvorbu a sjednocení obsahu parlamentních informačních systémů a umožňuje tak ustavit vzájemnou kompatibilitu a interoperabilitu právních dokumentů v nich obsažených. Ve finále by se touto cestou mělo docílit komplexního právního informačního systému, který bude obsahovat maximální množství relevantních právních informací napříč parlamenty afrického kontinentu. Komplexní projekt Akoma Ntoso je tvořen třemi hlavními pilířy, jimiž je XML schéma respektive definice jednotného formátu dokumentů, definice obsahu právních informačních systémů a modelů dokumentu a návrh a implementace vzájemného odkazování a citování právních pramenů. Důraz je kladen zejména na dva principy chápání vzájemné kompatibility – kompatibilitu sémantickou, která zajišťuje stejné chápání přenášených informací nahlížených z různých úhlů (přenos aplikace–aplikace, aplikace–uživatel) a kompatibilitu technologickou, jejímž prostřednictvím a volbou vhodných technik lze docílit snadné výměny legislativních dokumentů mezi aplikacemi a právními informačními systémy [25, s. 67–68]. Aplikací schématu Akoma Ntoso na český právní předpis jsem se z praktického hlediska zabýval již ve své bakalářské práci „Úprava právních dokumentů pomocí značkovacích jazyků“, kde jsem dospěl k závěru, že jeho použití je možné, avšak na „roztodivném“ právním ekosystému, kterým 16
2. Informační systémy a právní praxe český právní řád beze sporu je, není zcela nejvhodnější. Na závěr jsem proto vynesl jednoznačný soud, že vhodným směřováním pro nasazení mezi českými právními předpisy je použití jeho základů a zkušeností při vývoji, k tvorbě vlastního XML schématu pro specifické potřeby českých právních dokumentů. V podstatě ke stejnému závěru došli v případě standardu MetaLex i tvůrci českého portálu ZPL, který je detailně rozebrán v praktické části práce v kapitole 5.
17
Kapitola 3
Právní řád České republiky Právní řád lze chápat jako složitý ekosystém právních dokumentů všeho druhu, který je bez alespoň základního řízení stěží zvladatelný. Stejným způsobem, jako v případě každého komplexního systému, nastává potřeba určitým způsobem regulovat i právní řád, aby došlo k usnadnění orientace napříč právními předpisy i složitosti jejich interpretace. Tato systematizace nejenom, že přispívá k již zmíněné efektivnější orienataci, ale napomáhá i při tvorbě právních informačních systémů a úpravě dokumentů skrze značkovací jazyky, které z této úpravy musí nebo lépe měly by, pro zachování relevance jakožto zdroje právních informací, vycházet [3, s. 16].
3.1 Legislativní úprava právních dokumentů Při tvorbě právních informačních systémů je třeba brát na zřelet i odpovídající právní normy, které se kompozicí a výslednou formou právních dokumentů náležitým způsobem zabývají. Jmenovitě se jedná o ústřední zákon upravující strukturu a hierarchii právních předpisů – Legislativní pravidla vlády České republiky [26]. Druhým zákonem, který je stěžejním při normotvorbě a publikaci právních norem je Zákon o Sbírce zákonů a Sbírce mezinárodních smluv [27]. Oba právní předpisy jsou důležitým faktorem, při budování fragmetnů a výsledné databáze právních informačních systémů, zejména pak zákon o Sbírce zákonů, který upravuje výslednou podobu tohoto souboru, kterým se v práci dále zabývám. Z toho důvodu jsem do diplomové práce zařadil kapitolu tuto problematiku alespoň rámcově vysvětlující. 18
3. Právní řád České republiky 3.1.1 Legislativní pravidla vlády Při normotvorbě hrají významnou roli Legislativní pravidla vlády České republiky. I když nemají charakter standardního právního předpisu – tedy zákona (to je již patrné z jejich názvu), jsou právním předpisem stěžejním. Zjednodušeně řečeno se jedná o právní předpis vnitřní nejčastěji označovaný jako procesní, kterým jsou vázány orgány řízené ministerstvy v legislativním procesu [6, s. 65]. Legislativní pravidla vlády lze s jistou dávkou obecnosti rozdělit na dvě části – první striktně procesní upravující postupy ministerstev a dalších orgánů nadaných legislativní pravomocí a druhou formální, která se zabývá formou právních předpisů. Účelem legislativních pravidel je sjednotit postup ministerstev a dalších ústředních orgánů veřejné správy pří návrhu a tvorbě právních předpisů v podobu efektivního právního řádu [26]. A právě efektivní právní řád, respektive jeho částečná elektronizace a tvorba relevantních výstupů je jedním z cílů mé diplomové práce. Základním stavebním kamenem takto efektivního právního řádu je zejména jednotnost, sdělnost, přehlednost a stabilita, což je směrem úpravy Legislativních pravidel [28, s. 20]. Nicméně pro potřeby této práce si vystačím s částí druhou, která upravuje již několikrát zmíněnou podobu a strukturu právních předpisů, která je čtenáři přiblížena v oddíle 3.2.
3.1.2 Zákon o Sbírce zákonů a Sbírce mezinárodních smluv Dalším důležitým a závazným dokumentem pro legislativní a publikační činnost legislativních orgánů je Zákon o Sbírce zákonů a sbírce mezinárodních smluv. Pro všechny právní předpisy oficiálně publikovatelné se uplatňuje jednotný publikační postup, který zahrnuje finální vydání v oficiálním věstníku – Sbírce zákonů. Právní předpisy nabývají platnosti dnem jejich publikace ve Sbírce zákonů (za předpokladu, že není uvedeno pozdější datum platnosti) a stávají se účinnými, tedy všeobecně závaznými, patnáctým dnem jejich publikace (datum účinnosti se rovněž může odložit). Sbírka zákonů tvoří neodmyslitelnou část a pravé srdce právního řádu České republiky. Představuje oficiální nástroj pro vyhlašování a interpretaci právních norem, které jsou tak zakotveny v právním řádu. Sbírka zákonů je důležitá i z hlediska pojetí mé diplomové práce, jejímž výstupem by měla být tištěná sbírka zákonů co nejvíce odpovídající její oficiální formě [3, s. 19]. 19
3. Právní řád České republiky
3.2 Struktura významných právních dokumentů Právní řád tvoří komplexní soubor právních předpisů. Aby byla orientace v takto složitém systému jednodušší, jsou právní předpisy rozděleny do několika kategorií. Již jsem uvedl dělení širokého právního odvětví na právo občanské, ústavní procesní atd., ale formálnější a přesnější členění právních norem je na ústavní zákony, zákony, zákonná opatření Senátu, nařízení vlády, vyhlášky ministerstev, jiných správních orgánů a nařízení obcí a krajů. Zastupitelstva krajů a obcí mohou dále vydávat obecně závazné vyhlášky. Součástí právního řádu jsou i mezinárodní smlouvy k jejichž ratifikaci dal Parlament souhlas (zde je nutné podotknout, že od 2000 již ratifikované mezinárodní smlouvy nejsou součástí Sbírky zákonů, ale tvoří samostatný soubor nazvaný zcela analogicky: Sbírka mezinárodních smluv) [6, s. 27–28]. Pro účely této práce je však podstatnější struktura a podoba jednotlivých právních předpisů, kde je ústředním pojmem právní předpis. Dále se, byť jenom okrajově, zabývám i strukturou judikátů. Zařadil jsem i kapitolu týkající se struktury Sbírky zákonů zejména z hlediska jednoho z hlavních cílů práce – vytvoření textového výstupu oficiální Sbírky zákonů.
3.2.1 Právní předpis Legislativní pravidla vlády kromě legislativního procesu a postupu ministerstev upravují strukturu právních předpisů. Jednotlivé fragmety právního předpisu jsou členěny následovně na: části, části na hlavy, hlavy na díly, díly na oddíly, díly na pododdíly, které se následně dělí na kýžené a všeobecně známé paragrafy. Vypovídající schéma je obrázek 3.1 na následující straně. Důležité je podotknout, že právní předpisy nemusí nutně obsahovat všechny zmíněné fragmenty (některé mohou být vypuštěny dle konkrétního právního předpisu). Např. ještě do nedávné doby účinný (od 1. 1. 2014 však zrušený novým Občanským zákoníkem) Zákon o odpovědnosti za škodu způsobenou vadou výrobku, který je svojí strukturou téměř bez hlavních fragmentů a využívá pouze paragrafů [29]). Výjimku dále tvoří zejména ústavní zákony a novely. Specifikum těchto právních předpisů je členění na „Články“. Součástí právních předpisů mohou být i přílohy různého formátu, které z větší části nejsou formálně či právně upraveny. 20
3. Právní řád České republiky
Obrázek 3.1: Struktura obecného právního předpisu 3.2.2 Judikát Judikáty tvoří poněkud specifický obor právních dokumentů. Rozhodnutí soudů neupravují Legislativní pravidla vlády ani Zákon o Sbírce zákonů, nýbrž občanský soudní řád [30] (v občanskoprávních sporech a soudní řád správní ve věcech procesních rozhodnutí [31]). Nicméně struktura judikátu je velice podobná struktuře právních předpisů – v záhlaví se nachází slova „Jménem republiky, označení soudu, který rozhodnutí vydal, jména a příjmení soudců a označení dalších účastníků řízení“. Obsah každého soudního rozhodnutí lze charakterizovat jako část výrokovou a část s odůvodněním. Výrokem se rozumí stěžejní část rozhodnutí a musí být definována jasně, stručně a výstižně, aby z ní práva a povinnosti vyplývaly zcela jednoznačně. V odůvodnění je uvedeno na základě které právní normy a právních skutečností soud rozhodl. Druhým typem judikátů jsou tzv. usnesení, na které nejsou kladeny tak vysoké formální požadavky, nicméně svojí strukturou jsou s rozhodnutími téměř identické [5, s. 32–33]. 21
3. Právní řád České republiky Jak je možné z výše uvedeného vyčíst, u právních předpisů je důležitá zejména identifikace a pojmenování jednotlivých fragmentů (Hlava, Díl, paragraf atd.) a u judikátů vymezení záhlaví, části výrokové a části s odůvodněním – postup je zcela analogický, pro potřeby práce se proto zabývám výhradně právními předpisy. 3.2.3 Sbírka zákonů Sbírka zákonů zastřešuje publikaci právních předpisů do rozsáhlého a uceleného ekosystému. Publikace Sbírky zákonů probíhá způsobem průběžného doplňování o tzv. částky, ve kterých se vždy za předem určené období vydávají nově schválené právní předpisy (bez ohledu na účinnost) – řazení do částek a jejich publikace ve sbírce tak neprobíhá na základě podobnosti právních předpisů z hlediska oblasti regulace či jiného „klíče“, ale pouze na datu jejich vydání. Obsah každé částky tvoří titulní list s patřičnými insigniemi, seznam v ní vyhlášených právních předpisů, následovaný jejich paragrafy.
22
Kapitola 4
Elektronické zpracování právních dokumentů Po více či méně teoretických spíše právnických kapitolách se ve své práci dostávám již k její podstatě a cílům – elektronickému zpracování právních dokumentů a jejich textových výstupů. Pro potřeby elektronizace dokumentů, ať se jedná o dokumenty libovolného typu různých oborů, se nabízí značkovací jazyk XML, který umožňuje dokumenty obohatit o metadata a strukturovaně rozlišit fragmenty jeho obsahu. Pro tvorbu textových výstupů, zejména formátu PDF, je možno využít XSL transformace a formátovacích objektů, či sázecího nástroje LATEX, který pracuje na principu velmi podobném – oba dva přístupy umožňují oddělit formu dokumentu od jeho obsahu, avšak z pohledu typografické kvality jeho výstupu je LATEX o mnoho lepší volbou. V následujících podkapitolách se značkovacím jazykem XML a systémem LATEX zabývám, dále následuje shrnutí významných zahraničních projektů, nejčastěji označovaných jako „Legal XML“, které se využitím jazyka XML v praxi právních dokumentů zabývají, a ze kterých lze čerpat mnoho zkušeností (jako v případě vývoje portálu ZPL a analýzy jeho autorů projektu MetaLex). Nicméně cílem těchto podkapitol není poskytnout vyčerpávající vysvětlení všech skutečností, ale poskytnout alespoň rámcový pohled na jejich základní ideu a principy.
4.1 Oddělení formy od obsahu Pojící linkou efektivní publikace dokumentů je již několikrát zmíněný mechanismus oddělení obsahu dokumentu od jeho formy. V principu se jedná o rozlišení vzájemně různorodých fragmentů dokumentu a jejich pojmenování – dále již pracujeme pouze s označkovanou entitou a její obsah více neřešíme. 23
4. Elektronické zpracování právních dokumentů 4.1.1 eXtensible Markup Language XML je obecný značkovací jazyk, který se používá pro popis a publikaci dokumentů (a jejich následnou výměnu) prostřednictvím značek a tvorbou metadat (tzv. data o datech, umožňující identifikaci autora, doplnění o datum vydání apod.) Hlavní výhoda tkví v již zmíněném oddělení formy dokumentu od obsahu a dále nezávislost na konkrétní platformě – XML dokument se jeví všude stejně (v zásadě lze přirovnat k formátu PDF). Výhodou je rovněž otevřenost tohoto formátu a dostupnost pro každého zdarma. Motivací pro tvorbu značkovacích jazyků tak byla možnost snadného obohacování dokumentu o metadata a nezávislost při uchovávání napříč formáty (to kontrastuje s dnešní právnickou praxí, kdy se většina dokumentů uchovává v proprietárních formátech DOC nebo DOCX) [32]. Prvním značkovacím jazykem, který se ve větší míře objevil na scéně značkování dokumentů byl jazyk SGML (Standard Generalized Markup Language) na jehož korpusu staví mnoho dnešních od něj odvozených značkovacích jazyků. Důvodem pro vznik nových značkovacích jazyků byla jeho až příliš velká obecnost a komplikovanost. Odvozené značkovací jazyky tak již měly vymezený okruh jejich aplikace – (např. HTML HyperText Markup Language) [33, s. 375–485]. A právě to bylo impulsem pro vytvoření jazyka XML – spojení jednoduchosti jazyka HTML s hlavními přednostmi SGML. XML je zpětně s SGML kompatibilní – je jeho podmnožinou (naopak to ovšem neplatí). V návaznosti na tuto informaci lze XML uchopit nikoliv jako značkovací jazyk, nýbrž jako metajazyk – XML je standardem, pomocí jehož nástrojů lze popsat jazyk nový, jež bude odpovídat požadavkům uvedeným v tomto standardu. Tato skutečnost umožňuje uživateli definovat konkrétní jazyk pro svoji konkrétní potřebu – např. tvořit standardizované „XML-upravené“ právní dokumenty. XML je distribuováno jako standard pod záštitou konsorcia W3C [1]. Tvorba XML dokumentů je v zásadě velmi jednoduchá. Jak jsem již několikrát zmínil, proces značkování uvozuje správná identifikace fragmentů dokumentu (co je nadpis, odstavec, oddíl atd.) a poté následuje proces značkování – ohraničení elementů příslušnými značkami. Značky jsou definovány jako párové či nepárové. Skutečnost, že párové značky musí být náležitě uzavřeny, netřeba zdůrazňovat. Značky mohou dále obsahovat tzv. atributy nebo-li doplňující informace jako je číslo konkrétní značky usnadňující jejich správu nebo čítače příslušného elementu. Zde je vhodné připomenout, že množství a typ vložených atributů není v principu nijak omezen a součástí atributů 24
4. Elektronické zpracování právních dokumentů může být i obsah konkrétního elementu – ve zdrojovém XML souboru se tak element jeví jako pouhá nepárová značka, která má vše podstatné uložené v atributech. Takovým příkladem může být atribut „Content“ s konkrétním obsahem fragmentu – celý element poté působí ucelenějším dojmem. Nicméně pro efektivní nasazení značkovacích jazyků k úpravě dokumentů pouhé označkování jeho elementů nestačí. Dále je třeba dokument obohatit o metadata – v hlavičce dokumentu nadeklarovat, o jaký typ dokumentu se jedná, kdo je jeho autorem a také jakou sadu značek konkrétní dokument může obsahovat [24, s. 14]. Pro tyto potřeby se využívají doplňující informace v hlavičce XML dokumentu a tzv. DTD (Document Type Definitions) nebo složitější XML schémata, která jsou však pro potřeby obsáhlejších dokumentů vhodnější. Ze schématu lze vyčíst formální část jeho popisu a dále deklaraci strukturárních elementů respektive značek pro použití v konkrétním dokumentu. Existence schématu již umožňuje efektivní tvorbu označkovaných dokumentů a její automatizaci (Systém si načte potřebné informace ze schématu a automatizovaně dokument označkuje – schéma je zjednodušeně řečeno předpisem pro značkování). Druhou z výhod existence XML schématu je možnost provádění tzv. validity dokumentu. Princip spočívá v tom, že program zvaný parser prochází výsledný označkovaný dokument a kontroluje, zda jsou v něm obsažené pouze značky z příslušného XML schématu uvedeného v hlavičce, správné uzavření značek, formální náležitosti dokumentu a metadat a další – říkáme, že dokument je oproti schématu validní. Validita je ve světě elektronického zpracování dokumentů velmi důležitým faktorem zejména pro jejich správnou interpretaci. Z uvedených informací lze vyčíst nesporné výhody značkování dokumentů pomocí jazyka XML – Existence pevně daných pravidel pro značkování a uložení dokumentu do elektronické formy, umožňující snadnou kontrolu validity a možnost tvorby dalších vlastních pravidel pro definici nových typů dokumentu dle vlastní potřeby – nabízí se tvorba nového standardu pro značkování právních dokumentů – dosažení kýženého cíle podstaty XML [24, s. 17]. Na tomto základě se již zejména ve světě realizovalo několik slibných tzv. „Legal XML“ projektů, v České republice však byly až do nedávna zcela opomíjeny. Z toho důvodu jsem do práce zařadil oddíl 2.5, představující souhrn významných zahraničních projektů. Pro moji diplomovou práci stěžejní tuzemský projekt Zákony pro lidi navíc čerpá z další (neméně důležitější) vlastnosti značkovacícho jazyka XML, kterou je možnost konverze XML dokumentů do dalších formátů pomocí tzv. XSL transformace [34]. Pomocí XSL transformace a nástroje XSLT lze na 25
4. Elektronické zpracování právních dokumentů základě dalšího XSL schématu, ve kterém je popsána vizuální podoba dokumentu, vytvářet jejich formátované textové výstupy – XML dokumenty lze jednoduše konvertovat např. do podoby webové stránky (HTML je v podstatě konkrétní použití jazyka XML), nebo v případě složitějších transformací do formátu PDF, což je i mým hlavním cílem v této práci. Stejného výsledku lze dosáhnout skrze formátovací objekty – tzv. XSL:FO. Avšak transformace dokumentu směrem od XML k LATEXu není triviální a vyžaduje použití nejen transformace XSLT, ale i doplnění o TEXML, jehož prostřednictvím vytvoříme z XML souboru dokument s příponou .tex – zjednodušeně řečeno ve zdrojových XSL a TEXML souborech řekneme, která LATEXová makra se při výskytu konkrétních XML značek mají v souboru .tex vytvořit. Procesem XSL transformace se tak lze dobrat zdrojového souboru .tex, který již obsahuje vše z původního XML dokumentu a nic nebrání jeho vysázení do vizuální podoby. Vše podstatné se nachází v závěrečné kapitole 5 „Tvorba textového výstupu“, kde je použití demonstrováno na konkrétním českém právním předpise, poskytnutého mi v originální formě formátu XML, samotnými tvůrci projektu ZPL – AION CS, jmenovitě Ing. Pavlem Gardavským [35].
4.1.2 LaTeX Systém LATEX tvoří komplexní a mocný nástroj pro efektivní sazbu textových dokumentů. Jádro tvoří původní program TEX jehož je LATEX nadstavbou – rozšiřuje či nahrazuje jeho příkazy (LATEX není jediným rozšířením původního nástroje, za zmínku stojí například XETEX jako moderní alternativa pdfTEXu). Vstupem systému je soubor vytvořený v libovolném textovém editoru s příponou .tex, obsahující jak samotný text, který se má vysázet, tak i značky (pracují na téměř identickém principu jako v případě jazyka XML) upravující jeho formátování a vzhled výsledného dokumentu. Postup tvorby dokumentu se tak od standardních textových editorů či procesorů výrazně odlišuje – v průběhu nelze vidět aktuální vzhled dokumentu, je třeba zdrojový textový soubor nejprve přeložit. Zjednodušeně řečeno jde spíše o „programování“ respektive značkování textu než jeho pouhý zápis a úprava formátování skrze klikání myší jako v případě textového procesoru typu MS Word nebo LibreOffice Writer. To samozřejmě umožňuje oddělit formu dokumentu od jeho obsahu – soustředit se na jádro dokumentu (přenášenou informaci) a o vzhled se již postará překladač. Analogicky lze chápání převrátit tak, že se v případě existujících dokumentů (např. právních předpisů) nesoustředíme na obsah, ale správné formátování jeho konkrétních fragmentů. 26
4. Elektronické zpracování právních dokumentů K úpravě textu lze použít téměř libovolný textový editor (Poznámkový blok nebo některý z editorů, jež jsou součástí souhrných systémů pro sazbu – TEXworks v případě TEXlive 2014) [36]. Srdce systémů tvoří jeho překladač, který se stará o vysázení textu a tvorbu výsledného dokumentu. Původním formátem, do kterého se dokument překládá/sází, je .dvi (DeVice Independent). Důraz je kladen zejména na platformní nezávislost, avšak pro vizuálně dostupný výsledek je třeba dokument převést do odpovídajícího formátu pro čitelnost „pouhým okem“. Pro tyto účely byl po dlouho dobu dominantní výstup v jazyce PostScript, jehož se využívalo zejména ve strojovém tisku, dnes v čase internetové publikace dokumentů se však již příliš neosvědčil a v drtivém případě je nahrazen přenositelným formátem PDF firmy Adobe (Portable Document Format), do kterého je možné dokument z jazyka PostScript převést. Pro přímou sazbu do formátu PDF lze využít služeb překladače pdfTEX či pdfLATEX, které jsou součástí balíku TEXlive [2, s. 14]. Práce se systémem tak tvoří opakující se posloupnost tvorby textového dokumentu obohaceného o příslušné značky a jeho překlad. Jádro věci spočívá v editaci vstupního TeXového souboru (zmíněného textové souboru s příponou .tex). Obsah zdrojového souboru tvoří hlavička (oblast deklarace formátu papíru, použitých balíčků stylů apod.) a tělo, obsahující označkovaný text. Obrovskou výhodou je existence šablon a stylů, které editaci výrazným způsobem usnadňují. Starají se například o vysázení titulní stránky knihy nebo závěrečné práce, formát a rozložení papíru a mnoho dalších možností. Zde je důležité zmínit tvorbu nových balíčků a připojování již existujících, zajišťujících podporu pro konkrétní mechanismy (v syntaxy \usepackage). Skrze něj lze v hlavičce zdrojového souboru přidávat zejména styly dokumentu, ve kterých je možné definovat (příp. redefinovat) příkazy upravující vzhled dokumentu (definici nových příkazů lze provádět i lokálně přímo ve zdrojovém TeXovém souboru v jeho hlavičce). Procesem tvorby nových stylů (a příkazů) lze docílit nových formátů pro různé typy dokumentů (právních předpisů nevyjímaje). Ve stylu tak probíhá definice formátu titulní strany, nadpisů, záhlaví, odstavců atd.) Seznam existujících balíčků a stylů je dohledatelný na serverech CTANu, kde se o kvalitní sazbu textových dokumentů výrazným způsobem zasazují [37]. V souvislosti s prosazováním a všeobecné podpory pro sazbu dokumentů prostředím LATEX stojí za zmínku i Československé sdružení uživatelů TEXu – CSTUG [38].
27
Kapitola 5
Tvorba textového výstupu Tvorba textového výstupu právních předpisů dostupných na portálu ZPL se skládá z několika dílčích částí celého procesu (lze použít rozdělení na část týkající se XML a značkování a část sazby textového výstupu spolu s jejich propojením). Prvním krokem je zprovoznění některé z instalací, obsahujících nástroj LATEX a na základě českých právních předpisů, vytvoření nového odpovídajícího stylu pro sázecí systém tak, aby se výsledná podoba zákonů v co největší míře shodovala s oficiální formou dokumentů publikovaných ve Sbírce zákonů ČR a dosahovala její typografické kvality. Kritériem pro tvorbu nových maker pro LATEX je rovněž způsob označkování dostupných právních předpisů na portálu ZPL, zejména z hlediska jejich vzájemné provázanosti a nových možnostech automatizovaného zpracování – konverze právního předpisu ve smyslu XML → PDF. Druhým krokem je již zmíněné propojení (tzv. mapování) maker LATEXu na XML značky zdrojového XML dokumentu. Po dokončení fáze mapování přichází finální část – výsledné vysázení právního předpisu prostřednictvím standardního pdfLATEXu do podoby PDF dokumentu, vhodného k vytištění na papír. Vypovídající schéma, kde jsou znázorněny všechny kroky celého procesu i spolu se zdrojovými a výstupními soubory, je obrázek 5.1 na následující straně, kde lze vidět jednak připojení namapovaných XML značek na LATEXová makra v souboru zakon.xsl a druhak připojení souboru s novými „právnickými“ makry, uloženými v souboru czechlaw.sty. Celý proces doznačkování právního předpisu (jmenovitě jsem pro potřeby demonstrace vybral autorský zákon, který je svou strukturou i délkou typickým zástupcem právních předpisů české Sbírky zákonů, popř. alternativou by mohl být některý z ústavních zákonů), mapování značek, tvorby nových maker pro LATEX a výsledná sazba, je obsahem celé této komplexní kapitoly a je třeba na něj pohlížet jako na úzce provázaný mechanismus, kde i přes mnou nastíněné rozdělení, by izolovaná tvorba ke zdárnému výsledku vést nemohla. 28
5. Tvorba textového výstupu
Obrázek 5.1: Hierarchie tvorby textového výstupu směrem od XML přes LATEX až k výslednému dokumentu v PDF
5.1 Legislativní projekt Zákony pro lidi Portál Zákony pro lidi představuje ucelený systém právních předpisů České republiky (jakožto i dřívějšího Československa) vydaných po roce 1945, utříděných v jejich původním vyhlášeném znění. Tento stav se shoduje s podobou oficiální Sbírky zákonů ČR, avšak právní předpisy na portálu dostupné jsou navíc publikované i v jejich doplněném aktuálním a úplném konsolidovaném znění – nesmírnou výhodu aktuálnosti všech zákonů oproti jejich tištěné sbírce netřeba zdůrazňovat. Novinkou je analogická verze portálu ve slovenském jazyce, obsahující Sbírku zákonů našich východních sousedů. Právní předpisy jsou dále rozčleněny dle jejich právního zařazení do konkrétního odvětví na základě jejich indexace. Na portálu je rovněž dostupná „virtuální“ Sbírka zákonů ČR v její původní podobě, rozčleněná po ročnících a částkách. Stejnopisy tištěné Sbírky zákonů zveřejněné v elektronické podobě na webových stránkách Ministerstva vnitra jsou zároveň v postavení zdroje, odkud se texty právních norem pro portál čerpají. O kvalitě a významu „online“ dostupných zákonů a jejich možného relevantního použití vypovídají i jejich 29
5. Tvorba textového výstupu samotní uživatelé – za zmínku stojí Karlova univerzita, Masarykova univerzita, Vysoká škola ekonomická v Praze, dále ministerstva vnitra, financí, životního prostředí, ale také mnohé další státní i soukromoprávní instituce. Jak jsem již na začátku práce zmínil, srdcem každého právního informačního systému je databáze právních předpisů. Databáze označkovaných právnických textů portálu ZPL je založena na systému AToM2 , který pochází rovněž z dílny svých tvůrců [39]. Databáze vyniká svojí uživatelskou přívětivostí a dostupným nástrojem ATOM Studio včetně kvalitního Data editoru, nebo jednoduchým mechanismem tvorby webového přístupu. Databáze ATOM není využívána pouze projektem ZPL, ale také Univerzitou obrany v Brně, konkrétně Katedrou komunikačních a informačních systémů (intranet pokrývající vojenské školství ve světě) [40]. Co se týče aktuálního stavu produkce možných textových výstupů na portálu, je zde mnoho nedostatků. Právní předpisy jsou dostupné „online“ na webových stránkách projektu, které poskytují slušnou a přehlednou úroveň včetně efektivního vyhledávání v nich a provázanosti odkazů, avšak v případě tištěných výstupů je situace zcela opačná. Je sice možná konverze do formátu PDF ovšem s mnoha omezeními a velice nízkou typografickou kvalitou, která se tištěné Sbírce zákonů nemůže rovnat (např. mnoho vdov a sirotků, nadpisem končící stránka atd.) Zejména tento nevyhovující stav současné tvorby „netypografických“ textových výstupů byl hlavním hnacím motorem a původní ideou pro vznik této práce. Databáze právních předpisů portálu ZPL těží především z technologie „Legal XML“, kde jsou právní předpisy zpracovány na základě analýzy jejich struktrury a následného značkování pomocí značkovacícho jazyka XML a konkrétního XML schématu.
5.1.1 Průzkum API aneb XML schéma Zákony pro lidi Dobře zvládnuté mechanismy databáze právnických textů jsou pro efektivní právní informační systém sice nesmírně důležité, ale před samotným naplněním relevantními daty zcela zcestné. XML značkování konkrétního typu dokumentu probíhá na základě příslušného DTD (Document Type Definition) nebo složitějšího XSD (XML schema definition). XML schéma jsou výhodnější zejména z pohledu popisu příslušných značek, tak i jejich datových typů a dalších informací. V případě projektu ZPL je jeho API popsáno pomocí XML schématu – jedná se o XML dokument, ve kterém jsou definované všechny 30
5. Tvorba textového výstupu hlavní elementy příslušné rodiny popisovaných dokumentů (v konkrétním případě právních předpisů – XML schémat využívají i „Legal XML“ zahraniční projekty již představené v oddíle 2.5. XML schéma začíná hlavičkou, kořenovým elementem, již následovaným definicí konkrétních fragmentů dokumentu. Zdrojové API projektu ZPL lze nalézt v elektronické příloze této práce a také na přiloženém CD. Hlavička zdrojového XML dokumentu s kořenovým elementem Api1 je tvořena zcela standardním způsobem a vypadá následovně: <Api1 xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xmlns:xsd="http://www.w3.org/2001/ XMLSchema" Base="http://www.zakonyprolidi.cz" Version="2.612x5"> ... V kořenovém elementu Api1 se již nachází definice fragmentů dokumentu. Z hlediska dostupnosti „online“ zde nebudu vypisovat kompletní seznam všech definovaných elementů (respektive atributů použitých elementů), ale pouze několik stěžejních pro ilustraci, které popisují konkrétní fragmenty právního předpisu, jako jsou části, hlavy, díly, oddíly či paragrafy spolu s jejich odstavci, body a písmeny: <StructList> <Struct Name="Paragraf" Code="Paragraf" Type="Element" StructId="1"/> <Struct Name="Část" Code="Cast" Type="Element" StructId="2"/> <Struct Name="Díl" Code="Dil" Type="Element" StructId="3"/> <Struct Name="Oddíl" Code="Oddil" Type="Element" StructId="4"/> <Struct Name="Hlava" Code="Hlava" Type="Element" StructId="5"/> <Struct Name="Článek" Code="Clanek" Type="Element" StructId="6"/> 31
5. Tvorba textového výstupu <Struct Name="Odstavec (č)" Code="Odstavec_Dc" Type="Element" StructId="7"/> <Struct Name="Bod č." Code="Bod_Dd" Type="Element" StructId="8"/> <Struct Name="Písmeno p)" Code="Pismeno_Lb" Type="Element" StructId="9"/> ... Významné fragmenty označkovaného právního předpisu validního oproti schématu ZPL jsou znázorněny a popsány následovně – (kompletní označkovaný Autorský zákon se spolu s již zmíněným API nachází rovněž v elektronické příloze práce). První zde znázorněná část právního předpisu ještě netvoří tělo výsledného dokument, avšak stojí v pozici popisu jeho metadat – popisu jeho dat, který jej definují. Nejzajímavějšími jsou typ právního předpisu (
), jeho název (<Title>), číslo (
), datum publikace právního předpisu ve Sbírce (
) a dále metadata identifikující příslušný zákon v interní databázi právních předpisů (
). <Api1 xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xmlns:xsd="http://www.w3.org/2001/ XMLSchema" Base="http://www.zakonyprolidi.cz" Version="2.612x5">
2021107 Zakon 2000-121
2000 36 121 121/2000 Sb.
<Title>Zákon o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon) <Short>Autorský zákon 32
5. Tvorba textového výstupu 2000-04-07 2000-05-12 <EffectFrom>2000-12-01 2014-09-13T00:15:42.403 Po deklaraci hlavičky a metadat následuje blok nebo přesněji seznam zapracovaných novel (párová značka ), které konkrétní právní předpis novelizují (tvoří tak tolik ceněné úplné konsolidované znění právního předpisu). Ještě před popisem fragmentů dokumentu hned po novelizační části se v souboru nachází blok obsahu (označkovaný elementy <Summary>), pro možnost jeho webového zobrazení přímo na portálu. Nicméně ty zde pro ilustraci uvádět nebudu. Důležitější je část těla právního předpisu s již kýženými paragrafy, které je uzavřeno v párové značce . Je zde jasně vidět, že základním stavebním elementem takto označkovaného právního předpisu je element , který je tvořen příslušnými atributy – stěžejními jsou atribut Struct, definující typ fragmentu dokumentu a dále atribut Content, ve kterém je uložen vlastní obsah právního předpisu – relevantní text právních norem.
5. Tvorba textového výstupu
Struct="Cast" FID="f2021115" FragId="2021115" Diff="0" Valid="1" Level="2" Content="ČÁST PRVNÍ"/> Struct="Nadpis_pod" FID="f2021116" FragId="2021116" Diff="0" Valid="1" Level="3" Content="PRÁVO AUTORSKÉ A~PRÁVA S~NÍM SOUVISEJÍCÍ"/> Quote="§ 1" Number="1" Anchor="p1" Struct="Paragraf" FID="f2021117" FragId="2021117" Diff="0" Valid="1" Level="3" Content="§ 1"/> Struct="Nadpis_pod" FID="f2021118" FragId="2021118" Diff="0" Valid="1" Level="4" Content="Předmět úpravy"/> Quote="§ 1 odst. 1" Anchor="p1-1" Struct="Odstavec_Dc" FID="f2021119" FragId="10581026" Diff="0" Valid="1" Level="4" Content="Tento zákon zapracovává příslušné předpisy Evropské unie a upravuje" EffectFrom="2014-11-07"/>
...
Z uvedených konkrétních částí označkovaného právního předpisu a jeho API lze celkem snadno usoudit, že popis a označkování právního předpisu jako celku je veskrze velmi detailní a pro potřeby efektivního právního informačního systému téměř dostačující. Téměř dostačující píši záměrně a to z toho důvodu, že v kontextu následného převodu do formátu pro tištěnou sazbu skrze LATEX, lze nalézt několik nedostatků, které třeba nejprve vyřešit. Nicméně nejedná se o překážky nikterak zásadní, které by výslednou konverzi a sazbu zcela znemožňovaly, pouze nastává nutnost zdrojový XML dokument doznačkovat o zpřesňující značky, případě modifikovat ty stávající (a analogicky o značky doplnit i jeho API). 34
5. Tvorba textového výstupu 5.1.2 Průběh doznačkování Po detailním průzkumu API ZPL v kontextu s označkovaným autorským zákonem jsem shledal za potřebné, fragmenty zdrojového XML souboru obohatit o několik detailnějších značek, popisujících elementy i rozlišující základní strukturu právního předpisu. Mnou přidané nové elementy jsem po vzoru původního API opatřil patřičnými identifikátory, zejména za účelem zachování jeho konzistence. Za zmínku stojí podnapisy základních elementů popisující jednotlivé části právního předpisu (Část, Hlava, Díl, Oddíl), kde v originálním API je dostupný pouze jeden ekvivalent elementu Nadpis_pod nerozlišující, zda se jedná o podnadpis Části, Hlavy nebo dalších dílčí fragmentů právního předpisu. Z hlediska jejich rozdílného formátování v originální podobě zákonů (a jeho rozlišení při sazbě odpovídajícího textového výstupu), bylo třeba tuto značku duplikovat (Nadpis_pod1, Nadpis_pod2, Nadpis_pod3). Pro podnadpisy Článků či paragrafů se již formátování shoduje, proto pro ně specifické značky netřeba. Ve zdrojovém API vypadájí elementy následovně: <Struct Name="Nadpis _Pod" Code="Nadpis_pod" Type="Element" StructId="22"/> <Struct Name="Nadpis _Pod1" Code="Nadpis_pod1" Type="Element" StructId="55"/> <Struct Name="Nadpis _Pod2" Code="Nadpis_pod2" Type="Element" StructId="56"/> <Struct Name="Nadpis _Pod3" Code="Nadpis_pod3" Type="Element" StructId="57"/> Situace s nedostatečným rozlišením fragmentů nastává i v případě citovaných částí, kterými se novelizují související právní předpisy. Nuže příkladem následující pasáž bodu 5. paragrafu 108 autorského zákona: V § 17 se doplňuje odstavec 5, který zní: „(5) Majetková práva autorská a majetková práva výkonných umělců jakožto práva nepřevoditelná se neoceňují“ [41]. Řešení je identické jako v předešlém případě, elementy popisující tyto pasáže se vytvoří i pro části citované – řešení jednoduché, přesto funkční: <Struct Name="Odstavec (č)" Code="Odstavec_Dc_cit" Type="Element" StructId="58"/> 35
5. Tvorba textového výstupu <Struct Name="Bod č." Code="Bod_Dd_cit" Type="Element" StructId="59"/> <Struct Name="Písmeno p)" Code="Pismeno_Lb_cit" Type="Element" StructId="60"/> Poslední výraznější úprava API se týkala rozlišení fragmentů pro popis hlavičky právního předpisu a jeho příloh. Text hlavičky („121“, „ZÁKON“, „ze dne 7. dubna 2000“, o právu autorském...) je sice v originální formě označkovaný zdařile – analogicky jako ostatní části těla předpisu, avšak pro účely konverze a sazby je třeba tyto fragmenty osamostatnit ve svém vlastním bloku. Potřeba „druhé“ hlavičky nastala kvůli použití makra \maketitle při konverzi a následné sazbě, jejíž průběh je shrnut v oddíle 5.2. Z toho důvodu jsem vytvořil novou párovou značku
, která tělo právního předpisu a jeho text předchází. Zjednodušeně lze říci, že se jedná o hlavičku v těle XML dokumentu: 121 ZÁKON ze dne 7. dubna 2000 <Titul>o právu autorském, o~právech souvisejících s~právem autorským a o~změně některých zákonů (autorský zákon) Obdobně jsem postupoval pro strukturu příloh a závěru právního předpisu, kde se již nevyskytuje dvousloupcová sazba, jako v případě jeho těla – rozšířil jsem původní fragment Virtual_Postfix:
5. Tvorba textového výstupu Diff="0"/> Naneštěstí značkování příloh právních předpisů je v českém právním řádu nelehký úkol. Definice jejich formální struktrury není zakotvena v žádném příslušném zákoně, který se legislativního procesu týká a od toho se jejich aktuální stav odvíjí. Napříč celým právním řádem lze nalézt mnoho druhů příloh, které se mnohdy liší i na úrovni jednoho zákona v něm obsažených. Oficiální Sbírka zákonů tento stav řeší „po svém“. Tabulky kombinuje se sazbou holého textu, případně se formátování upravuje ručně. Ovšem v případě značkování právních předpisů skrze jazyk XML, a jejich automatizované konverze do LATEXu, jeho řešení není triviální. Nebylo v mých silách kompletně prozkoumat každý právní předpis Sbírky zákonů, avšak ve výsledku se ukázalo, že ve většině připadů nebude situace tolik nepřející. Zdrojové API v současné verzi zcela ignorovalo obrázky, které se s novými předpisy objevují stále častěji – zde bylo řešení triviální a obnášelo pouze doplnění o konkrétní element, který bude obrázek popisovat. Co se týče textových příloh, bylo nutné dokument obohatit o některé zpěsňující značky, které přílohy uvozují – sice nemohu vyloučit, že se v některém z právních předpisů objeví příloha, jejíž struktura se s nastoleným „standardem“ nebude shodovat (bude zde vyžadován ruční zásah), avšak ve většině případů by tomu tak být mělo. Ovšem zdaleka největším problémem se projevily již zmíněné tabulky – nikoliv z pohledu jejich označkování, kde lze jednoduše využít popisu pomocí HTML a jejich publikace je tak na webovém portálu snadná záležitost, avšak při jejich konverzi směrem XML → LATEX. Jak se ukázalo, konverzi XML tabulek ve světě zatím nikdo uspokojivě nevyřešil. Existují sice nástroje typu Excel2LaTeX nebo Calc2LaTeX, ale obě zmíněná řešení končí u převodu CSV (Comma-separated values, hodnoty oddělené čárkami pozn. Autora) → LATEX [42]. Nevýhodou tohoto převodu je skutečnost, že do CSV nelze zapsat tzv. „mergované“ tabulky (popř. coolspan/rowspan, což samozřejmě vyplývá z podstaty formátu CSV, kdy se jedná o pouhou posloupnost znaků), které tvoří jejich naprostou většinu. Ve finále jsem dospěl řešení z ji37
5. Tvorba textového výstupu ného směru a to pomocí mezi-konverze tabulka → obrázek. Jak se ukázalo, způsob je to velice jednoduchý a funkční, i když na první pohled působí poněkud neelegantně a v současnosti vyžaduje ruční zásah. Ve fázi testování jsem jako jejich zdroj využil formátované tabulky obsažené v PDF právních předpisů dostupných na portálu ZPL (i přes již zmíněnou typografickou nekvalitu jsou zde tabulky ve vyhovující podobě) a převedl je na obrázky – zdrojovým souborem pro výslednou konverzi a sazbu tak už není pouhý XML dokument, ve kterém je tabulka popsána, ale i soubor s patřičným obrázkem – tabulkou. Řešení jsem prozatímně shledal jako plně dostačující a funkční, avšak při následném hledání různě koncipovaných tabulek jsem narazil na dva právní předpisy, jejichž tabulky svojí velikostí i strukturou značně vybočují. Jmenovitě se jedná o vyhlášky Ministerstva zdravotnictví č. 285/1996 [43] a č. 540/2002 [44]. V prvním případě jsou tabulky zajímavé svojí velikostí, která je souvislou tabulkou klidně i přes několik stránek předpisu (pro zde popsanou metodu je jako vhodný zdroj tabulky – obrázku vhodnější použít originální stejnopis tištěné Sbírky zákonů, kde je již tabulka patřičně rozdělena po stránkách). Ve druhé vyhlášce je zarážející jejich počet, napočítal jsem jich téměř 200 exemplářů. I když jsou již oba právní předpisy zrušeny, podobná situace samozřejmě může nastat i v budoucnu a z toho důvodu metodu konverze tabulek na obrázky neshledávám za příliš šťastnou zejména z hlediska jejich chybějícího automatizovaného zpracování. Nicméně při skutečnosti neexistence vhodné alternativy, je metoda v práci přesto implementována. Nutno však dodat, že obrázky – tabulky je namísto bitmapových obrázků vhodnější vkládat jako vektorová PDF, zejména z hlediska zachování kvality jejich tisku.
5.2 Šablona pro sazbu právních dokumentů Po úspěšném dokončení fáze značkování právního předpisu a připravení si zdrojových souborů, již přichází na řadu tvorba nového stylu pro výslednou sazbu. Postup je zdokumentován hierarchicky a odpovídá následujícím pododdílům, ve kterém jsou představeny potřebné nástroje, vhodný font a dále konverze právního předpisu spolu s jeho sazbou. 38
5. TVORBA TEXTOVéHO VýSTUPU 5.2.1 Sázecí balík TexLive 2014 Prvním krokem pro sazbu dokumentů je výběr a instalace vhodného typografického nástroje. Na výběr je z několika možností, pro svoje potřeby jsem však zvolil komplexní balík TEXLive 2014, jenž je dostupný pro obě hlavní platformy, které pro potřeby práce využívám (MS Windows i Unix) a obsahuje všechny potřebné součásti. Balík TEXLive disponuje překladačem pdfLATEX, jehož prostřednictvím lze výsledný dokumet přímo vysázet do formátu PDF (bez nutnosti další mezi-konverze), který je v současné době elektronické výměny dokumentů formátem nejvhodnějším, narozdíl od již poněkud obstarožního formátu PostScript, jehož hlavním účelem byl zejména strojový tisk. TEXLive je distribuován pod licencí GNU GPL (GNU General Public License) a je zdarma dostupný i pro komerční užití [36]. K úpravě zdrojového textového souboru (s příponou .tex) lze využít zabudovaný textový editor TeXworks či jiný (v zásadě téměř kterýkoliv textový editor typu Poznámkový blok, Notepad++ či pod Unixem oblíbený Gedit). Výhodou těchto editorů je možnost zvýrazňování LATEXové syntaxe, což kód zpřehledňuje a orientaci v něm výrazně usnadňuje. Velice zajímavým řešením je i nástroj WriteLATEX (nyní pod názvem Overleaf), který se sazbu pomocí TEXu snaží zpopularizovat a zjednodušit [45]. Výhodou je uživatelská přívětivost, dostupnost mnoha druhů šablon (prezenatace, šablona životopisu atd.) a překlad dokumentu téměř v reálném čase – pro tvorbu maker a opakovaného testování jejich podoby se hodí, nicméně nástroj je zatím v samých začátcích a neumožňuje instalaci dodatečných fontů či stylů. Z toho důvodu jsem od využití jeho služeb v práci upustil, avšak svoji pozornost si do budoucna jistě zaslouží. 5.2.2 Výběr vhodného fontu Po instalaci „vývojového prostředí“ a uvedení do chodu je nedílnou součástí sazby textových dokumentů i volba vhodného fontu. Tištěná Sbírka zákonů i její elektronické stejnopisy využívají fontu dostupným pod jménem Garamond [46]. Garamond je rodina patkového písma typu „old-style“, odvozeného od práce francouzského typografa Clauda Garamonda ze 16. století [47]. Písma tohoto typu vynikají pro svoji pohlednost, eleganci a zejména pak snadnou čitelnost, což jsou přesně požadavky odpovídající formálnosti a přitom udržující jasnou sdělnost právních předpisů. Ukázkou fontu budiž následující odstavec: 39
5. Tvorba textového výstupu Já jsem ukázka fontu z rodiny Garamond, kterou využívá i ˇceská Sbírka zákon˚ u a font je rovnˇež použit pro textové výstupy portálu ZPL, implementovaných v této práci. Formát ˇcíslovek je poté posloupnost 0123456789. Font se od zde v práci použitého písma Palatino příliš neliší, avšak rozdíly jsou patrné na první pohled. Čitelnost obou fontů je na velice dobré úrovni, avšak uhlazenost a již zmíněná elegance rodiny Garamond je, dle mého názoru, o úroveň výše a pro použití v právnické rovině vhodnější. Pro moji sazbu právních předpisů jsem využil fontu Garamond od autora Gaëla Varoquaux, jehož verze je přepracovaný font URW-garamond pro LATEX, pomocí kterého je vysázena i ukázka výše [48]. Instalace fontu proběhla, z hlediska použití pdfLATEXu, standardně do pracovní složky, kde se nachází vše potřebné pro výsledné vysázení právního předpisu. Font se aktivuje standardně deklarací balíku \usepackage{garamond} a příkazem \garamond v hlavičce dokumentu – pro případné lokální využití standardní rodiny fontů je vyžadován příkaz \ungaramond. Pro správnou funkčnost a sazbu fontu je navíc nutné použití balíku \usepackage[T1]{fontenc}, což je ovšem balík v instalaci TEXlive standardně dostupný a při sazbě dokumentů i hojně využívaný. 5.2.3 Návrh a tvorba odpovídajících maker Tvorbě nových maker odpovídajících fragmentům struktury právního předpisu předchází její důkladná analýza. Je třeba rozlišit hlavičku, tělo předpisu spolu s úrovněmi jeho hierarchie a závěr. Při návrhu maker jsem vycházel z Legislativních pravidel vlády představených v kapitole 3 a také z již mnohokrát zmíněného autorského zákona. Po důkladné úvaze jsem jako základní třídu dokumentů vybral možnost article (zejména z důvodu již slušně nadefinovaného prostředí maketitle) s tím, že pro něj makra standardně dostupná doplním o makra specifická přímo pro právní předpisy. Základem každého právního předpisu je jeho identifikace tvořená hlavičkou, ve které je uvedeno číslo předpisu, druh, celý název a datum jeho schválení (což se nerovná datu vyhlášení ve Sbírce ani jeho účinnosti). Pro potřeby vysázení této hlavičky je ideální volbou makro \maketitle. Třída dokumentů article titulek článku definuje popisem jména autora, názvem a datem publikace. Pro potřeby hlavičky právních předpisů bylo nutné makro předefinovat a o některá makra rozšířit, viz následující prostředí: 40
5. Tvorba textového výstupu \makeatletter \def\@type{} \newcommand{\type}[1]{ \def\@type{#1} } \def\@numero{} \newcommand{\numero}[1]{ \def\@numero{#1} } \renewcommand{\@maketitle}{ \newpage \null \list{}{\rightmargin 35mm \leftmargin 35mm \vspace{-2.5em}}\item\relax \begin{center} {{\normalsize \bfseries \sffamily \@numero }\par} \end{center} \begin{center} {{\normalsize \bfseries \vskip 0.3em \@type }\par} \end{center} \begin{center} {\normalsize \@date \par} \end{center} \begin{center} {\normalsize \bfseries \@title \par} \end{center} \endlist \vskip 1em \par } \makeatother
Příkazy \def definují nová makra \type určující druh předpisu (zda-li se jedná o zákon, ústavní zákon, vyhlášku atd.) a \numero tvořeno jeho číslem. Navíc došlo i na úpravu samotného prostředí, což obnášelo nastavení nových okrajů, mezer mezi řádky a pořadí jednotlivých částí. Výsledek lze dobře vidět na přiložených přílohách autorských zákonů (originálu i mnou vytvořeného výstupu), kde je již hlavička vysázena upraveným makrem 41
5. Tvorba textového výstupu \maketitle – musím konstatovat, že s originálem autorského zákona došlo ke shodě. Po úpravě a deklaraci makra \maketitle jsem již začal tvořit příkazy, odpovídající fragmentům těla právního předpisu – částem, hlavám, ale i paragrafům spolu s jejich odstavci, body a dalšími. Tvorba a ladění probíhalo metodou „pokus-omyl“, jejíž hlavní náplní byla opakovaná posloupnost sazby a úpravy maker spolu s komparací vzhledu originálu autorského zákona. Pro doplnění uvádím, že tělo právního předpisu vyžaduje dvousloupcovou sazbu pomocí definice prostředí multicols. Nebudu zde demonstrovat všechna vytvořená makra, což by bylo zbytečné, avšak pro znázornění je vhodné výčet hlavních částí (makra pro preambuli a fragmenty „Část“, „Hlava“, „Díl“, „Oddíl“) uvést: \newcommand{\preambule}[1]{{\vfill \columnbreak\normalsize\indent#1}{}} \newcommand{\cast}[1]{{\vskip 0.25em plus .2em minus .2em \centering \textbf{{\normalsize#1}}\nobpar}} \newcommand{\hlava}[1]{{\vskip 0.25em plus .2em minus .2em \normalsize\centering {#1} \nobpar}} \newcommand{\dil}[1]{{\vskip 0.25em plus .2em minus .2em \itshape \centering {#1} \nobpar}} \newcommand{\oddil}[1]{{\vskip 0.25em plus .2em minus .2em \normalsize \centering{#1} \nobpar}} Makra se od sebe svojí skladbou příliš neliší a ve svojí podstatě jde pouze o definici nových nadpisů. Makra pro sazbu paragrafů, jejich odstavců, písmen a bodů jsou ve stejném pořádí definovány takto: \newcommand{\paragraf}[1]{{\vskip 0.25em plus .2em minus .2em \centering{#1}\nobpar}} \newcommand{\paragraftelo}[1]{{\vskip 0.25em plus .2em minus .2em \normalsize\indent{#1}\nobpar}} \newcommand{\paragrafpod}[1]{{\vskip 0.25em plus .2em 42
5. Tvorba textového výstupu minus .2em \setlength{\leftskip}{20pt} \normalsize{#1}\nobpar}} \newcommand{\paragrafnad}[1]{{\vskip 0.25em plus .2em minus .2em \setlength{\leftskip}{7pt} \normalsize{#1}\nobpar}} Zjednodušeně lze říci, že makra suplují výčtová prostředí, avšak specifikum právních předpisů je nedodržování jejich úrovňové posloupnosti – základ paragrafů tvoří odstavce, nicméně použití písmen a bodů je vysoce individuální a nepodléhá žádným konkrétním podmínkám. „Bod“, jakožto nejnižší úroveň těla paragrafu při své existenci v zákoně nevyžaduje současné použití jeho nadúrovně „písmeno“. Jak jsem již v práci zmínil, stejná situace se opakuje i v případě nadpisů (výše uvedených fragmentů) a rozhodnutí, jak bude daný předpis koncipovaný, je plně v kompetenci normotvůrce. Podobným způsobem jsou deklarována i makra pro sazbu závěru právních předpisů – přechodných a závěrečných ustanovení a příloh. Součástí právních předpisů je i jejich záhlaví (zapátí se uplatňuje pouze pro poznámky pod čarou), ve kterém se nachází číslo částky jejíž je právní předpis součástí, celé číslo právního předpisu (konkrétně ve tvaru Sbírka zákonů č. 121/2000) a číslo stránky. Pro číslo částky a právního předpisu bylo třeba vytvořit nová makra z důvodu následného provázání se zdrojovým XML dokumentem a možnosti automatizovaného načítání těchto dat. Definice záhlaví je znázorněna níže: \setlength\headheight{18pt} \setlength\headwidth{540.60239pt} \makeatletter \let\ps@plain \makeatother \renewcommand{\headrulewidth}{1pt} \newcommand{\cislo}[1]{\sffamily\textbf{#1}} \newcommand{\castka}{} \newcommand{\rok}{} Mnou vytvořená makra standardně nedostupná ve třídě dokumentů article jsem poté uložil jako balíček stylů pojmenovaný czechlaw.sty, který se ve zdrojovém souboru pro sazbu aktivuje standardně definicí ba43
5. Tvorba textového výstupu líku skrze příkaz \usepackage{czechlaw} v hlavičce dokumentu. Důvodem bylo ucelení všech maker a také zachování možnosti automatizovaného zpracování – generování zdrojového souboru .tex plně automatizovaně na základě namapovaných značek a právě nově vytvořených maker, pro sazbu různých dokumentů a minimalizování potřeby ručního zásahu. Druhou výhodou je elegantnost řešení a jeho přehlednost. Definice ostatních parametrů dokumentu probíhá v hlavičce – nikoliv však v hlavičce dokumentu, nýbrž v souboru pro XSL transformaci s příponou .xsl, o kterém bude řeč dále.
5.3 Konverze právního předpisu od XML k PDF Po přípravě zdrojového XML dokumentu s označkovaným právním předpisem a tvorbě jemu odpovídajících maker, již přichází na řadu fáze mapování značka → makro, XSL transformace a výsledná sazba právního předpisu do formátu PDF. 5.3.1 Mapování značek Mapování značek probíhá v XSL dokumentu, kde je předem určeno, který LATEXový příkaz či makro se při výskytu konkrétní značky ve zdrojovém XML dokumentu objeví v předpisu pro pdfLATEX, tedy v dokumentu s příponou .tex. Jak jsem již uvedl dříve, v XSL dokumentu se nenachází pouze zpárování značek spolu s makry, nýbrž i definice třídy dokumentu a seznam použitých a nadeklarovaných balíků. XSL dokument je stejně jako XML uvozen hlavičkou: <xsl:stylesheet version="1.0" xmlns: xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output indent="yes"/> ... Po hlavičce následuje deklarace LATEX preambule s definicí třídy dokumentu a použitými balíky. Opět zde nebudu vypisovat všechny, které jsem při implementaci použil, ale pouze ty hlavní (kompletní zdrojové i výstupové soubory jsou dostupné v elektronické příloze práce na CD): 44
5. Tvorba textového výstupu <xsl:template match="/"> a4paper,12pt,twoside <parm>article czech <parm>babel <parm>garamond <parm>czechlaw <parm>multicol ... Jako příklad jsem uvedl deklaraci třídy dokumentů article s písmem o velikosti 12 bodů a oboustranné sazby, spolu s balíky pro aktivování češtiny a zejména fontu Garamond, stylového soubory czechlaw.sty s vytvořenými makry a rovněž definice dvousloupcové sazby. Jak lze z uvedených definic vyčíst, deklarace probíhá zejména elementem , jehož atribut name říká, který LATEXový příkaz se uvede do zdrojového dokumentu. Jejich operandy a parametry se uvádějí značkami a <parm> – mapování probíhá pro všechny části dokumentu velice podobně. Definice vzhledu stránky a kódování je následující: hmargin=10mm, tmargin=2mm, bmargin=10mm, 45
5. Tvorba textového výstupu includeheadfoot, heightrounded <parm>geometry utf8 <parm>inputenc ...
Po povinné deklaraci třídy dokumentů a všech použitých balíků je třeba se zaměřit již na mapování konkrétních značek XML dokumentu. Vypovídajícím a pěkným příkladem je mapování LATEXových příkazů pro definici záhlaví:
LO,RE <parm>Strana C <parm>Sbírka zákonů č. <parm><xsl:value-of select="/Api1/DocData /Head/Number"/> / <parm><xsl:value-of select="/Api1/DocData /Head/Year"/> RO,LE <parm>Částka <parm><xsl:value-of select="/Api1/DocData /Head/Batch"/> 46
5. Tvorba textového výstupu Definice prostředí (zejména kořenového document) probíhá na stejném principu, avšak se značkou <env> a příslušnými argumenty. V následujícím bloku je navíc demonstrováno mapování značek pro vysazení hlavičky právního předpisu:
<env name="document" nl2="1"> ... <parm> <xsl:value-of select="/Api1/DocData/PrefixHead /Titul"/> <parm> <xsl:value-of select="/Api1/DocData/PrefixHead /Date"/> <parm> <xsl:value-of select="/Api1/DocData/PrefixHead /Type"/> <parm> <xsl:value-of select="/Api1/DocData/PrefixHead /Numero"/> ...
Po namapování hlavičky právního předpisu se již dostávám k jeho tělu, tedy jeho základním fragmentům a obsahu paragrafů. Namapování těchto 47
5. Tvorba textového výstupu elementů je znovu velice obdobné, proto opět znázorním pouhý zlomek a základní bázi celého procesu: <xsl:template match="/Api1/DocData/Fragments"> <xsl:for-each select="Frag"> <xsl:choose> <xsl:when test="@Struct=’Preambule’"> <parm> <xsl:value-of select="@Content"/> <xsl:when test="@Struct=’Cast’"> <parm> <xsl:value-of select="@Content"/> ... <xsl:apply-templates select="*"/> Příkaz respektive element <xsl:template> spolu se svým atributem match říká, na který blok XML dokumentu a jeho elementy se následně mapovaná makra vztahují. Vybral jsem blok, který se již týká jednotlivých fragmentů právního předpisu – z pododdílu 5.1.1, kde jsem rozebral API Zákonů pro lidi již vím, že blok obsahuje elementy , jejichž atributy Struct konkrétní fragmenty identifikují a atributy Content představují jejich obsah – text právních předpisů. Mapování probíhá na principech běžného sériového průchodu a větvení. Element <xsl:for-each> a jeho atribut select identifikují fragmenty, na které se vztahuje následující posloupnost představovaná větvením – konkrétně elementem <xsl:choose>. 48
5. Tvorba textového výstupu Volbu vhodné podmínky jsem zvolil atributem test příslušící elementu <xsl:when>, který testuje aktuálně načtený element zdrojového XML dokumentu a jeho atribut Struct – pakliže při překladu narazí na fragment Frag jehož atribut Struct říká, že jde o typ „Preambule“, do dokumentu se umístí makro \preambule, jehož parametrem je obsah příslušného atributu Content. Analogicky se postupuje v případě fragmentu „Část“ a dalších, dokud nejsou namapovány všechny elementy zdrojového XML dokumentu, důležité pro výslednou sazbu právního předpisu. 5.3.2 Implementace a sazba dokumentu Poslední fází celého komplexního procesu konverze a sazby dokumentu je její programové provedení pomocí příslušných nástrojů. Konverze je znázorněna na obrázku 5.1, kde jsou všechny tři aplikace znázorněny – pdfLATEX jsem již zmínil, a dále je nutná instalace překladače pro XSL transformaci do formátu TEXML a překladače pro TEX. Nutno podotknout, že celý proces návrhu stylu pro právní předpisy až po jejich výslednou sazbu probíhal pod operačním systémem Linux, jmenovitě distribuce Ubuntu x64 (ve verzích 14. 04 a posléze 14. 10) [49]. Pro transformaci XSLT jsem zvolil nástroj xsltproc [50] a pro převod z TEXML na LATEX dokument aplikaci texml [51] – oba nástroje jsou pro Ubuntu standardně dostupné v jeho depozitářích (minimálně v mém případě tomu tak bylo, avšak pro texml jsou navíc nutná knihovna Pythonu). Posloupnost příkazů je následující: xsltproc -o zakon121.texml zakon.xsl zakon121.xml texml -e UTF-8 zakon121.texml zakon121.tex pdflatex zakon121.tex Elegantním řešením je vytvoření souboru Makefile a nutnost volání pouze jednoho příkazu make. Na základě vstupních souborů .xsl a .xml nástroj xsltproc vytvoří vstupní soubor .texml pro nástroj texml a ten následně provede překlad pro sazbu programem pdfLATEX. Vstupní kódování se v případě druhého kroku nastavuje přímo v příkazové řádce. Výhodou avšak nikoliv nutností je instalace programu vlna od Petra Olšáka pro sazbu textů podle českých konvencí – jedná se zejména o automatizované ošetření výskytu jednoslabičných souhlásek na konci řádku [52] – aplikace nástroje se provádí na výsledný soubor .tex a až poté následuje jeho vysázení. Jakou 49
5. Tvorba textového výstupu formou disponují zdrojové soubory pro XSL transformaci jsem již předvedl v předcházejících oddílech – nyní zbývá demonstrovat překlad na soubor .texml a výsledný .tex. V principu lze říci, že soubor .texml je zdrojový XSL dokument s nadefinovanými a provázanými značkami obohacený o popsaná data z XML dokumentu: <parm>ČÁST PRVNÍ <parm>PRÁVO AUTORSKÉ A~PRÁVA S~NÍM SOUVISEJÍCÍ <parm>§ 1 <parm>Předmět úpravy <parm>a) práva autora k~jeho autorskému dílu, <parm>b) práva související s~právem autorským: ... Na základě výše převedených dat nástroj texml vytvoří finální LATEXový dokument připravený pro výslednou sazbu: \cast{ČÁST PRVNÍ} \castpod{PRÁVO AUTORSKÉ A~PRÁVA S~NÍM SOUVISEJÍCÍ} \paragraf{§ 1} \castpod{Předmět úpravy} \paragrafnad{a) práva autora k~jeho autorskému dílu,} \paragrafnad{b) práva související s~právem autorským:} ... 50
5. Tvorba textového výstupu Po vytvoření souboru s příponou .tex je proces konverze u konce – nyní přijde na řadu program vlna, a následně je již dokument vysázen prostřednictvím pdfLATEXu – právní předpis se nachází ve finální podobě formátu PDF vhodný k vytištění na papír a zastává tak důstojnou podobu oficiálního textového výstupu právního informačního systému Zákony pro lidi.
5.4 Zhodnocení výsledků Výsledky pro porovnání a zhodnocení závěru práce jsou k přiloženy jako dvě samostatné tištěné přílohy (jsou rovněž součástí i elektornické přílohy) – vysázený originál autorského zákona dostupného ve Sbírce zákonů ČR a jako příloha číslo dvě vysázený autorský zákon, na základě provedení komplexního procesu konverze a sazby právních předpisů dostupných na portálu ZPL. Dle mého přesvědčení je výsledek více než uspokojivý a představuje velice slušný základ pro následnou konverzi a sazbu komplexní Sbírky zákonů a praktického nasazení na portálu ZPL jako jeho oficiálního textového výstupu. 5.4.1 Vizuální podoba právního předpisu Při průzkumu obou vysázených exemplářů právních předpisů jsou na první pohled rozdíly téměř nepatrné. V záhlaví dokumentu si lze všimnout rozdílného číslování stránek, což je dáno umístěním originálního předpisu jako součástí částky Sbírky zákonů – zde se všechny právní předpisy v ní obsažené číslují souvisle – mezi jednotlivými právními předpisy se číslování od začátku neuplatňuje. V případě konverze právních předpisů ze zdrojového XML souboru portálu ZPL je každý zákon samostatnou jednotkou a čísluje se proto vždy od začátku bez ohledu jeho příslušnosti ke konkrétní částce. Po detailnějším ohledání je patrný další rozdíl a tím jsou různé formáty číslovek. Mnou použitý typ fontu Garamond obsahuje pouze číslovky typu „old-style“, nicméně dle mého názoru je tento formát vhodnější a v kontextu celého fontu se mi jeví jako ucelenější. Podobná situace panuje ve formátu nadpisů a jejich „délky“. Přílohy jsou zvláštním případem. Jejich podoba a formát absentuje předem určené specifikace, to se týká zejména formátu tabulek a obrázků. Mnou vybraný autorský zákon obsahuje celkem dvě znatelné výjimky. První je formát tabulky v příloze číslo 1, která má oproti originálu (holému textu) 51
5. Tvorba textového výstupu podobu standardní „excelové“ tabulky. Příloha číslo 2 v původním zákoně zcela chybí – byla doplněna příslušnou novelou, zpracovávající konkrétní evropské směrnice. Poslední část nově vytvořeného právního předpisu představující seznam citací respektive poznámek pod čarou je oproti originálu také nad rámec původního obsahu. Právě co se týče obsahové stránky právního předpisu, zde jsou rozdíly způsobené zdrojem právních informací – v obou případech jde o oficiální Sbírku zákonů, avšak v případě stejnopisů její tištěné verze nejsou v podobě úplného a konsolidovaného znění (chybí zapracování novelizovaných pasáží), což nekoreluje s označkovanými právními předpisy portálu ZPL, kde tomu tak je (např. vizte podnadpis paragrafu 2 „Dílo“ vs. „Autorské dílo“). Tím výčet rozdílů více či méně končí (po budoucím zpracování kompletní Sbírky zákonů však další drobné rozdíly nemohu vyloučit, zejména kvůli její rozmanitosti) a dovolím si konstatovat, že dle mého názoru se cíl práce obstojným způsobem podařilo naplnit a výsledná podoba právního předpisu je po formální i typografické stránce shodná s originální produkcí legislativních orgánů a navíc jde dále – představuje ucelený a aktuální zdroj právních informací, jak novelizovaných částí, tak i pasáží zahrnující relevantní evropskou legislativu.
5.4.2 Shrnutí nedostatků Většinu nedostatků jsem v práci přímo či nepřímo již zmínil. Jedná se zejména o nutnost doznačkování právního předpisu a modifikace zdrojového XML souboru, nicméně při aplikaci na kompletní soubor právních předpisů je dostupné řešení na programové úrovni při značkování konkrétních zákonů – plně v kompetenci tvůrců projektu ZPL a jejich značkovacího procesu. Problém konverze tabulek a jejich možnostech při následné sazbě, jsem v práci také nastínil – došlo k použití mechanismu převodu tabulek na obrázky. Nevýhodou je nutnost manuální korektury a volba správného zdroje tabulek (oficiální Sbírka zákonů nebo PDF právní předpisy portálu ZPL). Druhým možným řešením by se nabízela tvorba webové služby, která by popsanou tabulku v HTML kódu automatizovaně převáděla přímo na kód pro LATEX. Posledním výraznější nedostatek se týká výsledné sazby, kdy překladač nikoliv vždy použije správné zalomení sloupce či stránky a ojediněle se objevují vdovy či sirotci. Pravděpodobně se jedná o nedotažení dvousloupcové sazby 52
5. Tvorba textového výstupu prostředím multicols a je zde vyžadován manuální zásah. Jednoslabičné souhlásky na konci řádku a jejich zalomení je řešeno programem vlna.
53
Kapitola 6
Závěr Cílem této práce bylo čtenáře seznámit s tuzemskými právními informačními systémy na straně jedné, a na straně druhé se zahraničními projekty „Legal XML“, využívajícími technologii značkovacího jazyka XML. To vše zejména z hlediska produkce jejich oficiálních textových výstupů. Z toho důvodu je v práci zmíněna i problematika tvorby a struktury právních předpisů a jejich legislativní úprava. Hlavní náplní práce však bylo navázání spolupráce s týmem AION CS a analýza českého právního portálu Zákony pro lidi, za účelem návrhu a implementace procesu automatizované tvorby jeho oficiálních textových výstupů právních předpisů na něm dostupných, které by disponovaly náležitou typografickou úrovní. V kontextu existence označkovaných právních předpisů následovala tvorba nového odpovídajícího stylu pro sázecí nástroj LATEX a jejich automatizovaná konverze a kompozice oficiálního textového výstupu. Důraz byl kladen především na typografickou kvalitu, co nejvíce se přibližující oficiální produkci českých legislativních orgánů (což jsou v podstatě tvůrci oficiální české Sbírky zákonů) a na automatizaci celého procesu. Pro simulaci výsledku jsem použil autorský zákon, který patří po stránce legislativně-technické k nejzdařilejším. Zákon obsahuje téměř kompletní strukturu typického českého právního předpisu a pro demonstraci je zákonem nejvhodnějším (nebylo v mých silách na několika stranách, kterými je tato práce komponována, prozkoumat kompletní soubor Sbírky zákonů, která řádově čítá tisíce až desetitisíce právních předpisů). Diplomová práce je rozdělena na dvě rozsáhlé části – teoretickou část shrnující problematiku právních informací a právních informačních systémů v kapitole 2, legislativy regulující právní řád v kapitole 3 a jejich elektronického zpracování (jmenovitě uchovávání právních předpisů pomocí technologie XML a následná tvorba textových výstupů skrze sazbu nástrojem LATEX) v kapitole 4; a dále část aplikační, ve které je provedena analýza projektu Zákony pro lidi, což je obsahem komplexní kapitoly 5. Důraz byl kladen na způsob označkování značkovacím jazykem XML a průzkum jeho API. 54
6. Závěr Aplikační část práce neméně detailně popisuje i tvorbu zcela nového stylu pro jeho oficiální textové výstupy a automatizovanou konverzi ve smyslu XML → LATEX → PDF (při aplikaci na již zmíněném autorském zákoně). Součástí práce je rovněž elektronická příloha ve formátu CD, obsahující kompletní soubor všech dokumentů a nástrojů použitých pro celý proces tvorby textových výstupů. Kromě elektronické přílohy je součástí výsledek aplikační části práce – transformovaný a vysázený autorský zákon ve formátu PDF, následně vytištěný na papír. Pro možnosti následné komparace je vysázen a vytištěn i originál autorského zákona obsažený v oficiální Sbírce. Analýza projektu Zákony pro lidi a jeho API obnášela doznačkování a tvorbu dalších elementů pro přesnější popis fragmentů dokumentu, zejména kvůli možnostem přesnější konverze na makra nově vytvořeného stylu pro sazbu právních předpisů. Zde jsem neshledal žádnou významnější překážku a to ani z pohledu zautomatizování celého procesu – značkování zákonů na portálu dostupných probíhá programově s ruční korekturou. Za zmínku však stojí poněkud „roztodivný“ formát příloh právních předpisů – tabulek, který vyžaduje významnějšího manuálního zásahu. Nicméně i přes tyto nesrovnalosti je proces stále velice funkční. Návrh nového stylu (mnou pojmenovaného jednoduše „czechlaw“) odpovídajícího formátu a struktuře českých právních předpisů dostupných v originále Sbírky zákonů, se skládal z téměř nekonečného koloběhu tvorby, překladu a komparace s původní podobou pro dosažení uspokojivé míry typografické kvality a patřičné shody. Po doznačkování právního předpisu a tvorby specifických maker pro LATEX již přišla na řadu konverze pomocí tzv. XSL transformace a mapování XML značek na korelující makra sázecícho nástroje. Po úspěšném namapování a provázání obou typů dokumentu byl proces téměř u konce a připraven pro finální sazbu. Výsledek procesu je znázorněn již zmíněnými přílohami vysázeného autorského zákona. Celkový výstup práce je tvořen jako komplexní proces doznačkování, automatizované transformace a sazby právních předpisů, dostupných ve formě označkovaných XML dokumentů/právních předpisů portálu Zákony pro lidi. Velká míra usílí byla vynaložena zejména na možné praktické nasazení a do budoucna stále trvající vzájemnou spolupráci, která (při „troše štěstí“) povede ke konverzi a následné sazbě všech právních předpisů na portálu dostupných. Bude tak zastávat podobu „oficiální“ Sbírky zákonů, avšak svojí propracovaností půjde dále – jejím obsahem budou právní předpisy ve svém úplném a konsolidovaném znění, což originiál Sbírky zákonů ČR a její stenopisy poskytnout nemohou. Ač se při dostupnosti tištěných textů Sbírky 55
6. Závěr zákonů v elektronické formě může celý proces tvorby „analogického“ výstupu zdát jako zbytečný, opak je však pravdou a poskytuje nezanedbatelnou přidanou hodnotu, zejména při pohledu na již zmíněnou dostupnost aktuálních novelizovaných právních předpisů a z toho plynoucí snadnější orientaci v nich. Potřebu důstojných a typograficky kvalitních textů jakožto oficiálního výstupu projektu Zákony pro lidi netřeba zdůrazňovat. Jsem si zcela vědom, že proces konverze a sazby textů kompletní Sbírky zákonů je při pohledu na její obsáhlost na samotném začátku, avšak tato práce by měla sloužit jako pojící linka či zakládací stavební kámen, nastolující principy jejich tvorby a udávat směr i v jiných oblastech elektronizace právního řádu. I přes demonstraci na tak malém vzorku komplexního souboru dat, kterým jeden právní předpis beze sporu je (sice typickým, svojí strukturou nejčastějším, avšak stále nezastupujícím všechny exempláře), si troufám tvrdit, že výsledky práce jsou více než uspokojivé a na přiloženém textu autorského zákona je to ihned patrné. Nicméně i přes svoji hodnotnost proces stále není u konce a vyžaduje velké úsílí a píli, které však (jak osobně doufám a pevně věřím) přinesou kýžené ovoce v podobě právního informačního systému Zákony pro lidi s kvalitně zvládnutou produkcí jeho textových výstupů.
56
Literatura [1] W3C: Extensible Markup Language (XML). [online]. Změněno 29. 10. 2013 [cit. 2014-03-22]. Dostupné z: . [2] RYBIČKA Jiří. LATEX pro začátečníky. Vyd. 3. Brno: Konvoj, 2003. 238 s. ISBN 80-7302-049-1. [3] DVOŘÁK Pavel. Úprava právních dokumentů pomocí značkovacích jazyků. Brno, 2012. 59 s. Bakalářská práce. Masarykova univerzita, Fakulta informatiky. [4] Revue pro právo a technologie. [online]. [cit. 2014-09-12]. Dostupné z: . [5] ŠAVELKA Jaromír, Matěj MYŠKA, Adam PTAŠNIK, and Danuše SPÁČILOVÁ. Právní informační systémy. Vyd. 1. Brno: Tribun EU, 2011. 259 s. ISBN 978-80-7399-248-4. [6] ŠÍN Zbyněk. Tvorba práva: pravidla, metodika, technika. Vyd. 2. Praha: C.H. Beck, 2009. 176 s. ISBN 9788074001628. [7] FILIP Jan. Ústavní právo České republiky. 4. opr. a dopl. vyd. Brno: Masarykova univerzita, 2003. 556 s. ISBN 8021032545. [8] Zákony pro lidi.cz. [online]. 2010–2014 [cit. 2014-01-25]. Dostupné z: . [9] HAVRÁNEK Jaromír a kol. Teorie práva. 2. opr. vyd. Brno: Masarykova univerzita, 2004. 343 s. ISBN 8021035099. [10] CVRČEK František and František NOVÁK. Základy právní informatiky. Brno: Masarykova univerzita, 1992. 99 s. ISBN 8021005335. [11] Systém ASPI. [online]. 2009 [cit. 2014-03-22]. Dostupné z: . [12] ATLAS Consulting. [online]. 2013–2014 [cit. 2014-03-22]. Dostupné z: .
57
Literatura [13] beck-online. [online]. 2012 [cit. 2014-03-22]. Dostupné z: . [14] Sokordia ISpis – inteligentní spis. [online]. 2014 [cit. 2014-03-22]. Dostupné z: . [15] Portál veřejné správy. [online]. 2014 [cit. 2014-03-22]. Dostupné z: . [16] Sbírka zákonů a Sbírka mezinárodních smluv. [online]. 2014 [cit. 2014-03-22]. Dostupné z: . [17] Nakladatelství C. H. Beck. [online]. 2014 [cit. 2014-03-24]. Dostupné z: . [18] SALVIA. [online]. [cit. 2014-04-29]. Dostupné z: . [19] OASIS: Advancing open standards for the information society. [online]. 2014 [cit. 2014-03-27]. Dostupné z: . [20] OASIS: LegalXML: Committess. [online]. 1993–2008 [cit. 2014-03-27]. Dostupné z: . [21] CEN. CEN workshop agreement: Metalex (open xml interchange format for legal and legislative resources). Technical report, Comité Européen de Normalization, 2007. [22] SARTOR Giovanni, Monica PALMIRANI, Enrico FRANCESCONI, and Maria Angela BIASIOTTI. Legislative XML for the Semantic Web. Heidelberg: Springer, 2011. 190 s. ISBN 94-007-1886-1. [23] CEN. CEN workshop agreement: Metalex (open xml interchange format for legal and legislative resources). Technical report, Comité Européen de Normalization, 2010. [24] ŠAVELKA Jaromír. Značkování právních dokumentů. Brno, 2013. 56 s. Bakalářská práce. Masarykova univerzita, Fakulta informatiky. [25] VITALI Fabio and Flavio ZENI. Towards a country-independent data format: The AkomaNtoso experience. European Press Academic Publishing, 2007. In Proceedings of the V Legislative XML Workshop, s. 67–86. [26] Legislativní pravidla vlády České republiky schválená usnesením vlády ze dne 19. března 1998 č. 188, ve znění pozdějších usnesení.
58
Literatura [27] Zákon č. 309/1999 Sb., o Sbírce zákonů a Sbírce mezinárodních smluv, ve znění pozdějších předpisů. [28] KELNAR Martin. Zpracování právních předpisů pomocí XML. Brno, 2013. 45 s. Bakalářská práce. Masarykova univerzita, Fakulta informatiky. [29] Zákon č. 89/1998 Sb., o odpovědnosti za škodu způsobenou vadou výrobku, ve znění pozdějších předpisů. [30] Zákon č. 99/1963 Sb., občanský soudní řád, ve znění pozdějších předpisů. [31] Zákon č. 150/2002 Sb., správní řád soudní, ve znění pozdějších předpisů. [32] KOSEK Jiří. XML pro začátečníky. Praha: Grada publisher, 2000. 164 s. ISBN 80-7169-860-1. [33] HUNTER David, Jeff RAFTER, Joe FAWCCET, Eric van der VLIST, Danny AYERS, Jon DUCKETT, Andrew WATT, and Linda McKINNON. Beginning XML (Programmer to Programmer). Wrox, 2007. [Kindle edition]. [34] XSL Transformations (XSLT) Version 1.0. [online]. [cit. 2015-01-7]. Dostupné z: . [35] AION CZ. [online]. [cit. 2014-12-13]. Dostupné z: . [36] TeX Live. [online]. Změněno 15. 4. 2014 [cit. 2014-04-20]. Dostupné z: . [37] CTAN: Comprehensive TeX Archive Network. [online]. [cit. 2014-04-29]. Dostupné z: . [38] Československé sdružení uživatelů TeXu. [online]. Změněno 3. 11. 2013 [cit. 2014-04-29]. Dostupné z: . [39] ATOM2 . [online]. [cit. 2014-12-17]. Dostupné z: . [40] MILUNI Project. [online]. [cit. 2014-12-17]. Dostupné z: . [41] Zákon č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon), ve znění pozdějších předpisů. [42] CTAN Comprehensive TeX Archive Network. [online]. [cit. 2014-12-19]. Dostupné z: .
59
Literatura [43] Vyhláška č. 285/1996 Sb., kterou se mění a doplňuje vyhláška Ministerstva zdravotnictví České republiky č. 426/1992 Sb., o úhradě léčiv a prostředků zdravotnické techniky, ve znění vyhlášky č. 150/1994 Sb., vyhlášky č. 198/1995 Sb. a vyhlášky č. 60/1996 Sb. [44] Vyhláška č. 540/2002 Sb., kterou se provádějí některá ustanovení zákona č. 151/1997 Sb., o oceňování majetku a o změně některých zákonů (zákon o oceňování majetku), ve znění pozdějších vyhlášek. [45] Overleaf: Collaboratory Writing and Publishing. [online]. [cit. 2014-12-21]. Dostupné z: . [46] Garamond.org. [online]. [cit. 2014-12-20]. Dostupné z: . [47] Claude Garamond – Font Designer. [online]. [cit. 2014-12-20]. Dostupné z: . [48] Garamond fonts for LaTeX. [online]. [cit. 2014-12-20]. Dostupné z: . [49] Ubuntu. [online]. [cit. 2014-12-26]. Dostupné z: . [50] The xsltproc tool. [online]. [cit. 2014-12-26]. Dostupné z: . [51] TeXML installation. [online]. [cit. 2014-12-26]. Dostupné z: . [52] vlna. [online]. [cit. 2014-12-26]. Dostupné z: .
60
Příloha A
Struktura přiloženého CD Na přiloženém CD se nachází kompletní skladba souborů, kterými je diplomová práce tvořena, včetně zdrojových textů i vytvořeného projektu. Adresářová struktura je následující: ∙
diplomova-prace/ –
∙
Obsahem adresáře je elektronická verze této diplomové práce – součástí jsou jednak zdrojové soubory nutné pro překlad, druhak i výstupní soubory vzniklé po překladu (vysázený text práce).
projekt/ –
original/ *
–
Adresář obsahuje originální soubory projektu Zákony pro lidi, jmenovitě API a označkováný autorský zákon ve formátu XML. Součástí je rovněž i částka 36 Sbírky zákonů, ve které se nachází autorský zákon.
czechlaw/ *
Výsledky aplikační části práce a všechny potřebné soubory jsou součástí adresáře czechlaw. Obsahem je upravené API projektu Zákony pro lidi, doznačkovaný autorský zákon, dokument pro XSL transformaci, dále nově vytvořený styl pro sazbu právních předpisů a v neposlední řadě již vysázený autorský zákon ve formátu PDF.
61