Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Nsmespaces allow XML file formats flexible and extensible in interesting ways: each namespace is tied to an independent schema, allowing for a very natural nesting of validatable XML in arbitrary formats. The namespaces avoid name collision between XML tags from different schemas. The grandparent gave a good example of this kind of nesting.

JSON is incapable of the same kind of nesting because there are no explicit namespace to identify nested data formats and to avoid name collisions.



XML namespaces do offer some nice possibilities. But the lack of official JSON namespaces doesn't prevent you from doing something like:

    {
        "built_in": "value",
        "org.example.my_extension": "value"
    }
If you want to validate it, you might need to jump through some JSON schema hoops, of course.


It seems that would make JSON likely more verbose than XML.


Yes, it's a nice option for some settings. But why is it neccessary in this context? Where there is a defined data-exchange format which would not have name collisions happen?


XMPP as an extensible protocol (it's even in the name!) relies on XML namespaces to avoid collisions between extensions. Were it to use something like JSON, extensions would all have to be aware of each other so that no naming collisions or other awkward behaviour can occur.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: