<refentry xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:src="http://nwalsh.com/xmlns/litprog/fragment"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="5.0" xml:id="highlight.source">
<refmeta>
<refentrytitle>highlight.source</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>highlight.source</refname>
<refpurpose>Should the content of <tag>programlisting</tag>
be syntactically highlighted?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<src:fragment xml:id="highlight.source.frag">
<xsl:param name="highlight.source" select="0"/>
</src:fragment>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>When this parameter is non-zero, the stylesheets will try to do syntax highlighting of the
content of <tag>programlisting</tag> elements. You specify the language for each programlisting
by using the <tag class="attribute">language</tag> attribute. The <parameter>highlight.default.language</parameter>
parameter can be used to specify the language for programlistings without a <tag class="attribute">language</tag>
attribute. Syntax highlighting also works for <tag>screen</tag> and <tag>synopsis</tag> elements.</para>
<para>The actual highlighting work is done by the XSLTHL extension module. This is an external Java library that has to be
downloaded separately (see below).</para>
<itemizedlist>
<para>In order to use this extension, you must</para>
<listitem><para>add <filename>xslthl-2.x.x.jar</filename> to your Java classpath. The latest version is available
from <link xlink:href="http://sourceforge.net/projects/xslthl">the XSLT syntax highlighting project</link>
at SourceForge.</para>
</listitem>
<listitem>
<para>use a customization layer in which you import one of the following stylesheet modules:
<itemizedlist>
<listitem>
<para><filename>html/highlight.xsl</filename>
</para>
</listitem>
<listitem>
<para><filename>xhtml/highlight.xsl</filename>
</para>
</listitem>
<listitem>
<para><filename>xhtml-1_1/highlight.xsl</filename>
</para>
</listitem>
<listitem>
<para><filename>fo/highlight.xsl</filename>
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem><para>let either the <literal>xslthl.config</literal> Java system property or the
<parameter>highlight.xslthl.config</parameter> parameter point to the configuration file for syntax
highlighting (using URL syntax). DocBook XSL comes with a ready-to-use configuration file,
<filename>highlighting/xslthl-config.xml</filename>.</para>
</listitem>
</itemizedlist>
<para>The extension works with Saxon 6.5.x and Xalan-J. (Saxon 8.5 or later is also supported, but since it is
an XSLT 2.0 processor it is not guaranteed to work with DocBook XSL in all circumstances.)</para>
<para>The following is an example of a Saxon 6 command adapted for syntax highlighting, to be used on Windows:</para>
<informalexample>
<para><command>java -cp c:/Java/saxon.jar;c:/Java/xslthl-2.0.1.jar
-Dxslthl.config=file:///c:/docbook-xsl/highlighting/xslthl-config.xml com.icl.saxon.StyleSheet
-o test.html test.xml myhtml.xsl</command></para>
</informalexample>
</refsection>
</refentry>