On this page:
css/ c
css?
xexpr/ c
write-css
write-xexpr
create-stylesheet
create-webpage
Version: 5.0.1

31 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.