| java.lang.Object com.nwalsh.xalan.Verbatim
Verbatim | public class Verbatim (Code) | | Xalan extensions supporting DocBook verbatim environments
$Id: Verbatim.java,v 1.4 2005-08-30 08:14:58 draganr Exp $
Copyright (C) 2001 Norman Walsh.
This class provides a
Xalan
implementation of two features that would be impractical to
implement directly in XSLT: line numbering and callouts.
Line Numbering
The numberLines family of functions takes a result tree
fragment (assumed to contain the contents of a formatted verbatim
element in DocBook: programlisting, screen, address, literallayout,
or synopsis) and returns a result tree fragment decorated with
line numbers.
Callouts
The insertCallouts family of functions takes an
areaspec and a result tree fragment
(assumed to contain the contents of a formatted verbatim
element in DocBook: programlisting, screen, address, literallayout,
or synopsis) and returns a result tree fragment decorated with
callouts.
Change Log:
- 1.0
Initial release.
author: Norman Walsh author: ndw@nwalsh.com version: $Id: Verbatim.java,v 1.4 2005-08-30 08:14:58 draganr Exp $ |
Method Summary | |
public DocumentFragment | insertCallouts(ExpressionContext context, NodeIterator areaspecNodeSet, NodeIterator xalanNI) Insert graphical callouts into a verbatim environment.
This method examines the areaset and area elements
in the supplied areaspec and decorates the supplied
result tree fragment with appropriate callout markers.
If a label attribute is supplied on an area,
its content will be used for the label, otherwise the callout
number will be used. | public DocumentFragment | insertCallouts(NodeIterator areaspecNodeSet, NodeIterator xalanNI, int defaultColumn, FormatCallout fCallout) | public DocumentFragment | insertDingbatCallouts(NodeIterator areaspecNodeSet, NodeIterator xalanNI, int defaultColumn, int gMax, boolean useFO) | public DocumentFragment | insertGraphicCallouts(NodeIterator areaspecNodeSet, NodeIterator xalanNI, int defaultColumn, String gPath, String gExt, int gMax, boolean useFO) | public DocumentFragment | insertTextCallouts(NodeIterator areaspecNodeSet, NodeIterator xalanNI, int defaultColumn, boolean useFO) | public DocumentFragment | insertUnicodeCallouts(NodeIterator areaspecNodeSet, NodeIterator xalanNI, int defaultColumn, String uFont, int uStart, int uMax, boolean useFO) | public DocumentFragment | numberLines(ExpressionContext context, NodeIterator xalanNI) Number lines in a verbatim environment.
This method adds line numbers to a result tree fragment. |
Verbatim | public Verbatim()(Code) | | Constructor for Verbatim
All of the methods are static, so the constructor does nothing.
|
insertCallouts | public DocumentFragment insertCallouts(ExpressionContext context, NodeIterator areaspecNodeSet, NodeIterator xalanNI)(Code) | | Insert graphical callouts into a verbatim environment.
This method examines the areaset and area elements
in the supplied areaspec and decorates the supplied
result tree fragment with appropriate callout markers.
If a label attribute is supplied on an area,
its content will be used for the label, otherwise the callout
number will be used. Callouts are
numbered in document order. All of the areas in an
areaset get the same number.
If the callout number is not greater than gMax, the
callout generated will be:
<img src="$gPath/conumber$gExt" alt="conumber">
Otherwise, it will be the callout number surrounded by
parenthesis.
Only the linecolumn and linerange units are
supported. If no unit is specifed, linecolumn is assumed.
If only a line is specified, the callout decoration appears in
the defaultColumn. Lines will be padded with blanks to reach the
necessary column, but callouts that are located beyond the last
line of the verbatim environment will be ignored.
Callouts are inserted before the character at the line/column
where they are to occur.
Parameters: areaspecNodeSet - The source node set that contains the areaspec. Parameters: xalanRTF - The result tree fragment of the verbatim environment. Parameters: defaultColumn - The column for callouts that specify only a line. Parameters: gPath - The path to use for callout graphics. Parameters: gExt - The extension to use for callout graphics. Parameters: gMax - The largest number that can be represented as a graphic. Parameters: useFO - Should fo:external-graphics be produced, as opposed toHTML imgs. This is bogus, the extension should figure it out, but Ihaven't figured out how to do that yet. The modified result tree fragment. |
numberLines | public DocumentFragment numberLines(ExpressionContext context, NodeIterator xalanNI)(Code) | | Number lines in a verbatim environment.
This method adds line numbers to a result tree fragment. Each
newline that occurs in a text node is assumed to start a new line.
The first line is always numbered, every subsequent xalanMod line
is numbered (so if xalanMod=5, lines 1, 5, 10, 15, etc. will be
numbered. If there are fewer than xalanMod lines in the environment,
every line is numbered.
xalanMod is taken from the $linenumbering.everyNth parameter.
Every line number will be right justified in a string xalanWidth
characters long. If the line number of the last line in the
environment is too long to fit in the specified width, the width
is automatically increased to the smallest value that can hold the
number of the last line. (In other words, if you specify the value 2
and attempt to enumerate the lines of an environment that is 100 lines
long, the value 3 will automatically be used for every line in the
environment.)
xalanWidth is taken from the $linenumbering.width parameter.
The xalanSep string is inserted between the line
number and the original program listing. Lines that aren't numbered
are preceded by a xalanWidth blank string and the separator.
xalanSep is taken from the $linenumbering.separator parameter.
If inline markup extends across line breaks, markup changes are
required. All the open elements are closed before the line break and
"reopened" afterwards. The reopened elements will have the same
attributes as the originals, except that 'name' and 'id' attributes
are not duplicated.
Parameters: xalanRTF - The result tree fragment of the verbatim environment. The modified result tree fragment. |
|
|