chickadee » doctype

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.

Interface

doctype-htmlconstant

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-strictconstant
doctype-html-4.01-strictconstant
doctype-xhtml-1.0-transitionalconstant
doctype-html-4.01-transitionalconstant
doctype-xhtml-1.0-framesetconstant
doctype-html-4.01-framesetconstant
doctype-html-3.2constant
doctype-html-2.0constant

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-legacyconstant

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-strictconstant
html-4.01-strictconstant
xhtml-1.0-transitionalconstant
html-4.01-transitionalconstant
xhtml-1.0-framesetconstant
html-4.01-framesetconstant
html-3.2constant
html-2.0constant

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

doctype-rulesconstant

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.

Contents »