9.4. Editory vhodné pro práci s DocBookem

XML dokument můžeme psát v libovolném editoru. Je však zřejmé že Poznámkový blok za tímto účelem příliš vhodný nebude. V případě XML značek je důležité dbát na jejich správné zanořování do sebe a při použití obyčejného editoru bude práce zbytečně komplikovaná a pomalá. Minimálním požadavkem na editor by mělo být zvýrazňování syntaxe, což výrazně usnadní orientaci v textu. Vhodnější je však použít editor, který dokáže automaticky nabízet XML značky dle DTD a tím nám zajistí že tvoříme validní dokument již při psaní.

9.4.1. XMLMind XML Editor

Tento editor je zajímavý tím, že se jedná o Wysiwyg (What you see is what you get) nástroj pro psaní v DocBooku. Jeho použití je tudíž vhodné především pro začátečníky a uživatele, kteří se nechtějí „ztrácet v XML značkách“.

Tento editor je možné získat z adresy http://www.xmlmind.com/xmleditor/ a existuje ve dvou edicích. Jednak je to Standard edition, která je zdarma s několika omezeními a dále Professional edition, která je neomezená ale komerční. Mezí hlavní omezení standardní verze patří omezení podpory XML Schema a Relax NG, omezení podpory pluginů pro FO procesory a nemožnost pracovat s FTP. I přes to je však standardní verze pro psaní základních dokumentů dobře použitelná.

Program je napsaný v jazyce Java a je tudíž multiplatformní. Taktéž je lokalizovaný do češtiny. Instalace je triviální, jen je potřeba při přechodu na novější verzi nejprve odinstalovat tu původní.

Rozhraní programu

Vzhled editoru XMLmind

Obrázek 9.3. Vzhled editoru XMLmind

  1. Horní menu obsahuje všechny dostupné funkce programu. Za zmínku stojí zejména položka DocBook->Convert document, která slouží pro snadné vygenerování výstupního formátu HTML PDF, PS nebo RTF bez použití externích programů.

  2. Nástrojová lišta obsahuje nejpoužívanější funkce. Pro nás jsou zajímavá především tlačítka na její pravé straně, pomocí kterých se vkládají některé DocBook konstrukce (odkazy, zvýraznění textu, tabulky, obrázky, sekce …)

  3. Tato dvě tlačítka slouží pro editaci vnořených „modulárních dokumentů“ (viz níže).

    XMLMind totiž standardně zobrazí dokument jako jeden celek, tedy spojí všechny samostatné soubory do jednoho. Editovat vždy ale můžeme jen jeden soubor, ostatní vložené se sice zobrazí ale mají modrou barvu pozadí a nelze je měnit. Těmito tlačítky se dostaneme přímo na vložený soubor a můžeme jej měnit.

  4. Řádek s cestou ukazuje plnou cestu k editovanému elementu uvnitř XML souboru.

  5. Panel se stromem dokumentu. Lze jej volitelně zapnout tlačítkem v nástrojové liště. Zobrazí strom všech elementů v XML dokumentu pro zjednodušení orientace. Kliknutím na zvolený element s ním můžeme pomocí kontextového menu pravého tlačítka myši dále pracovat.

  6. Pracovní okno zobrazuje přibližný vzhled editovaného dokumentu a slouží pro samotnou editaci.

  7. Pravá tlačítko Lišta prvků nám dává k dispozici šest tlačítek pro vložení nového elementu. Nový element můžeme vkládat na různé pozice vzhledem k aktuálnímu.

  8. Toto je seznamem prvků, které můžeme na daném místě použít. Pod ním je umístěna maska pro rychlé vyhledání prvku a šest záložek. První záložkou se přepneme na panel se seznamem atributů, dále jsou zde záložky pro vyhledávání, kontrolu pravopisu, seznam znaků a okno s výsledky validace dokumentu.

  9. Úplně dole je umístěn stavový řádek, vypisující důležité informace a dvě tlačítka - první s informacemi o průběhu zpracování dokumentu a druhé s obsahem systémové schránky.

Práce s programem

Nejprve založíme nový dokument (menu Soubor->nový) a zvolíme jeho typ. Máme jich k dispozici několik předdefinovaných, což nás naprosto odstiňuje od uvádění XML prologu a správného DOCTYPE.

Dále je již práce snadná, během pár minut lze pochopit princip programu - stačí vkládat elementy pomocí tlačítek pro jejich umístění (tlačítka Vložit před..., Vložit za... apod.), a psát do nich text jako v běžném editoru.

Před psaním dokumentu doporučujeme prostudovat použitelné klávesové zkratky. V průběhu psaní je také velmi vhodné nechat si zobrazený panel se stromem dokumentu, jež nám usnadní navigaci v dokumentu a přidávání/mazání elementů.

Výsledný cílový formát po vytvoření dokumentu vygenerujeme z menu DocBook.

Práce s modulárními dokumenty

XMLMind umí vytvářet modulární dokumenty, tedy dokumenty které se skládají z několika spojených souborů. Každý soubor obsahuje např. samostatnou kapitolu.

Nyní si ukážeme postup, jak vytvořit knihu kniha.xml, která obsahuje jednu kapitolu načítanou z externího souboru kapitola.xml

ikona
Algoritmus 9.1: Tvorba modulárního dokumentu
  1. Zvolíme Nový dokument a vybereme položku Book

  2. Do horního řádku napíšeme název knihy a soubor uložíme pod názvem kniha.xml

  3. Vytvoříme další dokument, tentokrát bude mít však typ Chapter (part of modular document)

  4. Napíšeme nadpis kapitoly a soubor uložíme jako kapitola1.xml

  5. Klikneme levým tlačítkem myši nad název kapitoly tak aby se kolem celé kapitoly vytvořil červený rámeček (celá kapitola bude označena). Případně můžeme vybrat celou kapitolu v panelu se stromem dokumentu.

  6. Zvolíme z menu Editace->Odkazy dokumentu->Kopírovat jako odkaz.

  7. Přepneme se do dokumentu kniha.xml a klikneme na element před kterým chceme mít tuto kapitolu vloženu.

  8. Zvolíme z menu Editace->Vložit ze schránky před. Budeme dotázáni na způsob odkazování dokumentu. Kapitola se poté vloží a bude mít modré pozadí (nelze ji editovat).

  9. Pokud chceme tuto kapitolu znovu editovat, stačí na ni kliknout a stisknout tlačítko „Přepnout na odkazovaný dokument“, které se nachází v levé části horní tlačítkové lišty.

Problematikou modulárních dokumentů se ještě budeme zabývat v kapitole 10.5 – „Modularita dokumentu, členění na fyzické části“. Jen ve světle této problematiky poznamenáme že XMLmind do sebe soubory vkládá jako entity.

Výhodou práce v editoru XMLmind je skutečnost že editor v každé části textu nabízí jen ty elementy, které lze vložit dle DTD. Tím máme zaručen fakt, že budeme tvořit vždy validní XML dokument.

ikona
Ukázkový DocBook dokument

Tento soubor obsahuje ukázkový DocBook dokument, vytvořený v editoru XMLMind.

ikona
Poznámka:

V případě nejasností či zájmu o hlubší pochopení funkcí programu prostudujte oficiální dokumentaci, která se nachází na adrese http://www.xmlmind.com/xmleditor/documentation.shtml a je přibalena i k programu.

9.4.2. Další editory

Mnoho dalších volně šiřitelných editorů, specializovaných na práci v DocBooku bohužel neexistuje. Můžeme však s výhodou použít některý z běžných XML editorů. Uveďme si alespoň některé zajímavé.

  1. vex je vizuální editor podobný programu XMLMind. Umožňuje XML dokumenty editovat ve WYSIWYM režimu.

  2. jEdit je volně šiřitelný programátorský editor. Lze k němu připojit XML plugin, díky němuž lze celkem pohodlně psát texty v XML, neboť automaticky nabízí značky dle DTD.

  3. Emacs je jeden z nejznámějších Unixových editorů. Existuje jeho port pro Windows s názvem „NTEmacs“. Tento editor je známý svým ne příliš standardním ovládáním, avšak je to vynikající editor a při práci s XML dokumenty je to výborný pomocník. Obsahuje tzv. PSGML mód, který k tomuto účelu slouží. Editor umí nabízet značky dle DTD.

  4. TextPad je komerční univerzální editor. Taktéž je schopen pracovat s XML dokumenty.

Vyjmenujme také alespoň editory Cooktop, EditiX, Epic, <oXygen/>, XMLSpy, XMetaL.

ikona
Shrnutí:

DocBook je DTD pro XML. Psát dokumenty v DocBooku tedy znamená psát dokumenty v XML. Pro práci s DocBookem potřebujeme celou řadu nástrojů, především DTD, XSL styly, XSLT plus FO procesor a editor. Pomocí těchto nástrojů pak dokážeme psát dokumenty v DocBooku a generovat z nich celou řadu rozličných výstupních formátů. Zajímavou možností je využití editoru XMLmind.