<story><title>XML is almost always misused</title><url>https://www.devever.net/~hl/xml</url></story><parent_chain><item><author>kbenson</author><text>So, what &lt;i&gt;is&lt;/i&gt; XML good for?  If it&amp;#x27;s not good for data as everyone says (and I&amp;#x27;m not inclined to argue), but it is good for documents, what kind of documents are we referring to?  A defined metadata on a text document?  A template used with data to generate something else?  Is a configuration file a document or data?  Where would I want to use XML that something like JSON, a text document, or some combination thereof wouldn&amp;#x27;t be better?&lt;p&gt;I&amp;#x27;m not being facetious, this is an honest question.  Where are the &amp;quot;right&amp;quot; places to use XML?</text></item></parent_chain><comment><author>throw0101a</author><text>&amp;gt; &lt;i&gt;Where are the &amp;quot;right&amp;quot; places to use XML?&lt;/i&gt;&lt;p&gt;Tim Bray, co-editor of the XML spec, writing in 2006 on the topic:&lt;p&gt;&amp;gt; &lt;i&gt;Use JSON: Seems easy to me; if you want to serialize a data structure that’s not too text-heavy and all you want is for the receiver to get the same data structure with minimal effort, and you trust the other end to get the i18n right, JSON is hunky-dory.&lt;/i&gt;&lt;p&gt;&amp;gt; &lt;i&gt;Use XML: If you want to provide general-purpose data that the receiver might want to do unforeseen weird and crazy things with, or if you want to be really paranoid and picky about i18n, or if what you’re sending is more like a document than a struct, or if the order of the data matters, or if the data is potentially long-lived (as in, more than seconds) XML is the way to go.&lt;/i&gt;&lt;p&gt;* &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.tbray.org&amp;#x2F;ongoing&amp;#x2F;When&amp;#x2F;200x&amp;#x2F;2006&amp;#x2F;12&amp;#x2F;21&amp;#x2F;JSON&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.tbray.org&amp;#x2F;ongoing&amp;#x2F;When&amp;#x2F;200x&amp;#x2F;2006&amp;#x2F;12&amp;#x2F;21&amp;#x2F;JSON&lt;/a&gt;&lt;p&gt;He was also editor of the JSON RFCs:&lt;p&gt;* &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;tools.ietf.org&amp;#x2F;html&amp;#x2F;rfc7159&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;tools.ietf.org&amp;#x2F;html&amp;#x2F;rfc7159&lt;/a&gt;&lt;p&gt;* &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;tools.ietf.org&amp;#x2F;html&amp;#x2F;rfc8259&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;tools.ietf.org&amp;#x2F;html&amp;#x2F;rfc8259&lt;/a&gt;</text></comment>
<story><title>XML is almost always misused</title><url>https://www.devever.net/~hl/xml</url></story><parent_chain><item><author>kbenson</author><text>So, what &lt;i&gt;is&lt;/i&gt; XML good for?  If it&amp;#x27;s not good for data as everyone says (and I&amp;#x27;m not inclined to argue), but it is good for documents, what kind of documents are we referring to?  A defined metadata on a text document?  A template used with data to generate something else?  Is a configuration file a document or data?  Where would I want to use XML that something like JSON, a text document, or some combination thereof wouldn&amp;#x27;t be better?&lt;p&gt;I&amp;#x27;m not being facetious, this is an honest question.  Where are the &amp;quot;right&amp;quot; places to use XML?</text></item></parent_chain><comment><author>jerf</author><text>I wrote this four years ago: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=11446984&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=11446984&lt;/a&gt;&lt;p&gt;There are points of disagreement between me and the author, although I wouldn&amp;#x27;t get too passionate about them.&lt;p&gt;Super-short version, reading over it again, is that XML is very good at what it does, but it really ought to be seen as a relatively specialized data format. It&amp;#x27;s really good at certain tasks, best-of-breed for a couple of them, and degrades rapidly as you get away from that. JSON is a fairly cheap &amp;amp; fast general-purpose format that&amp;#x27;s OK at a lot of things, isn&amp;#x27;t necessarily great at much, but as you get into more specialized use cases, also tends to degrade. Being a general-purpose format, perhaps arguably it degrades more &amp;quot;slowly&amp;quot;, but it does degrade.&lt;p&gt;Properly understood, IMHO, their use cases don&amp;#x27;t overlap much if at all, and the combination of them may cover a lot of space, but are still far, far from the only serialization formats you&amp;#x27;ll ever need.</text></comment>