Menu

#1366 para can't wrap variablelist in HTML output

output: HTML
open
nobody
None
5
2015-09-17
2015-09-17
No

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

Discussion

  • Robin Powell

    Robin Powell - 2015-09-17

    Heh. I just discovered that the variablelist ends with:

              <p>Udmurt</p>
            </dd></dl></div><p class="2column">
      </p>
    

    Which isn't much more helpful. :)

     
  • Robert Stayton

    Robert Stayton - 2015-09-17

    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&lt;span&gt;[&lt;a class=" user-mention"="" href="/u/role/profile/">@role = '2column']" mode="class.value">
    <xsl:value-of select="@role">
    </xsl:value-of></xsl:template>

     
MongoDB Logo MongoDB