{"id":131,"date":"2003-06-04T21:02:00","date_gmt":"2003-06-05T01:02:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/?p=182"},"modified":"2003-06-04T21:02:00","modified_gmt":"2003-06-05T01:02:00","slug":"ooxml","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2003\/06\/ooxml\/","title":{"rendered":"OOXML"},"content":{"rendered":"<p>Simon St. Laurent <a href=\"http:\/\/www.oreillynet.com\/pub\/wlg\/3259\">reports<\/a> on Norm Walsh&#8217;s\n<a href=\"http:\/\/norman.walsh.name\/2003\/06\/01\/xmlnotoo\">XML is not Object Oriented<\/a> essay.<\/p>\n\n<p>Simon writes;<\/p>\n\n<blockquote>\nThe only thing I can think to add is that XML is pretty explicitly a rejection of an aspect of OO practice that Norm touches on only briefly: encapsulation. Everything accessible all the time is pretty clearly a hallmark of XML work. You can hide things if you want to, but it takes a lot more effort.\n<\/blockquote>\n\n<p>I&#8217;m pretty sure that Simon meant to say &#8220;data hiding&#8221; instead\nof encapsulation there, as the last sentence suggests.  Encapsulation\nrefers to the binding of associated data and behaviour into an\nidentifiable whole.  Data hiding refers to, well, hiding that data\nby not exposing it via the interface.  There are many OO fanatics, myself\nincluded, who believe that you don&#8217;t need data hiding to be OO.<\/p>\n\n<p>FWIW, I consider the Web to be the epitome of the anti-data-hiding\nview; resources as objects, URIs as object identifiers, GET as &#8220;give me\nyour data&#8221;, POST as &#8220;process this data&#8221;, etc..<\/p>","protected":false},"excerpt":{"rendered":"Simon St. Laurent reports on Norm Walsh&#8217;s XML is not Object Oriented essay. Simon writes; The only thing I can think to add is that XML is pretty explicitly a rejection of an aspect of OO practice that Norm touches on only briefly: encapsulation. Everything accessible all the time is pretty clearly a hallmark of [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[40],"class_list":["post-131","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-xml"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/comments?post=131"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/131\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=131"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=131"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}