"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.

Log in or register to write something here or to contact authors.