Re: Request: Test suite for EFS.




Daniel Veillard writes:
 > 
 >   Is that the end of the XML format ? 

    I don't have any time to work on things which are not directly
relevant to Evolution, but shipping Bonobo 1.0 is pretty important,
both to Gnome and to me personally, so I'd like to help this happen.

    No, that's not the end of XML.  But we do need a working structure
storage mechanism in Bonobo very soon.  Now, I personally prefer XML,
but there are some issues.  Here's how I envision an XML-based Bonobo
structured storage file:

<?xml version="1.0"?>

<storage>
    <activation-id>id-for-a-word-processor</activation-id>
    <persistence-mime-type>

    <persistence-data>
        ... data ...
    </persitence-data>

    <embedded-stream>
            <activation-id>id-for-embedded-object</activation-id>
            <persistence-mime-type>mime-type-of-persince-data</persistence-mime-type>
            <persistence-data>
                ... data ...
            </persistence-data>

    </embedded-stream>

    <linked-stream>
            <activation-id>id-for-linked-object</activation-id>
            <filename>uri-to-linked-object-hydration-file</filename>
    </linked-stream>

    <persistence-data>
        ... data ...
    </persistence-data>

</storage>

This is obviously pseudo-code and not usable directly.  But the main
problem that it brings up is getting the MIME type of the embedded
streams.  I think we have to add a get_mime_type() method to
PersistStream.  We at least need to be able to detect if the stream is 
going to send us back XML, so that we can just drop it in-place
instead of base64 encoding it, or whatever.

    What OLE2 does (as I've described before on this list) is just
write the activation ID in straight (this is especially easy since
their activation IDs are fixed-length) and then dump in whatever
stream the component spits out untouched.

    So using XML makes me think "scary buffering."  But maybe I'm just 
being timid.

Nat



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]