NAME
Xelig
SUMMARY
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.
Documentation will trickle out shortamundo.
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) 2003 chocolateboy
This library is free software; you can redistribute
it and/or modify it under the same terms as Perl
itself.
BUGS
APIs are likely to change dramatically
No documentation/tutorial/FAQ/examples/tests
AUTHOR
chocolateboy <chocolate.boy@email.com>
VERSION
0.01