&gt; XML is not schemaless.<p>Yes, it is, though there are a variety of schema schemes that can be used with XML.<p>&gt; It was designed to be extensible through schemas.<p>It was designed to be extensible through custom tags (in fact, all tags are custom tags); it can be optionally be <i>restricted</i> through the use of schemas, not extended.<p>&gt; XML also doesn&#x27;t suffer the problems of a limited set of pre-defined types that JSON has.<p>Yes, it does, with an even smaller number of types. (Strings, with a couple different representations.)<p>&gt; Its type system is extensible through schemas.<p>No, it isn&#x27;t. Its structure can be constrained through schemas (XML Schema, Relax NG, etc.), which can provide a means of modeling a different type system on top of the data structure supported by XML, but that isn&#x27;t really &quot;extending&quot; XMLs type system any more than using a Haskell compiler to generate x86 machine code is &quot;extending&quot; the type system of x86 machine code; its just providing a completely separate type system on a different layer.<p>Also, no matter how you view this, its <i>not</i> a distinction between XML and JSON, since you can do the same thing with JSON, and just as there are a variety of different schema standards that do this for XML, there are a variety that do the same thing for JSON.