GB/T 18793-2002 信息技术 可扩展置标语言(XML)1.0

GB/T 18793-2002 Information technology—Extensible Markup Language(XML)1.0

国家标准 中文简体 现行 页数:36页 | 格式:PDF

基本信息

标准号
GB/T 18793-2002
相关服务
标准类型
国家标准
标准状态
现行
中国标准分类号(CCS)
国际标准分类号(ICS)
发布日期
2002-07-18
实施日期
2002-12-01
发布单位/组织
中华人民共和国国家质量监督检验检疫总局
归口单位
信息产业部电子工业标准化研究所
适用范围
-

发布历史

研制信息

起草单位:
北京信息工程学院、信息产业部电子技术标准化研究所
起草人:
李宁、王凌、高健
出版信息:
页数:36页 | 字数:66 千字 | 开本: 大16开

内容描述

ICS35-240-30

L74缚8

中华人民共和国国家标准

GB/T18793-2002

信息技术可扩展置标语言(XML>1.0

Informationtechnology-ExtensibleMarkupLanguageAML)l.0

2002一07门8发布2002一12一01实施

中华人民共和国发布

GB/T18793-2002

目次

90A

1范围·································。················································································……1

2引用标准··········································································一···········。······。···········……1

3定义·······························································。···············································。··……2

4文件···················································································。······························……3

5逻辑结构·9

6物理结构········································································································……16

7一致性····················。·········································。···。·········································……23

8记法···········································。··································。········。·······················……24

9中文处理··。·····································································································……25

附录A(标准的附录)字符类别···。·········。····································。···························……27

附录B(提示的附录)XML和SGML·································································……29

附录C(提示的附录)实体引用和字符引用的展开······················································……29

附录D(提示的附录)确定性内容模型·····································································……30

附录E(提示的附录)字符编码的自动检测31

GB/T18793-2002

前言

本标准非等效采用W3C(WorldWideWebConsortium)RFC-xml-19980210《可扩展置标语言

(XML)1.0))。同时参考了截至2000年7月W3C对RFC-xml-19980210的勘误(XML1.0Specification

Errata,见%XML/xml-19980210-errata)。在充分吸收、尊重RFC-xml-19980210

的基础上,以基于已颁布的国家标准的内容替换了部分国际标准的内容,增加了中文处理的内容。

本标准的附录A是标准的附录,附录B,附录C、附录D和附录E是提示的附录。

本标准由中华人民共和国信息产业部提出

本标准由信息产业部电子工业标准化研究所归口。

本标准起草单位:北京信息工程学院、信息产业部电子技术标准化研究所。

本标准主要起草人:李宁、王凌、高健

GB/T18793-2002

引台

本标准完整地描述了可扩展置标语言((Extensiblemarkuplanguage,XML),它是标准通用置标语

言(Standardgenericmarkuplanguage,SGML)的一个子集。其目的在于使得在Web上能以现有超文本

置标语言(HypertextmarkupIanguage,HTML)的使用方式提供、接收和处理通用的SGML成为可能。

XM工的设计既考虑了实现的方便性,同时也顾及了与SGML和HTML的互操作性。

XMI_描述了一类称为XML文件的数据对象,同时也部分地描述了处理这些数据对象的计算机程

序的行为XM工是一个SGM工的具体应用或受限形式。从构造来看,XML文件是合乎规范的SGML

文件

XML文件由称为实体的存储单元组成,实体中包含分析的或不分析的数据。分析的数据由字符组

成,其中某些字符形成字符数据,还有一些字符形成置标。置标对文件存储总体布局和逻辑结构的描述

进行编码。XMI提供了一种机制,对文件的存储布局和逻辑结构加以约束

一个称为XML处理器的软件模块用来读人XM工一文件,存取其中的内容和结构。这里假定XM工-

处理器代表另外一个称为应用程序的模块进行工作。本标准描述了XM工一处理器应有的行为:即它必须

怎样读人XMI、数据,以及它必须提供给应用程序什么信息。

中华人民共和国国家标准

信息技术可扩展置标语言(XML)1.0GB/T18793-2002

Informationtechnology-

ExtensibleMarkupLanguage(XML)1.0

范围

本标准完整地描述了可扩展置标语言(XM工_).XML是SGML的一个子集。XMI_的设计目的

如下

a)XMI应在因特网上直接使用;

b)XMI支持的应用应十分广泛;

c)XML应与SGML兼容;

d)应易于编写处理XMI文件的程序;

e)XMI中可选特性的数目应降至最低,最好没有;

f)XML文件应是可读的并适度清晰为宜;

9)应能快速进行XMI,设计;

h)XML的设计应是形式化的和简明的;

1)XMI_文件应易于创建;

i)XM工J置标的简洁性的重要程度最低。

2引用标准

下列标准中的条文,通过在本标准中引用而成为本标准的条文本标准出版时,所示版本均为有效。

所有标准都会被修订,使用本标准的各方应探讨使用下列标准最新版本的可能性。

GB/T1988-1998信息技术信息交换用七位编码字符集(eqvISO646:1991)

GB/T2311-2000信息处理字符代码结构与扩充技术(idtISO/IEC2022:1994)

GB2312-198。信息交换用汉字编码字符集基本集

GB/T2659--2000世界各国和地区名称代码(eqvISO3166-1:1997)

(;B/'T4880-1991语种名称代码(eqvISO639:1988)

GB13000.1-1993信息技术通用多八位编码字符集U〔CS)第一部分:体系结构与基本多文

种平面(idtISO/IEC10646-1:1993)

GB/T14814-1993信息技术文本和办公系统标准通用置标语言(SGML)(idtISO8879:

1986)

GB/T15273.1-1994信息技术八位单字节编码图形字符集第1部分;拉丁字母一(idtISO

8859-1:1987)

GB/T15273.2-1995信息技术八位单字节编码图形字符集第2部分拉丁字母二(idtISO

8859-2:1987)

GB/T16965-1997信息技术超媒体/时基结构化语言(HyTime)(idtISO/IEC10744:1992)

GB18030--2000信息技术信息交换用汉字编码字符集基本集的扩充

GB/T18793-2002

ISO8859-9:1999信息技术八位单字节编码图形字符集第九部分:拉丁字母五

IANA-CHARSETS字符集的正式名称

IANA-LANGCODES语种标记注册

IETFRFC1766:1995IETF(InternetEngineeringTaskForce)

IETFRFC2141:1997URN句法

IETFRFC2279:1998UTF-8,GB1300。的一种转换格式

IETFRFC2376:1998XML媒体类型

IETFRFC2396:1998统一资源标识符(URI):通用语法

IETFRFC2732:1999URL表示的IPv6地址字面格式

IETFRFC2781:2000UTF-16,GB13000的一种编码

3定义

用于描述XM工文件的术语在标准的正文中定义。下列术语用来构造这些定义,并描述XML处理

器的动作:

3.1错误error

对本标准中的某一规则的冲突,其结果未作定义符合标准的软件可检测并报告错误,并可以排除

错误。

12致命错误fatalerror

必须由一个符合标准的XMI,处理器检测出来并向应用程序报告的一类错误。该处理器遇到致命

错误后,可以继续处理数据以便进一步查出更多的错误,并可向应用程序报告这些错误。为了支持对错

误的更正,该处理器可以向应用程序提供(字符数据和置标混用的)文件中尚未处理的数据。然而,当检

测到致命错误后,该处理器不得继续进行正常的处理(即,它不得按正常方式继续向应用程序传送字符

数据和有关文件逻辑结构的信息)。

3.3由(如)用户选择atuseroption

符合标准的软件行为可以或必须(取决于句中的能愿动词)与所描述的相同;如果确实如此,该软件

必须提供一种手段使得用户能够启用或禁用所描述的行为。

3.4有效性约束validityconstraint

适用于所有有效的XMI文件的一条规则与有效性约束相冲突属于错误;如用户选择,XM工有效

性验证型处理器必须报告这些错误。

3.5格式良好的约束well-formednessconstraint

适用于所有格式良好的XM「文件的一条规则。与格式良好的约束相冲突属于致命错误

3.6匹配(相同)match(对于字符串或名字)

进行比较的两个字符串或两个名字必须完全相同。对于那些在GB13000中可能有多种表示形式

的字符(如,同时具有预制形式和基本字形加变音符号形式的字符),仅当它们在两个字符串中具有相同

的表示时才匹配。西文字符无大小写转换

3.7匹配(属于)match(对于语法中的字符串和规则)

如果一个字符串属于一个语法产生式产生的语言,则该字符串与该语法产生式相匹配

3.8匹配match(对于内容和内容模型)

当一个元素符合“元素有效”约束中的描述时,该元素与它的声明匹配。

3.9为了兼容forcompatibility

注明描述仅用来确保XM工_与SGMI兼容的一种XML的特性的修饰语

3.10为了互操作forinteroperability

GB/T18793-2002

XML文件的机会,而这些SGML处理器的出现先于GB/T14814附录中的WebSGML改编本。

4文件

按本标准的定义,一个数据对象若是格式良好的,则它是一个XML文件。一个格式良好的XMI文

件若满足更强的约束,则可进一步成为有效的。

XM工一文件具有逻辑和物理两种结构。物理上,文件由称为实体的单元组成。实体可以引用其他实

体,将它们包含在文件中。一个文件开始于“根”或文件实体。逻辑上,文件由声明、元素、注释、字符引用

和处理指令组成,所有这些都在文件中用显式置标指出。文件的逻辑结构和物理结构必须按“6.3.2格

式良好的被分析实体”中的描述正确嵌套。

4.1格式良好的XMI文件

如果一个文本对象满足下列条件,则是一个格式良好的XML文件:

a)整体上与标有document的产生式VC配;

b)满足本标准中格式良好的所有约束;

c)文件中直接或间接引用的每个分析的实体都是格式良好的。

文件

仁11document::=prologelementMisc-

与document产生式相匹配是指:

a)它包含一个或多个元素;

b)只有一个元素称为根或文件元素,该元素的任何部分都不出现在其他元素的内容中。而对所有

其它元素,若开始标记出现在另一个元素的内容中,则结束标记也要出现在该元素的内容中。简单地说,

由开始和结束标记定界的各个元素之间互相正确地嵌套。

结果是,对文件中的每个非根元素C,在文件中都有另一元素P:使C在p的内容中,但不在p的内

容中的任何其他元素的内容中。p称为C的父亲,而C为p的孩子。

4.2字符

一个分析的实体由正文,即一个字符序列组成,字符序列可以表示置标或字符数据。字符依

GB13000规定是正文的最小单位,合法的字符包括制表符、回车符、换行符以及GB1300。中的合法图

形字符。由于将来可能会通过修正将新字符加人到这两个标准中去,XML处理器必须接受产生式Char

所规定的范围内的任何字符。由用户选择,XML处理器可以检查文件中的数据字符是否为GB13000

特定版本中的合法字符。不鼓励使用GB13000中定义的“兼容性字符”。

一字符范围一

一厂21Char,.=#x9一#xA一#xDII#x20-#xD7FFIII#xE000-#xFFFDIII#x10000-#一

一x10FFFF一{

一/‘除替代块、FFFE和FFFF之外的任何GB13000子符·/‘一

将字符代码位编码成位模型的机制可能依实体的不同而有所不同。所有XML处理器都必须支持

GB13000中的UTF-8及UTF-16编码;指出两种编码究竟哪一个正在使用的机制,以及引人其他编码

的机制,将在后面的“6.3.3实体中的字符编码”中讨论。

4.3公用语法构造

本条定义了语法中广泛使用的一些符号。

s(空白)由一个或多个空格(#x20)、回车、换行或制表符组成。

cB/T18793-2002

空白

[3]S::=(#x20{#x9!#xD一#xA)+

为方便起见,把字符分为字母、数字或其他字符。字母由字母表中的一个字母、一个音节基字符或一

个表意字符组成。各类特定字符的完整定义见“附录A字符类别”。

名字是一个记号,以字母或某个标点符号字符开始,后跟若干字母、数字、连字符、下划线符、冒号或

句号等,统称为名字字符。以字符串“xml”开始的名字,或以与((`X’一‘x')(`M’一‘m')(`L'19'))相

匹配的任意字符串开始的名字,都作为本标准当前或未来版本的保留字

注:保留XMI,名字内的冒号字符,供命名空间(namespace)试验用它的含义有待日后标准化,那时,使用了冒号

的用于试验文件可能需要更新。(并不保证XML采用的任何命名空间机制实际上都会用冒号来做命名空间的

定界符)实际上,这意味着作者在XML名字中不应使用冒号,除非用于命名空间试验,但XML处理器应接受

冒号作为名字字符

Nmtoken名字记号)是名字字符的任意混合体。

狡扮厂ngC州

字面数据是放在引号内的任何字符串,不包括用作该字符串定界符的引号。字面数据用来规定内部

实体的内容(EntityValue),属性值(AttValue)以及外部标识符(SystemLiteral)。注意,可以对System-

Literal进行分析而无需置标扫描。

宝醚壑.一.-—-—一—一一~一

[9]EntityValue::=‘”’([一%各,〕!PEReference一Reference)、‘川一?“”,

([一%&']IPEReferenceIReference)*“”,

[10]AttValue::=‘”’(〔一<&,,习{Reference)二‘’‘,{?“”,(仁一<c6,'口一Reference)*“”,

[11]SystemLiteral::=(‘”’[一”〕关‘”’)I?(“”,〔一,]*“”,)

仁123PubidLiteral::=‘”,PubidChar,‘”,{“’,,(PubidChar-"'")二“”,

[13[PubidChar:=#x20!#xD{#xA{[a-zA-ZO-9]一卜’()+,八二?;!,#@$_0o]

注尽管产生式EntityValue允许实体的定义在字面值中包含单个的“<,’(例如,G!ENTITYmylt‘,<’口>),本标

准强烈建议不要这样做,因为对该实体的任何引用都会导致一个“格式良好”方面的错误。

4.4字符数据和置标

正文由字符数据和置标混合组成。置标的形式有:开始标记、结束标记、空元素标记、实体引用、字符

引用、注释、CDATA节定界符、文件类型声明、处理指令、XMI声明、文本声明以及文件实体顶层的空

白(即不在文件元素和其他置标之内的空白,

除置标外的所有正文构成文件的字符数据。

字符“夕,和“<”仅在下列两种情况下以其字面形式出现或者用作置标定界符,或者出现在注释、

处理指令或CDATA节之中。如果在其他地方需要这两个字符时,必须用数字字符引用,或分别用

."&”和“&1t;”字符串进行转义。字符“>”可用“纯t;”表示,而当它在内容中的字符串“]」>”中出

现,但此字符串不表示一个CDATA段的结束时,出于兼容性考虑,必须用“纯t;”或一个字符引用转义

GB/'r18793-2002

在各元素内容中,字符数据是不含置标起始定界符的任何字符串。在CDATA节中,字符数据是不

含CDATA节结束定界符",]]>”的任何字符串。

为使属性值既能包含单引号又能包含双引号,撇号“”,可表示为肠“pos;",双引号字符“””可表示

为“晌uot;"e

孚?MM一

[14]CharData<&I,一(「一<&口二]‘]>’「一<&],

4.5注释

注释可以出现在文件中其他置标之外的任何地方;另外,它们可以在文件类型声明中语法允许的地

方出现。注释不是文件字符数据的一部分;XML处理器可以,但不必,使应用程序能获取注释的正文。

为了兼容,字符串“一”(双连字符)不得出现在注释中。在注释中不识别参数实体引用。

注释

[15]Comment::=<‘!一’((Char-一‘’)I(一‘’(Char-一‘’)))二一‘>,

注释举例:

<!一declarationsfor<head>&<body>一>

注意,本语法不允许注释以“一>”结束。下面的例子不是格式良好的:

<了B+,B,orB>

4.6处理指令

处理指令(PI)允许文件中包含用于应用程序的指令。

处理指令

[16]PI::=<‘?’PITarget(S(Char,一(Char,?‘>’Char‘)))??‘>’

[17]PITarget::=Name-((`X'}`x')(`M'】`m,)('L'IT))

PI不属于文件的字符数据,但必须传递给应用程序。PI以目标(PITarget)作为开始,该目标用来标

识指令所指向的应用程序。在本标准的当前或今后版本中,目标名`X‘ML","xml”等均作为标准保留字。

XMI_的记法机制可以用做PI目标的形式化声明。在处理指令中不识别参数实体引用。

4.7CDATA节

CDATA节可以出现在字符数据可能出现的任何地方;用于将含有可能会被识别成置标的字符的

正文块做转义处理。CDATA节以字符串“<![CDATA仁”开始,以“]]>”结束。

CDATA节

仁18]CDSect::=CDStartCDataCDEnd

仁19]CDStart::='<![CDATA['

[20]CData::=(Char*一(Char*〕‘〕>’Char*))

[21习CDEnd::=〕‘]>’

在CDATA节内,只将字符串CDEnd视为置标,因此“<”和“夕,可以以其字面形式出现;它们不必

(且不能)用“阴t;”和“阮mp;”进行转义CDATA节不能嵌套。

在下面这个CDATA节例子中,"<greeting>”及“</greetings”被视为字符数据,而不是置标:

[CDATA[<greeting>Hello,world!</greeting>]]>

Gs/T18793-2002

XML文件可以,并且应以一个规定了所用的XML版本号的XML声明作为开始。例如,下面这个

完整的XML文件,它是格式良好的,但不是有效的:

<?xml.version="1.0"?>下一一

<greeting>Hello,world!</greeting>

下例也是如此:

<greeting>Hello,world!</greeting>

版本号,111.0”应用来指明该XML文件与本标准的这个版本相一致。若不一致,而使用值,"1.0”则是

一个错误。XML标准制定部门打算赋予本标准的后续版本不同于,’l.0’’的数值,但这并不表明作出制

订XML的任何未来版本的承诺,即使有了新版本,也不承诺使用任何特殊的版本编号方案。由于不排

除有未来版本的可能性,一旦有必要,本构造可提供作为自动识别版本的手段。如果XML处理器接受

了一个文件,其标记的版本不是该处理器所支持的,处理器可以作为错误报告。

XML文件中置标的功能用来描述它的存储和逻辑结构,并将属性一值对与文件的逻辑结构相关联

XMI,提供了文件类型声明机制,用于定义对逻辑结构的约束,支持预定义存储单元的使用。若一个

XML文件有相关联的文件类型声明,并且遵循其中的表达的约束,则该XML文件是有效的

文件类型声明必须出现在文件的第一个元素之前。

前导说明部分

[22]prolog::二XMLDecl?Misc二(doctypedeclMisc,)?

[23]XMLDecl::一‘<?xml'VersionlnfoEncodingDecl?SDDecI?S?‘?>’

[24]Versionlnfo::=S`version'Eq(“”,VersionNum"”,}‘”’VersionNum‘”’)

[25]Eq::=S?‘=’S?

[26]VersionNum::=([a-zA-ZO-9_.。」}‘一’)+

[27]Misc::=Comment{PI一S

XML文件类型声明包含或指向置标声明,置标声明提供了某一类文件的语法。该语法称为文件类

型定义或DTD(documenttypedefinition)。文件类型定义可以指向一个包含置标声明的外部子集(一种

特别的外部实体),或者可以在一个内部子集中直接包括置标声明,或者可以两者兼用。文件的DTD由

这两个子集共同组成。

置标声明可以是元素类型声明、属性表声明、实体声明或记法声明。如在下列格式良好的和有效的

约定中所述,这些声明可以全部或部分包含在参数实体(Parameter-entity,PE)中。进一步信息见“6

物理结构”。

})c碾WYUs11{

<!DOCTYPE'SName(SExternalID)?S?

[28]doctypedecl::=‘

(‘仁,(markupdeclPEReference}S)二‘〕’S?)?‘>’[VC:根元素类型」

[29习markupdecl::=elementdecl!AttlistDecl一EntityDecl一

NotationDeclIPIIComment[VC:正确的声明/PE嵌套][WFC:内部子集中的PE]

注:有可能构造一个格式良好的文件,包含一个既不指向外部子集也不包含内部子集的产生式doctypedecl,

置标声明可全部或部分由参数实体的替换正文组成。本标准后面为各单个非终结符(elementdecl,

AttlistDecl,等等)所构造的产生式,描述的是在所有的参数实体被包含之后的声明。除了在字面值中、

处理指令中、注释和忽略条件节(见5.4条件节)的内容中之外,在DTD中的任何地方(各内部和外部

GB/T18793-2002

中参数实体的使用有如下限制:

有效性约束:根元素类型

文件类型声明中的Name必须与根元素的元素类型匹配。

有效性约束:正确的声明/PE嵌套

参数实体替换正文必须与置标声明正确地嵌套。也就是说,如果一个置标声明(上述markupdecl)

的首字符或末字符包含在用于参数实体引用的替换正文中,那么这两者必须都包含在同一个替换正

文中。

格式良好的约束:内部子集中的PE

在内部DTD子集中,参数实体引用仅能出现在置标声明可以出现的地方,而不能出现在置标声明

内部。(此约束不适用于在外部参数实体中出现的引用,也不适用于外部子集。)

象内部子集一样,外部子集及在DTD中引用的任何外部参数实体,必须由一系列完整置标声明组

成,而这些置标声明的类型是非终结符markupdecl所允许的,其中可以夹杂空白或参数实体引用。然

而,可以通过使用条件节的构造有条件地忽略外部子集或外部参数实体的部分内容;在内部子集中则不

允许这么做。

在DTD中被引用的外部子集和任何外部参数实体必须与产生式extPE匹配。见“6.3.2格式良

好的被分析实体”。

外部子集

[30]extSubset::=TextDecl?extSubsetDecl

[31口extSubsetDecl::=(markupdecl}conditionalSect一PEReference一S)关

外部子集和外部参数实体也与内部子集有所不同:前两者的参数实体引用允许在置标声明内出现,

而不仅限于出现在置标声明之间

带有文件类型声明的XM工_文件举例:

一<?xmlversion="1.0"?>1

一<!DOCTYPEgreetingSYSTEM"hello.dtd">一

一<greeting>Hello,world!G/greeting>I

这里的系统标识符h“ello.dtd”给出了该文件DTD的地址(一个URI引用)。

也可直接给出声明,如下例:

}<:xmlversion一1.。,,encoding-"UTF-8":>

}G1DOCTYPEgreeting[<!ELEMENTgreeting(#PCDATA);>

}<greeting>Hello,world!G/greeting>

若同时使用外部和内部子集,则认为内部子集出现在外部子集之前。其效果是,内部子集中的实体

和属性表声明置于外部子集中的实体和属性表声明之前。

4.9独立文件声明

因为文件要从XM工处理器传递给应用程序,置标声明可以影响文件的内容;缺省属性和实体声明

便是例子。可以作为XMI,声明的一个组件出现的独立文件声明,报告是否存在着这些出现在文件实体

之外或参数实体之中的声明。外部置标声明定义为在外部子集或在参数实体(外部或内部,包括内部参

数实体是因为不要求非有效性验证型处理器读人它们)中出现的置标声明

GB/'r18793-2002

独立文件声明

[3幻SDDecl::=S'standalone'Eq((“”,(`yes’一‘no')“”,)I

(‘”’(`yes'I'no')""))[VC:独立文件声明i

在一个独立文件声明中,值“yes”表明不存在外部置标声明影响由XML处理器传给应用程序的信

息。值“no”表明有或可能有这样的外部置标声明。注意,独立文件声明仅表示外部声明的存在;如果文

件中存在对外部实体的引用,而这些实体已在内部声明时,不影响它的独立状态。

若无外部置标声明,则独立文件声明没有意义。若存在外部置标声明而没有独立文件声明,则假定

其值为“no"

含有standalone-"no”的任何XML文件都可以用算法转换为独立文件,这对于某些网络传送的

应用程序可能是需要的。

有效性约束:独立文件声明

若任何外部置标声明包含下列声明,则独立文件声明必须有值“no":

—带有缺省值的属性的声明,如果适用这些属性的元素出现在文件中而没有给出这些属性值;

—某些实体的声明(除amp,lt,gt,apos和quot外),如果对这些实体的引用出现在文件中;

—属性值要被规格化的属性,如果这些出现在文件中的属性带有因规格化而改变的值的话;

具有元素内容的元素类型,如果这些类型的任何实例中直接出现空白。

具有独立文件声明的XMI声明举例:

<?xmlversion-1.0"standalone一‘yes'?>

4.10空白处理

在编辑XML文件时,用“空白”(即空格、制表符和空行)将置标隔开非常方便,可以获得更好的可

读性交付的文件通常不带这样的空白。另一方面,在文件的交付版本中应保留“有意义”的空白的情况,

在例如诗歌或源代码中也是常见的

XML处理器必须总能将文件中不是置标的所有字符传递给应用程序。有效的XM工处理器也必须

通知应用程序,这些字符中有哪些构成了空白,出现在元素内容中。

可以对一个元素附加一个名为xml:space的特殊属性来表明在该元素中,应由应用程序保留空白。

在有效的文件中,如果要用到该属性,则像其他属性一样必须先行声明。在声明的时候,该属性必须声明

成枚举类型,其值为“default”和“preserve”之一或两者。例如:

1<:ATTLISTpoemxml:space(defaultIpreserve)'preserve'>

{<’ATTLISTprexml:space(preserve)#FIXED'preserve'>一

值“default”表示,该元素可以接受应用程序的缺省空白处理模式;值“preserve”表示,应用程序欲

保留所有空白。在声明该元素的地方,认为这个声明意图适用于该元素内容中的所有元素,除非它由另

一xml:space属性的实例所覆盖

任何文件的根元素,被认为没有对应用程序报告空白处理的意图,除非给出了该属性的值,或以缺

省值对该属性进行了声明。

4.11行尾处理

XM工_分析的实体通常作为计算机文卷存储,为便于编辑,这些文件按行组织。各行通常由回车(#

xD)和换行(#xA)字符的某种组合分隔开。

为简化应用程序的任务,对于被分析实体中的断行,处理器必须通过下述两种方法之一将其规格化

成#xA,

a)在语法分析之前,把输人的双字符序列“#xD#xA”及任何后面不带#xA的#xD转成#xA,

GB/T18793-2002

b)使用其他某种方法使得传送到应用程序的字符与a)做法得到的结果相同。

4.12语种标识

在进行文件处理时,标识出文件的内容是用自然语言还是用形式语言写成的通常很有用。可以在文

件中插人一个名为xml:lang的特别属性,规定XML文件中任何元素的内容和属性值所用的语种。在

有效的XML文件中如要用到这一属性,则同任何其他属性一样,必须先行声明。该属性的值即是在[I-

ETFRFC1766]即“标识语种的标记”中定义的语种标识符,或IETF标准体系的后续版本。

注:RFC1766的标记由以下构成:双字母表示的语言(如GB/T488。所定义的);双字母表示的国家和地区代码(如

GB/T2659所定义的);在InternetAssignedNumbersAuthority(IANA)注册的语种标识符[[ANA-LANG

CODES]。可望[IETFRFC1766]的后续版本将引人三字母表示的语种代码来表示不在GB/"I'4880之中的

语种

例如:

<pxml:lang="en">Thequickbrownfoxjumpsoverthelazyd

关联标准

相似标准推荐

更多>