30 XML and CSS

▼ |  | Unstable

1 | Guidelines for developing unstable libraries
2 | Bytes
3 | Classes and Objects
4 | Contracts
5 | Definitions
6 | Dictionaries
7 | Directories
8 | Exceptions
9 | Filesystem
10 | Functions
11 | Lists
12 | Net
13 | Path
14 | PLane T Packages
15 | Ports
16 | Pretty-Printing
17 | Regular Expressions
18 | Requiring Modules
19 | Sandboxed Evaluation
20 | Scribble Documentation
21 | Sets
22 | S-Expression Diff
23 | Source Locations
24 | Strings
25 | Structs
26 | Syntax
27 | Planet Package Macros
28 | Text Representations
29 | Multiple Values
30 | XML and CSS
31 | Polymorphic Contracts
32 | Finding Mutated Variables
33 | Find
34 | Interface-Oriented Programming for Classes
35 | Sequences
36 | Hash Tables
37 | Match
38 | Generics
39 | Mark Parameters
40 | Debugging
41 | Contracts for macro subexpressions
42 | GUI libraries

On this page:

css/ c
css?
xexpr/ c
write-css
write-xexpr
create-stylesheet
create-webpage

Version: 5.0.1.5
top← prev up next →

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

xexpr/c : flat-contract?

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.
top← prev up next →