(DataStore.java)
iXml was first conceptualized back in 1998, as a dynamic data
structure. This data structure should be able to synchronize
itself with a remote machines data structure and/or explore or
link off to another remote machines dynamic data structure.
(Ojet.java ver 1)
How about a scripting thing like a message interpreter to look
around and modify this dynamic database, was the second rewrite
that iXml went through.
(Ojet.java ver 2)
Hey this can store it's messages in itself, and use reflection
and a couple of other simple things and it'll just run off of
itself... eh ??
(Ojet.java ver 2.a-2.h)
Went through MANY rewrites as I hit Chicken and Egg situations.
Got it down to one class.. Ojet.java.. with reflection to
native methods :).. in Base.java, Gui.java and Io.java
added. Gui.java, Io.java
Becomes NILLL WSDAG
(Navigational Interpreted Linked List Language With Sockets,
Databases, And Gui's.)
iXml goes full blown at this stage and I go out of control... :)
Writing simple application scripts, ie peer to peer chat client,
demo gui tests, dynamic web server script that can interpret
from between the
(c_Ojet.c ver 2)
Hmmm this is damned nifty, and able to do work of any kind through
a dynamically expandable scripting thing :). and it's only one
class and not much code... If I didn't do the gui and sockets I
could do the rest in ansi c... true cross platform :).
I wonder if it'll work the same in c.... and it did!
and it was STILL very small and a HELL of a lot quicker.
(iXml.java ver 3)
Xml was becoming popular at about this time, and it dawned on me
that Xml was exactly the same as the dynamic datastructure I was
already using, but had called Ojet <- just describes anything!
So c_Ojet.c was ported to Java overnight using tiny.xml as it's
Xml node. A few modifications to tiny.xml ( to make it WRITEABLE )
and iXml.java was born and worked pretty much straight away.
So now it's just iXml.
an Xml Interpreter.
It runs off of it's own Definitions Node in it's Xml tree, of which you can modify at run time... so be careful. Altering the 'new String' function at run time can, will fail before setting a new key, as a new key can then not be created. ala.. no new String function.. ( pre build and store, so all functions you need to interpret are still available! scripting fix ).