<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: XML File Formats in Office 12</title>
	<atom:link href="http://starkravingfinkle.org/blog/2005/06/xml-file-formats-in-office-12/feed/" rel="self" type="application/rss+xml" />
	<link>http://starkravingfinkle.org/blog/2005/06/xml-file-formats-in-office-12/</link>
	<description></description>
	<pubDate>Wed, 20 Aug 2008 10:21:55 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Anonymous</title>
		<link>http://starkravingfinkle.org/blog/2005/06/xml-file-formats-in-office-12/#comment-24</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Mon, 06 Jun 2005 11:48:00 +0000</pubDate>
		<guid isPermaLink="false">http://starkravingfinkle.org/blog/?p=32#comment-24</guid>
		<description>I AM currently using an object bound streaming model to read and write separate fragments of the object tree, and I don't see any NEW problems arising from this particular use of it. At least not so far in the process.

Among other things, I'm using the model to create a generic history model where I store individual history states of objects by writing them to separate XML streams that I can keep in-memory. Works pretty OK this far.

However, I DO anticipate that there will be some problems when I start to cover the grounds of versioning and backwards compatibility. I'm thinking that then I'll EITHER have to let each object have support for the multiple streaming versions as needed, or I'll have to do as you say and disconnect the file/data storage from the object structure itself. 

Also, I didn't quite get what you meant by shared pointers.

Elling 
elling.bjastad@gmail.com</description>
		<content:encoded><![CDATA[<p>I AM currently using an object bound streaming model to read and write separate fragments of the object tree, and I don&#8217;t see any NEW problems arising from this particular use of it. At least not so far in the process.</p>
<p>Among other things, I&#8217;m using the model to create a generic history model where I store individual history states of objects by writing them to separate XML streams that I can keep in-memory. Works pretty OK this far.</p>
<p>However, I DO anticipate that there will be some problems when I start to cover the grounds of versioning and backwards compatibility. I&#8217;m thinking that then I&#8217;ll EITHER have to let each object have support for the multiple streaming versions as needed, or I&#8217;ll have to do as you say and disconnect the file/data storage from the object structure itself. </p>
<p>Also, I didn&#8217;t quite get what you meant by shared pointers.</p>
<p>Elling<br />
<a href="mailto:elling.bjastad@gmail.com">elling.bjastad@gmail.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Finkle</title>
		<link>http://starkravingfinkle.org/blog/2005/06/xml-file-formats-in-office-12/#comment-23</link>
		<dc:creator>Mark Finkle</dc:creator>
		<pubDate>Mon, 06 Jun 2005 06:47:00 +0000</pubDate>
		<guid isPermaLink="false">http://starkravingfinkle.org/blog/?p=32#comment-23</guid>
		<description>If you look back over some of my posts, you'll see that I favor separating &lt;I&gt;file/data structure&lt;/I&gt; from &lt;I&gt;object structure&lt;/I&gt;, mainly for versioning reasons.

Your approach could also be problematic when trying to write or read a fragment of the object structure (i.e. not starting at the root). I know because I have done the exact same thing in the past. Hooking up shared pointers is much easier when dealing with the entire object structure instead a partial object structure.</description>
		<content:encoded><![CDATA[<p>If you look back over some of my posts, you&#8217;ll see that I favor separating <i>file/data structure</i> from <i>object structure</i>, mainly for versioning reasons.</p>
<p>Your approach could also be problematic when trying to write or read a fragment of the object structure (i.e. not starting at the root). I know because I have done the exact same thing in the past. Hooking up shared pointers is much easier when dealing with the entire object structure instead a partial object structure.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://starkravingfinkle.org/blog/2005/06/xml-file-formats-in-office-12/#comment-22</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Fri, 03 Jun 2005 11:23:00 +0000</pubDate>
		<guid isPermaLink="false">http://starkravingfinkle.org/blog/?p=32#comment-22</guid>
		<description>Speaking of XML and serialization, I've been using it for a time now in a couple of projects I've been working on, and I think it works pretty smootly.

My approach is to just let each serializable object support the following two basic functions:

  procedure WriteToXML(XMLNode: IXMLNode); virtual;
  procedure ReadFromXML(XMLNode: IXMLNode); virtual;

Then, to stream out an object tree, I just call WriteToXML on the root object, and everything else follows automatically. 

Works pretty well, I think. But I still haven't started thinking on how to deal with changes in the object structure, and how to deal with backwards file compatibility.</description>
		<content:encoded><![CDATA[<p>Speaking of XML and serialization, I&#8217;ve been using it for a time now in a couple of projects I&#8217;ve been working on, and I think it works pretty smootly.</p>
<p>My approach is to just let each serializable object support the following two basic functions:</p>
<p>  procedure WriteToXML(XMLNode: IXMLNode); virtual;<br />
  procedure ReadFromXML(XMLNode: IXMLNode); virtual;</p>
<p>Then, to stream out an object tree, I just call WriteToXML on the root object, and everything else follows automatically. </p>
<p>Works pretty well, I think. But I still haven&#8217;t started thinking on how to deal with changes in the object structure, and how to deal with backwards file compatibility.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
