Non è veramente necessario leggere questa sezione a meno che non si abbiano problemi oppure non si abbia la curiosità di sapere come funzionano l'sgml e linuxdoc. I messaggi di errore possono contenere parole come "element" (elemento), "entity" (entità, o "entities" al plurale), "attribute" (attributo), "literal" (letterale) e "delimiter" (delimitatore). Vari elementi, entità e attributi sono definiti per linuxdoc nel "Data Type Definition" (o DTD) per LinuxDoc. Il DTD non li definisce a parole, ma usa un formato piuttosto criptico per definire la loro sintassi (ma non la loro semantica).
Un "elemento" è un qualcosa come un tag, ma è un concetto molto più ampio. Gli elementi esistono non solo in LinuxDoc, ma in tutti i linguaggi sgml, come ad esempio html. L'intero documento LinuxDoc è diviso in elementi, ma questi sono annidati; questo significa che alcuni elementi possono comparire all'interno di altri elementi. Se si usa il tag <article> per il proprio documento, allora tutto il documento è l'elemento <article>, tranne per il primissimo tag che dice che ciò che segue è LinuxDoc. All'interno di tale elemento "article" sono annidati molti altri elementi.
Ogni paragrafo, per esempio, è un elemento, anche se i paragrafi sono separati tra di loro da una riga vuota invece che da tag. C'è però un tag implicito che racchiude ogni paragrafo ed il software che analizzerà il documento LinuxDoc di fatto inserirà questi tag mancanti. Inserirà anche i tag finali (di chiusura) dove non era obbligatorio scriverli. In questo modo LinuxDoc fa risparmiare molto tempo. Un elemento consiste perciò in un tag di apertura, in uno di chiusura (corrispondente a quello di apertura) e a tutto ciò che è racchiuso tra di essi (compresi spesso altri elementi con i loro tag). Si noti che i tag anche se omessi sono tuttavia sempre implicitamente presenti. In alcuni casi un tag non racchiude alcunché, come un tag URL per un collegamento Internet; questi tag sono essi stessi elementi. All'interno dell'elemento "article" si trovano elementi "sect" (sezioni) che iniziano con <sect>. All'interno degli elementi "sect" ci sono poi spesso elementi "sect1", ecc.
Ci sono alcuni casi in cui è presente un elemento, ma è opzionale l'uso sia del tag di apertura, sia di quello di chiusura. Perciò anche se tale tag non è presente nel documento, le parti del documento che avrebbbe dovuto racchiudere sono comunque elementi di quei tag mancanti.
Un'entità è come una definizione di macro. Per esempio, si potrebbe definire il nome "elenco" come significativo dei vari tipi di elenchi. Questa parola elenco viene poi usata nel DTD solo per specificare, per esempio, che è possibile avere un elenco all'interno di un paragrafo. È semplicemente un'abbreviazione per l'autore di un DTD. Questo tipo di entità non è mai usato in un documento LinuxDoc. Esiste però anche un altro tipo di entità che può essere usata all'interno di un documento ed è quella che definisce un carattere speciale come &etago per </ (inizio del tag di chiusura). Lo si usa, per esempio, quando si desidere mettere </article> all'interno di una frase per spiegare cosa significa, in modo che il software che converte il LinuxDoc non pensi che sia davvero la fine dell'articolo.
Un "literal" è il nome di qualcosa, come il nome su cui si clicca in un collegamento html; può essere formato da una o più parole. Un delimitatore è ciò che separa qualcosa da qualcos'altro. Per una "citazione" l'ultima " è il delimitatore di chiusura. Perciò per name="mio sito web", il "literal" è 'mio sito web' e i delimitatori di questo "literal" sono i due caratteri ": il primo " è il delimitatore di apertura e il secondo " il delimitatore di chiusura. Così la frase "manca il delimitatore di chiusura di un literal" significa che ci si è dimenticati di inserire un " finale dopo un nome.