in reply to RFC : Abstraction Markup

Well, you are aiming for some separation between the HTML and the data. What you are doing is basically what Paul Lucas' "HTML_Tree" Perl module does. He took it off CPAN becuase another module like that already existed.

From my perspective, you are still putting programming the backseat and HTML in the front-seat. Instead of taking control of the situation and injecting data into the HTML via DOM or one of Perl's many push-style solutions, you are still trying to program the HTML via a simple correspondence table between hash keys and html tags.

So, what you have is putting the power in the middle. Blatant pull-style systems like Mason and TT have a lot of power because they allow programming in HTML. Blatan push-style systems like my own HTML::Seamstress have a lot of power because they prohibit programming in HTML, but require Perl for all programming.

What you have is something with limited programing power from either perspective. Which may be fine, but it might not be. Also see URI Guttman's Template::Simple for another attempt to have automatic templating based on Perl data structures. As well as Petal for Perl's tal-inspired templating.



The mantra of every experienced web application developer is the same: thou shalt separate business logic from display. Ironically, almost all template engines allow violation of this separation principle, which is the very impetus for HTML template engine development.

-- Terence Parr, "Enforcing Strict Model View Separation in Template Engines"