<?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: Thinking about structure</title>
	<atom:link href="http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/</link>
	<description>what was</description>
	<pubDate>Tue, 16 Mar 2010 22:06:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Len Bullard</title>
		<link>http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-24114</link>
		<dc:creator>Len Bullard</dc:creator>
		<pubDate>Mon, 12 Mar 2007 12:07:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-24114</guid>
		<description>Actually you will be better off separating your 2D and 3D data for reasons that don't become apparent without trying that.  There is a reason that 3D languages provide 2D layers.  Flattening data at the source doesn't change that.  Like David, I spent more time working with SQL when working on production systems and grew to appreciate clean comma-delimited ASCII unless I wasn't the generating source.  

That said, David gets it exactly right:  the expressiveness of the structure has to match the complexity of the information, something that can be expressed in path metrics, not to be described here.  JSON is a low cost alternative.  That's fine.  One thing years of markup experience taught me was to recant the wall-to-wall markup advocacy.  It's wrong.  Can it all be wrangled in under the InfoSet?  To be demonstrated by someone with more time and need to do that.</description>
		<content:encoded><![CDATA[<p>Actually you will be better off separating your 2D and 3D data for reasons that don&#8217;t become apparent without trying that.  There is a reason that 3D languages provide 2D layers.  Flattening data at the source doesn&#8217;t change that.  Like David, I spent more time working with SQL when working on production systems and grew to appreciate clean comma-delimited ASCII unless I wasn&#8217;t the generating source.  </p>
<p>That said, David gets it exactly right:  the expressiveness of the structure has to match the complexity of the information, something that can be expressed in path metrics, not to be described here.  JSON is a low cost alternative.  That&#8217;s fine.  One thing years of markup experience taught me was to recant the wall-to-wall markup advocacy.  It&#8217;s wrong.  Can it all be wrangled in under the InfoSet?  To be demonstrated by someone with more time and need to do that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pwb</title>
		<link>http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-23556</link>
		<dc:creator>pwb</dc:creator>
		<pubDate>Sat, 03 Mar 2007 06:09:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-23556</guid>
		<description>The problem with XML is that it encourages unnecesary data complexity. At the end of the day, data ends up needing to be representable in 2D and 3D so it's not wise to design such complex structures. The biggest databases in the world still use flat files after all.</description>
		<content:encoded><![CDATA[<p>The problem with XML is that it encourages unnecesary data complexity. At the end of the day, data ends up needing to be representable in 2D and 3D so it&#8217;s not wise to design such complex structures. The biggest databases in the world still use flat files after all.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Carver</title>
		<link>http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21277</link>
		<dc:creator>David Carver</dc:creator>
		<pubDate>Mon, 29 Jan 2007 20:26:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21277</guid>
		<description>

The whole JSON/XML debate is less scarey to me then seeing the above markup out in the real world.  The sad thing here is that too many webservice XML ends up looking like the above because of the reliance on code generators instead of data architects to construct the XML.  The prevelance of the above markup is still scary for systems that need expandability.</description>
		<content:encoded><![CDATA[<p>The whole JSON/XML debate is less scarey to me then seeing the above markup out in the real world.  The sad thing here is that too many webservice XML ends up looking like the above because of the reliance on code generators instead of data architects to construct the XML.  The prevelance of the above markup is still scary for systems that need expandability.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Qea</title>
		<link>http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21272</link>
		<dc:creator>Qea</dc:creator>
		<pubDate>Mon, 29 Jan 2007 16:48:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21272</guid>
		<description>(names
 (Saddam (Hussein) male)
 (Al (Unser) Jr. male)
 (Don Alonso (Quixote) de la Mancha male))</description>
		<content:encoded><![CDATA[<p>(names<br />
 (Saddam (Hussein) male)<br />
 (Al (Unser) Jr. male)<br />
 (Don Alonso (Quixote) de la Mancha male))</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Newton</title>
		<link>http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21262</link>
		<dc:creator>Dave Newton</dc:creator>
		<pubDate>Mon, 29 Jan 2007 14:04:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21262</guid>
		<description>Why not just have a sequence that defines the order of the names? This way it can be customised on a per-object basis if necessary:

{"names!": [
  {"name-order": ["honorific", "given-name", "middle-name", "surname"],
   "given-name": "Anna",
   "middle-name": "Maria",
   "surname": "Mozart",
   "honorific": "Dr."}]}

While I generally shudder at mixing semantics with data, I'm not so sure I care in this case.</description>
		<content:encoded><![CDATA[<p>Why not just have a sequence that defines the order of the names? This way it can be customised on a per-object basis if necessary:</p>
<p>{&#8221;names!&#8221;: [<br />
  {"name-order": ["honorific", "given-name", "middle-name", "surname"],<br />
   &#8220;given-name&#8221;: &#8220;Anna&#8221;,<br />
   &#8220;middle-name&#8221;: &#8220;Maria&#8221;,<br />
   &#8220;surname&#8221;: &#8220;Mozart&#8221;,<br />
   &#8220;honorific&#8221;: &#8220;Dr.&#8221;}]}</p>
<p>While I generally shudder at mixing semantics with data, I&#8217;m not so sure I care in this case.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: david</title>
		<link>http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21259</link>
		<dc:creator>david</dc:creator>
		<pubDate>Mon, 29 Jan 2007 13:09:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21259</guid>
		<description>Thanks, Jonathan.  My main point &#8212; to both the JSON and XML communities &#8212; is that if the information structure is simple, the XML markup or JSON representation can both be simple, and if the information structure is complex, the XML markup or JSON representation will both end up being more complex.

It's misleading to argue that JSON is better because it's simpler, or that XML is better because it's more expressive, because there's practically no difference on either count.  It just happens that XML is generally used in situations where the information is more elaborate than a simple data structure, or, more importantly, in situations where you cannot constrain how the formats are actually used (one person might index the information, one might publish it, one might build a web app around it, etc.).  JSON can work there too, but when it does, it will end up looking a lot like the XML.  For the simple, RPC-like data structures that are currently JSON's domain, XML can just as easily look a lot like JSON.  I've made some changes to the posting along these lines.</description>
		<content:encoded><![CDATA[<p>Thanks, Jonathan.  My main point &mdash; to both the JSON and XML communities &mdash; is that if the information structure is simple, the XML markup or JSON representation can both be simple, and if the information structure is complex, the XML markup or JSON representation will both end up being more complex.</p>
<p>It&#8217;s misleading to argue that JSON is better because it&#8217;s simpler, or that XML is better because it&#8217;s more expressive, because there&#8217;s practically no difference on either count.  It just happens that XML is generally used in situations where the information is more elaborate than a simple data structure, or, more importantly, in situations where you cannot constrain how the formats are actually used (one person might index the information, one might publish it, one might build a web app around it, etc.).  JSON can work there too, but when it does, it will end up looking a lot like the XML.  For the simple, RPC-like data structures that are currently JSON&#8217;s domain, XML can just as easily look a lot like JSON.  I&#8217;ve made some changes to the posting along these lines.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Buchanan</title>
		<link>http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21250</link>
		<dc:creator>Jonathan Buchanan</dc:creator>
		<pubDate>Mon, 29 Jan 2007 10:08:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21250</guid>
		<description>Have you thought about how the JSON formats you're proposing would actually be used?

e.g. the proposed "surname-after-given-names" property would never, ever be necessary, as you'd be doing something like this when actually using the data:

person.given-name + " " + person.surname

It seems to me like you're thinking too much about representing the data in a way which is somehow equivalent with the XML, and not enough about how the data structures defined in your JSON ("That is trickier to dump straight into a data structure" - JSON *is* your data structure) will actually be used - in which case, an object for each name with properties for each section of the name really is a natural and intuitive way to represent the information.

In this case, all you'd really need to do would be to add prefix, and postfix properties to the format Douglas Crockford proposed in his blog post.</description>
		<content:encoded><![CDATA[<p>Have you thought about how the JSON formats you&#8217;re proposing would actually be used?</p>
<p>e.g. the proposed &#8220;surname-after-given-names&#8221; property would never, ever be necessary, as you&#8217;d be doing something like this when actually using the data:</p>
<p>person.given-name + &#8221; &#8221; + person.surname</p>
<p>It seems to me like you&#8217;re thinking too much about representing the data in a way which is somehow equivalent with the XML, and not enough about how the data structures defined in your JSON (&#8221;That is trickier to dump straight into a data structure&#8221; - JSON *is* your data structure) will actually be used - in which case, an object for each name with properties for each section of the name really is a natural and intuitive way to represent the information.</p>
<p>In this case, all you&#8217;d really need to do would be to add prefix, and postfix properties to the format Douglas Crockford proposed in his blog post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Martin</title>
		<link>http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21249</link>
		<dc:creator>Martin</dc:creator>
		<pubDate>Mon, 29 Jan 2007 09:33:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21249</guid>
		<description>John: but there you let application knowledge slip into the data structure. Didn't we all agree that is a bad idea? And you didn't even specify secondary and tertiary sort keys, and maybe the collation to use ...</description>
		<content:encoded><![CDATA[<p>John: but there you let application knowledge slip into the data structure. Didn&#8217;t we all agree that is a bad idea? And you didn&#8217;t even specify secondary and tertiary sort keys, and maybe the collation to use &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Martins Notepad &#187; Blog Archive &#187; Markups raison d&#8217;être</title>
		<link>http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21248</link>
		<dc:creator>Martins Notepad &#187; Blog Archive &#187; Markups raison d&#8217;être</dc:creator>
		<pubDate>Mon, 29 Jan 2007 09:31:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21248</guid>
		<description>[...] Megginson posted a follow up on his earlier take on JSON, which contains an excellent example/explanation on the advantages of [...]</description>
		<content:encoded><![CDATA[<p>[...] Megginson posted a follow up on his earlier take on JSON, which contains an excellent example/explanation on the advantages of [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Cowan</title>
		<link>http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21245</link>
		<dc:creator>John Cowan</dc:creator>
		<pubDate>Mon, 29 Jan 2007 08:18:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.megginson.com/blogs/quoderat/2007/01/28/thinking-about-structure/#comment-21245</guid>
		<description>Yeah, really what you need is "full name" (display name) and "sort name".  In general, you get the right answer most of the time if you mark up the primary sort key of the name, thus:

[name]John [sort]Cowan[/sort][/name]

[name][sort]Szilard[/sort] Leo[/name]

[name][sort]Mao[/sort] Zedong[/name]

[name][sort]Sukarno[/sort][/name]

[name]Vicente [sort]Fox[/sort] Quesada[/name]

[name]Alexis de [sort]Tocqueville[/sort][/name]

[name]Charles [sort]de Gaulle[/sort][/name]

[name]Henry [sort]Ford[/sort] II[/name]

[name][sort]Elizabeth II[/sort][/name]</description>
		<content:encoded><![CDATA[<p>Yeah, really what you need is &#8220;full name&#8221; (display name) and &#8220;sort name&#8221;.  In general, you get the right answer most of the time if you mark up the primary sort key of the name, thus:</p>
<p>[name]John [sort]Cowan[/sort][/name]</p>
<p>[name][sort]Szilard[/sort] Leo[/name]</p>
<p>[name][sort]Mao[/sort] Zedong[/name]</p>
<p>[name][sort]Sukarno[/sort][/name]</p>
<p>[name]Vicente [sort]Fox[/sort] Quesada[/name]</p>
<p>[name]Alexis de [sort]Tocqueville[/sort][/name]</p>
<p>[name]Charles [sort]de Gaulle[/sort][/name]</p>
<p>[name]Henry [sort]Ford[/sort] II[/name]</p>
<p>[name][sort]Elizabeth II[/sort][/name]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
