[FoRK] Open Link: Objects+piping (and better)+real loose coupling

Stephen D. Williams sdw
Mon Oct 3 13:38:53 PDT 2005

Gavin Thomas Nicol wrote:

> On Oct 3, 2005, at 1:06 AM, Stephen D. Williams wrote:
>>  I'm working on is more like lazy DOM traversal where you read in  
>> chunks of memory, traverse, read, and modify as needed, then write  
>> the chunks out.  In other words, I posit that there can exist an  
>> architecturally neutral format that can be randomly accessed and  
>> directly modified with at least the semantics of XML that is more  
>> efficient most of the time than current practice.
> Makes sense... just please don't call it *XML, except when it's in a  
> text form. Is the tree in your stuff strongly typed? By that I mean I  
> hope you don't have to constantly go back and forth between text and  
> objects.

We've argued out the *XML thing to death.  I believe that it's the 
semantics and idioms of XML that are important, not the encoding as 
primacy.  Anything that substantially is in the mold of XML should be 
related to XML.  I think that everthing should be roundtrippable through 
XML 1.x but not limited by it.

I've decided that three modes need to exist: text-only self-described 
(just like text XML), typed data self-described (XML-like with typed 
binary payloads, int, IEEE, etc.), and meta-structured transformation 
into various levels of non-self-described representation where the 
structural and typed description has been externalized into an 
interpretable metadata object.  All three are needed.

I don't believe in fundamental strucuture typing.  I agree with scalar 
typing, template deltas (basing an instance off of a schema-like 
template), and the separate use of schemas for validation.  The only 
reason for structural typing is to do non-self-describing, i.e. 
externalized metadata, instances.

> FWIW. I once wrote an extension (single method extension to Document  
> and Node) that allowed random access to elements in a DOM tree.  
> Essentially all you need is a method to fetch a node, and a method to  
> give you a unique id for a node. That, by itself, buys you a lot. I  
> wrote an in-memory and an on-disk implementation, the latter allowing  
> documents of any size to be used. These kinds of things are easy  
> enough to do, but I think it takes people a bit of time to realise  
> there's a better way of doing things.
> _______________________________________________
> FoRK mailing list
> http://xent.com/mailman/listinfo/fork

More information about the FoRK mailing list