javapalava
javapalava

Reputation: 695

Writing Strict XHTML 1.0

I have an exam, where I will be provided a series of code snippets and asked to determine whether they are Valid or Invalid Strict XHTML1.0. I can't find any rules, or digestible resources online. Can anyone advise if there is a set of checks that I can memorise?

Upvotes: 1

Views: 139

Answers (1)

John
John

Reputation: 13720

The most immediate thing you can and should do is ensure the file is served as application/xhtml+xml. If you are creating a file and don't have access to server-side scripting then you simply need to create a file with a .xhtml extension and application/xhtml+xml via the developer tools in whichever browser you're using.

I highly recommend using Firefox; when you encounter an XML parsing error the whole page will be hidden, it will have a yellow background and display the error, it's line and column numbers in red text. It's extremely useful for quickly addressing malformed XML parsing errors.

Keep in mind that XHTML 1 (HTML4 equivalent) is outdated and I highly recommend using XHTML5. While I've updated my platform from XHTML 1 Strict to XHTML 5 (link in my profile) you will be exceptionally hard pressed to find better examples of stricter code that will adhere to XHTML5.

Also keep in mind that HTML (text/html) is handled by a browser's HTML parser whereas XHTML (application/xhtml+xml) is handled by a browser's XML parser.

An XML parser will catch malformed XML though it will not prevent duplicate id attributes from wreaking havoc in JavaScript (the first `id attribute of two or more identical values will always be targeted).

It should also be noted that XHTML1 defined attributes to have the same value as the attribute name:

XHTML 1

<select>
<option selected="selected"></option>
</select>

XHTML 5

<select>
<option selected="true"></option>
</select>

XHTML5 defines most though not all (e.g. the autocomplete attribute) as having boolean values (e.g. true or false).

Lastly you can have everything completely XHTML1/5 compliant though if the media type/mime is text/html then your page is not XHTML in any form. One of the greatest advantages of XHTML is that is has to be served strictly; strict code can be dependably served loosely though loose code can not be dependently served strictly and I am not talking about doctypes.

Upvotes: 1

Related Questions