Hacker News new | ask | show | jobs
by bemusedthrow75 859 days ago
> That is, if `<Tag1><Tag2></Tag1></Tag2>` is always considered malformed, then why isn't the syntax simply `<Tag1><Tag2></></>`?

XML isn't just a structured data format where close tags always run up against each other and whitespace is insignificant. It's also a descriptive document format which is often hand-authored.

I think the argument is that the close tags being named makes those documents easier for a human author to understand. It certainly is my experience.

2 comments

No, I think that's true only in theory. It's true only in the hypothetical. It's only true when you're literally authoring the markup languages and no tools exists yet.

In the vast majority of cases, XML, like YAML or JSON, is machine written and machine parsed. Further, there's an almost unlimited number of tools available for manipulation. That's why nobody makes markup languages like SGML anymore unless they have to.

Heck, there's LaTeX, a document markup language which the HN users themselves seem to insist is incredibly easy to write in a text editor by hand, and that doesn't have verbose closing tags. Nevermind programming languages, etc.

No, SGML and it's descendants are weird in their insistence that structures must be as verbose as possible.

Nobody has troubles reading a declarative DSL like

Tag1 { Tag2 { } }

We literally have editors that colour bracket pairs to make this stuff easier to deal with, though.