Next: , Previous: Programs and Arguments, Up: Textual Conversion Packages


4.5 HTML

(require 'html-form)

— Function: html:atval txt

Returns a string with character substitutions appropriate to send txt as an attribute-value.

— Function: html:plain txt

Returns a string with character substitutions appropriate to send txt as an plain-text.

— Function: html:meta name content

Returns a tag of meta-information suitable for passing as the third argument to html:head. The tag produced is ‘<META NAME="name" CONTENT="content">’. The string or symbol name can be ‘author’, ‘copyright’, ‘keywords’, ‘description’, ‘date’, ‘robots’, ....

— Function: html:http-equiv name content

Returns a tag of HTTP information suitable for passing as the third argument to html:head. The tag produced is ‘<META HTTP-EQUIV="name" CONTENT="content">’. The string or symbol name can be ‘Expires’, ‘PICS-Label’, ‘Content-Type’, ‘Refresh’, ....

— Function: html:meta-refresh delay uri
— Function: html:meta-refresh delay

Returns a tag suitable for passing as the third argument to html:head. If uri argument is supplied, then delay seconds after displaying the page with this tag, Netscape or IE browsers will fetch and display uri. Otherwise, delay seconds after displaying the page with this tag, Netscape or IE browsers will fetch and redisplay this page.

— Function: html:head title backlink tags ...
— Function: html:head title backlink
— Function: html:head title

Returns header string for an HTML page named title. If backlink is a string, it is used verbatim between the ‘H1’ tags; otherwise title is used. If string arguments tags ... are supplied, then they are included verbatim within the <HEAD> section.

— Function: html:body body ...

Returns HTML string to end a page.

— Function: html:pre line1 line ...

Returns the strings line1, lines as PREformmated plain text (rendered in fixed-width font). Newlines are inserted between line1, lines. HTML tags (‘<tag>’) within lines will be visible verbatim.

— Function: html:comment line1 line ...

Returns the strings line1 as HTML comments.

4.6 HTML Forms

— Function: html:form method action body ...

The symbol method is either get, head, post, put, or delete. The strings body form the body of the form. html:form returns the HTML form.

— Function: html:hidden name value

Returns HTML string which will cause name=value in form.

— Function: html:checkbox pname default

Returns HTML string for check box.

— Function: html:text pname default size ...

Returns HTML string for one-line text box.

— Function: html:text-area pname default-list

Returns HTML string for multi-line text box.

— Function: html:select pname arity default-list foreign-values

Returns HTML string for pull-down menu selector.

— Function: html:buttons pname arity default-list foreign-values

Returns HTML string for any-of selector.

— Function: form:submit submit-label command
— Function: form:submit submit-label

The string or symbol submit-label appears on the button which submits the form. If the optional second argument command is given, then *command*=command and *button*=submit-label are set in the query. Otherwise, *command*=submit-label is set in the query.

— Function: form:image submit-label image-src

The image-src appears on the button which submits the form.

— Function: form:reset

Returns a string which generates a reset button.

— Function: form:element pname arity default-list foreign-values

Returns a string which generates an INPUT element for the field named pname. The element appears in the created form with its representation determined by its arity and domain. For domains which are foreign-keys:

single
select menu
optional
select menu
nary
check boxes
nary1
check boxes

If the foreign-key table has a field named ‘visible-name’, then the contents of that field are the names visible to the user for those choices. Otherwise, the foreign-key itself is visible.

For other types of domains:

single
text area
optional
text area
boolean
check box
nary
text area
nary1
text area

— Function: form:delimited pname doc aliat arity default-list foreign-values

Returns a HTML string for a form element embedded in a line of a delimited list. Apply map form:delimited to the list returned by command->p-specs.

— Function: html:delimited-list row ...

Wraps its arguments with delimited-list (‘DL’ command.

— Function: get-foreign-choices tab

Returns a list of the ‘visible-name’ or first fields of table tab.

— Function: command->p-specs rdb command-table command

The symbol command-table names a command table in the rdb relational database. The symbol command names a key in command-table.

command->p-specs returns a list of lists of pname, doc, aliat, arity, default-list, and foreign-values. The returned list has one element for each parameter of command command.

This example demonstrates how to create a HTML-form for the ‘build’ command.

          (require (in-vicinity (implementation-vicinity) "build.scm"))
          (call-with-output-file "buildscm.html"
            (lambda (port)
              (display
               (string-append
                (html:head 'commands)
                (html:body
                 (sprintf #f "<H2>%s:</H2><BLOCKQUOTE>%s</BLOCKQUOTE>\\n"
                          (html:plain 'build)
                          (html:plain ((comtab 'get 'documentation) 'build)))
                 (html:form
                  'post
                  (or "http://localhost:8081/buildscm" "/cgi-bin/build.cgi")
                  (apply html:delimited-list
                         (apply map form:delimited
                                (command->p-specs build '*commands* 'build)))
                  (form:submit 'build)
                  (form:reset))))
               port)))