"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away."
XHTML Basic is a simple implementation of XML-compliant HTML designed to work on consumer electronics, such as mobile phones and televisions. Because it is streamlined, you can create a site with a simple interface that is guaranteed to work on pretty much any web compatible device, even if you are generating the pages in a complicated manner behind the scenes. This makes it a pretty good choice of markup language if you only need to use what it supports.
What it supports
The following are supported:
- External style sheets
- div and span elements
- Forms
- Tables
- Objects
The following are not supported:
- The style element
- Forms that use file or image input types
- Nested tables
- Bi-directional text
- Scripts
- Frames
Example template
The following template may prove useful as either a rough guide or something to copy and paste directly into a new file. With appropriate styling, it can be quite versatile due to the div and span elements.
<?xml version="1.0" encoding="us-ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
<link rel="stylesheet" type="text/css" media="screen" href="screen.css" />
</head>
<body>
<div id="wrap">
<div id="head">
<h1><span></span></h1>
</div>
<div id="menu">
<ul>
<li><a href="#"><span></span></a></li>
<li><a href="#"><span></span></a></li>
<li><a href="#"><span></span></a></li>
</ul>
</div>
<div id="main">
</div>
<div id="foot">
<p></p>
</div>
</div>
</body>
</html>
Supported elements and their attributes
General attributes
Note that in addition to the specific attributes, all elements can have class, id, lang and title attributes, with the following exceptions:
- base (none)
- br (class, id and title only)
- head (lang only)
- html (lang only)
- meta (lang only)
- param (id only)
- title (lang only)
Specific attributes
- a (accesskey, charset, href, hreflang, rel, rev, tabindex, title, type)
- abbr (title)
- acronym (title)
- address
- base (href)
- blockquote (cite)
- body
- br
- caption
- cite
- code
- dd
- dfn
- div
- dl
- dt
- em
- form (accept, accept-charset, action, enctype, method)
- h1
- h2
- h3
- h4
- h5
- h6
- head (profile)
- html (xmlns, xml:lang)
- img (alt, longdesc, src)
- input (attributes differ based on the input type)
- kbd
- label (accesskey, for)
- li
- link (charset, href, hreflang, media, rel, rev, type)
- meta (content, http-equiv, name, scheme)
- object (archive, classid, codebase, codetype, data, declare, standby, type)
- ol (start)
- option (label, selected, value)
- p
- param (name, type, value, valuetype)
- pre
- q (cite)
- samp
- select (disabled, multiple, name, size)
- span
- strong
- table (summary)
- td (abbr, axis, colspan, headers, rowspan, scope)
- textarea (cols, disabled, name, readonly, rows, tabindex)
- th (abbr, axis, colspan, headers, rowspan, scope)
- title
- tr
- ul
- var
Please /msg me with any corrections. Thank you.