← Back to context

Comment by masklinn

10 hours ago

> HTML5 could have taken the extra step of defining a canonical XML or XML-compatible DOM encoding, or at least encouraged it.

Yeah and then we could have called it xhtml5. Too bad that does not exist. Oh wait https://html.spec.whatwg.org/multipage/xhtml.html

> But the anti-XML sentiment was explicit and spiteful.

No, xhtml was just a bad idea creating tons of problems and solving none.

> xhtml was just a bad idea creating tons of problems and solving none.

Well an XHTML parser (and serializer) is a lot simpler, which is a pretty meaningful problem to solve.

What problems does xhtml create?

  • All the problems of XML, such as the billion laughs attack, and reading local files as DTDs. It should have been XML-compatible strict parsing without pulling in all of XML's complexity that only hackers ever use.

  • > Well an XHTML parser (and serializer) is a lot simpler

    Perhaps, but a combined html and xhtml parser is more complex than just a html parser. Since html already is entrenched, xhtml would be in addition to html, not instead of.

    • XML/XHTML is a fairly strict language syntax wise compared to HTML, tags are either explicitly self-closing i.e. <img/> or terminated with a matching closing-tag, no exceptions.

      HTML has special rules depending on the tag's type, ie a bunch of them are just written (<img>) and the parser doesn't even really want to see a matching closing tag, or tags like <script> that has a special mode that stops being a HTML parser up until </script> is found. (1)

      A HTML parser can become a XML parser by disabling a bunch of special-features and supporting self-closing tags (depending on XML level).

      A XML parser needs a ton of "hacks" to become a HTML parser.

      Also browsers needs an XML parser anyhow to support svg that's an xml-based format, also the DOM spec is written to support namespaces's like XML.

      XSLT did complicate things, and most importantly it seems many relied on that one old implementation written in the 90s that was a swiss-cheese when it came to security concerns that nobody wanted to spend money on maintaining.

      (1): https://html.spec.whatwg.org/multipage/parsing.html#script-d...

  • The main one is that even a slightly broken XHTML document will fail to render. HTML is much more forgiving.

    • With the benefit of hindsight, if the web had been that way from the beginning, I think we would have been better off. The moment you tested your content in any browser, you'd immediately see if it was broken.

      But it wasn't something that could get introduced later, after all the broken content that already existed.

      10 replies →