iXml v3.0a - craighuggins@hotmail.com 2000
-~= Indepth into iXml =~-

Concept 4

The fourth concept is simply a statement.
I am laying out the Definitions for Class nodes and Function nodes as follows.

Class DataType.. is all it needs to be considered a Class.
But then this class must reside in /root/Definitions/iXml/...
As this is where the interpreter is looking for it.
( please remember this is a VERy simple implementation of it, for full flexibility. )

-------------------------------------------------------------
THIS IS THE DTD.
I had no concept of a DTD back when I wrote Ojet.
But I new nodes must stick to a standard, and allow recursive
rules or single child node instances.
ie, Person has ONE Address and has MANY Phone
    Organisation has MANY Person
--------------------------------------------------------------

name=ClassName type=/iXml/Container/Class
   a Class has Method Children so say it here..
--- ToDo..
   a Class should have Attribute children,
   a DataType is just RETURNED from a function..
   usually a new function, as this has Class lookup in it.
   this RETURNED DataType can be verified against Required attributes within the class :).

    name=FunctionName type=/iXml/Container/Method    
      ---->name=Parameters type=/iXml/Container/
      |
      |---->name=p1 type=/iXml/Container/
      |  |
      |  |---->name=Type type=/iXml/String/ data=ClassType
      |  |
      |  ----->name=Name type=/iXml/String/ data=Parameter Name
      | 
      |---->name=Type type=/iXml/String/ data=iXml/Container???
      |
      |---->name=Name type=/iXml/String/ data=FunctionName
      |
      ----->name=Definition type=/iXml/String/ data=Script
    

WHAT THE FUCK IS THE TYPE Node ???
I'm not using it in the interpretter ???
hmm.. fuckit.. remove it and see what happens..

And the fourth concept was that.. two Data defintions, /iXml/Container/Method type to check that this a Method, and just assume that it's children are of the afore mentioned structure, there is no validation, but this should be auto dtd driven and will that come when the DataType transformation is working, (works in Ojet.. I just get side tracked. )
And the Existence of a /iXml/Container/Class, ie
/iXml/Container/Person needs to exist under the Defintions node and the interpreter can find functions for it. Person needs to be a new ContainerType("Person","Class") which makes a new node NAMED Person, and is of type /iXml/Container/Class. If this is now stored AT /Root/Definitions/iXml/Container/Person then the interpretter can find functions under this.

( ARE THERE HANDY wrapper functions for this now ?? )
( Should I call a method a function everywhere ?? )

* So it's simply an Object Database, with a common datatype with attributes within this datatype that describes what is really is.
ie, these are example working types, the first five are native.

    /iXml,
    /iXml/String,
    /iXml/String/Number,
    /iXml/String/Number/Boolean.
    /iXml/Container,
    /iXml/Container/Date
      |---->/iXml/String/Number=day
      |---->/iXml/String/Number=month
      ----->/iXml/String/Number=year
    

Date is a Dynamic Datatype already.. should be native for speed, but is dynamic now for fun!. It is a Container with sub nodes :).

You may be thinking a Boolean should not sit their, but unfortunately logically this makes sense to me.


Introduction  |  Indepth  |  Concept 1  |  Concept 2  |  Concept 3  |  Concept 5  |  Concept 6  |  Summary