I think xml  is a good idea, because you can set data in  tags,
referencing different types of inputs and outputs  in the ipython-qt´s
editor, like stdout, stderr, ipython err, ipython out, etc.<br>
<br>
some like<br>
<br>
&lt;cell number=1&gt;<br>
               &lt;input type=documentation&gt;    <br>
                =============================<br>
                rst docuemnation example in ipython-qt<br>
                =============================<br>
<br>
               subtitle example<br>
               ------------------------<br>
               etc....<br>
              &lt;/input&gt;<br>
&lt;/cell&gt; <br>

<br>
&lt;cell number=2&gt;<br>
                  &lt;input type=ipython&gt;  %run hello.py &lt;/input&gt;<br>
                  &lt;ouput type=stdout&gt; hello world ! &lt;/input&gt;<br>
&lt;/cell&gt; <br>
  <br clear="all">&lt;cell number=3&gt;<br>
                   &lt;input type=comment&gt; #some python/iptyhon comment code &lt;/input&gt;<br>
&lt;/cell&gt;<br><br>
<br><br><div class="gmail_quote">2010/4/17 Robert Kern <span dir="ltr">&lt;<a href="mailto:robert.kern@gmail.com">robert.kern@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div><div></div><div class="h5">On 2010-04-17 19:02 , Gerardo Gutierrez wrote:<br>
&gt; Ok i&#39;m going to paste a fragment of a document about this topic (that<br>
&gt; I&#39;ve not noticed until today)<br>
&gt;<br>
&gt;<br>
&gt; /The frontend would store, for now, 5 types of data:<br>
&gt;<br>
&gt; #. Input: this is python/ipython code to be executed.<br>
&gt;<br>
&gt; #. Output (python): result of executing Inputs.<br>
&gt;<br>
&gt; #. Standard output: from subprocesses.<br>
&gt;<br>
&gt; #. Standard error: from subprocesses.<br>
&gt;<br>
&gt; #. Text: arbitrary text. For now, we&#39;ll just store plain text and will defer<br>
&gt; to the user on how to format it, though it should be valid reST if it is<br>
&gt; later to be converted into html/pdf.<br>
&gt;<br>
&gt; The non-text cells would be stored on-disk as follows::<br>
&gt;<br>
&gt; .. input-cell::<br>
&gt; :id: 1<br>
&gt;<br>
&gt; 3+3<br>
&gt;<br>
&gt; .. output-cell::<br>
&gt; :id: 1<br>
&gt;<br>
&gt; 6<br>
&gt;<br>
&gt; .. input-cell::<br>
&gt; :id: 2<br>
&gt;<br>
&gt; ls<br>
&gt;<br>
&gt; .. stdout-cell::<br>
&gt; :id: 2<br>
&gt;<br>
&gt; a.py b.py<br>
&gt;<br>
&gt; .. input-cell::<br>
&gt; :id: 3<br>
&gt;<br>
&gt; !askdfj<br>
&gt;<br>
&gt; .. stderr-cell::<br>
&gt; :id: 3<br>
&gt;<br>
&gt; sh: askdfj: command not found/<br>
&gt;<br>
&gt;<br>
&gt; This document clears some ideas, since the natural way for an IPython&#39;s<br>
&gt; frontend (not only IPythonQt) to load data is rst in wich Python&#39;s and<br>
&gt; IPython&#39;s documentation is written.<br>
<br>
</div></div>I would not say that it is natural, no. reST is a fine text markup, but not a<br>
very good datastore. The parser is difficult to work with, and there aren&#39;t any<br>
tools for generating valid reST from a parsed description.<br>
<br>
I highly recommend using xml.etree to parse and generate a simple XML format.<br>
<br>
--<br>
Robert Kern<br>
<br>
&quot;I have come to believe that the whole world is an enigma, a harmless enigma<br>
  that is made terrible by our own mad attempt to interpret it as though it had<br>
  an underlying truth.&quot;<br>
   -- Umberto Eco<br>
<br>
_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
</blockquote></div><br>