|
前页|后页| 目录|元素| 特性 文字目录
下面的一面讨论围绕文字的结构.格式文字的元素(对齐
元素,字体元素,字形元素等等)将在这份说明书的以后讨
论.如果有字符语法的问
题请参阅SGML部分.
空白区域SGML说明书严格区分开始符(line feeds)?和结束符(carriage returns). 在国际互联网上,有些平台使用carriage return line feed 对来 作为换行,有些只用line feeds,而有些只用carriage returns.因 此,用户代理器应当判定单个的line feed 和carriage return 字 符作为换行符,而carriage return line feed 对也应当作为单个 的换行符.(译注:这就是我们常说的ASCII码0A与OD的关系).紧跟着开始标记后出现的换行符应当被忽略,在结束标 记前的出现换行符也如此.这个应用对所有的HTML没有异 常.额外的,对所有除PRE 以外的元素,邻近空白区域的序列如空格,水平TAB,表单结 束和换行符均被替换成单个的空格字符. 众多的脚本(文字书写语言)与脚本间的对空白区域?的 看法是不同的,用户代理器应当用脚本敏感的方式来解除 空白区域.例如,对于拉丁语脚本,一个词的空格就是一个 空格(ASCII10进制码32),然而在泰语中是一个0-宽度的一个 字的单词分隔符,.在日语和汉语中,一个词的空格完全被 忽略. 这些规则允许作来使用空白区域来显示它们希望的标 注,HTML源中的空白区域不会被?任何用户代理器渲染. 例如,下面的HTML源码: <P> ?This example shows a paragraph and a list. </P> <UL> ? lt;LI> ?This is the <EM>first</EM> item ? </LI> ?<LI> ?This is the <EM>second</EM> item ?</LI> </UL> <P>This example shows a paragraph and a list. <UL> ? <LI>This is the <EM>first</EM> item ? <LI>This is the <EM>second</EM> item </UL>?应当可以被用户代理器相等地渲染. 单词空格处理能够并用应该在即使缺少?
lang特性指定语言信
息的情况下也能完成.attribute.这是个脚本问题,而非语言
问题.
结构化文本短语元素:EM,STRONG,DFN,CODE,SAMP,KBD,VAR,CITE, 和ACRONYM<!ENTITY%phrase "EM|STRONG|DFN|CODE| SAMP|KBD| VAR|CITE| ACRONYM"> <!ELEMENT (%font|%phrase) - - (%inline)*> <!ATTLIST (%font|%phrase) ?%attrs; ?-- %coreattrs, %i18n, %events -- ?>开始标记:需要,结束标记:需要 特性在它处定义
文字片断的短语可以加上结构化的信息.主要的短语元素
的涵义如下:
"More information can be found in <CITE>[ISO-0000]</CITE>." "Please refer to the following reference number in future correspondence: <STRONG>1-234-55</STRONG>"而ACRONYM元素允许作 者清清楚地标识一个组成缩略语的字符序列(如:"WWW","FNAC", "IRS",等等).标识缩略语的能力对于拼写检查,语音系统, 其它的用户代理器而工具来说是有用的. 在ACRONYM元素注解 中的内容指定了缩略语的本身.title 特性可以用来提供哪个缩略语被使用.这里是一些缩略语 定义例程: <ACRONYM title="World Wide Web">WWW</ACRONYM> <ACRONYM? lang="fr"? title="Société Nationale de Chemins de Fer"> SNCF </ACRONYM>短语元素的表现取决于用户代理器.通常,可视化用户代 理器以斜体字表现?EM文 本并以黑体来表现STRONG 文字.语音系统用户代理器则调整综合参数,如音量,音高 和相应的频率.缩略语则通过个别的字母分开发音. 注意:这个版本的HTML并没有包含用于缩
写的特殊的标注.我们建议语音系统使用客户端字典来展
开任何在文档中的缩写.对于专业化的词汇,文档中LINK
元素头可以来指定合适的字典.
引用 :BLOCKQUOTE 和Q 元素<!ELEMENTBLOCKQUOTE - - %block> <!ATTLIST BLOCKQUOTE ?%attrs; ?--%coreattrs,%i18n,%events -- ?cite ?%URL #IMPLIED?-- URL for source document or msg -- ?> <!ELEMENTQ - - (%inline)*> <!ATTLIST Q ?%attrs; ?--%coreattrs,%i18n,%events -- ?cite ?%URL #IMPLIED?-- URL for source document or msg -- ?>开始标记:需要,结束标记:需要 特性定义
在它处定义的特性
这里有两个元素来指定引用文字.BLOCKQUOTE
用来对长引用而Q有意用
来作为没用分段的引用.
这个例程格式选自"The Two Towers",作者J.R.R.
Tolkien,作为一个封闭引用.
<BLOCKQUOTE cite="http://www.mycom.com/tolkien/twotowers.html"> They went in single file, running like hounds on a strong scent, and an eager light was in their eyes. Nearly due west the broad swath of the marching Orcs tramped its ugly slot; the sweet grass of Rohan had been bruised and blackened as they passed. </BLOCKQUOTE> 引号uotation marksI我们建议使用风格
页来决定插入由Q或BLOCKQUOTE
元素限定的引用部分的前后引号,?对于当前语言上下文关
系(see the langattribute)
以及嵌套的引用层次是一种适当的方法.
不过,一些作者曾经只把BLOCKQUOTE 仅仅用于划定文字,为了保持目前作者的用法,建议用户 代理器不要把引号插入缺省风格. 此外,如果作者在Q或 BLOCKQUOTE元素中包 含了引号,用户代理器不应当插入额外的引号. 使用BLOCKQUOTE 来划定文字是好的风格页所反对的. 下标和上标:SUB 和SUP 元素<!-- subscripts and superscripts --> <!ELEMENT(SUB|SUP) - - (%inline)*> <!ATTLIST (SUB|SUP) ?%attrs; ?-- %coreattrs, %i18n, %events -- ?>开始标记:需要,结束标记:需要 在它处定义的特性
许多脚本(如法语)需要下标或上标来作适当的渲染.SUB
和SUPel元素可以在这些
情况下来标注.
这里,我们使用SUP
来提高法语单词中的"MlleDupont"的"lle".
?M<sup>lle</sup>Dupont 行和段落作者典型地把他们们的思想和论点分成有序的段落.对于 把信息组织成段落并不受段落内容影响:左对齐的段落和 双面对齐的段落表达了相同的论点.HTML标注对于定义一个段落是直爽的:用P 元素来定义一个段落. 然后段落的视觉表现却不是这么简单.一系列的事项, 风格的和技术上的,都必须被注意:
段落:P元素<!ELEMENTP - O (%inline)*> <!ATTLIST P ?%attrs; ?--%coreattrs,%i18n,%events -- ?%align; ?--align, text alignment -- ?>开始标记:需要,结束标记:?可选 P元素表示一个段落.但不 能包含一个封闭级的元素(包含P 自身).你可以省略结束标记,然后开始第二个封闭级的开 始标记.当然,也结束于附着的P . 例如,下面的两个例程:
空的P元素是坏的表单并
在渲染时被忽略.
<P>This is the first paragraph.</P> <P>This is the second paragraph.</P> ...a block element...也可以重写为没有结束标记: <P>This is the first paragraph. <P>This is the second paragraph. ...a block element...既然两种都可以在跟着的封闭元素之前隐式的结束.?相同 的,如果一个段落被包含于一个封闭元素中,象这样: <DIV> <P>This is the paragraph. </DIV>包含封闭元素的结束标记(这里是DIV) 也隐式地作为P元素的结 束标记. 段落的视觉渲染段落是如何进行视觉渲染的取决于用户代理器.段落经常 被渲染成左边齐平而右边页缘粗糙.从右到左的脚本有其 相适宜的缺省方式.HTML用户代理器典型地在渲染时为段落的前后加上空 白区域,例如: ?At the same time,there began to take form a system of numbering, ?the calendar,hieroglyphic writing,and a technically advanced ?art,all of which later influenced other peoples. ?Within the framework of this gradual evolution or cultural ?progress the Preclassic horizon has been divided into Lower, ?Middle and Upper periods,to which can be added a transitional ?or Protoclassic period with several features that would later ?distinguish the emerging civilizations of Mesoamerica.相反的,在小说中段落的首行缩进并且段落之间的距离等 同于上下的行距,例如: At the same time,there began to take form a system of ?numbering,the calendar,hieroglyphic writing,and a technically ?advanced art,all of which later influenced other peoples. Within the framework of this gradual evolution or cultural ?progress the Preclassic horizon has been divided into Lower, ?Middle and Upper periods,to which can be added a transitional ?or Protoclassic period with several features that would later ?distinguish the emerging civilizations of Mesoamerica.前例中的第2个由NCSA Mosaic 浏览器在1993年推出,用户代 理器通常不对双边页缘进行调整,因为没有复杂的连字惯 例难以有效地完成.由于风格页和不等宽字体(antialiase font) 的出现,给HTML作者提供了比以前更多的选择. 风格页在尺寸,风格,页缘,段前段后空间,首行缩进,对 齐方式及其它细节上指供了丰富的控制.用户代理器的缺 省风格页对在近似的表单中渲染?P 元素,就如同前例.你原则上可以超越这些常规的段落之 间空开的规则来渲染段落,但这可能使用户迷惑并且是一 个坏的尝?试. 根据约定, 可视化 HTML 用户代理器对文字折行来符合合法的页缘. 折行运算法则取决于脚本格式.?!-- See email from Martin about Kanji, Kani, and Thai! --> 例如,在西文中文字只能在空白处转折.老式的用户代理 器不正确地在元素的开始(或结束)时折行,结果造成了孤 立的标点.如: ?A statue of the <a href="cih78">Cihuateteus</a>,who are patron ...在锚点结束标记后的折行引起了逗号被组和到了文字的 行首: ?Astatue of the Cihuateteus ?,who are patron goddesses ...这是一个错误,即使在那个标注点上并没有空白区域. 控制换行对于于HTML来说,可以强制换行也可以禁止换行.强制换行:BR元素<!ELEMENTBR - O EMPTY ?-- forced line break --> <!ATTLIST BR ?%coreattrs; ?--id,class,style,title-- ?clear (left|all|right|none) none -- control of text flow -- ?>开始标记:需要,结束标记:禁止 BR元素强制当前文本行 的分行(结束). 对于可视用户代理器,clear 特性可用来判断标注是否跟随于BR 元素element flows around images and other objects floated to the left or right margin,或者还是在这个物件的底部开始.r whether it starts after the bottom of such objects.进一步的细节在对齐方式和物件的浮动 被给出.作者被建议使用风格页来控制图像和其它物件的 浮动.clear特 性,?根据其它的HTML陈述和标记,只有在你认为用户代理器 不提供风格页的时候起适当人用. 在双向格式方面,BR元 素应当被作为与Unicode LINE SEPARATOR字符相同的方式来对 待. 禁止换行有时,?你可能希望对对两个单词禁止换行. 字符条 目( , )可以被用作用户代理器不会换行的 空格符.连字符在HTML中,有两种连字符:简单连字符和软连字符.简单连 字符可以被用户代理器理解为简单的字符.?而软连字符则 可以告诉用户代理器在这里可以换行.那些解释软连字符的浏览器必须遵守下列语意学的原 则:如果一行中以连字符分开,连字符必须显示于第一行 的结尾.如果一行并不在连字符处换行,用户代理器则不 显示连字符.对于如搜寻和排序的操作,软连字符应当被 忽略. 在HTML中,简单连字符是"-"字符(-,-).而软 连字符则是命名字符条目­(­,­) 预置文本:PRE 元素<!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT"> <!ELEMENTPRE - - (%inline)* -(%pre.exclusion)> <!ATTLIST PRE ?%attrs; ?--%coreattrs,%i18n,%events -- ?width NUMBER #IMPLIED ?>开始标记:需要,结束标记:需要 特性定义
PRE?元素告诉可视用户代
理器那些被包含于"预处理"的文本.用户代理器必须如下
对待预处理文本:
上面的DTD片断表示哪些元素不出现于PRE 声明.这与HTML3.2相同,并且在用组合字体对文字的渲染 时有意地保护行空间及列对齐方式.作者通过风格页而改 变些行为是被?阻止的. 下面的例程显示了一个预处理的雪莱(译
注:Shelly,我想应该翻作雪莱而不是雪梨或雪莉)的诗:给
云雀:
<PRE> Higher still and higher From the earth thou springest Like a cloud of fire; The blue deep thou wingest, And singing still dost soar, and soaring ever singest. </PRE>这里是这段诗文被用户代理器渲染的效果: Higher still and higher From the earth thou springest Like a cloud of fire; The blue deep thou wingest, And singing still dost soar,and soaring ever singest. 水平制表符
水平制表符(在[UNICODE], US ASCII和[ISO88591] 解码均为10进制的9)是通常被用户代理器解译为最小的 必须的至制表符结束非-0宽空间为8个字符.我们强烈阻 止在预置文本中使用水平制表符,因为它还在常规测试中, 在编辑中,把制表空间设置为其它的值,会引起文档元法 对齐. 标注文档改变:INS 和DEL元素<!-- INS/DEL are handled by inclusion on BODY --> <!ELEMENT(INS|DEL) - - (%inline)* -- inserted/deleted text --> <!ATTLIST(INS|DEL) ?%attrs --%coreattrs,%i18n,%events -- ?cite ?%URL ?#IMPLIED --info on reason for change -- ?datetime ?CDATA #IMPLIED -- when changed: ISO date format -- ?>开始标记:需要,结束标记:需要 特性定义
INS和DEL
被用来标注文档中的哪部份相对于原先版本是插入还是
删除了.(例如:法律制定者需要查看草案中的修改部分).
这两个元素通常在HTML中既不是封闭级元素也不是行内 元素.它们在一段中可以包含一个或更多的单词或包入一 个或更多的封闭级元素如段落,列表和表格. 用户代理器会明显地来渲染插入和删除的文字.例如, 插入的文字可能以一种特殊字体出现,而删除文字可能根 本不出现或打点或以特殊标记出现,等等. 用户代理器如果无法识别DEL 元素则还是依然如常地渲染元素中的内容. 日期和时间格式[ISO8601]在 表达时间和日期时.这份说明书指定了一种[ISO8601] 允许的格式.格式为: ?YYYY-MM-DDThh:mm:ssTZD在此: YYYY=4位数字年份 MM =双数字月份(01=1月,等等) DD =双数字日期(从01至31) hh =双数字小时(从00至23)(am/pm 不被接受) mm =双数字分钟(从00至59) ss =双数字秒数(从00至59) TZD?=时区指示符时区指示符是以下的一个:
如果一种通常的应用并不知道至秒的时间,这个值可能 以是"00"(而分钟数和小时数是必需的). 所有下列的例程对应于美国西部时间1994
年11月5日上午8点15分50秒.
1994-11-05T13:15:30Z 1994-11-05T08:15:30-05:00通过使用INS,这将给出: <INS datetime="1994-11-05T08:15:30-05:00"> I added this on November 5th </INS> |