NAME¶
html - 产生 HTML 框架的子程序
总览 SYNOPSIS¶
package require
Tcl 8.2
package require
html ?1.2.1?
::html::author author
::html::bodyTag args
::html::cell param value ?
tag?
::html::checkbox name value
::html::checkSet key sep list
::html::checkValue name ?
value?
::html::closeTag
::html::default key ?
param?
::html::description description
::html::end
::html::eval arg ?
args?
::html::extractParam param key ?
varName?
::html::font args
::html::for start test next body
::html::foreach varlist1 list1 ?
varlist2 list2 ...?
body
::html::formValue name ?
defvalue?
::html::getFormInfo args
::html::getTitle
::html::h level string ?
param?
::html::h1 string ?
param?
::html::h2 string ?
param?
::html::h3 string ?
param?
::html::h4 string ?
param?
::html::h5 string ?
param?
::html::h6 string ?
param?
::html::hdrRow args
::html::head title
::html::headTag string
::html::if expr1 body1 ?
elseif expr2 body2 ...?
?
else bodyN?
::html::keywords args
::html::mailto email ?
subject?
::html::meta args
::html::minorMenu list ?
sep?
::html::minorList list ?
ordered?
::html::openTag tag args
::html::passwordInput ?
name?
::html::passwordInputRow label ?
name?
::html::quoteFormValue value
::html::radioSet key sep list
::html::radioValue name value
::html::refresh seconds url
::html::init ?
list?
::html::row args
::html::paramRow list ?
rparam? ?
cparam?
::html::select name param choices ?
current?
::html::selectPlain name param choices ?
current?
::html::submit label ?
name?
::html::set var val
::html::tableFromArray arrname ?
param? ?
pat?
::html::tableFromList querylist ?
param?
::html::textarea name ?
param? ?
current?
::html::textInput name args
::html::textInputRow label name args
::html::title title
::html::varEmpty name
::html::while test body
描述 DESCRIPTION¶
html 包提供了产生 HTML
的命令。这些命令一般返回
HTML
字符串作为结果。特殊的是,它们不向
stdout 输出结果。
::html::init
命令应当最早调用,从而初始化整个模块。也可以使用这个子程序来定义
HTML 标记参数的默认值。
- ::html::author author
- Side effect only. 在调用
::html::head
之前调用它,来定义页面的作者。作者以
HEAD
段中的注释形式给出。
- ::html::bodyTag args
- 产生一个 BODY
标签。标签参数来自
args 或是在 ::html::init
中定义的 body.* 属性。
- ::html::cell param value ?tag?
- 产生一个 TD (或 TH)
标签,一个值,和一个关闭
TD (或 TH)
标签。标签参数来自
param 或是在 ::html::init
中定义的 TD.*
属性。它使用 ::html::font
来在表格单元中插入一个标准的
FONT 标签。 tag
参数默认是 "td".
- ::html::checkbox name value
- 产生一个 CHECKBOX
表单元素,使用指定的名称和值。这使用了
::html::checkValue.
- ::html::checkSet key sep list
- 产生一个 CHECKBOX
表单元素和相关标签的集合。
list
应当包含一个可选标签和值的列表。这使用了
::html::checkbox.
- ::html::checkValue name ?value?
- 为一个 CHECKBOX
表单元素产生一个
"name= name value=value" . 如果 CGI
变量 name 的值是
value,那么 SELECTED
将加入到返回值中。
value 默认值是 "1".
- ::html::closeTag
- 从 ::html::openTag
创建的栈中弹出一个标签,产生相应的关闭标签
(例如,/BODY)。
- ::html::default key ?param?
- 这个子程序由
::html::tagParam
用来产生标签的参数名称和值列表。
::html::default
子程序用来为那些不在
param
中的项目产生默认值。如果
key 代表的值匹配 param
中的一个值,那么这个子程序返回孔字符串。否则,它为
key
代表的表单元素返回一个
"parameter=value" 字符串。 key
的形式是 "tag.parameter"
(例如,body.bgcolor)。使用
::html::init
来注册默认值。 param
默认是空字符串。
- ::html::description description
- Side effect only. 在调用
::html::head
前调用它来为页面定义一个
META
标签。这个标签在随后调用
::html::head 时产生。
- ::html::end
- 从栈中弹出所有开标签,产生相应的关闭标签
(例如,</body></html>)。
- ::html::eval arg ?args?
- 这个子程序类似于内置的
Tcl eval
命令,唯一的区别是它返回
"", 因此可以在一个
HTML
模板文件中调用,不会添加不需要的结果。
- ::html::extractParam param key
?varName?
- 这是一个解释程序,从
param ,一个 HTML 式样的
"name=quotedvalue"
列表中得到所有 key
的值。 varName 用作一个
Tcl
变量名,赋以参数中找到的值。这个函数返回
1,如果 param
中找到了参数,否则返回
0。如果没有指定 varName
,将使用 key
作为变量名。
- ::html::font args
- 产生一个标准的
FONT
标签。标签的参数来自
args 和 ::html::init 定义的 HTML
默认值。
- ::html::for start test next body
- 这个子程序与内置的
Tcl for
控制结构相似。但它返回联接的
(subst'ed) body 而不是去计算
body
的值。循环的每一次都会在返回值中联接另外一个字符串。
- ::html::foreach varlist1 list1 ?varlist2
list2 ...? body
- 这个子程序与内置的
Tcl foreach
控制结构相似。但它返回联接的
body 而不是去计算 body
的值。循环的每一次都会将另外一个字符串联接到返回值中。
- ::html::formValue name ?defvalue?
- 返回一个名称-值对,使用现有的
CGI
数据来初始化值。结果有以下形式:
name="fred" value="freds value"
- ::html::getFormInfo args
- 产生隐藏的字段来捕获表单值。如果
args
是空,那么为所有 CGI
值创建隐藏字段。否则
args
是一个匹配表单元素名称的字符串模式的列表。
- ::html::getTitle
- 返回 title
字符串,没有包围的
TITLE 标签。title
以一个先前调用的
::html::title 定义。
- ::html::h level string ?param?
- 产生一个标题
(例如, H1) 标签。 string
嵌于标题中, param
用作标签参数。
- ::html::h1 string ?param?
- 产生一个 H1
标签。参见 ::html::h.
- ::html::h2 string ?param?
- 产生一个 H2
标签。参见 ::html::h.
- ::html::h3 string ?param?
- 产生一个 H3
标签。参见 ::html::h.
- ::html::h4 string ?param?
- 产生一个 H4
标签。参见 ::html::h.
- ::html::h5 string ?param?
- 产生一个 H5
标签。参见 ::html::h.
- ::html::h6 string ?param?
- 产生一个 H6
标签。参见 ::html::h.
- ::html::hdrRow args
- 产生一个表格行,包含
TR 和 TH 标签。 args
中的每个值都置入自己的表格单元中。这使用了
::html::cell.
- ::html::head title
- 产生一个 HEAD
段,包含页面的
TITLE。如果先前调用了
::html::author, ::html::keywords,
::html::description, 或 ::html::meta
那么附加的标签将插入到
HEAD 段中。它使用
::html::openTag 将一个开 HTML
标签入栈.
- ::html::headTag string
- 保存一个包含于
::html::head 产生的 HEAD
段中的标签。 string
是一个标签中除了尖括号之外的所有东西。
- ::html::if expr1 body1 ?elseif
expr2 body2 ...? ? else bodyN?
- 这个子程序与内置的
Tcl if
控制结构相似。但它返回联接的
body
而不是去计算它每个分支
body
的值。注意这个语法与内置的
Tcl if
控制结构相比稍有限制。
- ::html::keywords args
- Side effect only. 在调用
::html::head
之前调用它来定义一个页面的关键字
META 标签。在 ::html::head
结果中将包含这个 META
标签。
- ::html::mailto email ?subject?
- 产生一个到 mailto: URL
的超链接。
- ::html::meta args
- Side effect only. 在调用
::html::head
之前调用它来定义一个页面的
META 标签。 args 是一个 Tcl
样式的名称和值列表,用作
META 标签的 name= 和 value=
参数。在 ::html::head
结果中将包含这个 META
标签。
- ::html::minorMenu list ?sep?
- 产生一系列超链接。list
是一个 Tcl
样式的名称和值列表,内容是链接的标签和地址。
sep
是分隔每个链接的文本,默认是
" | ".
- ::html::minorList list ?ordered?
- 产生一个排序的或未排序的链接列表。list
是一个 Tcl
样式的名称和值列表,内容是链接的标签和地址。
ordered
是一个布尔值,用来选择有序表或无序表,默认是
false.
- ::html::openTag tag args
- 将 tag
入栈,为它产生一个开标签。使用
::html::closeTag
来从栈中弹出标签。
- ::html::passwordInput ?name?
- 产生一个 PASSWORD
类型的 INPUT 标签。 name
默认为 "password".
- ::html::passwordInputRow label
?name?
- 格式化一个包含一个标签和一个
PASSWORD 类型的 INPUT
标签的表格行。 name
默认为 "password".
- ::html::quoteFormValue value
- 使用 HTML 实体 (quotes, ampersand,
and angle brackets.) 来替换 value
中的特殊字符,从而可以引用它们。
- ::html::radioSet key sep list
- 产生一个 RADIO
类型的 INPUT
标签集合以及一个相关的文本标签。所有单选按钮共享同样的
key
作为它们的名字。
sep
是用来分隔各元素的文本。
list 是一个 Tcl
风格的标签,值列表。
- ::html::radioValue name value
- 为一个 RADIO
表单元素产生一个
"name= name value=value" .如果 CGI
变量 name 值为 value,
那么 SELECTED
将被加入返回值中。
- ::html::refresh seconds url
- 建立一个刷新 META
标签。在调用 ::html::head
之前调用它,HEAD
段中将包含一个 META
标签使得页面每 seconds
刷新一次。 url
是可选的,如果指定的话它指定了刷新间隔之后读取的新页面。
- ::html::init ?list?
- ::html::init 接受一个 Tcl
样式的 name-value
列表,定义了名称是
"tag.parameter"
形式的对象的值。例如,
"body.bgcolor" 默认将为 BODY
标签定义背景色。
- ::html::row args
- 产生一个表格行,包含
TR 和 TD 标签。 args
的每个值都置入各自的表格单元中。它使用了
::html::cell.
- ::html::paramRow list ?rparam?
?cparam?
- 产生一个表格行,包含
TR 和 TD 标签。 args
的每个值都置入各自的表格单元中。它使用了
::html::cell. rparam 用作 TR
标签的参数, cparam
的值被传给
::html::cell,作为 TD
标签的参数。
- ::html::select name param choices
?current?
- 产生一个 SELECT
表单元素以及内置的
OPTION 标签。 name 和 param
用来产生 SELECT 标签。
choices 列表是一个 Tcl
样式的 name-value 列表。
- ::html::selectPlain name param choices
?current?
- 类似 ::html::select 但
choices 是一个 Tcl
值的列表,用于 OPTION
标签。每个 OPTION
的标签和值是相同的。
- ::html::submit label ?name?
- 产生一个 SUBMIT
类型的 INPUT 标签。 name
默认是 "submit".
- ::html::set var val
- 这个子程序与内置的
Tcl set
控制结构相似。主要区别是它返回
"" 因此可以在一个 HTML
模板文件中调用,不会产生奇怪的结果。另外的区别是它需要两个参数。
- ::html::tableFromArray arrname ?param?
? pat?
- 产生一个 TABLE
和内置的行,来显示一个
Tcl 数组。 param 是为 TABLE
标签准备的。 pat
是一个 string match
模式,用来选择数组元素,默认是
"*".
- ::html::tableFromList querylist
?param?
- 产生一个 TABLE
和内置的行来显示
querylist, 一个 Tcl
样式的名称和值列表。
param 是为 TABLE
标签设置的。
- ::html::textarea name ?param?
?current?
- 产生一个 TEXTAREA
标签,包围 (wrapped)
在它的当前值
- ::html::textInput name args
- 产生一个 TEXT
类型的 INPUT
表单标签。这使用了
::html::formValue. 参数是你想在
INPUT
标签中添加的任何附加标签属性。
- ::html::textInputRow label name args
- 产生一个 TEXT
类型的 INPUT
标签,和一个相关标签一起格式化到一个表格行中。参数是你想在
INPUT
标签中添加的任何附加标签属性。
- ::html::title title
- Side effect only. 在调用
::html::head
调用它来定义页面的
TITLE。
- ::html::varEmpty name
- 如果指定名称的变量不存在或者为空值则返回
1 。
- ::html::while test body
- 这个子程序类似于内置的
Tcl while
空值结构。但它返回联接的
body 而不是计算
body。循环的每一次都将另一个字符串联接到返回值中。
参见 SEE ALSO¶
ncgi, htmlparse
关键字 KEYWORDS¶
html, form, table, checkbox, radiobutton, checkbutton
[中文版维护人]¶
袁乙钧
[中文版最新更新]¶
2003/11/10
《中国 Linux 论坛 man
手册页翻译计划》:¶
http://cmpp.linuxforum.net