In this article am explaining parsing modes/syntax used in HTML5 for various functions and how these parsing modes work and what they do.
HTML5 | Syntax
HTML5 has two syntaxes; sometimes we call these syntaxes parsing modes. These are:
The basic difference between the functionalities of these two modes depends on whether the document is served with a content-type.
Content-Type for HTML
text/HTML
Content-Type for XML
application/xml+xhtml
Working | Parsing Modes
The functionality of the parsing modes depends only upon the content-type, so there exist the following two conditions respectively:
XHTML5 : HTML5's HTML Syntax
If it's served as text/html then the following rules will be applied:
- Start tags are not required for every element.
- End tag is not required for every element.
- Only void elements may be self closed with />.
(such as: br, img, link)
- Tags are case-insensitive.
- Attributes don't need to be quoted.
- Attributes are case-insensitive.
- Some attributes may be empty.
(such as checked and disabled)
- The document must be included in an HTML5 DOCTYPE.
Code Snippet | Example
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8"/>
- <title>NEW</title>
- <link rel=Stylesheet href="style.css" type="text/css" />
- <style>
- body
- {
- background: oceangreen;
- }
- </style>
- </head>
- <body>
- <p>
- <img src="new.png" alt="new"/>
- <!--anything u want to include in para-->
- </p>
- <script src="new1.js"/>
- </body>
- </html>
XHTML5 : HTML5's XML Syntax
If it's served as application/xml+html then the following rules will be applied:
- All elements must have a start tag.
- Non-Void elements with a start tag must have an end tag.
(such as p and li)
- Any element may be self closed using/>.
- Tags are case sensitive.
- Attributes are case sensitive.
- Attributes must be enclosed in quotes.
- Empty attributes are forbidden
(such as checked=” true” or checked=” false”)
- Special characters must be escaped.
Code Snippet | Example
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="utf-8"/>
- <title>NEW</title>
- </head>
- <body>
- <p>
- <img src="new.png" alt="new"/>
- <!--anything u want to include in para-->
- </p>
- <script src="new1.js"/>
- </body>
- </html>