[IPython-dev] Leo and xml

Edward K. Ream edreamleo at charter.net
Tue Jul 5 10:39:53 EDT 2005

I forgot to mention in the long post that .leo files are xml files.  The xml 
contains no domain-specific information--just enough to represent outlines, 
including clones.

10 years of experience with Leo shows that this general approach works very 
well.  Leo supports so-call user attributes (uA's) in the <t> elements.  In 
practice, this allows for unlimited user-domain information to be added. 
For sure, Leo outlines are all you are ever going to need to represent any 
kind of notebook, whatever the data it contains.

I am a huge fan of xml, but there is no need for xml outside of the .leo 
file that represents the overall outline.  In Leo's terms, derived files 
should be free of xml, unless the derived file is itself an xml or html 
file.  This clean split between outlines and the files derived from outlines 
has taken a huge amount of work to get right.  You aren't going to recreate 
it in a summer :-)

I guess my real point is that Leo solved all the conceptual problems in the 
proposal a long time ago.  Every thing just works.  Rather than parsing 
complex markup, conversion scripts handle nodes that may possibly contain 
Leo directives.  Since plugins can define their own directives, this does 
not contrain the user or the tools in any way.

I suspect these remarks may seem a bit oracular at present.  All this will 
become clearer once you start using Leo.  Put another way, a lot of design 
problems are suddenly going to get a lot easier when cast in terms of Leo 

Edward K. Ream   email:  edreamleo at charter.net
Leo: Literate Editor with Outlines
Leo: http://webpages.charter.net/edreamleo/front.html

More information about the IPython-dev mailing list