A custom conversion specification is simply a text file, UTF-8 encoded, containing a number of w2x command-line options separated by space or new line characters.
book
possibly containing CALS (not HTML) tables-o docbook -p convert.set-column-number yes -p transform.cals-tables yes
Custom conversion specification file
:w2x_install_dir
/doc/manual/bookmap_options.txt
-p edit.prune.preserve p-ProgramListing -p edit.inlines.convert " c-Code code ! c-Abbrev abbr " -p edit.blocks.convert "p-Term dt g:id='dl' g:container='dl' !¬ p-Definition dd g:id='dl' g:container='dl' !¬ p-ProgramListing span g:id='pre' g:container='pre'" -pu edit.after.blocks customize/notes.xed -p transform.root-topic-id manual -p transform2.topic-path manual_bookmap_topics -p transform2.section-depth 6 -o bookmap -t customize/custom_topic.xslt
where customize/notes.xed
is:
namespace "http://www.w3.org/1999/xhtml"; namespace html = "http://www.w3.org/1999/xhtml"; namespace g = "urn:x-mlmind:namespace:group"; for-each /html/body//p[get-class("p-Note")] { delete-text("note:\s*", "i"); if content-type() <= 1 and not(@id) { delete(); } else { remove-class("p-Note"); set-attribute("g:id", "note_group_member"); set-attribute("g:container", "div class='role-note'"); } } group();
and customize/custom_topic.xslt
is:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:h="http://www.w3.org/1999/xhtml" exclude-result-prefixes="h"> <xsl:import href="w2x:xslt/topic.xslt"/> <xsl:template match="h:div[@class = 'role-note']"> <note> <xsl:call-template name="processCommonAttributes"/> <xsl:apply-templates/> </note> </xsl:template> <xsl:template match="h:code"> <tt> <xsl:call-template name="processCommonAttributes"/> <xsl:apply-templates/> </tt> </xsl:template> </xsl:stylesheet>
Note that relative URIs referenced by -pu
options are relative to the text file containing the custom conversion specification. For example, customize/notes.xed
referenced in
is in fact w2x_install_dir
/doc/manual/bookmap_options.txt
.w2x_install_dir
/doc/manual/customize/notes.xed