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 標籤。 nameparam 用來產生 SELECT 標籤。 choices 列表是一個 Tcl 樣式的 name-value 列表。
::html::selectPlain name param choices ?current?
類似 ::html::selectchoices 是一個 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

本頁面中文版由中文 man 手冊頁計劃提供。
 
中文 man 手冊頁計劃: https://github.com/man-pages-zh/manpages-zh