Question

Moving this question to a different thread, as requested.

I'm trying to customize DocBook XSL's HTML output.

After a docbook <table> element, the stylesheets generate this code:

<div class="table">
    [...]
</div>
<p>
    <br class="table-break">
</p>

This induces unwanted spaces in the HTML output and I can't find where this code comes from as a search for "table-break" in the DocBook XSL comes up with no results. How would I go about getting rid of this code?

Thanks!

~Slampisko

Was it helpful?

Solution

This information is directed at Docbook XSL 1.77.1. This may not match up with your version, especially given that your post table break element is wrapped with <p>:

As mentioned by mzjn, the formal.xsl file has what you're looking for. formal.object is a named template that is called when you specify a CALS table (or embed a graphic/mediaobject). Within this template there is a test to check if a break element should be added afterward. There is a global parameter (top of the file) that controls this behaviour. It is enabled by default:

<xsl:param name="formal.object.break.after">1</xsl:param>

You can redefine this by specifying the parameter to your XSLT processor, with Saxon, for example, it would take the form:

java -jar saxon.jar file.xml your.customisation.xsl formal.object.break.after=0

You can probably also shadow it from within your customisation by redefining formal.object.break.after after you have imported the base stylesheet.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top