Une fois notre document source dûment terminé, il va falloir le traiter, et ce traitement va se faire en plusieurs étapes paramètrables selon le résultat désirer.
Le Document va être ingéré par une première moulinette en même temps qu'un document de description de la syntaxe. La chaine d'édition est générique et les fichiers de description de la syntaxe de DocBook sont nécessaires comme références. Ces documents s'appellent des DTD (Définition de Type de Document). Un document définit la syntaxe DocBook pour le SGML, un autre pour le XML. On commence à voir des documents de spécification de langage écrit en XML-schema, pour décrire le format XML-DocBook. Si le document ne se conforme pas à la DTD, le traitement génère une erreur ou ne donne pas le résultat attendu.
Cette moulinette va représenter le document sous forme d'un arbre où les entités incluantes sont les parents des entités incluses. Par éxemple, dans le texte précédent sect1 est le père de title ("Activité..."), para("L'activité de traduction ...") et itemizedlist, lui-même père de deux listitem. C'est la que l'inclusion stricte est importante pour garantir que la construction de cet arbre est possible. L'arbre obtenu s'appelle le grove.
Cet arbre va être traité par une seconde moulinette à l'aide d'un fichier DSSSL (Dynamic Style Semantics and Specification Language : langage de spécification et de sémantique de style dynamique, un langage de type Scheme) si on utilise la chaîne d'édition JADE, ou XSL (eXtensible Stylesheet Language : langage extensible de feuille de style) si on souhaite travailler en tout XML. Ces deux types de fichier ont la même fonction : spécifier la représentation des différents éléments sémantiques de l'arbre. En gros, ce sont eux qui définissent la mise en page du document et garantissent son uniformité.
Pour sortir du HTML, il n'est généralement pas nécessaire aller plus loin. Il suffit en effet de fournir un fichier DSSSL indiquant comment générer le HTML du document. Le FOT ne sert que pour l'édition sur papier. Cela signifie que l'on doit utiliser deux fichiers DSSSL différents selon le type de média que l'on vise.
Cet arbre d'objets de formatage passe dans une troisième moulinette, spécifique au type de fichier veut obtenir en sortie. Pour obtenir du format TeX (formateur bien connu dans le monde libre), on utilisera une moulinette (un backend dans le jargon) spécifique. A partir de ce fichier TeX, on génère les fichiers Postscript et PDF. Pour obtenir un format RTF (Rich Text Format) compatible MS Word, on utilise un backend spécifique, et ainsi de suite.
Certains outils, comme openjade qui va être présenté, effectuent toutes les transformations intermédiaires avec une seule commande. D'autres comme ceux orientés spécifiquement XML sont en plusieurs étapes, avec utilisation des fichiers intermédiaires.