Someone suggested I spend more time defining what my whacky idea is, and while this post is not about perl the implementation to support it is in perl.
aXML ( abstraction XML )
An extensible markup language for defining the interactions of blocks of code to generate any given output.
When I first started building CGI applications, I used the usual suspect modules and built custom code to output the pages required. I found this tiresome, and tried to think up a better way to approach the problem. Back when I was in college I was really into doing 3d graphics, the old rotating cube in 320*200 dos mode ... hey it was 1996!
Anyway that old cube algorythm gave me the idea for how I now build webpages;
The main loop of the cube, would take variables from an array, perform mathmatics upon them, then output the result.
The aXML parser, takes input from various xml files, performs manipulations on them and outputs the result.
In a way, the aXML parser renders 1 frame at a time in a much more convuluted way than the cube program did, and given a specific input, it can produce any output.
The power of the abstraction rests in the document and the way in which im working with it. I'm not simply reading it into memory, or I would use XML::simple
The tags themselves are the code. The aXML document causes the parser to build the output. Tags within the document trigger pre-built perl modules. The result of which is then pasted back into the document.
The simplest possible plugin would take the form $result = $data; let us say this plugin was saved under the name of donothing.aXMLpi
In an aXML document one could then include a tag called <donothing>some data</donothing> and the end HTML document would read "some data".
Typically the parser scans for the tags and runs them from the inner most tags outwards, meaning the result of a tag running can be handed to its parent tag which then runs with that value as its data.
<insertfile><qd>filename</qd></insertfile>This allows for a complex set of interations to be built up using only the tags in the document. If one has a sufficient number of prebuilt plugin files then one can build complex applications without touching either the parser or the plugins.
Alsorts of neat tricks become possible using this paradym, data and code merge somewhat into a single layer of abstraction.
Finally, this software WORKS, my implementation is rough, my perl knowledge is somewhat lacking as many have gleefully pointed out, BUT, having built a whole CMS using this method I can honestly say, I am commited to continuing this line of development for all my web-projects and it would be really cool if others would; a) help improove the security of the code b) help improove the poetry and performance of the code c) help build new plugins for it
I appreciate that without having used aXML it can be hard to understand why I'm banging on about it, but please can't someone put aside the cynicism for just long enough to get a proper understanding of what im trying to do? Even if its to tell me where I can get a much better more evolved version of the same thing.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Not quite Perl, but related..
by Corion (Patriarch) on Apr 13, 2007 at 07:05 UTC | |
|
Re: Not quite Perl, but related..
by dragonchild (Archbishop) on Apr 13, 2007 at 13:58 UTC | |
|
Re: Not quite Perl, but related..
by duff (Parson) on Apr 13, 2007 at 13:21 UTC | |
|
Re: Not quite Perl, but related..
by TGI (Parson) on Apr 14, 2007 at 00:48 UTC |