<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>html-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>
