<instructions>Your goal is to analyze the following comment and estimate how highly it will be upvoted by the Hacker News community.</instructions><comment><author>Communitivity</author><text>I haven&amp;#x27;t used XML is a long while, but there was a trick I had when I designed schemas, back when I did use XML all the time. Use an attribute if the data is a primitive String, number, or boolean. Break into multiple attributes if the data is structured but has only one level and has few children. Otherwise use an element. The three rules are simple, but produce schemas easy to read, easy to maintain, and easy to implement against. One code smell is if you start winding up with tons of attributes on one element. That may mean you should break the logical concept that element represents into multiple concepts, have those concepts be nested elements, each with its related attributes.</text><parent_chain><item><author>strken</author><text>People say this, and yet XML&amp;#x27;s origins as a markup language make it baffling as a data format. No sane human being should choose a data format with such confusion between properties that no user knows whether to go with&lt;p&gt;&lt;pre&gt;&lt;code&gt;    &amp;lt;Foo&amp;gt;
      &amp;lt;Shininess&amp;gt;HIGH&amp;lt;&amp;#x2F;Shininess&amp;gt;
      &amp;lt;Luck&amp;gt;7&amp;lt;&amp;#x2F;Luck&amp;gt;
    &amp;lt;&amp;#x2F;Foo&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
or&lt;p&gt;&lt;pre&gt;&lt;code&gt;    &amp;lt;Foo shininess=&amp;quot;HIGH&amp;quot; luck=&amp;quot;7&amp;quot; &amp;#x2F;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
and yet countless thousands decided to do just that, for reasons that are totally inexplicable to me.&lt;p&gt;Obviously as a markup language this is fine; as a &lt;i&gt;data format&lt;/i&gt; it&amp;#x27;s bizarre, since the division between attribute vs child doesn&amp;#x27;t match most in-memory data structures.</text></item><item><author>baz00</author><text>Is JSON XML yet? Nearly!&lt;p&gt;I’m going to invent Baz’s 11th law of computing here: any data format that isn’t XML will evolve into a badly specified version of XML over time.</text></item></parent_chain></comment><story><title>A Journey building a fast JSON parser and full JSONPath</title><url>https://github.com/ohler55/ojg/blob/develop/design.md</url></story>
<instructions>Your goal is to analyze the following comment and estimate how highly it will be upvoted by the Hacker News community.</instructions><comment><author>smikhanov</author><text>&lt;p&gt;&lt;pre&gt;&lt;code&gt;    no user knows
&lt;/code&gt;&lt;/pre&gt;
The described problem literally doesn&amp;#x27;t exist in XML. Your XML-validating editor will check your document against the schema and will not allow for an attribute where the sub-element is required and vice versa.</text><parent_chain><item><author>strken</author><text>People say this, and yet XML&amp;#x27;s origins as a markup language make it baffling as a data format. No sane human being should choose a data format with such confusion between properties that no user knows whether to go with&lt;p&gt;&lt;pre&gt;&lt;code&gt;    &amp;lt;Foo&amp;gt;
      &amp;lt;Shininess&amp;gt;HIGH&amp;lt;&amp;#x2F;Shininess&amp;gt;
      &amp;lt;Luck&amp;gt;7&amp;lt;&amp;#x2F;Luck&amp;gt;
    &amp;lt;&amp;#x2F;Foo&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
or&lt;p&gt;&lt;pre&gt;&lt;code&gt;    &amp;lt;Foo shininess=&amp;quot;HIGH&amp;quot; luck=&amp;quot;7&amp;quot; &amp;#x2F;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
and yet countless thousands decided to do just that, for reasons that are totally inexplicable to me.&lt;p&gt;Obviously as a markup language this is fine; as a &lt;i&gt;data format&lt;/i&gt; it&amp;#x27;s bizarre, since the division between attribute vs child doesn&amp;#x27;t match most in-memory data structures.</text></item><item><author>baz00</author><text>Is JSON XML yet? Nearly!&lt;p&gt;I’m going to invent Baz’s 11th law of computing here: any data format that isn’t XML will evolve into a badly specified version of XML over time.</text></item></parent_chain></comment><story><title>A Journey building a fast JSON parser and full JSONPath</title><url>https://github.com/ohler55/ojg/blob/develop/design.md</url></story>