Část 4 Mark-up Adolf Knoll Národní knihovna České republiky
Cíle Po absolvování této lekce budeme s to: Pochopit, co je třeba dělat s výstupními daty digitalizace pro jejich další použití Pochopit základy značkovacích jazyků, zejména XML Orientovat se základně v jejich aplikaci, abychom mohli činit správná rozhodnutí pro zpracování a realizaci projektu digitalizace
Výroba digitálního dokumentu Digitální dokument Originální dokument Digitalizace Popis Data Metadata
Co vyrábíme? Data Přímý produkt digitalizace: digitální obrazy, plný text, video a audio soubory Obvykle sada souborů, která reprezentuje originální dokument Metadata Přidaná hodnota formou textových informací vyjadřují: Identifikaci s originálem Strukturu a odkazy na datové soubory Technické informace o datech Dostupnost Administrativní údaje atd.
Mark-up Byl vytvořen z potřeby uchovat přidané (skryté) informace v textu za účelem: Lepšího formátování pro zobrazení a/nebo tisk = preskriptivní mark-up Klasifikace částí jako objektů relevantních z pohledu různých pravidel popisu, jako jsou např. katalogizační pravidla, pravidla pro popis technických parametrů, různé zavedené praktiky (good practices), pravidla asociace objektů s jejich vizuální reprezentací, atd. = dekriptivní mark-up
Mark-up Například v MS Word je odstavec označen jako ¶ V kódu HTML je odstavec označen jako odstavec V kódu HTML je odstavec označen jako odstavec V HTML jsou tučný (bold) text nebo zalomení (break) řádku označeny takto: Toto je HTML dokument, který se skládá z elementů. Toto vše je procedurální (preskriptivní) mark-up. Všimněte si použití <> závorek na začátku a konci označeného elementu. Odstavec je označen symbolem ¶ Odstavec¶
Objekty Markup značkuje: OBJEKTY Jaké objekty? TY, KTERÉ JSME JAKO OBJEKTY DEFINOVALI Na jakém základě je definujeme? Na základě URČITÝCH PRAVIDEL Jak jsou tato pravidla stanovena? Na základě dohody; obvykle jde o psaný (nezřídka publikovaný) dokument, který specifikuje ty objekty, které mají být sledovány a popisovány. Například: AACR2 Katalogizační pravidla pro knihovny, ISBD, CDWA nebo AMICO popisná pravidla pro sbírkové předměty, Data Dictionary for Still Digital Images, atp. Popisná pravidla nedefinují, jak jsou tyto objekty značkovány – to je úkol tzv. mark-up (značkovacích) formálních jazyků Nejdůmyslnější značkovací přístup je reprezentován v SGML
Obecný značkovací jazyk SGML Standard Generalized Markup Language (ISO standard z r. 1986) je základem pro další odvozené přístupy, které je možné nazývat značkovacími jazyky 2. generace: HTML (preskriptivní) TEI … XML (deskriptivní) Značkovací jazyk označuje objekt, aniž by mu přiřazoval jakékoli chování. Jeho chování je předepsáno nezávislým pravidlem.
Jak to funguje? Hlavním konstrukční jednotka značkování na základě SGML se nazývá ELEMENT každý element musí být definován externím pravidlem popisu obsahu; např. katalogizační pravidla (AACR2 nebo jiná) definují element Title/Název; mohou také definovat podelementy jako Main Title / Hlavní název, Parallel Title / Souběžný název, nebo Sub-Title / Podnázev atp. Tzn., že může jít o hierarchické vztahy mezi elementy (rodiče s dětmi)
Jak definovat metadatový standard? Potřebujeme formální pravidla, abychom dokázali vyjádřit standardy, popisující obsah V SGML prostředí jsou stanovena v Document Type Definition (DTD / Definice Typu Dokumentu) DTD může mj. zabezpečit toto: Uvést seznam všech elementů a nastavit jejich vlastnosti (povinný, nepovinný, opakovatelný atd.) Definovat vztahy mezi elementy Zjemnit jejich vlastnosti např. vyjmenováním povolených hodnot Odkázat od nich vnější entity, tj. další definice nebo binární data, např. digitální obrazy
Jestliže například budeme chtít definovat popisný element author, pak: Formální pravidlo pro zobrazení elementu author Formální definice elementu author Obsahová definice elementu author popisnými pravidly / např., AACR2 pravidly, jimiž se řídí formální definice / např. DTD Pravidly transformace elementu pro zobrazení / e.g., XSLT for XML je dána je dáno Takto pracujeme v XML
XML eXtensible Markup Language XML file *.xml Obsahuje odkaz na DTD, které jej řídí Obsahuje odkaz na transfromační pravidlo, které zajišťuje zobrazení, např. XSLT soubor DTD *.dtd DTD pro XML je ještě psáno pomocí syntaxe SGML; proto bylo zavedeno W3C Schema, aby jej nahradilo, takže xml dokument může být řízen DTD (*.dtd) nebo Schématem (*.xsd). *.xslt
DTD = Document Type Definition Základní stavební částí je ELEMENT ELEMENT může mít obsah nebo může být EMPTY (= prázdný) ELEMENTy se mohou skládat z dalších elementů
Zde se element Title skládá ze skupiny tří elementů (MainTitle, SubTitle a ParallelTitle); z nich je pouze MainTitle povinný, kdežto SubTitle a ParallelTitle nejsou povinné, ale ParallelTitle se může opakovat. V DTD je to napsáno takto:
Element PageRepresentation umožňuje spojit konkrétní stranu s obrazem nebo plným textem, jež ji reprezentují. <!ATTLIST MonographPage Type (Advertisement | BackCover | BackEndSheet | Blank | FlyLeaf | FrontCover | FrontEndSheet | Index | ListOfIllustrations | ListOfMaps | ListOfTables | NormalPage | Spine | Table | TableOfContents | TitlePage) "NormalPage" > <!ATTLIST PageImage href CDATA #REQUIRED > <!ATTLIST PageText href CDATA #REQUIRED > Zpamatujme si: můžeme také sepsat seznam vlastností (attributes); zde to jsou Type elementu MonographPage nebo href, tj. odkaz na entitu vnějších (externích) dat.
<!ATTLIST MonographPage Type (Advertisement | BackCover | BackEndSheet | Blank | FlyLeaf | FrontCover | FrontEndSheet | Index | ListOfIllustrations | ListOfMaps | ListOfTables | NormalPage | Spine | Table | TableOfContents | TitlePage) "NormalPage" > Nahoře uvedená část DTD znamená toto: Element MonographPage se skládá z elementů PageNumber, Notes a PageRepresentation. Element MonographPage je v závilosti na svém informačním obsahu klasifikován různými typy (Types), jako jsou Advertisement (inzerce), BackCover (zadní desky), …, TableOfContents (soupis obsahu) a TitlePage (titulní strana). Jako výchozí Hodnota je nastavena NormalPage (normální strana), protože očekáváme, že to bude nejčastější volba. Význam kvalifikátorů je tento: Element - absence znaku = element je povinný a realizuje se pouze jednou Element+ - znak + = element je povinný a realizuje se nejméně jednou Element? - znak ? = element je nepovinný a realizuje se pouze jednou Element* - znak * = element je nepovinný a realizuje se nejméně jednou
<!ATTLIST PageImage href CDATA #REQUIRED > <!ATTLIST PageText href CDATA #REQUIRED > Každý element, jenž se neskládá z dalších elementů, musí být definován. Hodnota (#PCDATA) znamená, že v XML souborech vytvořených na základě tohoto DTD je očekáván v daném elementu analyzovatelný řetězec metadat; zde například je to číslo strany 221 Znak | v (PageImage | PageText) znamená, že pouze jeden z obou elementů bude použit pro konkrétní reprezentaci strany PageRepresentation. Pojetí tohoto DTD ukazuje, že v případě reprezentování strany jak obrazem, tak i textem, bude každý z nich připojen ke svému výskytu elementu PageRepresentation. ATTLIST (seznam vlastností/atributů) nastavuje atribut href jako navigační odkaz na neanalyzovatelná externí data (CDATA). Elementy PageImage a PageText jsou prázdné, neboť slouží pouze ke spojení strany s jejím obrazem nebo plným textem.
2 List of publications of U. Eco at Bompiani Toto je konkrétní sekce z XML souboru, v níž můžeme vidět, že odkaz (reference) je veden na GIF soubor, uložený v podadresáři Data. Můžeme si také všimnout, že je to strana č. 2 typu (Type) předsádka (Flyleaf). Pro lepší pochopení nyní zpracujeme malý projekt, jehož cílem je napsat DTD dokumentu, který bychom mohli potřebovat v projektu digitalizace starých pohlednic. Práce se bude skládat z těchto kroků: analýza dokumentu, stanovení nezbytných elementů a jejich vztahů, nastavení elementu odkazujícího na digitální obrazy, napsání DTD, napsání XML souboru založeného na tomto DTD a jeho zobrazení. Cílem je ukázat, jak se to dělá, nikoli naučit všemu; to by si vyžádalo hlubší školení XML.
Jak napsat jednoduché DTD? 1. Analyzovat dobře objekt, který chceme popsat a zobrazit 2. Pokusit se vyčíslit všechny elementy pro popis a jejich základní vlastnosti (povinný ano/ne, opakovatelný ano/ne, …) 3. Pokusit se definovat, nakolik budou tyto elementy sestávat z dalších elementů 4. Stanovit, z kterých elementů povedou cesty k vizuální (datové) reprezentaci
Digitalizovaná pohlednice Kořenový element: PostcardDescription Elementy druhé vrstvy: author (autor; skládá se z elementů surname /příjmení/ a name /jméno/) title (název) theme (téma) publisher (vydavatel; skládá se z PlaceOfPublication /místo vydání/, NameOfPublisher /název vydavatele/, DateOfPublication /datum vydání/) PhysicalDescription (fyzický popis; skládá se z Size /rozměry/ a Technique /technika zhotovení/) TypeOfDocument (typ dokumentu) VisualRepresentation (vizuální reprezentace; skládá se z ImageOfRectoPart /obraz přední části/ a ImageOfVersoPart /obraz zadní části/) language (jazyk) annotation (anotace) Nezbytné elementy a hierarchické vztahy pro DTD digitalizované poheldnice.
Mohou být takto graficky znázorněny
<!ATTLIST ImageOfRectoPart (preview | normal | excellent) #REQUIRED CDATA #REQUIRED > <!ATTLIST ImageOfVersoPart (preview | normal | excellent) #REQUIRED CDATA #REQUIRED > Postcard.dtd
Lyer Antonín Hronov views of streets Nádražní ulice Dvorská ulice Jiráskova ulice Náměstí Hronov Karel Šefelín [1910] 9x13 cm colour printing postcard cz The postcard was sent by my great grand-mother to her husband, who was in military service in first years of the World War I. Postcard.xml Odkaz na formátovací předpis Odkaz na obrazové soubory
Jak to funguje ve webovém prohlížeči? Když klikneme na xml soubor: Prohlížeč bude hledat formátovací předpis/soubor (stylesheet – *.xslt file) a zavolá jej Zobrazí xml soubor dle předepsaných pravidel Můžeme kliknout na odkazy vedoucí k obrazům, které reprezentují pohlednici vizuálně a budeme k nik navigováni Tak to vyzkoušejme a klikněme na Postcard.xml Postcard.xmlPostcard.xml
XML - závěry XML jazyk umožňuje definovat a řídit/kontrolovat jakýkoli typ popisů Může je spojit s vnějšími daty Určuje strukturu digitalizovaných dokumentů a umožňuje jejich dlouhodobou čitelnost Zajišťuje, že výstup naší práce (výroba XML souborů a digitalizovaných dokumentů) odpovídá tomu, co jsme si stanovili, že chceme dělat To znamená, že například naše Digitální knihovna může být plněna správnými (validními) a standardizovanými dokumenty, což mj. vytváří dobré předpoklady i pro jejich dlouhodobou digitální ochranu
Work with XML From the user perspective a good digitization project develops XML editors that: make the work easy (filling forms) check the validity against the applied DTD output only correct XML structures If you wish to check your forces, dowload the free M-TOOL from the Manuscriptorium Digital Library free tools at and try to work with it
Kde můžeme najít víc? Obecně (XML Home) (Technical Introduction to XML) (XMLSpy editor) Aplikace (několik DTD, jež byla implementována ve fungujících digitálních knihovnách) (METS formát pro kontejnerizaci digitálních dokumentů založených na XML) (TEI – Text Encoding Initiative)