.. always get a good chuckle out of diagrams such as these. But not having to use XML - good on them!
The OpenID Foundation is unshackling developers from the burden of having to work with XML, with the launch of a protocol designed to make the tasks performed by its OpenID protocol more mobile-and-API-friendly. OpenID Connect, described here, is backed by Deutsche Telekom, Google, Microsoft, Ping Identity and Salesforce. It …
Have you ever had to use an XML parsing library? Most schemas use attributes and that makes processing and storing the data horrendous. And even if your schema doesn't, you have to put in place code to handle and reject them; ditto processing instructions. Processing XML robustly produces a lot of boiler plate and a lot of overhead for simple message passing.
Most message passing is best done with key-value pairs. However there is always the odd value that needs more structure than plain text and so, before long, you end up like like HTML, where every value needs a custom processor.
JSON is in the sweet spot: it offers enough flexibility that there shouldn't be an explosion of custom parsers, without offering features that are overkill for message passing (if great for representing complicated documents).
I don't dislike XML, but making sure the parsing works correctly is indeed an issue, as Brewster's Angle Grinder suggests. If you're involved in the data design, beating down the "attributes everywhere" view of design is a time-consuming process, and if you have to use an existing design, odds are that you'll have to deal with attributes that are simply unnecessary, but still required.
It's fine for data that forces that sort of structure (most databases, for example), but otherwise JSON is far superior.
(As an aside: YAML is an abomination, and gulags should have been opened for those who promoted it.)
Biting the hand that feeds IT © 1998–2021