computer 版 (精华区)

发信人: lyl (一条四处游荡的鱼), 信区: network
标  题: [范文][XML]W3C建议XML 1.0中文版说明(三) (转载) 
发信站: 听涛站 (Fri Apr 28 21:11:13 2000), 转信

发信人: DDG (导弹驱逐舰~雾的季节), 信区: XML
标  题: [范文][XML]W3C建议XML 1.0中文版说明(三) (转载)
发信站: BBS 水木清华站 (Thu Apr  6 13:29:17 2000)

【 以下文字转载自 New_board 讨论区 】
【 原文由 starw 所发表 】
2. 文档
如果一个数据对象满足本规范中格式良好的要求时,它是一个XML文档。一个规范的
XML文档如果满足某些进一步的约束,它将更为有效。

每一个XML文档都有逻辑和物理结构。物理上而言,文档由称为实体的单元组成。一
个实体可以引用(refer)其他实体,将它们包含在文档中。文档开始于"根(root)"或
文档实体中。逻辑上而言,文档由声明、元素、注释、字符引用和处理指令组成,
所有这些都在文档中用显式标记指明。逻辑和物理结构必须如"4.3.2 格式良好的解
析实体"中所描述那样严格地嵌套。

2.1 格式良好的(Well-Formed)XML文档
一个文本对象如果满足以下条件,它将是一个格式良好的XML文档:

1.作为一个整体,它匹配文档(document)产生式。
2.它满足本规范中定义的所有格式约束。
3.此文档中直接或间接引用的每一个解析实体都是格式良好的。

文档
[1]  document ::=  prolog element Misc*

匹配document产生式意味着:

1.它包含一个或多个元素.
2.有且仅有一个称为根(root)或文档元素的元素,它不出现在其他任何元素的内容
(content)中。对于其他所有元素,如果起始标签在另一个元素的内容中,则其结束
标签也在同一元素的内容中。换一个更简单的说法,以起始标签和结束标签为界的
各个元素,必须严格地嵌套。

这样做的结果是,对于每一个非根的元素C,文档中另有一个元素P,C在P的内容中,
而不在其他任何被P所包含的元素的内容中。P被称为C的父元素(parent),而C被称
为P的子元素(child)。

2.2 字符
一个解析实体包含文本(text),文本是一个字符(character)序列,可以表示标记或
字符数据。一个字符是ISO/IEC 10646[ISO/IEC 10646]中定义的文本最小单元。合
法的字符包括制表符,回车,换行以及Unicode和ISO/IEC 10646中定义的合法的图
形字符。不提倡使用[Unicode]6.8节中定义的"兼容字符(compatibility characte
rs)"。

字符范围
[2] Char ::=  #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x100
00-#x10FFFF]
     /*  除了替代块(surrogate block),FFFE和FFFF以外的任意Unicode字符。*
/


将字符代码编码成位模型的机制各个实体间可能会有所不同。所有的XML处理器必须
接受10646中的UTF-8和UTF-16编码;用于指出所用编码或指定使用其他编码的机制
在后
面的"4.3.3 实体中的字符编码"中讨论。

2.3 通用句法成分
本节中定义了一些在句法中广泛使用的符号。

S(空白域)包括一个或多个空格字符(#x20),回车,换行或制表符。

空白
[3]  S ::=  (#x20 | #x9 | #xD | #xA)+

为方便起见,字符被分为字母,数字和其他字符三类。字母可以是字母表中的字母,
或是一个音节基字符(syllabic base character)后跟一个或多个组合字符,也可以
是一个表意字符。在"B. 字符的分类"中给出了每一类字符的特定定义。

名字(name)是以一个字母或某一标点符号开头的记号,后跟字母,数字,连字符,
下划线,冒号或句号,这些符号统称为命名字符(name character)。以"xml"或其他
任何以 (('X'|'x') ('M'|'m') ('L'|'l')) 的字符串开头的名字,被保留用于本规
范的此版本或后续版本的标准化。

注意:XML名字中的冒号被保留用于名域(name space)实验。它的含义有待于日后标
准化,那时那些将冒号用于实验目的的文档有可能需要更新。(不保证XML采用的任
何名字空间机制实际会采用冒号作为定界符。)实际上,这意味着除非用于名字空间
实验,XML文档编者不应该在XML名字中使用冒号,但XML处理器应该接受冒号作为一
个命名字符。

Nmtoken(名字记号,name token)是任何命名字符的混合体。

名字和记号
[4]  NameChar ::=  Letter | Digit | '.' | '-' | '_' | ':' | CombiningCha
r | Extender
[5]  Name ::=  (Letter | '_' | ':') (NameChar)*
[6]  Names ::=  Name (S Name)*
[7]  Nmtoken ::=  (NameChar)+
[8]  Nmtokens ::=  Nmtoken (S Nmtoken)*


字面数据是任何用引号括起的字符串,不包括用作定界符的引号。字面数据用于指
明内部实体的内容(EntityValue),属性值(AttValue),以及外部标识符(SystemLi
teral)。注意,对SystemLiteral的解析可以不扫描标记。

字面数据
[9]  EntityValue ::=  '"' ([^%&"] | PEReference | Reference)* '"'
      | "'" ([^%&'] | PEReference | Reference)* "'"
[10]  AttValue ::=  '"' ([^<&"] | Reference)* '"'
      | "'" ([^<&'] | Reference)* "'"
[11]  SystemLiteral ::=  ('"' [^"]* '"') | "'" [^']* "'")
[12]  PubidLiteral ::=  '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"
[13]  PubidChar ::=  #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$
_%]


2.4 字符数据和标记
文本由字符数据和标记混合构成。标记包括起始标记、结束标记、空元素标记、实
体引用、 字符引用、注释、CDATA段定界符、文档类型声明和处理指令。

其他所有非标记的文本组成文档的字符数据。

"and"号(&)和左尖括号(<)只有作为标记定界符,或在注释,处理指令,或CDATA段
中时才能以字面形式出现。它们在一个内部实体声明的字面实体数值中也是合法的,
参见"4.3.2 格式良好的解析实体"。如果在其他地方需要用到这两个字符,它们必
须用数值式字符引用来转义或分别用字符串"&amp;"和"&lt;"表示。右尖括号(>)可
以用"&gt;"表示,而当它在内容中的字符串"]]>"中出现,但此字符串不表示一个C
DATA段的结束时,出于兼容性考虑,必须用"&gt;"或一个字符引用转义得到。

在一个元素的内容中,字符数据可以是不包括任何标记的起始定界符的任意字符串。
在一个CDATA段中,字符数据可以是不包括CDATA段结束定界符"]]>"的任意字符串。

为了允许在属性值中包含单引号和双引号,省略符或称单引号(')可以被表示为"&a
pos;",而双引号(")可以被表示为"&quot;"。

字符数据
[14]  CharData ::=  [^<&]* - ([^<&]* ']]>' [^<&]*)


2.5 注释
注释可以在其他标记之外的文档中的任何位置出现。另外,它们可以在文档类型声
明中语法允许的地方出现。它们不是文档字符数据的一部分,XML处理器可以,但不
必须,允许一个应用检索注释文本。出于兼容性考虑,字符串"--"(双连字符)不能
在注释中出现。

注释
[15]  Comment ::=  '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'


注释的一个例子:

<!-- declarations for <head> & <body> -->

2.6 处理指令
处理指令(PI)允许文档中包含由应用来处理的指令。

处理指令
[16]  PI ::=  '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'
[17]  PITarget ::=  Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))


PI不是文档字符数据的一部分,但必须传递给应用。PI以用于指示传递给哪个应用
的目标(PITarget)开头,目标名字"XML","xml",等等,保留用于本规范的此版本
或后续版本的标准化。XML符号机制可以用于PI目标的形式化声明。

--
        山居且喜远纷华,俯仰乾坤野性赊。
                千载勋名身外影,百岁荣辱镜中花。

        金 琢 倒秋将暮,蕙径萧瑟日且斜。
                闻道五湖烟境好,何   蝮业鐾∩场?


--
与其相濡以沫,不若相望于江湖。

http://10.23.31.91/
http://10.23.31.91:9999

※ 来源:.听涛站 cces.net.[FROM: 匿名天使的家]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.951毫秒