On this page:
css/ c
xexpr/ c
Version: 5.0.2

30 XML and CSS

Carl Eastlund <cce@racket-lang.org>

 (require unstable/web)

This library is unstable; compatibility will not be maintained. See Unstable for more information.

This module provides tools for programmatic creation of static web pages. It is based on the XML collection; see documentation for xexpr?.

css/c : flat-contract?
(css? v)  boolean?
  v : any/c
This contract and predicate pair recognizes CSS-expressions, which are described by the following grammar:

  css = (list style ...)
  style-def = (cons selector (list property ...))
  property = (list name value)
  selector = text
  name = text
  value = text

Here, text is any of the datatypes described in Text Representations.

This flat contract corresponds to xexpr?. It is reprovided from xml. In versions of PLT Scheme before the implementation of xexpr/c, this module provides its own definition.

(write-css css [out])  void?
  css : css/c
  out : output-port? = (current-output-port)
(write-xexpr css [out])  void?
  css : css/c
  out : output-port? = (current-output-port)
These functions write CSS-expressions and X-expressions, respectively, to output ports, by their canonical text representations.

(create-stylesheet file css)  void?
  file : path-string?
  css : css/c
(create-webpage file xexpr)  void?
  file : path-string?
  xexpr : xexpr/c
These functions write style sheets (represented as CSS-expressions) or webpages (represented as X-expressions) to files.