Table of Contents
Extensions are supported in recent releases of Saxon and Xalan.
These extensions enable callouts, numbered program listings, and the direct inclusion of text:
1 @rem = '--*-Perl-*--@echo off perl.exe %_batchname %$ goto endofperl
5 @rem '; # Compress mail... require 'n:/home/nwalsh/lib/cygnus.pl';
10 require 'timelocal.pl';
use Cwd;
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);
} } 30 exit;
![]() | The prologue handles embedding a Perl script in a DOS batch file. |
![]() | The goto statement, interpreted by the DOS batch file interpreter, skips over the body of the Perl script. |
![]() | The require statement sources in external program fragments. |
![]() | 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.) |
![]() | This is a user subroutine call. |
The DocBook XSL Stylesheets include a set of Java extensions for Saxon.
The extensions are included in the distribution in extensions/saxon642.jar and extensions/saxon643.jar. Use the former for Saxon version 6.4.2 and the latter for Saxon 6.4.3 or Saxon 6.4.4. Saxon version 6.4.1 and all prior releases contained a significant bug, they are not supported.
Just make sure that the right jar file is in your CLASSPATH when you run Saxon.
For compatibility with other processors, the extensions are disabled by default. To enable the extensions, turn on $saxon.extensions, for example by passing saxon.extensions=1 to Saxon.
For more control over the specific extensions, see HTML Parameter Reference.