NAME
Xelig - A Model-View-Controller Presentation Framework
DESCRIPTION
Xelig is a Model-View-Controller Presentation Framework inspired by Enhydra's XMLC.
Unlike the other 36000 XML Template Toolkits, Xelig aspires to offer a genuine separation of layout and logic, data and design.
Model:
The data to be exported into an XML (XHTML &c)
visual representation
View:
The visual 'skin' for that data
Controller:
An object generated from an XML file that governs
how the Model is mapped into the View
The same piece of data (Model) can be given a variety of different skins (Views).
Likewise the same View can be wrapped around a number of different Models.
The linkage between the two is configured in the Controller's XML 'patchbay'.
SYNOPSIS
use Xelig qw(MVC);
my $model = {
foo => [
{
alpha => 'beta',
beta => 'band',
gamma => 'vlissides',
delta => 'blues'
},
{
alpha => 'bravo',
beta => 'blockers',
gamma => 'delta',
delta => 'echo'
},
],
bar => 'baz'
};
my $view = 'view.xml';
my $template = MVC($model, $view); # default controller
print $template->content();
view.xml
<example>
<foo id="foo">
<alpha id="alpha"></alpha>
<beta id="beta"></beta>
<gamma id="gamma"></gamma>
<delta id="delta"></delta>
</foo>
<bar id="bar"></bar>
</example>
output
<example>
<foo id="foo">
<alpha id="alpha">beta</alpha>
<beta id="beta">band</beta>
<gamma id="gamma">vlissides</gamma>
<delta id="delta">blues</delta>
</foo>
<foo>
<alpha>bravo</alpha>
<beta>blockers</beta>
<gamma>delta</gamma>
<delta>echo</delta>
</foo>
<bar id="bar">baz</bar>
</example>
PREREQUISITES
Util
Scalar::Util
XML::Parser
XML::Simple
In addition, due to limited support for weak references in older perls, Xelig only works with perl(s) >= 5.8.0
INSTALLATION AND CONFIGURATION
perl Makefile.PL
make
make test
make install
SEE ALSO
Enhydra XMLC: http://xmlc.enhydra.org/
Struts: http://jakarta.apache.org/struts/
AVOID
XSLT, Template::Toolkit, Mason, HTML::Template, PHP, JSP, ASP, PageKit, EmbPerl, ePerl, ZPT, TAL &c.
COPYRIGHT
Copyright (c) 2000-2003 chocolateboy
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
http://www.gnu.org/copyleft/gpl.html
http://www.perl.com/language/misc/Artistic.html
BUGS
APIs are likely to change dramatically
TODO: documentation/tutorial/FAQ/examples/tests
AUTHOR
chocolateboy <chocolate.boy@email.com>
VERSION
0.02