I am confused. A co-worker turned me on to the possibility that tags ending in />
, such as <br />
can still be used in HTML5. I thought that only <br>
-style could be used. All of the "talk" across the Internet is about using the latter.
Could someone please explain this to me? This seems very confusing and poorly documented.
And this brings up another question: Is HTML 5 considered to be well-formed XML?
HTML 5 can be written in html and XML. HTML 5 specification is the description of a vocabulary that you can write in two different syntaxes (html and XML) depending on your developer needs, markets and applications.
There is an XML serialization called XHTML5, but for backwards-compatibility purposes with IE browsers, it is not recommended to be used. So technically, HTML5 is not considered to be well-formed XML. Polyglot is no longer maintained and not good standard (Beware.
HTML and XML are related to each other, where HTML displays data and describes the structure of a webpage, whereas XML stores and transfers data. HTML is a simple predefined language, while XML is a standard language that defines other languages.
As you already know, XHTML and HTML are very similar, meaning that most differences between HTML and HTML5 also apply to HTML5 and XHTML. However, there is some further variation between the two: XHTML is case sensitive (same as HTML), whereas HTML5 is not. Both XHTML and HTML have a more complex doctype than HTML5.
No. Counter-examples:
These are valid HTML5 but invalid XHTML5:
Some closing tags can be omitted:
<p>First <p>Second
See: P-end-tag (</p>) is not needed in HTML
script
escape magic:
<script><a></script>
See: What is CDATA in HTML?
Attributes without values (boolean attributes):
<input type="text" disabled />
See: Correct value for disabled attribute
Attributes without quotes, e.g.:
<div data-a=b></div>
See: In XHTML 1.0 Strict do attribute values need to be surrounded with quotes?
Implicit open elements and multiple top level elements.
Some HTML elements are created implicitly. E.g. html
. This allows the HTML to have "multiple top level elements":
<!doctype html><title>a</title><p>a</p>
See: Is it necessary to write HEAD, BODY and HTML tags?
Valid XHTML that is invalid HTML:
CDATA
constructs with invalid tags inside
ENTITY
and other exclamation mark constructs, which allow for billion laughs: How does the billion laughs XML DoS attack work?
Valid HTML and XHTML but with different meanings:
£
, ©
), XML has only 5 (quot
, amp
, apos
, lt
, gt
).There is an XML serialization of it, called XHTML5. Basically, you're free to use either HTML5 (HTML serialization) or XHTML5 (XML serialization). The draft spec says HTML5 "is the format suggested for most authors," mainly for the same reasons people recommend text/html
for XHTML 1.1.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With