chickadee » doctype

doctype

Provides HTML and XHTML doctypes as strings.

Interface

doctype-html constant

Generic HTML doctype. Introduced in the HTML5 spec, but is backwards-compatible with older browsers, which use it only to switch into standards mode.

<!DOCTYPE HTML>
doctype-xhtml-1.0-strict constant
doctype-html-4.01-strict constant
doctype-xhtml-1.0-transitional constant
doctype-html-4.01-transitional constant
doctype-xhtml-1.0-frameset constant
doctype-html-4.01-frameset constant
doctype-html-3.2 constant
doctype-html-2.0 constant

Strings corresponding to the "obsolete permitted" HTML and XHTML doctypes. In general it is safe to use doctype-html instead, as the doctype is typically only used to switch browsers into standards mode, and all known browsers do this with doctype-html.

;doctype-html-4.01-strict
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
doctype-html-legacy constant

Legacy HTML doctype, which should only be emitted by a renderer when it cannot produce the shorter doctype-html. Don't use this.

<!DOCTYPE HTML SYSTEM "about:legacy-compat">
xhtml-1.0-strict constant
html-4.01-strict constant
xhtml-1.0-transitional constant
html-4.01-transitional constant
xhtml-1.0-frameset constant
html-4.01-frameset constant
html-3.2 constant
html-2.0 constant

Aliases for doctype-*. Deprecated as of doctype version 2.0.

doctype-rules constant

A handy ruleset for use with sxml-transforms. Rules are named like the corresponding constants -- for example, doctype-html -- and will output the HTML doctype as a string.

This ruleset contains preorder rules which should be appended/prepended to the universal-conversion-rules because they output raw text which should not be processed again. See the example below.

Note: for compatibility with doctype egg versions 2.0 and earlier, rules without the doctype- prefix are accepted as well: e.g. xhtml-1.0-strict. The only exception is html, which conflicts with the <html> tag.

Examples

#;1> (use doctype)
#;2> (print doctype-html)
<!DOCTYPE HTML>
#;3> (print doctype-xhtml-1.0-strict)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
#;4> (use sxml-transforms)
#;5> (SRV:send-reply
       (pre-post-order
        `((doctype-xhtml-1.0-strict)
          (html (body "blah")))
         (append doctype-rules universal-conversion-rules)))
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>blah</body></html>

About this egg

Author

Jim Ursetto

Version history

2.1
Add doctype- prefixes to doctype-rules; fix bug in html-2.0 rule
2.0
Add doctype- prefixes, deprecate old aliases, add doctype-html
1.2
Add doctype-rules
1.1
Fix typo in html-4.01-transitional
1.0
Initial release

License

Public domain.

Contents »