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

Était-ce utile?

La 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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top