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.