The source has:
<para role="2column">
<variablelist role="2column">
<varlistentry>
<term>Aba</term>
...
The output has:
<p class="2column">
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Aba</span></dt><dd>
<p>Abazin</p>
which means that the variablelist is now outside the enclosing para. Note that if "<variablelist role="2column">" was passed through to the HTML, that would have been fine to, but that role never makes it to the HTML output at all.</variablelist>
The command is:
xmlto -m xml/docbook2html_config_prince.xsl -o /home/rlpowell/lojban/cll/build/prince_pdf/ xhtml-nochunks /home/rlpowell/lojban/cll/build/cll_processed_xhtml.xml
The xsl file mentioned there is at https://gist.github.com/dc845e15c60a912ea1f1
Heh. I just discovered that the variablelist ends with:
Which isn't much more helpful. :)
Well, neither div nor dl are permitted inside p. The DocBook stylesheet takes steps to pull such elements outside of the p element so they don't create invalid HTML.
Regarding @role, only a very few elements have their role value automatically passed through to the class attribute, because role can be used for many different purposes. But you could customize the stylesheet as follows to copy the role value to the class attribute:
<xsl:template match="d:variablelist<span>[<a class=" user-mention"="" href="/u/role/profile/">@role = '2column']" mode="class.value">
<xsl:value-of select="@role">
</xsl:value-of></xsl:template>