4. Definizioni Tipologia Documento (Document Type Definitions)

(Nota: per mantenere semplice la spiegazione, in questa sezione dirò qualche bugia, principalmente tralasciando un sacco di roba. La verità verrà ripristinata in una della sezioni successive.)

DocBook è un linguaggio di tipo structural-level markup. Più precisamente, è un dialetto di XML. Un documento DocBook è quindi un pezzo di XML che usa tag XML per le istruzioni structural markup.

Affinché un programma per la composizione ed impaginazione dei documenti (document formatter) applichi un foglio di stile al vostro documento per renderlo di bell'aspetto, deve sapere alcune cose sulla struttura generale del vostro documento. Per esempio, dovrà sapere che un manoscritto generalmente consiste in una prima di copertina, una sequenza di capitoli e un'ultima di copertina, in modo da comporre fisicamente i titoli dei capitoli in modo appropriato. Per fargli sapere tutte queste cose, dovrete fornire al compositore di documento una Definizione del Tipo di Documento o Document Type Definition() (DTD). Il DTD informa il compositore sul tipo di elementi che può contenere il vostro documento e in quale ordine possono apparire.

Quando diciamo che DocBook è una "applicazione" (una realizzazione) di XML intendiamo dire che DocBook è un DTD XML, molto esteso, che comprende quasi 400 tag.

Dietro DocBook c'è un tipo di programma chiamato validating parser. Quando componete un documento di tipo DocBook, il primo passo da fare è quello di darlo in pasto a un validating parser (il front-end di un compositore DocBook). Questo programma controlla il vostro documento in base al DocBook DTD per assicurarsi che non abbiate violato le regole e le strutture del DTD (in caso contrario, il software di composizione potrebbe confondersi al momento di applicare il foglio di stile).

Il validating parser potrà darvi dei messaggi di errore, indicando in quali punti del documento non è corretta la struttura, oppure tradurre il documento in un flusso di formatting events che la parte finale del parser combina con le informazioni del vostro stylesheet per produrre un output formattato correttamente.

Ecco un diagramma dell'intero processo:

La parte del diagramma all'interno del rettangolo punteggiato rappresenta il vostro software di composizione, realizzato con una serie di strumenti in sequenza (toolchain). Bisogna tenere a mente, per capire ciò che seguirà, che vengono passati al compositore, oltre all'ovvio e ben visibile sorgente del documento, anche due input invisibili: il DTD ed il foglio di stile.