NAME
Apache::XBEL - mod_perl to transform XBEL into exciting and fooy HTML documents.
SYNOPSIS
<Location />
SetHandler perl-script
PerlHandler Apache::XBEL
PerlSetVar XbelPath /path/to/yer-xbel-file.xbel
PerlSetVar XslPath /path/to/apache-xbel.xsl
PerlSetVar CacheDir /path/to/yer-cache-dir
# This can be any valid "type" attribute as
# defined by the Text::Outline constructor
PerlSetVar ConvertOutline opml
# If set to "On", output-escaping will be disabled
# for title and description nodes in the XSL stylesheet
PerlSetVar DisableEscaping On
</Location>
DESCRIPTION
Apache::XBEL is an Apache mod_perl handler that uses XSLT to transform XML Bookmarks Exchange Language (XBEL) files into exciting and foofy dynamic HTML documents. Documents are rendered as collapsible outlines and individual nodes may be viewed and bookmarked as unique pages, so you don't have to click through a gazillion nested leaves to find what you're looking for.
If you have the Text::Outline package installed on your server, you can use it to convert a number of outline(r) formats as XBEL for use with the handler.
Once individual nodes/pages have been rendered, they are cached to reduce the load on the server. Cache files are updated whenever any of the widgets involved in the transformation are modified.
IMPORTANT
If you are running this handler on a server that is also running AxKit, pre version 1.5, Apache::XBEL may periodically fail and return a server error. Some reports have suggested that reloading the page may cause the widget to load properly. Or not.
VERSION
1.2.1
DATE
June 11, 2002
AUTHOR
Aaron Straup Cope <ascope@cpan.org>
TO DO
Use XML::LibXML, or maybe XML::SAX::Writer, instead of XML::Generator, to write XBEL node(s) to disk
Add hooks to specify XSLT engine in httpd.conf
Pass breadcrumbs as a node rather than a string?
Add hooks to check for valid DOM support in browser
Write a plain vanila stylesheet and write DOM related functions.
Write a proper test file - if there is a document outlining how to do this for mod_perl handlers, I'd love to hear about it.
SEE ALSO
http://pyxml.sourceforge.net/topics/xbel/
http://simon.kittle.info/text_outline
http://aaronland.net/toys/apache-xbel
LICENSE
Copyright (c) 2001-2002 Aaron Straup Cope. All Rights Reserved.
This is free software, you may use it and distribute it under the same terms as Perl itself.