📄 rfc2629.txt
字号:
组织:中国互动出版网(http://www.china-pub.com/)
RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
译者:吴晓波(why_wxb why_wxb@sina.com)
译文发布时间:2001-6-15
版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须保留本文档
的翻译及版权信息。
Network Working Group M. Rose
Request for Comments: 2629 Invisible Worlds, Inc.
Category: Informational June 1999
用XML 写I-Ds 和 RFC文档
(RFC2629 Writing I-Ds and RFCs using XML)
关于本文档资料
本文档资料提供了一些关于网络通信的信息,没有详尽的描述某一种特定的标准。本文档资料的
可扩展性是无限的。
版权声明
Copyright (C) The Internet Society (1999). All Rights Reserved.
概述
本文档资料描述了使用可扩展标志语言(XML)为格式来描述I-Ds 以及RFC系列文档。
内容一览
1. 简介 . . . . . . . . . . . . . . . . . . . . . . . 2
2. 使用DTD描写I-Ds和RFCs . . . . . . . . . . . . . 2
2.1 XML 基础. . . . . . . . . . . . . . . . . . . . . . 2
2.2 开头(Front matter) . . . . . . . . . . . . . . . .. 4
2.2.1 title元素 . . . . . . . . . . . . . . . . . .. . . 5
2.2.2 author元素 . . . . . . . . . . . . . . . . . . . . . 5
2.2.3 gate元素 . . . . . . . . . . . . . . . . . . . . . . 5
2.2.4 Meta Data 元素 . . . . . . . . . . . . . . . . . . . 5
2.2.5 abstract元素 . . . . . . . . . . . . . . . . . . . . 6
2.2.6 note 元素 . . . . . . . . . . . . . . . . . . . . . . 6
2.2.7 状态, 版权声明, 内容列表 . . . . . . . . . . . . . . 6
2.2.7.1 顺应 RFC 2026 . . . . . . . . . . . . . . . . . . . 6
2.2.8 初始. . . . . . . . . . . . . . . . . . . . . . . . .7
2.3 中间层 . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.1 section元素 . . . . . . . . . . . . . . . . . . . . 8
2.3.1.1 t 元素 . . . . . . . . . . . . . . . . . . . . . . .8
2.3.1.2 list 元素 . . . . . . . . . . . . . . . . . . . . . .9
2.3.1.3 figure 元素 . . . . . . . . . . . . . . . . . . . . .9
2.3.1.4 xref 元素 . . . . . . . . . . . . . . . . . . . . . 10
2.3.1.5 eref 元素 . . . . . . . . . . . . . . . . . . . . . 11
2.3.1.6 iref 元素 . . . . . . . . . . . . . . . . . . . . . 11
2.3.1.7 vspace 元素 . . . . . . . . . . . . . . . . . . . . 11
2.4 附属资料 . . . . . . . . . . . . . . . . . . . . . 12
2.4.1 参考元素 . . . . . . . . . . . . . . . . . . . . . . 12
2.4.2 附录 . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.3 版权情况 . . . . . . . . . . . . . . . . . . . . . .13
3. 处理XML源文件 . . . . . . . . . . . . . . . . . .. 13
3.1 编辑 . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.1 检查 . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 转换成文本格式 . . . . . . . . . . . . . . .. . . . 14
3.3 转换成HTML 格式 . . . . . . . . . . . . . . . . . . 14
3.4 视图 . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5 查找 . . . . . . . . . . . . . . . . . . . . . . . .14
4. 安全问题 . . . . . . . . . . . . . . . . . . . . . . 4
参考 . . . . . . . . . . . . . . . . . . . . . . . . 15
作者地址 . . . . . . . . . . . . . . . . . . . . . . 15
A. rfc 元素 . . . . . . . . . . . . . . . . . . . . . .15
B. RFC DTD . . . . . . . . . . . . . . . . . . . . . . 16
C. 其他 . . . . . . . . . . . . . . . . . . . . . . . . 19
索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
全部版权声明 . . . . . . . . . . . . . . . . . . . . . . . . . 21
1. 简介
本文档资料描述如何用可扩展标志语言[1] (XML)写I-D 和RFC文挡。本文档有三个目标:
1. 对于类似RFC的结构简单的文档,使用简单的XML DTD(文档类型定义)就能满足处理要求,同时
也允许有复杂的描述性特征.
2. 描述可处理XML源文件的软件,包括一些工具,可以产生符合RFC 2223 [2], HTML格式等的文档.
3. 对前两个目标进行一些概念上的验证(本文档用上述DTD描述且使用上述软件).
讨论使用XML作为RFC-like 文档的源格式的政治上的分支超出了本规章的范围. 我们宁愿说XML
只是在纯文本的基础上加上最少的变化:
o 允许使用所熟悉的编辑器编辑传统的类似 RFC 文档文本;
o 在已有的软件环境中需要加入一些东西,虽然很少;
o 允许使用有组织的或无组织的机制进行信息的组织,查询和抽取.
2. 使用 DTD 写I-Ds 和 RFC
本章节没有提供对XML的正式的或全面的描述.而只是讨论了使用文档类型申明(DTD)写类似RFC 文
档所需要的内容.
如果你已经对XML很熟悉,那就跳到附录B直接去看DTD.
2.1 XML基础
写XML时得规则很少,语法也很简单.有以下五点需要注意:
1. 一个 "元素"通常指一个开始标签, 一个结束标签, 及之间的所有字段,例:
"<example>文本 与/或 嵌套元素</example>"
2. 一个"empty 元素" 包含了开始标签和结束标签,如"<empty/>". 在 HTML中没有这种用法.
3. "attribute"是元素的一部分. 如果有,它们出现在开始标签中,如 "<example name='值'>".当
然,它们也可以出现在空元素中,如 "<empty name='值'/>".
4. "entity"是一段以"&"开始的宏文本,不要感到麻烦,只有需要在文本中要有 "&"或 "<"符号时
才会用到它.
5. "token" 是字符型字段.以字母或下划线("_")开头. 后面的字符只能是字母,数字, 下划线或者
句点(".").
首先,你的XML源程序应从XML申明开始,接着是DTD引用,然后是"rfc" 元素.
<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<rfc>
...
</rfc>
不用去管前两行—申明和引用—只要把它们看成是透明的就行了. "</rfc>"标签之后不能再出现
其他任何东西.
其次,保证所有的元素是完全匹配且是正确嵌套的.
一个完全匹配的元素是以"<example>"开始,最终以"</example>"结束.(空元素总是匹配的)
元素应正确嵌套以免出现交叉重复.
例如,
<outer>
...
<inner>
...
</inner>
...
</outer>
是正确嵌套的.
但是,
<outer>
...
<inner>
...
</outer>
...
</inner>
元素出现交叉, 所以元素没有正确嵌套.
第三,永远不要在文档里使用 "<" 或 "&" 等. 而应该分别使用 "<" 或 "&".
第四, XML中有两种引用特征符号, '单引号' 和 "引号". 要保证所有的属性值都是被引用的.例:
"<example name='value'>", 如果属性值包含其中一种引用特征符号,那就使用另一种引用特征符号
把属性值引用进来,如, "<example name='"'>", 如果属性值里两种引用特征符号都含有的话, 那就使
用其中的一种来引用属性值,并将属性值中的这种符号用'''(单引号) 或 """ (引号)来代
替,如:
"<example name='"'"'>".
如果你想在源文件中加入注释,其语法如下:
<!-- 如果你愿意,
注释可以为多行-->
最后请注意, XML 是区分大小写的.
2.2 开头部分
紧跟在"<rfc>"标签后的是 "front" 元素:
<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<rfc>
<front>
<title ...>
<author ...>
<author ...>
<date ...>
<area ...>
<workgroup ...>
<keyword ...>
<keyword ...>
<abstract ...>
<note ...>
</front>
...
</rfc>
(请注意在所有的例子中的文字缩进只是为了解释得更清楚.)
"front" 元素包含有一个 "title" 元素, 一个或多个 "author" 元素, 一个 "date" 元素, 一个或
多个可选的 "area" 元素, , 一个或多个可选的"workgroup" 元素, 一个或多个可选的 "keyword" 元
素, 一个可选的"abstract" 元素. 还有, 一个或多个可选的"note" 元素.
2.2.1 title 元素
"title" 元素标识了文档的标题. 因为标题是在文档的开头部分(符合[2]的格式), 如果标题长度超
过 42 个字符, 就需要提供一个简称,如,
<title abbrev="Much Ado about Nothing">
The IETF's Discussion on "Source Format of RFC documents"
</title>
2.2.2 author 元素
每一个 "author" 元素标识了一个文档的作者.因为一篇文档可能不只一个作者,所以可以出现一个
以上的"author" 元素. 如果作者是人名,则"<author>" 标签内必须要有三个属性: "initials",
"surname",和 "fullname", 如,
<author initials="M.T." surname="Rose"
fullname="Marshall T. Rose">
"author" 元素本身包含了一个"organization" 元素和一个可选的 "address" 元素.
"organization" 元素类似与 "title" 元素, 表示一串很长的组织名,其中用"abbrev" 属性表示它
的简称,如,
<organization abbrev="ISI">
USC/Information Sciences Institute
</organization>
"address" 元素包含一个可选的"postal" 元素, 一个可选的 "phone" 元素, 一个可选的
"facsimile" 元素, 一个可选的 "email" 元素, 和一个可选的 "uri" 元素.
"postal" 元素包括一个或多个"street" 元素,后面跟着以下元素的组合: "city", "region" (国
家或省份), "code"(缩略号或邮政编码), 和"country" 元素,如:
<postal>
<street>660 York Street</street>
<street>M/S 40</street>
<city>San Francisco</city> <region>CA</region>
<code>94110</code>
<country>US</country>
</postal>
这里的弹性机制兼容了不同国家不同格式的邮政地址.但要注意,这里虽然没有提及 "city",
"region", "code", 和 "country" 元素的顺序, 大多数情况下每一个都会出现. 然而这些元素在XML
应用程序处理过程中不能重复出现. (如, 显示程序应能保持包含在这些元素的信息的顺序).
最后, "country" 元素的内容应该是符合ISO 3166的双字节码.
"phone", "facsimile", "email", 及"uri" 元素都只能出现一次,如:
<phone>+1 415 695 3975</phone>
<email>mrose@not.invisible.net</email>
<uri>http://invisible.net/</uri>
2.2.3 date 元素
"date" 元素标识了文档的出版时间,它包括一个"month" 和一个"year", 如:
<date month="February" year="1999" />
"date" 元素也有一个可选的属性.
2.2.4 Meta Data 元素s
"front" 元素也可能包含 meta data – 此元素间的内容不会在印刷版的文档中显示出来.
一篇文档有一个或多个可选的 "area", "workgroup" 和 "keyword" 元素,如:
<area>General</area>
<workgroup>RFC Beautification Working Group</workgroup>
<keyword>RFC</keyword>
<keyword>Request for Comments</keyword>
<keyword>I-D</keyword>
<keyword>Internet-Draft</keyword>
<keyword>XML</keyword>
<keyword>Extensible Markup Language</keyword>
"area" 元素标识了文档的大致范畴, (如, "Applications", "General", "Internet",
"Management", "Operations", "Routing", "Security", "Transport", 或 "User"中的一个), 而
"workgroup" 元素标识了制订本文档的IETF工作组,"keyword" 元素标识了一些有用的搜索条件.
2.2.5 abstract 元素
一篇文档可能有一个 "abstract" 元素,它包含了一个或多个 "t" 元素(见2.3.1.1).一般地说,只
有一个"t" 元素会出现,如,
<abstract>
<t>This memo presents a technique for using XML
(Extensible Markup Language) as a source format
for documents in the Internet-Drafts (I-Ds) and
Request for Comments (RFC) series.</t>
</abstract>
2.2.6 note 元素
一篇文档可以有一个或多个 "note" 元素, 其中每一个元素可以包含一个或多个"t" 元素 (见
2.3.1.1). 其中有一个必须的"title"属性.一般地说, "note" 元素包含从IESG来的文本, 例:
<note title="IESG Note">
<t>The IESG has something to say.</t>
</note>
2.2.7 状态, 版权申明,目录
注意到有关文档状态, 版权申明,或目录等内容并没有包含在文档中 –当XML应用程序创建文本文
档或HTML文档时,它会被自动插入到XML应用程序中.
2.2.7.1 与 RFC 2026相一致
如果提出了Internet草案,则 "ipr"必须在文件开始处加入到"<rfc>" 标签中.该属性的值必须为
以下之一:
full2026: 说明此文档是完全顺应 RFC 2026第10章规定的;
noDerivativeWorks2026: 说明此文档是完全顺应 RFC 2026第10章规定,但没有经过授权不能有相
关派生工作.
或:
none: 说明此文档不是顺应 RFC 2026第10章规定的,除了作为Internet草案出版之外,作者不提供
予其它任何权利.
后面这种情况, XML应用程序在创建过程中不会自动插入版权申明.
更多详细情况请参阅 [3].
最后,如果该Internet草案是被提交到自动处理过程中, 则 " docName "必须在文件开始处加入到
"<rfc>" 标签中. 该属性的值包含与Internet草案关联文档 (不是文件)的名称.如,
<rfc ipr="full" docName="draft-mrose-writing-rfcs-01">
...
</rfc>
2.2.8 开始中的一切
现在, 把它们连在一起,我们有下例,
<front>
<title>Writing I-Ds and RFCs using XML</title>
<author initials="M.T." surname="Rose"
fullname="Marshall T. Rose">
<organization>Invisible Worlds, Inc.</organization>
<address>
<postal>
<street>660 York Street</street>
<street>M/S 40</street>
<city>San Francisco</city> <region>CA</region>
<code>94110</code>
<country>US</country>
</postal>
<phone>+1 415 695 3975</phone>
<email>mrose@not.invisible.net</email>
<uri>http://invisible.net/</uri>
</address>
</author>
<date month="February" year="1999" />
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -