Hacker News new | past | comments | ask | show | jobs | submit login

What XML has to do with bank-specific messages that have to be parsed and processed? It’s just a markup format.



It's the extensible nature of XML that gives it an advantage. You can add custom elements and attributes whilst conforming to the base schema.

Granted, XML isn't the only format where this is possible. You can sort of achieve it with JSON, though XML's namespace system helps deal with name collisions. Adding bank-specific messages wouldn't be possible (or would be difficult) with fixed-column formats, for example, unless they had been specifically designed to be extended.


Iso200022 are tagged as well.


Banks add their own features to the spec - imagine they want to add a new "Bank only" attribute that makes their XML schema differentiated and better in some way.

ISO20022 / XML allows this to be possible without breaking anything. In the past payment formats used to be fixed width text files - impossible to change or improve functionality for


> impossible to change or improve functionality for

You have to think inside the box!

What if, say, instead of lastname "SMITH" we used "SMITH,FEE: 5.65"


Excellent example clearly from a fellow soldier from the trenches!

As somebody who has built several instances of both payments- and travel booking systems, I have seen things in systems that "adhere to published schemas" (often because the schemas were beastly, design-by-committee hellscapes of extensibility) that defy belief.

While there is a strong argument to be made that strict type systems in programming langues like Haskell and Rust make it very difficult to play outside of the rules, this is unfortunately not the case in practice when it comes to APIs - both at present where you have a JSON Schema or Open API spec if you are lucky, and in the past (XML Schema, SOAP).

I wish that the ability to express a tight, fit-for-purpose schema or API actually resulted in this commonly being done. But look at the average API of any number of card payment gateways, hotels, or airlines, and you enter into a world where each integration with a new provider is a significant engineering undertaking to map the semantics - and the errors, oh the weird and wonderful errors... to the semantics of your system.

I am glad to work in the space-adjacent industry now, where things are ever so slightly better.

(Note the lack of sarcastic emphasis - it really is only _slightly_ better!)


I saw an airport running with stuff like this, too. A mixture of brilliant and insane engineering in that place…


I wish this example was exaggerated.


Yes, my son is really named BOB,FEE: -999999999.99


Custom schema means nothing against improper implementation


This has me a little dumbfounded as either really profound or slightly misguided. How do you mean?

As I am reading this you think a custom schema wont effect an implementation, but how do you expect to implement an external service (API for example) without the required defined schema. That's kind of the definition of a schema in this scenario.

Extending the schema might be another thing. But implementation can't work without adhering to the defined schema of the provider? Right?


First name is defined as a string. Great.

What's the first name?https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-...




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

Search: