It&#x27;s hardly answers the question, as strictly speaking there&#x27;s no such thing as &quot;metadata&quot;. Everything you can pass to another person can be described as &quot;data&quot;, whether it is a color of your coat or <i>the statement</i> that you are describing the color of your coat. Basically, you can think of any attribute of an object as &quot;metadata&quot; as long as it can be only one per object and doesn&#x27;t have any attributes itself, and both things can change easily and depend on the point of view.<p>On the contrary, I don&#x27;t remember one single case when the object was described easily using &quot;node&#x2F;attribute&quot; separation, but couldn&#x27;t be described as easily using JSON. In fact, I don&#x27;t even think it&#x27;s possible, as you can always make two children for each object: &quot;attributes&quot; and &quot;nodes&quot;.<p>So I guess it actually <i>is</i> unnecessary complication and not the benefit of using XML over JSON.