%
# support ulink URL's
$t->{'ulink'}{testcode} = sub {
my $node = shift;
my $t = shift;
$t->{pre} = "";
$t->{post} = '';
return 1;
};
$t->{'title'}{testcode} = sub {
my $node = shift;
my $t = shift;
if (findvalue('parent::blockquote', $node)) {
$t->{pre} = "";
$t->{post} = "
\n";
}
elsif (findvalue('parent::artheader', $node)) {
$t->{pre} = "
";
$t->{post} = "
";
}
else {
my $parent = findvalue('name(..)', $node);
my ($level) = $parent =~ m/sect(\d+)$/;
$t->{pre} = "";
$t->{post} = "";
}
return 1;
};
$t->{'attribution'}{pre} = "";
$t->{'attribution'}{post} = "
\n";
$t->{'para'}{pre} = '';
$t->{'para'}{post} = '
';
$t->{'author'}{pre} = '';
$t->{'firstname'}{pre} = '';
$t->{'surname'}{pre} = ' ';
$t->{'surname'}{post} = "
\n";
$t->{'email'}{testcode} = sub {
my $node = shift;
$t->{'email'}{pre} = "";
$t->{'email'}{post} = "";
return 1;
};
$t->{'copyright'}{pre} = "Copyright \xC2\xA9 ";
$t->{'trademark'}{post} = "TM";
$t->{'holder'}{testcode} = sub {
my $node = shift;
$t->{'holder'}{pre} = "";
$t->{'holder'}{post} = "";
return 1;
};
$t->{'abstract'}{pre} = "
";
$t->{'sect1'}{post} = "
";
#$XML::XPath::Debug = 1;
$t->{'sect1'}{testcode} = sub {
my ($node, $t) = @_;
if (my $id = findvalue('@id', $node)) {
$t->{pre} = "";
}
return 1;
};
$t->{'sect2'}{testcode} = $t->{'sect1'}{testcode};
$t->{'sect3'}{testcode} = $t->{'sect1'}{testcode};
$t->{'sect4'}{testcode} = $t->{'sect1'}{testcode};
# lists
$t->{'itemizedlist'}{pre} = '';
$t->{'itemizedlist'}{post} = '
';
$t->{'orderedlist'}{pre} = '';
$t->{'orderedlist'}{post} = '
';
$t->{'listitem'}{testcode} = sub {
my ($node, $t2) = @_;
$t2->{pre} = '';
$t2->{post} = '';
return 1;
# return '*[1]/node() | *[position() > 1]';
};
$t->{'procedure'}{pre} = '';
$t->{'procedure'}{post} = '
';
$t->{'step'}{pre} = '';
$t->{'step'}{post} = '';
# examples, listings, etc.
$t->{'programlisting'}{pre} = '';
$t->{'programlisting'}{post} = ' |
';
# need to support and other tags within screen...
$t->{'screen'} = $t->{'programlisting'};
$t->{'userinput'}{pre} = '';
$t->{'userinput'}{post} = '';
$t->{'replaceable'}{pre} = '';
$t->{'replaceable'}{post} = '';
$t->{'emphasis'}{pre} = '';
$t->{'emphasis'}{post} = '';
$t->{'application'}{pre} = '';
$t->{'application'}{post} = '';
$t->{'manvolnum'}{pre} = '(';
$t->{'manvolnum'}{post} = ')';
$t->{'option'}{pre} = '';
$t->{'option'}{post} = '';
$t->{'filename'} = $t->{'option'};
$t->{'literal'} = $t->{'option'};
# references
$t->{'anchor'}{testcode} = sub {
my ($node, $t) = @_;
$t->{pre} = '';
$t->{post} = '';
return 1;
};
$t->{'xref'}{testcode} = sub {
my ($node, $t) = @_;
$t->{pre} = '';
$t->{pre} .= findvalue("id('$id')/title/text()");
$t->{post} = '';
return -1;
};
$t->{'link'}{testcode} = sub {
my ($node, $t) = @_;
$t->{pre} = '';
$t->{post} = '';
return 1;
};
my @footnotes;
$t->{'footnote'}{testcode} = sub {
my ($node, $t2) = @_;
push @footnotes, apply_templates('node()', $node);
$t2->{pre} = '' . scalar(@footnotes) . '';
return -1;
};
%>