Table of Contents
This chapter lists tools which generate PDF as their main output format. Some of them might be able to generate other output formats too (like PS).
“AxPoint is a presentation making tool from the makers of Apache AxKit. It allows you to build beautiful presentations using a simple XML description format. ”
Example 1.1. AxPoint Example
<?xml version="1.0"?>
<slideshow>
<title>AxKit</title>
<metadata>
<speaker>Matt Sergeant</speaker>
<email>matt@axkit.com</email>
<organisation>AxKit.com Ltd</organisation>
<link>http://axkit.com/</link>
<logo scale="0.4">ax_logo.png</logo>
<background>redbg.png</background>
</metadata>
<slide transition="dissolve">
<title href="http://www.xml.com/">Introduction</title>
<point level="1" href="http://xmlperl.com">Perl's XML Capabilities</point>
<point level="1">A long bullet point line for testing the line
wrapping capabilities which should make this look OK</point>
<point level="1">AxKit static sites</point>
<point level="1">AxKit dynamic sites (XSP)</point>
<point level="1">Advanced <colour name="red">AxKit</colour></point>
<source_code>
<color name="blue">Foo!</color>
</source_code>
</slide>
<slide default-transition="replace">
<title>Table Example</title>
<table>
<row>
<col width="40%">
<source-code>
Some code;
in the
++ first; # column
that {
maybe we
want to comment();
on...
}
</source-code>
<point>and a point here...</point>
<source-code>followed by more code</source-code>
<point>and another point</point>
</col>
<col width="60%">
<point>Notice how we did this...</point>
<point>And how we can add stuff over here!</point>
<source-code>include <ing.h> //code</source-code>
</col>
</row>
</table>
<!-- Now some SVG! -->
<rect x="100" y="100" width="50" height="100" style="stroke: black"/>
<circle cx="50" cy="50" r="240"/>
<ellipse cx="100" cy="50" rx="30" ry="60" style="fill: aqua;
stroke: red; stroke-width: 5"/>
<text x="200" y="200" style="stroke: black; fill: none;
font: italic 24pt serif">A Cat</text>
</slide>
<slideset>
<title>XML with Perl Introduction</title>
<slide>
<title>A very long <i>title that</i> should show how word
<i>wrapping in the title</i> tag hopefully works
properly today</title>
<point level="1">SAX-like API</point>
<point level="1">register callback handler methods</point>
<point level="2">start tag</point>
<point level="2">end tag</point>
<point level="2">characters</point>
<point level="2">comments</point>
<point level="2">processing instructions</point>
<source_code>
<?pi here?>
</source_code>
<point level="2">... and more</point>
<point level="1">Non validating XML parser</point>
<point level="1">dies (throws an exception) on bad XML</point>
</slide>
<slide>
<title>XML::Parser code</title>
<source_code>
my $p = XML::Parser->new(
<i> Handlers => {
Start => \&start_tag,
End => \&end_tag,
# add more handlers here
});
</i>
$p->parsefile("foo.xml");
<color name="green">exit(0);</color>
sub start_tag {
my ($expat, $tag, %attribs) = @_;
print "Start tag: $tag\n";
}
sub end_tag {
my ($expat, $tag) = @_;
print "End tag: $tag\n";
}
</source_code>
</slide>
<slide>
<title>XML::XPath Implementation</title>
<point level="1">XML::Parser and SAX parsers build an
in-memory tree</point>
<point level="1">Hand-built parser for XPath syntax
(rather than YACC based parser)</point>
<point level="1">Garbage Collection yet still has
circular references (and works on Perl 5.005)</point>
<image>pointers.png</image>
</slide>
</slideset>
<slide>
<title>Conclusions</title>
<point level="1" transition="dissolve">Perl and XML are a
powerful combination</point>
<point level="1" transition="replace">XPath and XSLT add
to the mix...</point>
<point level="1" transition="glitter">AxKit can reduce your
long term costs</point>
<point level="2" transition="dissolve">In site re-design</point>
<point level="2" transition="box">and in content re-purposing</point>
<point level="1" transition="wipe">Open Source equal to
commercial alternatives</point>
<image transition="dissolve">world_map-960.png</image>
</slide>
<slide>
<title>Resources and contact</title>
<point level="1">AxKit: http://axkit.org/</point>
<point level="1">CPAN: http://search.cpan.org</point>
<point level="1">libxml and libxslt: http://www.xmlsoft.org</point>
<point level="1">Sablotron: http://www.gingerall.com</point>
<point level="1">XPath and XSLT Tutorials: http://zvon.org</point>
</slide>
</slideshow>
See Figure 1.1,
“AxPoint example”.
http://axpoint.axkit.org/ (last time checked: 2009-04-23)