Lotus
DDoommiinnoo UURRLL命命令令
整理翻译:chenybin
时间:2005 年 12 月 6 日
版权所有:应该是 IBM
前言
众所周知,Domino R5 以后对于 Designer 就没有中文帮助了,给开发带来许多不
便。加上想了解 Ajax 在 Domino 中的应用,所以
翻译帮助中 Domino URL
Command 和 Domino DTD 相关的内容,由于英语水平实在欠佳,搁置了很长时
间。值得欣慰的是,历时半年之久,最后总算是有了个结果。16.2
的是在翻
译过程中碰到的不懂的单词,16.3 本打算记录自己开发过程中的一些技巧,后来
懒了就不想动了。就在写这个说明的时候才发现,R5 的帮助里面其实都有,根
本不需要费这么大力气去翻译。/
整个过程最大的收获就是学会了排版和如何转换 pdf。
希望本文对大家能有所帮助,工作顺利,心想事成。
Chenybin@21cn.com 2006 年 5 月 15 日夜
chenybin
附注
“chenybin”设置的“Completed”
chenybin
附注
“chenybin”设置的“Accepted”
chenybin
附注
“chenybin”设置的“Unmarked”
chenybin
附注
“chenybin”设置的“Unmarked”
chenybin
附注
“chenybin”设置的“MigrationConfirmed”
chenybin
附注
“chenybin”设置的“MigrationConfirmed”
I
目 录
第一章 概述 ..........................................................................................................1
1.1. Domino URL命令语法 ............................................................................1
1.2. 语法指南...................................................................................................1
第二章 服务器、数据库和视图 ..........................................................................3
2.1. Redirect .....................................................................................................3
2.2. OpenDatabase ...........................................................................................3
2.3. OpenView .................................................................................................4
2.3.1. OpenView的可选参数 ......................................................................4
2.4. ReadViewEntries ......................................................................................5
2.4.1. ReadViewEntries的可选参数 ...........................................................5
2.5. OpenAbout................................................................................................7
2.6. OpenHelp ..................................................................................................7
2.7. OpenIcon...................................................................................................7
第三章 帧结构 ......................................................................................................8
3.1. OpenFrameset ...........................................................................................8
第四章 代理,表单和导航器 ..............................................................................9
4.1. OpenAgent ................................................................................................9
4.2. OpenForm .................................................................................................9
4.2.1. OpenForm的可选参数 ......................................................................9
4.3. OpenNavigator........................................................................................10
4.4. ReadForm................................................................................................10
第五章 打开资源 ................................................................................................ 11
5.1. OpenImageResource ...............................................................................11
5.2. OpenFileResource...................................................................................11
第六章 增加、删除、编辑、打开和保存文档 ................................................12
6.1. CreateDocument .....................................................................................12
6.2. DeleteDocument .....................................................................................12
II
6.3. EditDocument .........................................................................................12
6.4. OpenDocument .......................................................................................13
6.5. SaveDocument ........................................................................................13
第七章 在URL命令中通过key打开指定文档...................................................14
7.1. 使用Domino URL访问文档 ..................................................................14
7.2. 使用@commands链接一个文档............................................................14
7.3. 使用Domino URLs访问附件 .................................................................14
第八章 页面 ........................................................................................................16
8.1. OpenPage ................................................................................................16
8.2. OpenPage和OpenDocument的可选参数...............................................16
第九章 附件、图形和OLE对象.........................................................................18
9.1. OpenElement...........................................................................................18
9.2. 使用OpenElement打开附件...................................................................18
9.3. 使用OpenElement打开图像文件...........................................................18
9.4. OpenElement的可选参数.......................................................................18
9.5. 使用OpenElement打开OLE对象...........................................................19
第十章 搜索文本 ................................................................................................20
10.1. SearchDomain.........................................................................................20
10.2. Redirect ...................................................................................................20
10.3. SearchSite ...............................................................................................20
10.4. SearchView.............................................................................................21
10.4.1. SearchSite, SearchView和SearchDomain的可选参数 ............21
10.5. URL搜索语法和结果定制.....................................................................22
10.5.1. Start 和 Count 参数 ...............................................................22
第十一章 通过Start和Count参数使用前后页按钮或热点 ...................................24
11.1. 下一页按钮或热点的公式示例.............................................................24
11.2. 上一页按钮或热点的公式示例.............................................................24
第十二章 验证必须的URL命令 ............................................................................25
12.1. Login命令 ...............................................................................................25
III
12.2. Logout命令 .............................................................................................25
第十三章 处理SSL验证..........................................................................................26
13.1. 带SpecialAction参数的OpenForm.........................................................26
13.2. 建立一个SSL用户证书..........................................................................26
13.3. 建立一个SSL服务器证书请求..............................................................27
第十四章 在Web应用程序中设置用户首选项 .....................................................28
14.1. OpenPreferences .....................................................................................28
14.2. OpenPreferences的可选参数 .................................................................28
第十五章 单一数据库中管理多语言输入 ............................................................30
第十六章 附录 ........................................................................................................31
16.1. CGI变量表..............................................................................................31
16.2. 变态单词列表.........................................................................................33
16.3. Domino 视图相关DTD .........................................................................35
16.3.1. ViewEntries 根元素.................................................................35
16.3.2. ViewEntry 元素 .......................................................................35
16.3.3. Entrydata 元素 .........................................................................37
16.4. Web开发技巧 .........................................................................................38
16.5. 排版约定.................................................................................................39
第一章 概述 y 1 y
第一章 概述
URL 命令是指,结合一个指定的 URL 来处理如文档和视图等内容。计算 Domino URL 命令
并在表单中转换为 HTML,为用户提供快速操作数据库和执行其他任务的途径。
1.1. Domino URL 命令语法
Domino URL 命令语法如下:
http://Host/DominoObject?Action&Arguments
其中:
; Host 一个 DNS 实体或 IP 地址
; DominoObject 一个 Domino 的结构(如,数据库,视图,文档,表单,导航器,
代理等等)。URL 命令访问一个 Domino 对象时采用如下的语法:
http://Host/Database/DominoObject?Action&Arguments
其中 Database 为 Domino 对象所在的数据库名。
; Action 希望在指定 Domino 对象上进行的操作(如?OpenDatabase,?OpenForm,
?OpenView,?OpenDocument,?EditDocument 等等)。
; Arguments 操作的限定条件(如,Count=10 和?OpenView 一起使用,则标识显示
在视图中的行数最多不超过 10 行)。
1.2. 语法指南
z Domino URL 不使用服务器名,而通过主机名进行辨认。
z 打开服务器文档,在 Internet
的 Http 标签,可以指定 URL 命令的最大允许长度,
也可以在这里设置其他限制。
z Domino URL 命令中包含如下特殊标识符:$defaultView,$defaultForm, $searchForm,
$file,$icon, $help,$about,和$first。
z DominoObject 可以是如下任何形式:针对数据库对象,使用数据库名或复制 ID(replica
ID);而对于其他对象,使用对象名,universal ID 或特殊标识符。如用 URL 指定一个
视图,可以使用视图名,视图的 universal ID 或$defaultView。
z Notes 数据库可以通过文件名来指定,比如 leads.nsf。也可以在数据库的复制 ID(replica
ID)前添加两个下划线,以.nsf 为后缀来指定,如__852562F3007ABFD6.nsf
z 在数据库的所有副本中,Domino 对象名和 Universal ID 等效。一个名称或别名可以指
向两个对象。如两个同名表单,其中一个对 Notes 用户隐藏,另一个对 Web 用户隐藏。
z Action 可以显式或隐式指定。显式方式如 ?OpenDatabase,?OpenView,?OpenForm,
Domino URL 命令 作者:chenybin@21cn.com
第一章 概述 y 2 y
?OpenDocument 和?EditDocument 等。而隐式方式为?Open,?Edit,和 ?Delete 等。如
果没有指定任何操作,Domino 默认为?Open。
z 若需要用户认证,可在任意 Domino URL 后添加 Login 参数。
z 由于 URL 不能包含空格,可用+号或 16 进制值%20 来代替空格,如:
http://cyb.com/discussion.nsf/By+Author
http://cyb.com/discussion.nsf/By%20Author
z 若名称或参数中含有不符合 URL 语法,或和 URL 语法冲突的字符,如加号(+),斜杠(/,
\),连接符(&)等,需要使用%xx(xx 是 16 进制的 ASCII 码)代替。如打开一个关键字中
包含“Smith&Jones, Inc.”的文档,如下:
http://cyb.com/leads.nsf/By%20Company/Smith%26Jones,%20Inc.?OpenDocumen
t
z 使用&符号分隔参数,如:
http://cyb.com/leads.nsf/By+Salesperson?OpenView&ExpandView
z 对层次名称用斜杠(/)来分隔,如在指定数据库(discussion.nsf)中,名为 Docs\By Author
的视图:
http://cyb.com/discussion.nsf/Docs/By+Author
在应用程序的任何部分生成自己的 URL 时,若在简单别名中使用不支持的字符,一般说来
这个 URL 不可能有效
z URL 命令也可以指向.nsf4 或.box 为扩展名的数据库,以及模版文件(.ntf),但是这些数
据库只能在预览模式下打开。
z 在数据库属性中,选择“Web 访问:当生产页面时使用 JavaScript”,计算 URL 时会为
按钮和热点生产点击事件。如果该选项未被选中,URL 附加按钮和热点会在页面生成
的时候进行计算。如果在表单中使用可以编辑域,这个选项是很有用的。
Domino URL 命令 作者:chenybin@21cn.com
第二章 服务器、数据库和视图 y 3 y
第二章 服务器、数据库和视图
以下命令访问服务器,数据库,视图,“关于数据库”文档,帮助文档和数据库图标。为了
能通过 URL 命令访问到,数据库必须在 notes\data 目录或 notes\data 目录的子目录下,服务
器命令?Login,?Logout 和?Rediect 除外。当 Domino 与 Microsoft Internet Information Server
一起运行时,服务器命令的语法如果需要数据库,可以使用并不存在的数据库名称。如果服
务器命令中引用的数据库不存在,那么该命令将被忽略。使用?Redirect 来重定向其他服务
器的文档链接,隐藏设计元素同时针对服务器隐藏。在视图中隐藏的文档,不能通过 Domino
URL 命令访问。
2 如果设置了数据库属性“禁止 URL 打开”,URL 命令将被禁止。
2.1. Redirect
☆语法
http://Server/Dummy.nsf?Redirect&Name=notesserver&Id=repid&To=encodedurl
其中:
; http://Server 指向生成 URL 的 Web 服务器。
; Name=notesserver 以普通或简略形式指定 Domiao 服务器名。当“按数据库”设定
可用时此为可选参数。
; ID=repid 指出需要定位的数据库复制 ID(replica ID),为可选参数。
; To=encodedurl 指定转向的 URL。
★示例
http://cyb.com/dummy.nsf?Redirect&Name=Mister%2FHankey&Id=0525666D0060A
BBF&To=%FAView%3FOpenView
2 在使用?Logout 命令强制注销,可以利用&RediectTo 参数重定向到另外的 Web 站
点。
2.2. OpenDatabase
☆语法
http://Host/__DatabaseReplicaID.nsf?OpenDatabase
★示例
http://cyb.com/leads.nsf?OpenDatabase
http://cyb.com/sales/discussion.nsf?OpenDatabase
Domino URL 命令 作者:chenybin@21cn.com
第二章 服务器、数据库和视图 y 4 y
http://cyb.com/__852562F3007ABFD6.nsf?OpenDatabase
2.3. OpenView
☆语法
http://Host/Database/ViewName?OpenView
http://Host/Database/ViewUniversalID?OpenView
http://Host/Database/$defaultview?OpenView
★示例
http://cyb.com/leads.nsf/By+Salesperson?OpenView
http://cyb.com/leads.nsf/DDC087A8ACE170F8852562F300702264?OpenView
http://cyb.com/leads.nsf/$defaultview?OpenView
2.3.1. OpenView 的可选参数
添加可选参数改善 URL。结合以下任意参数获得期望的结果,除非特别设置其他信息。
Collapse=n
其中 n 为层次视图中折叠的行数。本参数不能和 ExpandView 或 ColapseView 同时使用。
CollapseView
折叠方式显示视图
Count=n
其中 n 为需要显示的行数
Expand=n
其中 n 为层次视图中展开的行数。本参数不能和 ExpandView 或 ColapseView 同时使用。
ExpandView
展开方式显示视图
RestrictToCategory=category
设置分类为“显示单一分类”对象,其中 category 为在视图中被显示的分类。
Start=n
其中 n 为视图显示时起始行数。在层次视图中,行数会包含有子索引(如 Start=3.5.1
意为第 3 个主题下面,第 5 个子标题下的第 1 个文档)
StartKey=string
其中 string 为视图中某个文档的关键字。视图从该文档开始显示。
★示例
Domino URL 命令 作者:chenybin@21cn.com
第二章 服务器、数据库和视图 y 5 y
http://cyb.com/leads.nsf/DDC087A8ACE170F8852562F30070226400000196?OpenV
iew&CollapseView
http://cyb.com/leads.nsf/DDC087A8ACE170F8852562F30070226400000196?OpenV
iew&ExpandView
http://cyb.com/leads.nsf/By+Category?OpenView&RestrictToCategory=pricin
g
http://cyb.com/leads.nsf/DDC087A8ACE170F8852562F30070226400000196?OpenV
iew&Start=3&Count=15
http://cyb.com/leads.nsf/DDC087A8ACE170F8852562F30070226400000196?OpenV
iew&StartKey=F
2.4. ReadViewEntries
使用此命令访问 XML 形式的视图数据,不包括诸如字体,列分隔符,数据
,HTML 设
定,视图模板以及帧重定向等外观属性。
2 仅当用户允许访问时,此命令才返回文档。
☆语法
http://Host/Database/ViewName?ReadViewEntries
http://Host/Database/ViewUniversalID?ReadViewEntries
http://Host/Database/$defaultview?ReadViewEntries
★示例
http://cyb.com/leads.nsf/By+Salesperson?ReadViewEntries
http://cyb.com/leads.nsf/DDC087A8ACE170F8852562F300702264?ReadViewEntri
es
http://cyb.com/leads.nsf/$defaultview?ReadViewEntries
2.4.1. ReadViewEntries 的可选参数
添加可选参数修饰 URL。结合以下任意参数获得期望的结果,除非有其他的注明。
Collapse = n
其中 n 为层次视图中折叠的行数。本参数不能和 ExpandView 或 ColapseView 同时使用。
CollapseView
折叠方式显示视图
Count=n
其中 n 为需要显示的行数
Expand=n
其中 n 为层次视图中展开的行数。本参数不能和 ExpandView 或 ColapseView 同时使用。
Domino URL 命令 作者:chenybin@21cn.com
第二章 服务器、数据库和视图 y 6 y
ExpandView
展开方式显示视图
KeyType = text|time (
指定 StartKey 的类型。若不指定,默认为 text,即文本方式。设置 KeyType 为 Time.,
允许使用时间值作为视图数据的显示范围,从 StartKey 行开始,直到 UntilKey 指定的
行。如果指定了&KeyType=time,&StartKey 和&UntilKey 可能是 ISO 的日期时间值。
比如你可以使用 20020101T140000,00Z 来表示协调世界时(UTC)或格林尼治
时
间(GMT)的东部标准时间上午 9:00,或者使用 20020101T090000,00-05 来指定相同
日期和时间加上本地时间偏移量。
PreFormat
致使服务器上所有类型转换为文本格式。文本列表,数字,日期和数字列表在发送前
被转换成文本。服务器地区设置被用于所有格式。如果没有该参数,则 XML 输出流
将包含结构化的、地区不确定格式的信息。
ResortAscending = column number
ResortDecending = column number
column number 为视图中列的以 0 起始的序号。此参数用来设置以指定列按字母升序
或降序排序。
RestrictToCategory=category
设置分类为“显示单一分类”对象,其中 category 为在视图中被显示的分类。
Start=n
其中 n 为视图显示时起始行数。在层次视图中,行数会包含有子索引(如 Start=3.5.1
意为第 3 个主题下面,第 5 个子标题下的第 1 个文档)
StartKey = string
string 是排序视图中文档的一个关键字。视图从该文档开始显示。如果没有找到和
StartKey 参数匹配的文档,则返回下一文档。所以,如果 StartKey 的值为“A”,但是
没有找到相应的文档,则 StartKey 返回以“B”开始的文档。
UntilKey = string
UntilKey 只能和 StartKey 参数一起使用。用它设置视图中允许显示视图实体范围,从
文档关键字值 StartKey 开始直到 UntilKey。如&StartKey=A&UntilKey=B 表示,从 A
开始的所有实体。不论返回的实体范围如何,&Count 关键字会限定显示的最小范围。
★示例
http://cyb.com/leads.nsf/DDC087A8ACE170F8852562F30070226400000196?ReadV
iewEntries&CollapseView
http://cyb.com/leads.nsf/DDC087A8ACE170F8852562F30070226400000196?ReadV
iewEntries&ExpandView
http://cyb.com/leads.nsf/By+Category?ReadViewEntries&PreFormat
Domino URL 命令 作者:chenybin@21cn.com
第二章 服务器、数据库和视图 y 7 y
http://cyb.com/leads.nsf/By+Category?ReadViewEntries&RestrictToCategory
=pricing
http://cyb.com/leads.nsf/DDC087A8ACE170F8852562F30070226400000196?ReadV
iewEntries&Start=3&Count=15
http://cyb.com/leads.nsf/DDC087A8ACE170F8852562F30070226400000196?ReadV
iewEntries&StartKey=F
2.5. OpenAbout
使用 OpenAbout 命令访问数据库的“关于本数据库”文档。
☆语法
http://Host/Database/$about?OpenAbout
★示例
http://cyb.com/leads.nsf/$about?OpenAbout
2.6. OpenHelp
使用 OpenHelp 命令访问数据库的“使用本数据库”文档。
☆语法
http://Host/Database/$help?OpenHelp
★示例
http://cyb.com/Database/$help?OpenHelp
2.7. OpenIcon
使用 OpenIcon 命令访问数据库图标。
☆语法
http://Host/Database/$icon?OpenIcon
★示例
http://cyb.com/Database/$icon?OpenIcon
Domino URL 命令 作者:chenybin@21cn.com
第三章 帧结构 y 8 y
第三章 帧结构
3.1. OpenFrameset
☆语法
http://Host/Database/FramesetName?OpenFrameset
http://Host/Database/FramesetUNID?OpenFrameset
★示例
http://cyb.com/discussion.nsf/main?OpenFrameset
http://cyb.com/discussion.nsf/35AE8FBFA573336A852563D100741784?OpenFram
eset
Domino URL 命令 作者:chenybin@21cn.com
第四章 代理,表单和导航器 y 9 y
第四章 代理,表单和导航器
以下命令打开数据库中的代理,表单和导航器。隐藏设计元素同时针对服务器隐藏。不能通
过 Domino 的 URL 命令访问隐藏表单的文档。
4.1. OpenAgent
☆语法
http://Host/Database/AgentName?OpenAgent
★示例
http://cyb.com/sales/leads.nsf/Process+New+Leads?OpenAgent
2 代理只能通过名称来指定,不支持 UNID 指定的方式。
4.2. OpenForm
☆语法
http://Host/Database/FormName?OpenForm
http://Host/Database/FormUniversalID?OpenForm
http://Host/Database/$defaultform?OpenForm
★示例
http://cyb.com/products.nsf/Product?OpenForm
http://cyb.com/products.nsf/625E6111C597A11B852563DD00724CC2?OpenForm
http://cyb.com/products.nsf/$defaultform?OpenForm
4.2.1. OpenForm 的可选参数
ParentUNID = UniqueIDNumber
其中:
; UniqueIDNumber 为当前文档的父文档 ID,仅在答复表单或表单属性设置“公式
继承选定文档中的数值”时使用。
☆语法
http://Host/Database/FormUniversalID?OpenForm&ParentUNID
★示例
http://cyb.com/products.nsf/40aa91d55cle4c8285256363004dc9e0?OpenForm&P
Domino URL 命令 作者:chenybin@21cn.com
第四章 代理,表单和导航器 y 10 y
arentUNID=6bc72a92613fd6bf852563de001f1a25
4.3. OpenNavigator
☆语法
http://Host/Database/NavigatorName?OpenNavigator
http://Host/Database/NavigatorUniversalID?OpenNavigator
http://Host/Database/$defaultNav?OpenNavigator
$defaultNav 打开数据库的文件夹面板
★示例
http://cyb.com/products.nsf/Main+Navigator?OpenNavigator
http://cyb.com/products.nsf/7B5BC17C7DC9EB7E85256207004F8862?OpenNaviga
tor
http://cyb.com/products.nsf/$defaultNav?OpenNavigator
4.4. ReadForm
使用 ReadForm 命令打开表单时,所有可编辑域都不被显示。当需要以简单页面方式显示一
个表单时非常有用。
☆语法
http://Host/Database/FormName?ReadForm
http://Host/Database/FormUniversalID?ReadForm
http://Host/Database/$defaultform?ReadForm
★示例
http://cyb.com/home.nsf/Welcome?ReadForm
http://cyb.com/products.nsf/625E6111C597A11B852563DD00724CC2?ReadForm
http://cyb.com/products.nsf/$defaultform?ReadForm
Domino URL 命令 作者:chenybin@21cn.com
第五章 打开资源 y 11 y
第五章 打开资源
以下Domino命令在一个NSF应用程序中,打开资源,允许导入的设计元素,保存和发布的各
种文件,在Web应用程序和通过WebDAV设计应用程序时,有着广泛的应用。
更多信息参考"Sharing non-NSF files"。
5.1. OpenImageResource
在应用程序中打开一个图像资源。
☆语法
http://Host/Database/ImageResourceName?OpenImageResource
其中:
; ImageResourceName 为要访问的图像文件名。
★示例
http://cyb.com/leads.nsf/TopHeader.gif?OpenImageResource
5.2. OpenFileResource
在应用程序中打开一个文件资源
☆语法
http://Host/Database/FileResourceName?OpenFileResource
其中:
; FileResourceName 要访问的文件名。
★示例
http://cyb.com/leads.nsf/JSLibrary.js?OpenFileResource
Domino URL 命令 作者:chenybin@21cn.com
第六章 增加、删除、编辑、打开和保存文档 y 12 y
第六章 增加、删除、编辑、打开和保存文档
以下命令操作一个数据库中的文档。隐藏设计元素同时针对服务器隐藏。在视图中隐藏的文
档,不能通过Domino URL命令访问。
6.1. CreateDocument
HTML 表单以 POST 方式提交时使用 CreateDocument 命令。当用户提交一个表单时,Domino
获得表单中输入的数据并创建一个文档
☆语法
http://Host/Database/Form?CreateDocument
http://Host/Database/FormName?CreateDocument
其中:
; FormName 正在访问的表单名。
★示例
http://cyb.com/products.nsf/b9815a87b36a85d9852563df004a9533?CreateDocu
ment
http://cyb.com/products.nsf/basketballs?CreateDocument
6.2. DeleteDocument
☆语法
http://Host/Database/View/Document?DeleteDocument
★示例
http://cyb.com/products.nsf/By+Part+Number/PC156?DeleteDocument
6.3. EditDocument
☆语法
http://Host/Database/View/Document?EditDocument
★示例
http://cyb.com/products.nsf/By+Part+Number/PC156?EditDocument
2 当 web 用户以编辑者访问一个文档时,会显示 RTF 域包含的隐藏文本。
Domino URL 命令 作者:chenybin@21cn.com
第六章 增加、删除、编辑、打开和保存文档 y 13 y
6.4. OpenDocument
☆语法
http://Host/Database/View/Document?OpenDocument
其中:
; Document 是如下的任意形式
z DocumentKey 指定视图中第一个排序列的内容。
z DocumentUniversalID
; $first 视图中的第一个文档。
★示例
http://cyb.com/products.nsf/By+Part+Number/PC156?OpenDocument
http://cyb.com/leads.nsf/By+Rep/35AE8FBFA573336A852563D100741784?OpenDo
cument
6.5. SaveDocument
正在编辑的文档以 POST 方式提交时使用 SaveDocument 命令。Domino 根据表单录入的新
数据更新文档内容。
☆语法
http://Host/Database/View/Document?SaveDocumen