doctype

Provides HTML and XHTML doctypes as strings.

  1. doctype
    1. Interface
    2. Examples
    3. About this egg
      1. Source
      2. Author
      3. Version history
      4. License

Interface

[constant] doctype-html

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>
[constant] 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

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">
[constant] doctype-html-legacy

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">
[constant] 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

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

[constant] doctype-rules

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> (import 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> (import 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

Source

https://github.com/ursetto/doctype-egg

Author

Jim Ursetto

Version history

2.2
Add Chicken 5 support
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.