Условный текст (профилирование) может помочь здесь:
<para>See this example: <phrase code="c">some C code</phrase>
<phrase code="vala">some Vala code</phrase>
</para>
В зависимости от вашего процессора вы можете установить опции для выбора одного языка кода. Для xsltproc вы используете специальную таблицу стилей html / profile-chunk.xsl и добавляете --stringparam profile.code "Vala", чтобы создать условную версию XML для Vala.
xsltproc --output document.vala.xml --stringparam profile.code "vala" ..path-to/html/profile-chunk.xsl document.xml
Затем вы создаете обычную цепочку инструментов со своей таблицей стилей и версией вашего документа на языке Vala (document.vala.xml).
Таким образом, вы можете создать один и тот же документ дважды, но с другим кодом.
Для получения более подробной информации см. http://www.sagehill.net/docbookxsl/Profiling.html, а для связующей части смотрите http://www.sagehill.net/docbookxsl/OlinkVariations.html#ProfilingOlinks