DocBook Eine Einführung

Ähnliche Dokumente
Einführung in DocBook

DocBook Textverarbeitung mit XML

Schulungsunterlagen: ARCWAY Cockpit Report Engine. Erstellen und Anpassen von Berichtsvorlagen für ARCWAY Cockpit

Konzeptionelle Modellierung von XML-Dokumenttypen

XSL-FO verstehen und anwenden

XSD - XML Schema Definition

XML light. XML bearbeiten. Jörn Clausen

Übung zur Vorlesung Digitale Medien. Hanna Schneider Ludwig-Maximilians-Universität München Wintersemester 2014/2015

DocBook für Anfänger

XML-Praxis. XML-Anwendungen. Jörn Clausen

XSL-FO verstehen und anwenden

Containerformat Spezifikation

XML Schema vs. Relax NG

... MathML XHTML RDF

Einführung in XML. Arthur Brack FHDW Hannover. 1. Oktober 2009

12. Jgst. 3. Kursarbeit Datum: Fach: Informationsverarbeitung (Leistungskurs) & )!!*+,!- -.!-

Containerformat Spezifikation

Nonstandard Datenbanken

Übungsbeispiel 1 Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser.

Johannes Hentrich DITA. Der neue Standard für Technische Dokumentation VERLAG

Kennen, können, beherrschen lernen was gebraucht wird

Friedrich-Ebert-Schule Brunhildenstraße Wiesbaden. Leitfaden zur Anfertigung von Projektdokumentationen

MICROSOFT WORD XP. In diesem Dokument lernen Sie die wichtigsten Techniken für den Umgang mit grossen Dokumenten kennen. Alex Jung

XML, XML-DTDs, und XML Schema

Modell Bahn Verwaltung. Tutorial. Links. Min. Programm Version 0.65, März w w w. r f n e t. c h 1 / 11

Content Management mit Teamcenter

Word. Verzeichnisse. Inhalts-, Abbildungsverzeichnisse, Index und Zitate. Inhaltsverzeichnisse 1

<Trainingsinhalt> XML umsetzen und nutzen

Zur Dokumentation von XÖV-Standards

XML Schemasprachen. Übersicht und Einordnung. Übersicht. ! DTDs und XML Schema. ! Schemasprachen als Konzept. ! Schemasprachen selbstgemacht

Eine Schnelleinführung in CSS

Dr. Thomas Meinike Hochschule Merseburg

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

Inhaltsverzeichnis Diagramme erstellen und gestalten Grundlagen Eine kleine Auswahl wichtiger Diagrammtypen... 2

Strukturierung und Referenzen in L A T E X

Wie geht es mit DITA weiter? Prof. Sissi Closs Comet Computer GmbH, Comet Communication GmbH Donnerstag,

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 3: Webdesign mit CSS Stand: Übung WS 2015/2016. Benedikt Schumm M.Sc.

Literaturverwaltung und LaTex Stephan von der Ropp

bitflux CMS ein crossmedia-fähiges opensource System ein Vortrag von Marcel Linnenfelser

LaTeX. Eine Einführung. von. Sebastian Dungs

Zurück zur Auswahl Programm beenden. Schritt für Schritt zur ATA ispec 2200

Schritt für Schritt zur ATA ispec Dr. Anselm Hofer Tilo Ried

Dokumentation von Software

Titel der Bachelorarbeit (maximal drei Zeilen!)

XML steht für Extensible Markup Language. Helmut Vonhoegen (2007) beschreibt XML unter anderem so:

DTDs und XML- Schemata

Die Warenkorbfunktion (workbasket)

Information über die WebServices der Parlamentsdienste

L A TEX HSD. Wissenschaftliche Texte. Zitate, Fußnoten, Referenzen. 05. Januar 2016

Der doppelte Zeilenumbruch ist ebenfalls eine rein visuelle Kennzeichnung von Absätzen (vgl. Listing 9 7).

PDF testen und korrigieren

Eine Dokumenttypdefinition lässt sich im Kopfbereich des XML-Dokumentes (interne DTD) oder in einer separaten Datei formulieren (externe DTD).

IT-Zertifikat: Daten- und Metadatenstandards

Repräsentation von Struktur

XML basiertes Publizieren und Visualisieren

Probeklausur Digitale Medien

XML Grundlagen Teil I

Inhaltsverzeichnis. Teil 1 - XM L Einleitung Motivation...15

Übersicht. Was ist BibT E X? Warum BibT E X? Struktur einer BibT E X Literaturdatenbank Erstes Beispiel

Webdesign-Multimedia HTML und CSS

Transformation von XML-Dokumenten mit XSLT

Single Source Publishing mit XML

Foreign Keys. MySQL 4, 5. Kapitel 16: Fremdschlüssel. Marcel Noe

Rechnungserstellung und Datenformate

Übersicht. L A TEX Kurs Einführung Teil 3. Umgebungen in L A TEX. Rückblick. Umgebungen. Listen. Tabellen

X-Technologien. XML and Friends. Jörn Clausen 9. Juli 2001

Hochschule Karlsruhe Technik und Wirtschaft Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Informationen zu den regionalen Startseiten

XML Schema 2015 S h_da S Seite 1

Digitale Medien. Übung

L A TEX-Einführungskurs

Hilfestellungen zur Formatierung der Diplomarbeit/Masterarbeit

LATEX-Grundlagen. Setzen einer wissenschaftlichen Arbeit Ergebnis der Übungen. von

Persistenz. Ralf Gitzel

Gegenüber der direkten Formatierung jedes Wortes, jedes Satzes, Absatzes und jeder Seite hat die Arbeit mit Formatvorlagen mehrere Vorteile:

Transkript:

DocBook Eine Einführung Tobias Heidelmann 14.05.2007

DocBook Was ist das? Auszeichnungsformat, das XML-konform, bzw. SGML-konform definiert ist Verwaltet vom DocBook Technical Committee von OASIS (Organization for the Advancement of Structured Information Standards) Kern von DocBook ist Sammlung von DTDs (Norm) für XML auch als XML-Schema, Relax-Ng, SGML-Schema erste Version 1991 aktuelle Version: 4.5 ab Version 5.0 ist Relax-Ng die Norm Nutzung zur Auszeichnung von: Büchern (auch mehrbändige Werke) Artikeln Präsentationen ursprünglich: Unix-Dokumentation heute: hohe Flexibilität durch Vielzahl an Notationselementen

DocBook Wo ist es erhältlich? www.docbook.org In den meisten Linux-Distributionen enthalten Zusätzlich zu DTDs: Sammlung von Stylesheets in XSL Aber auch in anderen Stylesheet-Beschreibungssprachen Für gängige Ausgabeformate (html, xhtml, pdf,...) Dokumentation: DocBook The Definitive Guide, Norman Walsh und Leonard Muellner, O Reilley Einführung und Referenz verfügbar online (html, pdf, chm) auch als Debian-Paket ist aber Work in Progress, d.h. insbesondere für Version 5.0 noch nicht vollständig

(grobe) Kategorisierung der Elemente - typische Wurzelelemente - <set> Verwendet für z.b. mehrbändige Buchreihen oder andere Sets Spitze der DocBook-Hierarchie (d.h. es gibt kein Element außer <set>, das <set> als Kind enthalten kann), aber optional Notation im Content-Model : set ::= ( (title,subtitle?,titleabbrev?)?, setinfo?, toc?, (set book)+, setindex?) Notationselement, : Sequenz Notationselement? : min = 0, max = 1 Notationselement + : min = 1, max = unbounded Notationselement : OR

Kategorisierung der Elemente - typische Wurzelelemente - <book> gebräuchlichstes Wurzelelement in Dokumenten book ::= ( (title,subtitle?,titleabbrev?)?, bookinfo?, (dedication toc lot glossary bibliography preface chapter reference part article appendix index setindex)* )

Kategorisierung der Elemente - weitere Kategorien - Aufteilungen (Divisions): unterteilen <book> in weitere logische Einheiten <part> <reference> kann <refentry> enthalten (ursprünglich manpages) Komponenten: Kapitelähnliche Unterteilungen von <book> oder <part> <preface> <chapter> <appendix> <bibliography> <glossary> Komponenten können ihrerseits Navigationskomponenten, Sektionen oder Blockelemente enthalten

Kategorisierung der Elemente - weitere Kategorien - Navigationskomponenten: Verzeichnisse aller Art <toc> Table of Contents = Inhaltsverzeichnis <lot> List of Titles = alle anderen Verzeichnisse, z.b. Tabellen-, Abbildungs-, Beispiel-, Formelverzeichnis <index> Stichwortverzeichnis Werden in der Regel automatisch vom Stylesheet erzeugt Sektionen Unterteilen Komponenten (Kapitel) in Unterkapitel <section> erlaubt beliebig tiefe Verschachtelung <sect1>,..., <sect5> Zahl gibt die Schachtelungstiefe an <simplesect> erlaubt keine weitere Verschachtelung

Kategorisierung der Elemente - weitere Kategorien - Blockelemente (absatzähnliche Strukturen) Treten als Kinder von Komponenten (Kapitel) oder Sektionen (Unterkapitel) auf <para> kann Text enthalten <figure> Abbildung Tabellen Listen Formatierungsbereiche (erhalten Zeilenumbrüche) Inline-Elemente Auszeichnung einzelner Teile im fortlaufenden Text <quote> Zitat <emphasis> besondere Hervorhebung <citation> bibliografische Referenz Mathematische Elemente (<superscript> = Exponent)...

Typische Kapitelstrukturierung <chapter> <chapterinfo>... </chapterinfo> <title> Das erste Kapitel </title> <toc/> <para> Eine Einführung in das erste Kapitel </para> <sect1> <title> Das erste Unterkapitel </title> <para> Inhalt des <emphasis>ersten</emphasis> Unterkapitels </para> <sect2>... </sect2> </sect1> <sect1> <figure>...</figure>... </sect1>... </chapter>

Metainformationen dienen zur Beschreibung des Dokumentinhalts realisiert als *info Element innerhalb von Elterknoten, z.b. <bookinfo>, <chapterinfo>, <sectioninfo>,... ab 5.0: einheitlich nur ein Info-Element <info> bookinfo ::= ( (abstract address author authorgroup authorinitials copyright edition isbn othercredit publisher pubdate subtitle title)+ ) Die meisten Elemente wiederum zusammengesetzte Elemente

Verbindung Content-Model zu XML-Schema am Beispiel <author> author ::= [ {personname (honorific firstname surname lineage othername affiliation authorblurb contrib)+ }, {personblurb email address }* ]

author ::= [ {personname (honorific firstname surname lineage othername affiliation authorblurb contrib)+ }, {personblurb email address }* ] <xs:element name="author" substitutiongroup="docinfo.char.class"> <xs:complextype> <xs:sequence> <xs:choice> <xs:element ref="personname"/> <xs:group maxoccurs="unbounded" ref="person.ident.mix"/> </xs:choice>

author ::= [ {personname (honorific firstname surname lineage othername affiliation authorblurb contrib)+ }, {personblurb email address }* ] <xs:choice minoccurs="0" maxoccurs="unbounded"> <xs:element ref="personblurb"/> <xs:element ref="email"/> <xs:element ref="address"/> </xs:choice> </xs:sequence> <xs:attributegroup ref="author.attlist"/> </xs:complextype> </xs:element>

author ::= [ {personname (honorific firstname surname lineage othername affiliation authorblurb contrib)+ }, {personblurb email address }* ] personname ::= ( ) (honorific firstname surname lineage othername)+ <xs:element name="personname" substitutiongroup="gen.char.class"> <xs:complextype> <xs:choice maxoccurs="unbounded"> <xs:element ref="honorific"/> <xs:element ref="firstname"/> <xs:element ref="surname"/> <xs:element ref="lineage"/> <xs:element ref="othername"/> </xs:choice> <xs:attributegroup ref="personname.attlist"/> </xs:complextype> </xs:element>

author ::= [ {personname (honorific firstname surname lineage othername affiliation authorblurb contrib)+ }, {personblurb email address }* ] personname ::= ( ) (honorific firstname surname lineage othername)+ firstname ::= ( #PCDATA link olink ulink emphasis trademark replaceable remark subscript superscript inlinegraphic inlinemediaobject indexterm)* <xs:element name="firstname"> <xs:complextype mixed="true"> <xs:group minoccurs="0" maxoccurs="unbounded" ref="docinfo.char.mix"/> <xs:attributegroup ref="firstname.attlist"/> </xs:complextype> </xs:element>

author ::= [ {personname (honorific firstname surname lineage othername affiliation authorblurb contrib)+ }, {personblurb email address }* ] personname ::= ( ) (honorific firstname surname lineage othername)+ firstname ::= ( #PCDATA link olink ulink emphasis trademark replaceable remark subscript superscript inlinegraphic inlinemediaobject indexterm)* weiteres Dereferenzieren liefert die anderen Notationselemente insgesamt sehr komplexes Schema ( ~ 10.000 Zeilen XML Shema) liefert aber hohe Flexibilität zur individuellen Gestaltung von Dokumenten Aber: gültiges DocBook-Dokument muss nicht sinnvolle Daten enthalten: Bsp: <personname> kann aus (mehreren) <lineage> bestehen

Ausgewählte Blockelemente - Listen - 7 Listentypen, hier Auswahl: Einfache Liste <simplelist> Attribut type gibt genaue Art der Liste an <member> kennzeichnet Listenelemente type = inline bedeutet Aufzählung im Textfluss (A, B, C, D,...) type = horiz bedeutet tabellenartige Struktur columns gibt Anzahl der Spalten an in der die Listenelemente v.l.n.r. und v.o.n.u. eingetragen werden. type = vert analog. <simplelist type= horiz columns= 1 > <member>eintrag 1</member> <member>eintrag 2</member> </simplelist>

Ausgewählte Blockelemente - Listen - Geordnete Liste <orderedlist> Kann <title> enthalten Elemente werden als <listitem> gekennzeichnet Inhalt von <listitem> kann jedes Blockelement sein Attribut spacing bestimmt Abstand zwischen Einträgen Attribut numeration bestimmt Art der Nummerierung (mögliche Werte z.b. arabic, loweralpha, upperroman Schachtelung möglich (Attribute continues, inheritnum ) <orderedlist numeration= upperroman > <title>nummerierte Liste</title> <listitem><para>eintrag 1</para></listitem> <listitem><para>eintrag 2</para></listitem> </orderedlist>

Ausgewählte Blockelemente - Abbildungen / Medienelemente - <figure> benötigt Titel und erscheint als Eintrag im Abbildungsverzeichnis <informalfigure> benötigt keinen Titel, erscheint nicht im Abbildungsverzeichnis Inhalt von <figure> kann u.a. <mediaobject> sein <figure> </figure> Kann enthalten: Metainformationen <objectinfo> Medienobjekt <imageobject>, <videoobject>, <audioobject>,... Diese enthält < ***data fileref= xyy.jpg format= JPG > Formatierungsanweisungen über Attribute spezifiziert (z.b. align, valign,...) <title> Abbildungstitel </title> <mediaobject><imageobject> <imagedata fileref= image/xyz.jpg format= JPG /> </imageobject></mediaobject>

Ausgewählte Blockelemente - Tabellen - CALS Tabellenmodell (ein Standard) <table> oder <informaltable> <table> benötigt Titel und erscheint im Tabellenverzeichnis Darstellung über Attribute gesteuert: colsep steuert die Abgrenzung von Spalten durch Linien (colsep= 1 ) rowsep steuert die Abgrenzung von Zeilen durch Linien frame steuert die Umrandung der Tabelle (Werte: top, all, bottom,..) Enthält mindestens ein Element <tgroup> (Container für Tabelleninhalt) <tgroup> enthält obligatorisch <tbody>, optional <thead>, <tfoot> Zeilen werden innerhalb von <tbody> über <row> angezeigt Spalten über eine Folge von <entry> Elementen innerhalb von <row> <entry> enthält normale Blockelemente oder Text

Ausgewählte Blockelemente - Tabellen - <table frame= none > <title>tabellentitel</title> <tgroup> <tbody> <row> </row> <row> </tbody> </tgroup> </table> </row> <entry>eintrag 1</entry> <entry>eintrag 2</entry> <entry>eintrag 3</entry> <entry>eintrag 4</entry>

Ebenfalls möglich: Ausgewählte Blockelemente - Tabellen - Textausrichtung einzelner Zellen definieren (Attribut align ) Zeilenübergreifende Zellen: Attribut morerows <entry morerows= 2 > Spaltenübergreifende Zellen: Identifizierung der Spalten durch <colspec colname= A`>,... Spaltenübergreifenden Eintrag mit Attributen versehen (namest, nameend) <table frame= none > <title>tabellentitel</title> <tgroup> </table> <colspec colname= A /><colspec colname= B /> <tbody> <row> </row> </tbody> </tgroup> <entry namest= A nameend= B >Eintrag 1</entry>

Ausgewählte Komponenten - Bibliografie - Daten werden roh ausgezeichnet, d.h. Autor präsentiert Datensatz Stylesheet legt Interpunktion fest und stellt möglicherweise nur einen Teil des Datensatzes dar. Daten werden vorgekocht ausgezeichnet, d.h. Interpunktion wird von Dokumentautor vorgegeben und gesamter Datensatz wird angezeigt. Hier: roh <bibliography> enthält : <title> optional <bibliographyinfo> <biblioentry> enthält Publikationsdaten, hier Auswahl möglicher Elemente: biblioentry ::= ( (author authorgroup edition isbn issuenum pagenums pubdate publisher subtitle title volumenum)+ )

Ausgewählte Komponenten - Bibliografie - Für Referenzierung innerhalb des Dokuments: <biblioentry id= eindeutig xreflabel= Pub01 >...</biblioentry> Innerhalb des Dokuments referenziert durch: <citation><xref linkend= eindeutig /></citation> In formatiertem Text erscheint Referenz z.b. als [Pub01]

Ausgewählte Komponenten -Index - <index> Kann <title>, <para>,... Enthalten Einträge: Stichpunkt, Seite(nbereich) a) Markierung einer einzelnen Seite als Sprungziel für einen Stichpukt Sprungziels durch Inline-Element <indexterm> kennzeichnen. Spezifikation des Stichpunkts durch <primary>,.., <tertiary> (Einrückungen) <para> DocBook<indexterm><primary>XML</primary><secondary>DocBook</secondary ></indexterm> ist angewandtes XML. </para> Eintrag: XML DocBook, S. xyz

Ausgewählte Komponenten -Index - b) Markierung eines ganzen Bereichs als Sprungziel Start des Bereichs: <indexterm id= eindeutig class= startofrange > eindeutige Identifikation mittels id-attribut class attribut definiert Bereichsstart Ein weiteres <indexterm startref= eindeutig class= endofrange /> Element markiert Ende des Bereichs Referenz auf Start des Bereichs durch startref class Attribut definiert Bereichsende <para> DocBook <indexterm id= dbook class= startofrange > <primary>xml</primary><secondary>docbook</secondary></indexterm> ist angewandtes XML. </para> <para>...</para>... <indexterm startref= dbook class= endofrange />

Literatur DocBook The Definitive Guide, Norman Walsh und Leonard Muellner, O Reilley Dokumentationen mit DocBook-XML, Lars Trieloff, http://trieloff.net/docbook/tutorial/docbook.pdf