Outdated egg!

This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.

If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.

doctype

Provides HTML and XHTML doctypes as strings.

  1. Outdated egg!
  2. 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> (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

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.