Handbuch durchsuchen:

- Startseite
- Einleitung
- Hallo Welt!
- Grundlagen
  - Erstellen eines Layoutregelwerks
  - Aufbau der Datendatei und des Layoutregelwerks
  - Objekte ausgeben
  - Raster
  - Bereiche auf der Seite (PositioningArea)
  - Dateiorganisation
  - Silbentrennung / Spracheinstellungen
  - Einbinden von Schriftarten
  - Textformate
  - Textformatierung
  - Farben
- Programmierung
- Bilder einbinden
- Tabellen
- Fortgeschrittene Themen
  - Lesezeichen (Bookmarks)
  - Erzeugen von XML-Strukturen
  - Druckausgabe / Schnittmarken
  - CSS
  - Gruppen (virtuelle Objekte)
  - Virtuelle Seiten
  - Rotieren von Inhalten
  - Sortieren von Daten
  - Umfließen von Bildern
  - Seitentypen
  - Starten des Publishers über den Hotfolder
  - Lua-Filter / Datenvorverarbeitung
  - Schemavalidierung
  - Qualitätssicherung (PDF-Vergleich)
  - Fehlersuche / Debugging
  - Servermodus
- Kochbuch
  - Griffmarken
  - Mehrseitige PDF-Dateien einbinden
  - Layoutoptimierung mithilfe von Gruppen
  - Verzeichnisse erstellen
  - Seitenzahlen: Seite x von y
  - Aufzählungslisten nachahmen
- Installationsanleitung
- Voreinstellungen im speedata Publisher
- Starten des Publishers über die Kommandozeile
- Konfiguration des Publishers
- Längenangaben und Maßeinheiten
- XPath- und Layoutfunktionen
- Interne Variablen
- Liste der Änderungen
- Glossar
- Befehlsreferenz
  - A
  - Action
  - AddSearchpath
  - AtPageCreation
  - AtPageShipout
  - AttachFile
  - Attribute
  - B
  - Barcode
  - Bold
  - BoldItalic
  - Bookmark
  - Box
  - Br
  - Case
  - Circle
  - Color
  - Column
  - Columns
  - Compatibility
  - Contents
  - Copy-of
  - DefineColor
  - DefineFontalias
  - DefineFontfamily
  - DefineTextformat
  - Element
  - Fontface
  - ForAll
  - Frame
  - Grid
  - Group
  - Groupcontents
  - HSpace
  - Hyphenation
  - I
  - Image
  - Include
  - Initial
  - InsertPages
  - Italic
  - Layout
  - Li
  - LoadDataset
  - LoadFontfile
  - Loop
  - Makeindex
  - Margin
  - Mark
  - Message
  - NewPage
  - NextFrame
  - NextRow
  - NoBreak
  - Ol
  - Options
  - Otherwise
  - Output
  - Overlay
  - Pageformat
  - Pagetype
  - Paragraph
  - PDFOptions
  - PlaceObject
  - Position
  - PositioningArea
  - PositioningFrame
  - ProcessNode
  - Record
  - Regular
  - Rule
  - SaveDataset
  - SavePages
  - SetGrid
  - SetVariable
  - SortSequence
  - Stylesheet
  - Span
  - Sub
  - Sup
  - Switch
  - Table
  - Tablefoot
  - Tablehead
  - Tablerule
  - Td
  - Text
  - Textblock
  - Tr
  - Trace
  - Transformation
  - U
  - Ul
  - Until
  - URL
  - Value
  - VSpace
  - While

Version 3.2.0
Handbuch durchsuchen:

- Startseite
- Einleitung
- Hallo Welt!
- Grundlagen
  - Erstellen eines Layoutregelwerks
  - Aufbau der Datendatei und des Layoutregelwerks
  - Objekte ausgeben
  - Raster
  - Bereiche auf der Seite (PositioningArea)
  - Dateiorganisation
  - Silbentrennung / Spracheinstellungen
  - Einbinden von Schriftarten
  - Textformate
  - Textformatierung
  - Farben
- Programmierung
- Bilder einbinden
- Tabellen
- Fortgeschrittene Themen
  - Lesezeichen (Bookmarks)
  - Erzeugen von XML-Strukturen
  - Druckausgabe / Schnittmarken
  - CSS
  - Gruppen (virtuelle Objekte)
  - Virtuelle Seiten
  - Rotieren von Inhalten
  - Sortieren von Daten
  - Umfließen von Bildern
  - Seitentypen
  - Starten des Publishers über den Hotfolder
  - Lua-Filter / Datenvorverarbeitung
  - Schemavalidierung
  - Qualitätssicherung (PDF-Vergleich)
  - Fehlersuche / Debugging
  - Servermodus
- Kochbuch
  - Griffmarken
  - Mehrseitige PDF-Dateien einbinden
  - Layoutoptimierung mithilfe von Gruppen
  - Verzeichnisse erstellen
  - Seitenzahlen: Seite x von y
  - Aufzählungslisten nachahmen
- Installationsanleitung
- Voreinstellungen im speedata Publisher
- Starten des Publishers über die Kommandozeile
- Konfiguration des Publishers
- Längenangaben und Maßeinheiten
- XPath- und Layoutfunktionen
- Interne Variablen
- Liste der Änderungen
- Glossar
- Befehlsreferenz
  - A
  - Action
  - AddSearchpath
  - AtPageCreation
  - AtPageShipout
  - AttachFile
  - Attribute
  - B
  - Barcode
  - Bold
  - BoldItalic
  - Bookmark
  - Box
  - Br
  - Case
  - Circle
  - Color
  - Column
  - Columns
  - Compatibility
  - Contents
  - Copy-of
  - DefineColor
  - DefineFontalias
  - DefineFontfamily
  - DefineTextformat
  - Element
  - Fontface
  - ForAll
  - Frame
  - Grid
  - Group
  - Groupcontents
  - HSpace
  - Hyphenation
  - I
  - Image
  - Include
  - Initial
  - InsertPages
  - Italic
  - Layout
  - Li
  - LoadDataset
  - LoadFontfile
  - Loop
  - Makeindex
  - Margin
  - Mark
  - Message
  - NewPage
  - NextFrame
  - NextRow
  - NoBreak
  - Ol
  - Options
  - Otherwise
  - Output
  - Overlay
  - Pageformat
  - Pagetype
  - Paragraph
  - PDFOptions
  - PlaceObject
  - Position
  - PositioningArea
  - PositioningFrame
  - ProcessNode
  - Record
  - Regular
  - Rule
  - SaveDataset
  - SavePages
  - SetGrid
  - SetVariable
  - SortSequence
  - Stylesheet
  - Span
  - Sub
  - Sup
  - Switch
  - Table
  - Tablefoot
  - Tablehead
  - Tablerule
  - Td
  - Text
  - Textblock
  - Tr
  - Trace
  - Transformation
  - U
  - Ul
  - Until
  - URL
  - Value
  - VSpace
  - While

# Fehlersuche / Debugging

Nicht immer klappt die Ausgabe, wie sie soll. Manchmal sind Objekte zu breit, manchmal wird das falsche Textformat genommen und gelegentlich sieht die Tabelle nicht so aus, wie sie eigentlich sollte. Damit die Fehlersuche nicht zu schwierig wird, gibt es im speedata Publisher diverse Hilfen. Dafür gibt es den Befehl `<Trace>`, der verschiedene Schalter anbietet. Dies sind (mit Voreinstellung):

    <Trace
        assignments="no"
        objects="no"
        verbose="no"
        grid="no"
        gridallocation="no"
        hyphenation="no"
        textformat="no"
        />

`assignments`

  Gibt auf der Konsole den Wert der Zuweisung (`<SetVariable>`) aus.

`objects`

  Zeichnet eine Linie um einzelne Objekte.

`verbose`

  Erhöht die Ausgabe auf der Konsole (Protokoll-Datei).

`grid`

  Zeichnet das Raster. Siehe Abschnitt Raster.

`gridallocation`

  Zeichnet die Rasterbelegung. Siehe Abschnitt Raster.

`hyphenation`

  Markiert die Stellen, an denen die Wörter umbrochen werden dürfen (Silbentrennung).

`textformat`

  Erzeugt über jeder Textzeile einen Tooltip, der das benutzte Textformat anzeigt. Siehe das Beispiel im Abschnit Textformate.

## Nachrichten

Neben den Möglichkeiten, die der Befehl `<Trace>` liefert, gibt es noch die Möglichkeit, Nachrichten in der Logdatei auszugeben:

    <Message select="'Hallo Welt!'"/>
    <Message select="sd:current-page()"/>

Die Ausgaben erscheinen in der Logdatei (`publisher.protocol`)

    Message: "Hallo Welt!"
    Message: "1"

Den Befehl `<Message>` kann man mit `error="yes"` anweisen, eine Fehlermeldung auszugeben (anstelle einer Nachricht). Ebenso kann man den Fehlercode bestimmen, der beim Beenden des Publishers zurückgegeben wird. Siehe den Befehl `<Message>` in der Referenz.

## Statusdatei und Protokolldatei

Zum Ende des Laufs werden zwei Dateien auf die Festplatte geschrieben, die bei der Fehlersuche behilflich sein können. Die Datei `publisher.status` ist eine XML-Datei, die die Fehlermeldungen und anderen Nachrichten (über den Befehl `<Message>`) enthält. Das Beispiel oben mit den zwei Nachrichten ergibt die folgende Datei:

    <Status>
      <Errors>0</Errors>
      <Message>Hallo Welt!</Message>
      <Message>1</Message>
      <DurationSeconds>1</DurationSeconds>
    </Status>

Ebenso wird eine etwas ausführlichere Protokolldatei (`publisher.protocol`) geschrieben, die verschiedene Informationen enthält.

    Protocol file for speedata Publisher (2.9.2)
    Time: Mon Feb 20 11:03:25 2017
    ---------------------------------------------
    Start processing
    Talking to server on port 56486
    LuaTeX version 79.1
    Loading hyphenation patterns "hyph-en-gb.pat.txt".
    Language id: 0
    Loading layout instructions "/tmp/layout.xml"
    DefineFontfamily, family=2, name="Überschrift"
    Loading aux file "/tmp/publisher-aux.xml"
    Loading data file "/tmp/data.xml"
    Page of type "Default Page" created (1)
    Number of rows: 28, number of columns = 19
    PlaceObject: Textblock in row 1 and column 1, width=19, height=1 (page 1)
    Message: "Hallo Welt!"
    Message: "1"
    Stop processing data
    0 errors occurred
    Duration: 0.223866 seconds

- Qualitätssicherung (PDF-Vergleich)
- Servermodus