<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: WikiBench: Persistence</title>
	<atom:link href="http://www.chrishowie.com/2007/05/25/wikibench-persistence/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chrishowie.com/2007/05/25/wikibench-persistence/</link>
	<description>Trading social skills for technical prowess since 1994</description>
	<pubDate>Tue, 06 Jan 2009 10:59:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jonathan Pryor</title>
		<link>http://www.chrishowie.com/2007/05/25/wikibench-persistence/comment-page-1/#comment-740</link>
		<dc:creator>Jonathan Pryor</dc:creator>
		<pubDate>Sat, 26 May 2007 02:21:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.chrishowie.com/2007/05/25/wikibench-persistence/#comment-740</guid>
		<description>IXPathNavigable.CreateNavigator() returns a System.Xml.XPath.XPathNavigator instance.  Under .NET 2.0, you can use XPathNavigator's InnerXml and OuterXml properties, as well as obtain access to an XmlWriter for inserting arbitrary XML via the AppendChild(), AppendChildElement(), CreateAttribute(), ReplaceRange(), InsertAfter(), InsertBefore(), PrependChild(), etc. methods.

The XPathNavigator.CanEdit property lets you know if editing is supported.  It is by XmlDocument-backed XPathNavigators, but is not by XPathDocument-backed XPathNavigators.</description>
		<content:encoded><![CDATA[<p>IXPathNavigable.CreateNavigator() returns a System.Xml.XPath.XPathNavigator instance.  Under .NET 2.0, you can use XPathNavigator&#8217;s InnerXml and OuterXml properties, as well as obtain access to an XmlWriter for inserting arbitrary XML via the AppendChild(), AppendChildElement(), CreateAttribute(), ReplaceRange(), InsertAfter(), InsertBefore(), PrependChild(), etc. methods.</p>
<p>The XPathNavigator.CanEdit property lets you know if editing is supported.  It is by XmlDocument-backed XPathNavigators, but is not by XPathDocument-backed XPathNavigators.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://www.chrishowie.com/2007/05/25/wikibench-persistence/comment-page-1/#comment-739</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Fri, 25 May 2007 22:32:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.chrishowie.com/2007/05/25/wikibench-persistence/#comment-739</guid>
		<description>For read access I can see this, but how would this design allow an addin to modify the tree when saving state?</description>
		<content:encoded><![CDATA[<p>For read access I can see this, but how would this design allow an addin to modify the tree when saving state?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Pryor</title>
		<link>http://www.chrishowie.com/2007/05/25/wikibench-persistence/comment-page-1/#comment-736</link>
		<dc:creator>Jonathan Pryor</dc:creator>
		<pubDate>Fri, 25 May 2007 15:14:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.chrishowie.com/2007/05/25/wikibench-persistence/#comment-736</guid>
		<description>Just a point worth mentioning...

The .NET Framework Design Guidelines suggest _not_ exposting XmlDocument/etc. from public members (e.g. property types, method parameters).  Instead, use System.Xml.XPath.IXPathNavigable.  This is implemented by XmlDocument, so you can still use XmlDocument as the backing store, but it doesn't _require_ XmlDocument as the backing store; any other data structure could be used in the future.

This permits more flexibility for versioning purposes and future changes.</description>
		<content:encoded><![CDATA[<p>Just a point worth mentioning&#8230;</p>
<p>The .NET Framework Design Guidelines suggest _not_ exposting XmlDocument/etc. from public members (e.g. property types, method parameters).  Instead, use System.Xml.XPath.IXPathNavigable.  This is implemented by XmlDocument, so you can still use XmlDocument as the backing store, but it doesn&#8217;t _require_ XmlDocument as the backing store; any other data structure could be used in the future.</p>
<p>This permits more flexibility for versioning purposes and future changes.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
