<feed xmlns="http://www.w3.org/2005/Atom" xmlns:foaf="http://xmlns.com/foaf/0.1/"><title>norman.walsh.name: Comments on /2010/01/25/xml</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2010/01/25/xml"/><id>http://norman.walsh.name/2010/01/25/xml/comments.atom</id><updated>2012-02-13T03:29:03.463828Z</updated><entry><title>Comment 1 on /2010/01/25/xml</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2010/01/25/xml#comment0001"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0001</id><published>2010-01-26T00:46:18Z</published><updated>2010-01-26T00:46:18Z</updated><author><name>John Cowan</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>That business of the task element having a child element also named task is rather weird.
</p>
    <p>
In addition, the JSON version of this would also be Quite Decent.</p>
  </div></content></entry><entry><title>Comment 2 on /2010/01/25/xml</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2010/01/25/xml#comment0002"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0002</id><published>2010-01-26T02:38:39Z</published><updated>2010-01-26T02:38:39Z</updated><author><name>Norman Walsh</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>The "Add server-side support..." task is part of a larger task (or project) called "XProc Actions". I think that's the origin of the nesting.
</p>
    <p>
And yes, in this particular case, JSON would also work. But I don't need another serialization for a subset of the full scope of documents I want to create. At least not outside the context of exchanging packets of data between JavaScript and some server process.</p>
  </div></content></entry><entry><title>Comment 3 on /2010/01/25/xml</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2010/01/25/xml#comment0003"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0003</id><published>2010-01-26T11:31:59Z</published><updated>2010-01-26T11:31:59Z</updated><author><name>Ed Davies</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>XML good.  Turtle, N3... better.  For example, John probably wouldn't find a &lt;task&gt; within a &lt;task&gt; weird if they were related by of:subTask or something.  And you'd know what was going on with the idrefs.</p>
  </div></content></entry><entry><title>Comment 4 on /2010/01/25/xml</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2010/01/25/xml#comment0004"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0004</id><published>2010-01-26T12:25:59Z</published><updated>2010-01-26T12:25:59Z</updated><author><name>Norman Walsh</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>I try to be an RDF fan, but I'm not sure I see how it would help here. The inner element could have simply been named subtask if that mattered, but I don't think it does.
</p>
    <p>
How would RDF have made the ID/IDREF relationships any clearer?</p>
  </div></content></entry><entry><title>Comment 5 on /2010/01/25/xml</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2010/01/25/xml#comment0005"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0005</id><published>2010-01-26T20:53:12Z</published><updated>2010-01-26T20:53:12Z</updated><author><name>Ed Davies</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>The first thing I'd wonder, seeing data like that, would be whether the inner task element is always a reference or if sometimes it's a complete task element, e.g., if it's not referenced anywhere else.  With RDF you wouldn't care, that decision is merely a whim of the serializer which will be dealt with by whatever library you use to read the serial form back in.  It's of no more interest than whether the id attributes use single or double quotes.
</p>
    <p>
For XML, in a way it would be better if the inner element was named subtask as that would clear up any confusion as to whether it's actually a reference to the supertask, for example.  But the element wasn't so named, probably because XML, while mostly being fairly self-descriptive, leaves implicit the relationship between parent and child elements thereby encouraging designers to assume it's obvious.
</p>
    <p>
Also giving the inner task element a different name makes it difficult to include tasks not referenced elsewhere in-line.
</p>
    <p>
Similarly, the ID/IDREF relationship would be dealt with completely be the reader; you'd only need to think about the subtask relationship.  Though id attributes are usually unique throughout the document that's only a convention; in the absence of an accessible DTD you might have to do some careful investigation to make sure that other element types can't have clashing ids, for example.</p>
  </div></content></entry><entry><title>Comment 6 on /2010/01/25/xml</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2010/01/25/xml#comment0006"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0006</id><published>2010-01-28T07:01:44Z</published><updated>2010-01-28T07:01:44Z</updated><author><name>Dan Connolly</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>Yes, there are alternatives to XML... I'm fond of JSON, and seeing SQLite replace previous binary gorp under stuff like iPhoto makes me very happy.
</p>
    <p>
But I still credit the XML movement with establishing the culture of open exchange behind all of these.
</p>
    <p>
e.g. see slide 7 in my <a rel="nofollow" href="http://www.w3.org/2000/01/ala2349/all">ALA midwinter 2000 talk</a>.</p>
  </div></content></entry><entry><title>Comment 7 on /2010/01/25/xml</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2010/01/25/xml#comment0007"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0007</id><published>2010-01-28T10:45:20Z</published><updated>2010-01-28T10:45:20Z</updated><author><name>Norman Walsh</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>Of course there are alternatives, they're just not as good. Yes, JSON is fine, I suppose for simple, perhaps even nested key value pairs. And SQLite is better than random binary goo, but mostly IMHO because there's a standard path to text.
</p>
    <p>
I reverse engineered AddressBook's SQLite data and it was a minor PITA. 
</p>
    <p>
Sometimes there are good reasons to do something else, no doubt, but I'm still happiest when I find XML when I go looking for data.</p>
  </div></content></entry></feed>

