Chapter 2. Saxon Extensions

Table of Contents

Installation
Using the Extensions

Beginning with release 1.25, the DocBook XSL Stylesheets include a set of Java extensions for Saxon.

These extensions enable callouts, numbered program listings, and the direct inclusion of text:

  1 @rem = '--*-Perl-*--                                       (1)
    @echo off
    perl.exe %_batchname %$
    goto endofperl                                             (2)
  5 @rem ';
    
    # Compress mail...
    
    require 'n:/home/nwalsh/lib/cygnus.pl';                    (3)
 10 require 'timelocal.pl';                                    (3)
    use Cwd;   (4)
    
    select (STDERR); $| = 1;
    select (STDOUT); $| = 1;
 15 
    @DIRS = ("/home/nwalsh/Mail");
    while (@DIRS) {
        $dir = shift @DIRS;
        opendir (DIR, $dir);
 20     while ($fname = readdir(DIR)) {
            $file = "$dir/$fname";
            next if ! -d $file;
            next if $fname =~ /^\.\.?$/;
    
 25         print "$file\n";
            push (@DIRS, $file);
            &compress ($file);                                 (5)
        }
    }
 30 
    exit;
1

The prologue handles embedding a Perl script in a DOS batch file.

2

The goto statement, interpreted by the DOS batch file interpreter, skips over the body of the Perl script.

3

The require statement sources in external program fragments.

4

The use statement is similar, but has additional utility. It is a Perl5 function. (Note that this callout area specifies both a line and a column.)

5

This is a user subroutine call.

Installation

The extensions are included in the distribution in extensions/nwalsh.jar. Just make sure that jar file is in your CLASSPATH when you run Saxon.