There is another perspective to the above quotes I've been thinking about for the past weeks ever since David initially forwarded me the email. Spurred by development at "Internet time" epitomized where by companies like Netscape during the Dot Bomb boom and the Open Source community[,] the software industry for the most part is embracing the practice of releasing early and releasing often. However a business model that is based on your various components working "better together" and being a "unified platform" is essentially stating that this software will not [be] released often when compared to the rest of the software industry.
"his approach means modifying your classes to subclass DOM nodes to get the behavior he wants." Which I do note is a consequence of using this approach, do I not? I'm not suggesting that this is an approach that everybody using the System.Xml namespace must adopt immediately upon pain of death; I'm suggesting that this is one approach to "having your cake and eating it too" assuming you're willing to put up with the consequences. That's a classic pattern approach.
age
<xs:element type="xs:int" name="age" minOccurs="0" maxOccurs="1" />
"There is also the fact that he talks about using XML namespaces as a versioning mechanism when in fact it is anything but." Actually, I thought I was emphasizing the idea that namespaces can be used as a way of offering evolutionary freedom to an XML document, but frankly that's more tangential to the point of the paper itself, so probably isn't worth debating here at the moment
"I'd have built an ObjectXPathNavigator which enables you to treat an arbitrary object graph as an instance of the XPath data model." Absolutely! Again, nothing stops you from doing this, although the XPath support within the XmlDocument-and-friends representation is somewhat optimized in ways that an ObjectXPathNavigator might not be, and this gives you just XPath navigation--not the silent inclusion of evolutionary data that the strongly-typed Infoset approach gives you. XPath is nice, but it's only one of the listed advantages.
"There are some issues with the implementation in the article such as the fact that it doesn't handle nested XML in the way people would expect (e.g. if your class has a property of type XML node)" I'm not sure what you mean by this, and would love to include any edge cases in a future rev of the paper. (Translation: if you send me an example and a brief explanation of the behavior that will be counterintuitive, I'll put it into the paper and re-release it ASAP.)"and the fact that one can't customize the XML view shown by the ObjectXPathNavigator (for example by annotating the class with attributes from the System.Xml.Serialization namespace)." Again, I'm not exactly sure what you mean here--can you elaborate?