DocBook a jeho využití Tomáš Pitner, Jan Pavlovič, FI MU



Podobné dokumenty
E-learning a DocBook

Elektronické publikování. doc. RNDr. Petr Šaloun, Ph.D. katedra informatiky FEI VŠB TU Ostrava

Jak psát bakalářskou práci v DocBooku

APLIKACE XML PRO INTERNET

Jazyk XSL XPath XPath XML. Jazyk XSL - rychlá transformace dokumentů. PhDr. Milan Novák, Ph.D. KIN PF JU České Budějovice. 9.

Elektronické publikování. Základní pojmy. B žné systémy. Publika ní nástroje. doc. RNDr. Petr Šaloun, Ph.D. FEI VŠB TU Ostrava

Značkovací jazyky a spol. HTML/XHTML XML JSON YAML Markdown, Texy!

Prezentace XML. XML popisuje strukturu dat, neřeší vzhled definice vzhledu:

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Základy informatiky. Elektronické publikování. Daniela Szturcová Část převzata z přednášky P. Děrgela

Uspořádání klient-server. Standardy pro Web

Inovace výuky prostřednictvím šablon pro SŠ

HTML Hypertext Markup Language

Obsah prezentace. Co je to XML? Vlastnosti. Validita

Základy informatiky. Elektronické publikování. Daniela Szturcová Část převzata z přednášky P. Děrgela

36 Elektronické knihy

XML versus TEX jemné porovnání. Martin Tůma 31. srpna 2004

24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML.

Vývoj Internetových Aplikací

Základy WWW publikování

Úvod do TeXu. Jan Vaněk. Nové Hrady 2011

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

ZNAČKOVACÍ JAZYKY A JEJICH VYUŽÍVÁNÍ MARKUP LANGUAGE AND THEIR USE. Zdeněk Havlíček

HTML - Úvod. Zpracoval: Petr Lasák

Textové editory. Ing. Luděk Richter

Kartografická webová aplikace. Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita

Základy informatiky. 02 Elektronické publikování. Michal Kačmařík upraveno z přednášek D. Szturcové a P. Děrgela

Základy informatiky. HTML, tvorba WWW stránek. Daniela Szturcová Část převzata z přednášky P. Děrgela

XML A XWEB JAKO NÁSTROJE PRO TVORBU WEBOVÉHO SÍDLA S VELKÝM MNOŽSTVÍM KŘÍŽOVÝCH ODKAZŮ

Obsah Úvod 4. TF Wmake 1.5

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access složitější konverze dat Ing. Kotásek Jaroslav

Počítačová prezentace. Základní pojmy. MS PowerPoint

Tvorba WWW stránek. Mojmír Volf

Programy pro psaní textů. textové editory, textové procesory

VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, O.P.S. Základy informatiky

O projektu Nasazení OpenOffice.org v praxi

Sphinx Doc. Hádanky o jednom zdroji (dokumentace) Lena

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

TVORBA TEXTOVÉHO DOKUMENTU PROSTŘEDKY, PŘENOSITELNOST

Návrh stránek 4IZ228 tvorba webových stránek a aplikací

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty

Souhrn výukových materiálů ke kurzu: Tvorba výukových materiálů pomocí tabletu (B3.6)

MBI - technologická realizace modelu

9. Software: programové vybavení počítače, aplikace

Olga Rudikova 2. ročník APIN

Práce s administračním systémem internetových stránek Podaných rukou

XML Š ABLONY A JEJICH INTEGRACE V LCMS XML TEMPLATES AND THEIN INTEGRATION IN LCMS

PowerPoint lekce II.

Dělba rolí. Tvorba el. dokumentace (BI-TED) Publikační proces. Motivace. 2. Oddělení formy a obsahu. Autor

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Vzdělávací obsah předmětu

Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace. Maturitní otázky z předmětu INFORMATIKA A VÝPOČETNÍ TECHNIKA

Systém elektronického rádce v životních situacích portálu

Jazyky pro popis dat

HTML XHTML JavaScript PHP ASP.Net Zajímavé odkazy

Výukový materiál zpracovaný v rámci projektu

O projektu OpenOffice.org a IBM OS/2 OS/2 a Open Source

Dotazování nad XML daty a jazyk XPath

HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT

DTP1. (příprava textu pomocí počítače) Kapitola 12 / Elektronické publikování

Obsah. Rozdíly mezi systémy Joomla 1.0 a Systém Joomla coby jednička online komunity...16 Shrnutí...16

2.3.3 PRÁCE S JEDNÍM A VÍCE DOKUMENTY

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

Publikování map na webu - WMS

Webové stránky. 4. Tvorba základní HTML webové stránky. Datum vytvoření: str ánk y. Vytvořil: Petr Lerch.

Technologie pro e-vzdělávání 2005

XSLT pomocí JavaScriptu v Mozille (... Opeře a Safari)

VY_32_INOVACE_INF3_18. Textové formáty PDF, TXT, RTF, HTML, ODT

22. Tvorba webových stránek

E-learningovýsystém Moodle

INFORMATIKA. Grafické studio ve škole

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

(Nepříliš) stručně o systémech TEX a L A TEX

Stránka se dá otevřít dvěma způsoby

(X)HTML, CSS a jquery

1. Začínáme s FrontPage

Prezentační prostředky v matematice

Quo vadis, informatiko na LDF? (TEX, nvu, maxima, bash)

MICROSOFT OFFICE. Městská knihovna Ostrov, p. o. Douša Ondřej

Další XML technologie

Prezentace. Prezentace. 5. InDesign vzory, znakové styly. Vytvořil: Tomáš Fabián vytvořeno

Požadované dovednosti v ovládání textového procesoru Microsoft Word 2013 pro předměty VA1 a VT1

Základy programování Elektronické publikování a typografie

NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE. Ataxo Czech s.r.o.

Možnosti využití XML v knihovnické praxi. Gabriela Krčmařová AKP 2001 Národní knihovna ČR Liberec,

Internet 2 css, skriptování, dynamické prvky

Webové stránky. 2. Úvod do jazyka HTML. Datum vytvoření: str ánk y. Vytvořil: Petr Lerch.

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

Naše Město Web design

Redakční systém Joomla. Prokop Zelený

Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě

Obsah 1. Obsah. Sazba dokumentů v LATEXu 2 Úvod... 2 Vstupy... 3 Ceník... 6 Kontakt... 7 Ukázky Tvorba hudebnin v prostředí LilyPond 10

Počítačové řešení elektrických obvodů

Modul MWA - Publikace a články

Administrace webu Postup při práci

Kaskádové styly (CSS)

Informatika základní pojmy

Transkript:

DocBook a jeho využití Tomáš Pitner, Jan Pavlovič, FI MU XML značkování DocBook 1, původně určené k pořizování programové dokumentace, se stává v současnosti velice populárním formátem platformově přenositelných dokumentů o čemkoli". Nejlepším důkazem jeho kvalit je široké uplatnění v open-source komunitách, akademické sféře i v průmyslu využívají ho společnosti Novell a SUN, vydavatelství O Reilly stejně jako komunity kolem projektů PHP, Gnome, KDE, BSD, Linux aj. DocBook je formátem zavedeným; v SGML podobě, dnes již téměř neznámé, existuje někdy od roku 1991. Od ustavení XML jako standardu v roce 1998 je DocBook rozvíjen již převážně v XML podobě. Hlavní výhodou je kromě totální platformové nezávislosti také čistota" v něm pořízeného textu. Dokument označkovaný podle standardu DocBook nenese téměř žádné explicitní pokyny k formátování je tedy stejně dobře následně prezentovatelný na monitoru počítače, na displeji PDA nebo ve vysoce kvalitní tiskové podobě. Nejsme v něm schopni a tudíž ani nemůžeme zabývat se tím, jak velké písmo a jaký font se použije na nadpis, kde bude zalomena stránka.... Převážná většina značek nese informace o sémantice toho, co je značkou ohraničeno. Např. značka <chapter> signalizuje, že její vnitřek představuje jednu kapitolu knihy nebo článku, <title> je její nadpis; podobně <para> ohraničuje odstavec textu a na řádku uvedený element <emphasis> vymezuje zdůrazněný úsek textu. O přesné formátování se starají až nadstavby, které například pomocí XSLT transformací a případně dalším následným zpracováním z původně platformově nezávislého dokumentu vytvoří např. PDF soubor s již přesným rozvržením na stránky, vhodnými fonty atd. I ve srovnání s T E Xem znamená DocBook ještě výraznější příklon k logickému charakteru značkování. Na druhou stranu je třeba připustit, že pro stoprocentně typograficky kvalitní výstup Doc- Bookových dokumentů se manuálním zásahům v jisté fázi zpracování nevyhneme. 1 http://www.oasis-open.org/docbook Ukažme si, jak v DocBooku označkujeme jednoduchou knihu se dvěma kapitolami (přičemž si odpouštíme např. informace o autorovi, datum vzniku, copyrightu, atd.): <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/ xml/4.2/docbookx.dtd"> <book lang="cs"> <title>první kniha v DocBooku</title> <chapter> <title>nadpis první kapitoly</title> <para>první odstavec první kapitoly. <para>druhý odstavec první kapitoly. </chapter> <chapter> <title>nadpis druhé kapitoly</title> <para>odstavec 1. se <emphasis>zdůrazněným textem</emphasis> <para>odstavec 2. </chapter> </book> Celkově DocBook nabízí přes 400 druhů elementů (značek), v praxi většinou vystačíme se znalostí několika málo desítek z nich. Široký repertoár je nabízen pro ty, kdo vyžadují jemné sémantické vyznačení takových prvků dokumentu, jako jsou názvy tříd, metod, tlačítek v uživatelském rozhraní programů, příkazů systému, atd. Prvotní účel prostředek k pořizování dokumentace se zde jednoznačně odráží. 1 Oblasti využití Nasazení DocBooku v akademické sféře lze rozdělit do těchto hlavních kategorii: tvorba webových prezentací (slidy předmětu) tvorba odborných článků a publikací tvorba bakalářských a diplomových prací 1.1 Webové prezentace (slidy) Norman Walsh připravil pod názvem DocBook Slides 2 derivát zjednodušeného DocBooku (Simpli- 2 http://docbook.sourceforge.net/projects/ slides 1

fied DocBook 3 ) určený k přípravě prezentačních podkladů (slidů). Současně k nim poskytuje rozsáhlou sadu XSL stylů pro jejich vizualizaci. Studenti často vyžadují, aby slidy dostali k dispozici i v tisknutelné podobě. Pro tyto případy lze použít bud to existující styly formátující slidy do tzv. formátovacích objektů 4 (jsou k dispozici na http://sourceforge.net/ project/showfiles.php?group_id=21935 vedle stylů generujících HTML) a výsledný soubor převést např. procesorem Apache FOP 5 do PDF souboru a ten vytisknout. Velmi jednoduchým XSLT stylem je také možno převést slidy do normálního DocBooku např. jako knihu (book), případně doplňovat atd. jako běžný DocBook dokument. Tento způsob se osvědčil nejlépe ne každý student totiž chce celý soubor tisknout, někomu vyhovuje jeho prohlížení a to i např. na počítačích třídy PDA, pro něž mnohdy neexistuje prohlížeč PDF. Uved me pro představu krátkou ukázku zdrojového tvaru slidů ve značkování DocBook Slides: <?xml version= 1.0?> <!DOCTYPE slides SYSTEM "../../schema/dtd/slides.dtd"> <?dbhtml graphics-dir="../graphics" css-stylesheet-dir="../browser"?> <?dbhtml script-dir="../browser"?> <slides> <slidesinfo> <title>the Slides Document Type</title> <titleabbrev>slides</titleabbrev> <author><firstname>norman</firstname> <surname>walsh</surname></author> <pubdate>tuesday, 25 June 2002</pubdate> <releaseinfo role="version"> 3.1.0</releaseinfo> <copyright><year>2002</year> <holder>norman Walsh </holder></copyright> </slidesinfo> <foil><title>introduction</title> <para>this is the introductory slide. <para>if you use foil groups (previously called sections), you can have introductory slides before the first group. 3 http://www.oasis-open.org/docbook/xml/ simple 4 XSL:FO, http://www.w3.org/tr/xsl 5 http://fop.apache.org 2 Obrázek 1: Slidy připravené k prezentaci v HTML prohlížeči </foil> <foilgroup> <title>purpose and History</title> <para>groups can now have introductory text as well.... Na obr.1 je vidět výsledná HTML podoba zobrazená v prohlížeči. V praxi se ukázalo, že hlavní předností pořizování slidů k přednáškám i jednorázovým prezentacím v DocBooku je snadná produkce výstupů k prohlížení na obrazovce, promítání z projektoru a pro tisk vše z jednoho zdrojového souboru. 1.2 Tvorba odborných článků a publikací Velmi užitečný nástroj je DocBook při tvorbě článků do konferencí a jiných odborných publikací. Většinou se po autorech žádá, aby svůj příspěvek formátovali do předem dané T E Xové šablony. Jestliže své příspěvky hodláme pořizovat v DocBooku, lze pro příslušnou konferenci napsat krátký XSLT styl, který nám zdrojový text v DocBooku převede do požadovaného formátu.

Výchozí zdroje zůstávají v jednotné podobě nezávislé na požadavcích editora daného sborníku, časopisu apod. Díky tomu, že zdrojový soubor ve značkování DocBook nenese (téměř) žádné pokyny pro formátovací a sémantika značek je dána poměrně pevně, není rovněž problém kombinovat zdroje různých autorů např. v situaci, kdy pracují na společném článku, knize... 1.3 Tvorba závěrečných prací Jedním z požadavků na závěrečné práce je přiměřená typografická úroveň. Na Fakultě informatiky tradičně existuje LAT E Xový styl, které závěrečným pracím dává jednotnou podobu. V dnešní době však T E Xová gramotnost mezi studenty velmi klesá a napsat typograficky kvalitní práci ve WYSIWYG editoru není snadné. Práce v DocBooku nám velmi zjednoduší jak samotné pořízení textu práce, tak především přípravu její výstupní podoby obvykle ve formátech PDF a XHTML. Tvorba práce v DocBooku je několikafázový automatizovaný proces, viz. obr 2 V průběhu celého procesu k transformaci zdrojového dokumentu v DocBooku do LAT E Xového kódu. LAT E Xový procesor nám ve výstupu dává dokument v požadované kvalitě. Jelikož je celý proces automatizovaný, nemusí uživatel znát prakticky nic o LAT E Xu. 2 Nástroje 2.1 Editory Bez kvalitních autorských nástrojů by samotné značkování nebylo příliš užitečné. Naštěstí je DocBook dnes koncipován a rozvíjet především jako XML značkování a tudíž lze k editování dokumentů použít jakýkoli XML editor, případně i editor čistého textu. Nejkvalitnější přímou podporu DocBook nabízejí komerční prostředí jako je Epic, XMLSpy nebo Corel XMetal. Bez velkých omezení je ale použitelný i XMLMind XML Editor 6, jehož základní verze je dostupná zdarma a je k dispozici i jako modul (xmlmind) na strojích 6 http://www.xmlmind.com/xmleditor Fakulty informatiky. Rovněž tak lze zdarma použít i javový editor jedit 7, klasiku" Emacs, vim a řadu dalších. 2.2 Modul xslt2 Aby mohl uživatel plně využít předností automatizovaného zpracování dokumentů v Doc- Booku, byl na Fakultě informatiky vytvořen systém xslt2 8. Celý systém je napsán v jazyce Perl a je tudíž přenositelný na všechny operační systémy s podporou Perlu. Na UNIXových strojích FI je systém dostupný pomocí modulu xslt2, který zavedeme běžným způsobem: module add xslt2 Po přidání modulu můžeme transformovat XML dokument pomocí XSL šablony. Lze taktéž i specifikovat XSLT procesor. Systém plně podporuje i XML Catalogs 9, tudíž se nemusíme starat ani o lokální umístění DTD definic odkazovaných ve zdrojových souborech. Například: xslt -c -l -s fi -t pdf dp.xml xslt -c -s xhtml dp.xml nám transformuje diplomovou práci (dp.xml) do PDF a XHTML. 2.3 Struktura a možné modifikace xslt2 Samotný DocBook poskytuje dostatečně široký repertoár elementů pro napsání věcného obsahu závěrečné práce, bylo však nutné jej rozšířit o elementy umožňující specifikovat informace náležící k závěrečné práci zejména k jejímu autorství, příslušnosti k fakultě atd. Architektura gramatiky DocBooku je naštěstí konstruována jako modulární a tudíž bylo rozšíření pro účely studentských závěrečných prací relativně přímočaré, psané jako DTD modul fithesis.mod 10. Analogicky jako gramatika byly rozšířeny i XSLT styly, byt samozřejmě jinou technikou. Chování DocBook XSLT stylů docbook-xsl 11 a db2latex 12, které systém xslt2 používá, lze 7 http://jedit.org 8 http://www.fi.muni.cz/~xpavlov/xml 9 http://www.oasis-open.org/committees/ entity/spec-2001-08-06.html 10 http://www.fi.muni.cz/~xpavlov/fithesis.mod 11 http://sf.net/projects/docbook 12 http://sf.net/projects/db2latex 3

Obrázek 2: Transformace DocBooku ovlivňovat nastavením parametrů. Pro rozsáhlejší modifikace, nepokryté parametry, nabízejí XSLT styly mnohem silnější techniku. Tou je překrývání (nahrazování) již existujících šablon novými. Velkou výhodou je, že nemusíme zasahovat do originálních stylů. Veškeré úpravy uvedeme ve vlastním stylovém souboru, kde v jeho začátku importujeme pomocí xsl:import originální hlavní XSLT soubor. Jako příklad vezměme db2latex styly, které originálně sestavují uvozovky kolem slova pomocí jednotlivých znakových entit daného jazyka. V češtině se spíše používá pro uvozovky makro \uv{}. Proto vytvoříme vlastní definici šablony pro element quote, která v procesu transformace nahradí originální definici. Příklad: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/xsl/transform" version= 1.0 > <xsl:import href="..docbook.xsl"/> <xsl:template match="quote"> <xsl:text>\uv{</xsl:text> <xsl:call-template name="inline.charseq"/> <xsl:text>}</xsl:text> </xsl:template> </xsl:stylesheet> 3 Matematika a DocBook Jelikož podpora MathML není zatím na přijatelné úrovni, je lepší v současné době matematické vzorce v DocBooku zapisovat pomocí LAT E Xové syntaxe. Do výsledného LAT E Xového kódu se zápis matematiky vloží přímo a do HTML se vloží odkaz (uvedený v elementu imagedata) na obrázek, který vznikl konverzí z EPS souboru vyprodukovaného LAT E Xem. K zápisu matematických kódů slouží v DocBooku tři elementy: inlineequation, který se používá k vložení matematiky přímo do textu, informalequation, který matematiku zobrazí v samostatném odstavci a equation zobrazující matematiku v odstavci s uvozovacím titulkem. Příklad: <equation> <title>rovnice hmoty a energie</title> <mediaobject> <imageobject> <imagedata fileref="math1.png"/> </imageobject> <textobject role="tex"> <phrase>e=mc^2</phrase> </textobject> </mediaobject> </equation> 4

4 Kam dál? DocBook je široce použitelné značkování, k němuž existuje celá řada kvalitních nástrojů a informačních zdrojů. Zájemce můžeme odkázat na v úvodu zmíněnou základní stránku standardu DocBook při konsorciu OASIS, stránku ke knize N. Walshe DocBook: The Definitive Guide 13, stránky wiki k DocBooku dostupné tamtéž nebo příslušnou mailovou skupinu při OASIS 14. Kromě toho se v polovině dubna 2004 na Fakultě informatiky konala úvodní přednáška k DocBooku vedená Jiřím Koskem 15, členem OASIS TC DocBook. Videozáznam přednášky je dostupný na http: //video.fi.muni.cz/ostatni.shtml. 13 http://docbook.org 14 http://lists.oasis-open.org/archives/ docbook 15 http://www.kosek.cz 5