'\" -*- tcl -*- doctools manpage '\" '\" Generated from ./modules/html/html.man by mpexpand with fmt.nroff '\" .TH "html" 3tcl 1.2.1 html "HTML Generation" .SH NAME html \- 產生 HTML 框架的子程式 .SH "總覽 SYNOPSIS" package require \fBTcl 8.2\fR .sp package require \fBhtml ?1.2.1?\fR .sp \fB::html::author\fR \fIauthor\fR\fR .sp \fB::html::bodyTag\fR \fIargs\fR\fR .sp \fB::html::cell\fR \fIparam value\fR ?\fItag\fR?\fR .sp \fB::html::checkbox\fR \fIname value\fR\fR .sp \fB::html::checkSet\fR \fIkey sep list\fR\fR .sp \fB::html::checkValue\fR \fIname\fR ?\fIvalue\fR?\fR .sp \fB::html::closeTag\fR \fR .sp \fB::html::default\fR \fIkey\fR ?\fIparam\fR?\fR .sp \fB::html::description\fR \fIdescription\fR\fR .sp \fB::html::end\fR \fR .sp \fB::html::eval\fR \fIarg\fR ?\fIargs\fR?\fR .sp \fB::html::extractParam\fR \fIparam key\fR ?\fIvarName\fR?\fR .sp \fB::html::font\fR \fIargs\fR\fR .sp \fB::html::for\fR \fIstart test next body\fR\fR .sp \fB::html::foreach\fR \fIvarlist1 list1\fR ?\fIvarlist2 list2 ...\fR? \fIbody\fR\fR .sp \fB::html::formValue\fR \fIname\fR ?\fIdefvalue\fR?\fR .sp \fB::html::getFormInfo\fR \fIargs\fR\fR .sp \fB::html::getTitle\fR \fR .sp \fB::html::h\fR \fIlevel string\fR ?\fIparam\fR?\fR .sp \fB::html::h1\fR \fIstring\fR ?\fIparam\fR?\fR .sp \fB::html::h2\fR \fIstring\fR ?\fIparam\fR?\fR .sp \fB::html::h3\fR \fIstring\fR ?\fIparam\fR?\fR .sp \fB::html::h4\fR \fIstring\fR ?\fIparam\fR?\fR .sp \fB::html::h5\fR \fIstring\fR ?\fIparam\fR?\fR .sp \fB::html::h6\fR \fIstring\fR ?\fIparam\fR?\fR .sp \fB::html::hdrRow\fR \fIargs\fR\fR .sp \fB::html::head\fR \fItitle\fR\fR .sp \fB::html::headTag\fR \fIstring\fR\fR .sp \fB::html::if\fR \fIexpr1 body1\fR ?\fBelseif\fR \fIexpr2 body2 ...\fR? ?\fBelse\fR \fIbodyN\fR?\fR .sp \fB::html::keywords\fR \fIargs\fR\fR .sp \fB::html::mailto\fR \fIemail\fR ?\fIsubject\fR?\fR .sp \fB::html::meta\fR \fIargs\fR\fR .sp \fB::html::minorMenu\fR \fIlist\fR ?\fIsep\fR?\fR .sp \fB::html::minorList\fR \fIlist\fR ?\fIordered\fR?\fR .sp \fB::html::openTag\fR \fItag args\fR\fR .sp \fB::html::passwordInput\fR ?\fIname\fR?\fR .sp \fB::html::passwordInputRow\fR \fIlabel\fR ?\fIname\fR?\fR .sp \fB::html::quoteFormValue\fR \fIvalue\fR\fR .sp \fB::html::radioSet\fR \fIkey sep list\fR\fR .sp \fB::html::radioValue\fR \fIname value\fR\fR .sp \fB::html::refresh\fR \fIseconds url\fR\fR .sp \fB::html::init\fR ?\fIlist\fR?\fR .sp \fB::html::row\fR \fIargs\fR\fR .sp \fB::html::paramRow\fR \fIlist\fR ?\fIrparam\fR? ?\fIcparam\fR?\fR .sp \fB::html::select\fR \fIname param choices\fR ?\fIcurrent\fR?\fR .sp \fB::html::selectPlain\fR \fIname param choices\fR ?\fIcurrent\fR?\fR .sp \fB::html::submit\fR \fIlabel\fR ?\fIname\fR?\fR .sp \fB::html::set\fR \fIvar val\fR\fR .sp \fB::html::tableFromArray\fR \fIarrname\fR ?\fIparam\fR? ?\fIpat\fR?\fR .sp \fB::html::tableFromList\fR \fIquerylist\fR ?\fIparam\fR?\fR .sp \fB::html::textarea\fR \fIname\fR ?\fIparam\fR? ?\fIcurrent\fR?\fR .sp \fB::html::textInput\fR \fIname args\fR\fR .sp \fB::html::textInputRow\fR \fIlabel name args\fR\fR .sp \fB::html::title\fR \fItitle\fR\fR .sp \fB::html::varEmpty\fR \fIname\fR\fR .sp \fB::html::while\fR \fItest body\fR\fR .sp .SH "描述 DESCRIPTION" .PP \fBhtml\fR 包提供了產生 HTML 的命令。這些命令一般返回 HTML 字串作為結果。特殊的是,它們不向 \fBstdout\fR 輸出結果。 .PP \fB::html::init\fR 命令應當最早呼叫,從而初始化整個模組。也可以使用這個子程式來定義 HTML 標記引數的預設值。 .TP \fB::html::author\fR \fIauthor\fR\fR \fBSide effect only\fR. 在呼叫 \fB::html::head\fR 之前呼叫它,來定義頁面的作者。作者以 HEAD 段中的註釋形式給出。 .TP \fB::html::bodyTag\fR \fIargs\fR\fR 產生一個 BODY 標籤。標籤引數來自 \fIargs\fR 或是在 \fB::html::init\fR 中定義的 body.* 屬性。 .TP \fB::html::cell\fR \fIparam value\fR ?\fItag\fR?\fR 產生一個 TD (或 TH) 標籤,一個值,和一個關閉 TD (或 TH) 標籤。標籤引數來自\fIparam\fR 或是在 \fB::html::init\fR 中定義的 TD.* 屬性。它使用 \fB::html::font\fR 來在表格單元中插入一個標準的 FONT 標籤。 \fItag\fR 引數預設是 "td". .TP \fB::html::checkbox\fR \fIname value\fR\fR 產生一個 CHECKBOX 表單元素,使用指定的名稱和值。這使用了 \fB::html::checkValue\fR. .TP \fB::html::checkSet\fR \fIkey sep list\fR\fR 產生一個 CHECKBOX 表單元素和相關標籤的集合。\fIlist\fR 應當包含一個可選標籤和值的列表。這使用了 \fB::html::checkbox\fR. .TP \fB::html::checkValue\fR \fIname\fR ?\fIvalue\fR?\fR 為一個 CHECKBOX 表單元素產生一個 "name=\fIname\fR value=\fIvalue\fR" . 如果 CGI 變數 \fIname\fR 的值是 \fIvalue\fR,那麼 SELECTED 將加入到返回值中。\fIvalue\fR 預設值是 "1". .TP \fB::html::closeTag\fR \fR 從 \fB::html::openTag\fR 建立的棧中彈出一個標籤,產生相應的關閉標籤 (例如,/BODY)。 .TP \fB::html::default\fR \fIkey\fR ?\fIparam\fR?\fR 這個子程式由 \fB::html::tagParam\fR 用來產生標籤的引數名稱和值列表。\fB::html::default\fR 子程式用來為那些不在 \fIparam\fR 中的專案產生預設值。如果 \fIkey\fR 代表的值匹配 \fIparam\fR 中的一個值,那麼這個子程式返回孔字串。否則,它為 \fIkey\fR 代表的表單元素返回一個 "parameter=value" 字串。\fIkey\fR 的形式是 "tag.parameter" (例如,body.bgcolor)。使用 \fB::html::init\fR 來註冊預設值。\fIparam\fR 預設是空字串。 .TP \fB::html::description\fR \fIdescription\fR\fR \fBSide effect only\fR. 在呼叫 \fB::html::head\fR 前呼叫它來為頁面定義一個 META 標籤。這個標籤在隨後呼叫 \fB::html::head\fR 時產生。 .TP \fB::html::end\fR \fR 從棧中彈出所有開標籤,產生相應的關閉標籤 (例如,)。 .TP \fB::html::eval\fR \fIarg\fR ?\fIargs\fR?\fR 這個子程式類似於內建的 Tcl \fBeval\fR 命令,唯一的區別是它返回 "", 因此可以在一個 HTML 模板檔案中呼叫,不會新增不需要的結果。 .TP \fB::html::extractParam\fR \fIparam key\fR ?\fIvarName\fR?\fR 這是一個解釋程式,從 \fIparam\fR ,一個 HTML 式樣的 "name=quotedvalue" 列表中得到所有 \fIkey\fR 的值。\fIvarName\fR 用作一個 Tcl 變數名,賦以引數中找到的值。這個函式返回 1,如果 \fIparam\fR 中找到了引數,否則返回 0。如果沒有指定 \fIvarName\fR ,將使用 \fIkey\fR 作為變數名。 .TP \fB::html::font\fR \fIargs\fR\fR 產生一個標準的 FONT 標籤。標籤的引數來自 \fIargs\fR 和 \fB::html::init\fR 定義的 HTML 預設值。 .TP \fB::html::for\fR \fIstart test next body\fR\fR 這個子程式與內建的 Tcl \fBfor\fR 控制結構相似。但它返回聯接的 (subst'ed) \fIbody\fR 而不是去計算 body 的值。迴圈的每一次都會在返回值中聯接另外一個字串。 .TP \fB::html::foreach\fR \fIvarlist1 list1\fR ?\fIvarlist2 list2 ...\fR? \fIbody\fR\fR 這個子程式與內建的 Tcl \fBforeach\fR 控制結構相似。但它返回聯接的 \fIbody\fR 而不是去計算 body 的值。迴圈的每一次都會將另外一個字串聯接到返回值中。 .TP \fB::html::formValue\fR \fIname\fR ?\fIdefvalue\fR?\fR 返回一個名稱-值對,使用現有的 CGI 資料來初始化值。結果有以下形式: .sp .nf name="fred" value="freds value" .fi .TP \fB::html::getFormInfo\fR \fIargs\fR\fR 產生隱藏的欄位來捕獲表單值。如果 \fIargs\fR 是空,那麼為所有 CGI 值建立隱藏欄位。否則 \fIargs\fR 是一個匹配表單元素名稱的字串模式的列表。 .TP \fB::html::getTitle\fR \fR 返回 title 字串,沒有包圍的 TITLE 標籤。title 以一個先前呼叫的 \fB::html::title\fR 定義。 .TP \fB::html::h\fR \fIlevel string\fR ?\fIparam\fR?\fR 產生一個標題 (例如, H1) 標籤。\fIstring\fR 嵌於標題中,\fIparam\fR 用作標籤引數。 .TP \fB::html::h1\fR \fIstring\fR ?\fIparam\fR?\fR 產生一個 H1 標籤。參見 \fB::html::h\fR. .TP \fB::html::h2\fR \fIstring\fR ?\fIparam\fR?\fR 產生一個 H2 標籤。參見 \fB::html::h\fR. .TP \fB::html::h3\fR \fIstring\fR ?\fIparam\fR?\fR 產生一個 H3 標籤。參見 \fB::html::h\fR. .TP \fB::html::h4\fR \fIstring\fR ?\fIparam\fR?\fR 產生一個 H4 標籤。參見 \fB::html::h\fR. .TP \fB::html::h5\fR \fIstring\fR ?\fIparam\fR?\fR 產生一個 H5 標籤。參見 \fB::html::h\fR. .TP \fB::html::h6\fR \fIstring\fR ?\fIparam\fR?\fR 產生一個 H6 標籤。參見 \fB::html::h\fR. .TP \fB::html::hdrRow\fR \fIargs\fR\fR 產生一個表格行,包含 TR 和 TH 標籤。\fIargs\fR 中的每個值都置入自己的表格單元中。這使用了 \fB::html::cell\fR. .TP \fB::html::head\fR \fItitle\fR\fR 產生一個 HEAD 段,包含頁面的 TITLE。如果先前呼叫了 \fB::html::author\fR, \fB::html::keywords\fR, \fB::html::description\fR, 或 \fB::html::meta\fR 那麼附加的標籤將插入到 HEAD 段中。它使用 \fB::html::openTag\fR 將一個開 HTML 標籤入棧. .TP \fB::html::headTag\fR \fIstring\fR\fR 儲存一個包含於 \fB::html::head\fR 產生的 HEAD 段中的標籤。\fIstring\fR 是一個標籤中除了尖括號之外的所有東西。 .TP \fB::html::if\fR \fIexpr1 body1\fR ?\fBelseif\fR \fIexpr2 body2 ...\fR? ?\fBelse\fR \fIbodyN\fR?\fR 這個子程式與內建的 Tcl \fBif\fR 控制結構相似。但它返回聯接的 \fIbody\fR 而不是去計算它每個分支 body 的值。注意這個語法與內建的 Tcl \fBif\fR 控制結構相比稍有限制。 .TP \fB::html::keywords\fR \fIargs\fR\fR \fBSide effect only\fR. 在呼叫 \fB::html::head\fR 之前呼叫它來定義一個頁面的關鍵字 META 標籤。在 \fB::html::head\fR 結果中將包含這個 META 標籤。 .TP \fB::html::mailto\fR \fIemail\fR ?\fIsubject\fR?\fR 產生一個到 mailto: URL 的超連結。 .TP \fB::html::meta\fR \fIargs\fR\fR \fBSide effect only\fR. 在呼叫 \fB::html::head\fR 之前呼叫它來定義一個頁面的 META 標籤。 \fIargs\fR 是一個 Tcl 樣式的名稱和值列表,用作 META 標籤的 name= 和 value= 引數。在 \fB::html::head\fR 結果中將包含這個 META 標籤。 .TP \fB::html::minorMenu\fR \fIlist\fR ?\fIsep\fR?\fR 產生一系列超連結。\fIlist\fR 是一個 Tcl 樣式的名稱和值列表,內容是連結的標籤和地址。\fIsep\fR 是分隔每個連結的文字,預設是 " | ". .TP \fB::html::minorList\fR \fIlist\fR ?\fIordered\fR?\fR 產生一個排序的或未排序的連結列表。\fIlist\fR 是一個 Tcl 樣式的名稱和值列表,內容是連結的標籤和地址。\fIordered\fR 是一個布林值,用來選擇有序表或無序表,預設是 \fBfalse\fR. .TP \fB::html::openTag\fR \fItag args\fR\fR 將 \fItag\fR 入棧,為它產生一個開標籤。使用 \fB::html::closeTag\fR 來從棧中彈出標籤。 .TP \fB::html::passwordInput\fR ?\fIname\fR?\fR 產生一個 PASSWORD 型別的 INPUT 標籤。 \fIname\fR 預設為 "password". .TP \fB::html::passwordInputRow\fR \fIlabel\fR ?\fIname\fR?\fR 格式化一個包含一個標籤和一個 PASSWORD 型別的 INPUT 標籤的表格行。\fIname\fR 預設為 "password". .TP \fB::html::quoteFormValue\fR \fIvalue\fR\fR 使用 HTML 實體 (quotes, ampersand, and angle brackets.) 來替換 \fIvalue\fR 中的特殊字元,從而可以引用它們。 .TP \fB::html::radioSet\fR \fIkey sep list\fR\fR 產生一個 RADIO 型別的 INPUT 標籤集合以及一個相關的文字標籤。所有單選按鈕共享同樣的 \fIkey\fR 作為它們的名字。\fIsep\fR 是用來分隔各元素的文字。\fIlist\fR 是一個 Tcl 風格的標籤,值列表。 .TP \fB::html::radioValue\fR \fIname value\fR\fR 為一個 RADIO 表單元素產生一個 "name=\fIname\fR value=\fIvalue\fR" .如果 CGI 變數 \fIname\fR 值為 \fIvalue\fR, 那麼 SELECTED 將被加入返回值中。 .TP \fB::html::refresh\fR \fIseconds url\fR\fR 建立一個重新整理 META 標籤。在呼叫 \fB::html::head\fR 之前呼叫它,HEAD 段中將包含一個 META 標籤使得頁面每 \fIseconds\fR 重新整理一次。 \fIurl\fR 是可選的,如果指定的話它指定了重新整理間隔之後讀取的新頁面。 .TP \fB::html::init\fR ?\fIlist\fR?\fR \fB::html::init\fR 接受一個 Tcl 樣式的 name-value 列表,定義了名稱是 "tag.parameter" 形式的物件的值。例如, "body.bgcolor" 預設將為 BODY 標籤定義背景色。 .TP \fB::html::row\fR \fIargs\fR\fR 產生一個表格行,包含 TR 和 TD 標籤。\fIargs\fR 的每個值都置入各自的表格單元中。它使用了 \fB::html::cell\fR. .TP \fB::html::paramRow\fR \fIlist\fR ?\fIrparam\fR? ?\fIcparam\fR?\fR 產生一個表格行,包含 TR 和 TD 標籤。\fIargs\fR 的每個值都置入各自的表格單元中。它使用了 \fB::html::cell\fR. \fIrparam\fR 用作 TR 標籤的引數,\fIcparam\fR 的值被傳給 \fB::html::cell\fR,作為 TD 標籤的引數。 .TP \fB::html::select\fR \fIname param choices\fR ?\fIcurrent\fR?\fR 產生一個 SELECT 表單元素以及內建的 OPTION 標籤。 \fIname\fR 和 \fIparam\fR 用來產生 SELECT 標籤。 \fIchoices\fR 列表是一個 Tcl 樣式的 name-value 列表。 .TP \fB::html::selectPlain\fR \fIname param choices\fR ?\fIcurrent\fR?\fR 類似 \fB::html::select\fR 但 \fIchoices\fR 是一個 Tcl 值的列表,用於 OPTION 標籤。每個 OPTION 的標籤和值是相同的。 .TP \fB::html::submit\fR \fIlabel\fR ?\fIname\fR?\fR 產生一個 SUBMIT 型別的 INPUT 標籤。 \fIname\fR 預設是 "submit". .TP \fB::html::set\fR \fIvar val\fR\fR 這個子程式與內建的 Tcl \fBset\fR 控制結構相似。主要區別是它返回 "" 因此可以在一個 HTML 模板檔案中呼叫,不會產生奇怪的結果。另外的區別是它需要兩個引數。 .TP \fB::html::tableFromArray\fR \fIarrname\fR ?\fIparam\fR? ?\fIpat\fR?\fR 產生一個 TABLE 和內建的行,來顯示一個 Tcl 陣列。\fIparam\fR 是為 TABLE 標籤準備的。\fIpat\fR 是一個 \fBstring match\fR 模式,用來選擇陣列元素,預設是 "*". .TP \fB::html::tableFromList\fR \fIquerylist\fR ?\fIparam\fR?\fR 產生一個 TABLE 和內建的行來顯示 \fIquerylist\fR, 一個 Tcl 樣式的名稱和值列表。\fIparam\fR 是為 TABLE 標籤設定的。 .TP \fB::html::textarea\fR \fIname\fR ?\fIparam\fR? ?\fIcurrent\fR?\fR 產生一個 TEXTAREA 標籤,包圍 (wrapped) 在它的當前值 .TP \fB::html::textInput\fR \fIname args\fR\fR 產生一個 TEXT 型別的 INPUT 表單標籤。這使用了 \fB::html::formValue\fR. 引數是你想在 INPUT 標籤中新增的任何附加標籤屬性。 .TP \fB::html::textInputRow\fR \fIlabel name args\fR\fR 產生一個 TEXT 型別的 INPUT 標籤,和一個相關標籤一起格式化到一個表格行中。引數是你想在 INPUT 標籤中新增的任何附加標籤屬性。 .TP \fB::html::title\fR \fItitle\fR\fR \fBSide effect only\fR. 在呼叫 \fB::html::head\fR 呼叫它來定義頁面的 TITLE。 .TP \fB::html::varEmpty\fR \fIname\fR\fR 如果指定名稱的變數不存在或者為空值則返回 1 。 .TP \fB::html::while\fR \fItest body\fR\fR 這個子程式類似於內建的 Tcl \fBwhile\fR 空值結構。但它返回聯接的 \fIbody\fR 而不是計算 body。迴圈的每一次都將另一個字串聯接到返回值中。 .SH "參見 SEE ALSO" ncgi, htmlparse .SH "關鍵字 KEYWORDS" html, form, table, checkbox, radiobutton, checkbutton .SH "[中文版維護人]" .B 袁乙鈞 .SH "[中文版最新更新]" .B 2003/11/10 .SH "《中國 Linux 論壇 man 手冊頁翻譯計劃》:" .BI http://cmpp.linuxforum.net .SH "跋" .br 本頁面中文版由中文 man 手冊頁計劃提供。 .br 中文 man 手冊頁計劃:\fBhttps://github.com/man-pages-zh/manpages-zh\fR