html - 產生 HTML 框架的子程式
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
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。迴圈的每一次都將另一個字串聯接到返回值中。
ncgi, htmlparse
html, form, table, checkbox, radiobutton, checkbutton
袁乙鈞
2003/11/10
http://cmpp.linuxforum.net
本頁面中文版由中文 man
手冊頁計劃提供。
中文 man 手冊頁計劃:
https://github.com/man-pages-zh/manpages-zh