首页 > 国家标准(GB) > GB/Z 21025-2007 XML使用指南
GB/Z 21025-2007

基本信息

标准号: GB/Z 21025-2007

中文名称:XML使用指南

标准类别:国家标准(GB)

标准状态:现行

发布日期:2007-06-29

实施日期:2007-11-01

出版语种:简体中文

下载格式:.rar.pdf

下载大小:KB

相关标签: 使用指南

标准分类号

标准ICS号:信息技术、办公机械设备>>信息技术应用>>35.240.30信息技术在信息、文献和出

中标分类号:电子元器件与信息技术>>信息处理技术>>L74程序语言

关联标准

出版信息

出版社:中国标准出版社

页数:平装16开 页数:51, 字数:92千字

标准价格:34.0 元

计划单号:20030155-T-339

出版日期:2007-11-01

相关单位信息

首发日期:2007-06-29

起草人:李宁、顾晓毅、林学练、王国印、吴志刚、赵菁华

起草单位:中国电子技术标准化研究所、北京信息工程学院、万达信息技术公司、北京航天航空大学、方正电子技术公司

归口单位:中国电子技术标准化研究所

提出单位:中华人民共和国信息产业部

发布部门:中华人民共和国国家质量监督检验检疫总局 中国国家标准化管理委员会

主管部门:国家标准化管理委员会

标准简介

本指导性技术文件给出了指导XML文档的编写的原则,包括标准的符合性原则、国际化和本地化原则、组件命名原则、命名空间使用原则、词汇表编写原则、类型、素与属性的使用原则、版本与注释的使用原则、实例的编写原则、XML处理器及选择、应用开发过程和注册规程等内容。 GB/Z 21025-2007 XML使用指南 GB/Z21025-2007 标准下载解压密码:www.bzxz.net

标准图片预览






标准内容

ICS 35.240.30
中华人民共和国国家标准化指导性技术文件GB/Z21025-2007
XML使用指南
XML user's guide
2007-06-29发布
数码防伪
中华人民共和国国家质量监督检验检疫总局中国国家标准化管理委员会
规范性引用文件
术语和定义
标准的符合性原则
国际化和本地化原则
组件命名原则………
命名空间使用原则
词汇表编写原则
类型、元素与属性的使用原则
版本与注释的使用原则
实例的编写原则
XML解析器及其选择
应用开发过程
注册规程
附录A(资料性附录)
附录B(资料性附录)
参考文献
使用实例
指定机构的有关信息
GB/Z21025—2007
GB/Z21025-—2007
本指导性技术文件仅供参考。有关对本指导性技术文件的建议和意见,请向国务院标准化行政主管部门反映。
本指导性技术文件的附录A和附录B为资料性附录。本指导性技术文件由中华人民共和国信息产业部提出。本指导性技术文件由中国电子技术标准化研究所归口。本指导性技术文件起草单位:中国电子技术标准化研究所、北京信息工程学院、万达信息技术公司、北京航天航空大学、方正电子技术公司。本指导性技术文件主要起草人:李宁、顾晓毅、林学练、王国印、吴志刚、赵菁华。Ⅲ
+*- +*. *
GB/Z21025—2007
本指导性技术文件规定了使用可扩展置标语言(XML)应该遵循的原则和注意事项,适用于XML应用的开发者、管理者、使用者和其他关心XML使用的人员。在GB/T18793—2002《信息技术可扩展置标语言(XML)1.0》中,描述了可扩展置标语言(eX-tensible Markup Language,XML)。它是标准通用置标语言(Standard Generic Markup Language,SGML)的-个子集,其目的是使SGML文档在Web应用中可以像HTML文档一样进行发送、接收和处理。为此,XML的设计力求易于实现,并能与SGML和HTML很好地互操作。它针对web应用,简化了些SGML的不常用的内容,GB/T18793一2002所定义的XML是一组用来构造语义置标的规则集合,通过这些置标文档的各个部分可按预先定义的语义结构组织起来并进行结构化验证。GB/T18793—2002的重点在于对以DTD为核心的XML本身的语法进行描述,并不包括Schema的内容,具体的使用方法在那里也少有涉及,这些将在本指导性技术文件中做出解释,以帮助XML的推广使用。本指导性技术文件还给出了部分使用XML的例子。本指导性技术文件为设计-一致性的、合理的DTD和Schema提供了-一个指导性框架,将有助于更好地理解XML,重用XML组件,并达到良好的互操作性。本指导性技术文件的重点在于如何采用元语言标准和基础标准来定义应用标准,核心是行业应用词汇表的设计。在本指导性技术文件中,部分内容仅适用于Schema或仅适用于DTD,将特别标出。未被特殊标出的部分两者都适合。另外为了查阅方便,本指导性技术文件的大部分条目标题直接采用了原则性陈述的形式。
1范围
XML使用指南
GB/Z21025—2007
本指导性技术文件给出了指导XML文档的编写的原则,包括标准的符合性原则,国际化和本地化原则,组件命名原则,命名空间使用原则,词汇表编写原则,类型、元素与属性的使用原则,版本与注释的使用原则,实例的编写原则,XML解析器及选择,应用开发过程和注册规程等内容。本指导性技术文件适用于XML的各类开发人员和使用人员。2规范性引用文件
下列文件中的条款通过本指导性技术文件的引用而成为本指导性技术文件的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本指导性技术文件,然而,鼓励根据本指导性技术文件达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本指导性技术文件。GB/T1988-1998信息技术信息交换用七位编码字符集(eqvISO646:1991)GB2312—1980信息交换用汉字编码字符集基本集GB/T13000.1信息技术通用多八位编码字符集(UCS)第一部分:体系结构与基本多文种平面(GB/T13000.1—1993,idtISO/IEC10646-1:1993)GB/T14814一1993信息技术文本和办公系统标准通用置标语言(SGML)(idtISO8879:1986)
信息技术信息交换用汉字编码字符集GB18030—20001
基本集的扩充
GB/T18391(所有部分)信息技术数据元的规范和标准化GB/T18793—2002信息技术可扩展置标语言(XML)1.0(neqW3CRFC-xml-19980210:1998)
3术语和定义
GB/T18793一2002中确定的以及下列术语和定义适用于本指导性技术文件。3.1
文档对象模型DocumentObjectModel;DOMW3C制定的XML应用程序接口。它将XML文档表示成一个树形的结构。DOM规定了一系列编程指令,允许应用程序多次访问并操作文档树的组件。3.2
元数据metadata
定义和描述其他数据的数据。
资源目录描述语言Resource Directory Description Language;RDDL一种符合XHTML格式的资源目录和描述,用于为用户提供目标资源的相关信息。XHTML
W3C为HTML制定的XML词汇表。
GB/Z21025—-2007
XML的简单APISampleAPIforXML;SAX为序列化存取XML文档信息所制定的一种接口。SAX处理器在处理XML文档的时候,随着遇见开、关标记和字符数据等内容,不断触发事件,调用应用程序(事件处理程序)处理,能够达到比较快的速度和效率。
式样单stylesheet
一套指令集合,主要用于规定XML文档显现格式,也可以将一个XML文档转换成另一个文档。XMIL组件XMLcomponent
XML元素、元素属性和XML词汇表的统称。XML schema/Schema
种用于限定文档结构(如元素的顺序、出现次数、属性等)的机制,用于描述一类实例文档的结构。解析器可以根据schema来验证文档。本指导性技术文件中,用小写字母开头的schema统称这一概念,其中也包括DTD。用大写字母开头的 Schema特指W3C制定的Schema标准(REC-xmlschema-0-20010502Part0~2)。
XML命名空间XMLnamespace
为了解决命名冲突,为元素和属性命名引人的逻辑空间,是在XML文档中通过URI引用声明的,并采用限定性前缀将元素和属性与命名空间联系起来。3.10
XML词汇表XMLvocabulary
在特定领域给特定用户群使用、有确定的功能的数据元集合以及数据模型,是表示一类文件的结构的schema的统称。
XML作品XMLartifacts
具有独立保存价值的各种XML数据,包括schema、式样单以及XML实例文档等。可扩展式样语言eXtensibleStylesheetLanguage;XSL由W3C组织制定的用于定义XML文档转换和显现的系列标准,包括:XSLT、XPath、XSL-FO三部分。
可扩展式样语言转换eXtensibleStylesheetLanguageTransformations;XSLT由W3C组织制定的用于转换XML文档的语言。3.14
统一建模语言Unified Modeling Language;UML为创建商业和技术模型定义的一种语言和图形表示法,它定义了多种模型种类,涵盖了从功能需求定义、事务处理活动工作流模型到逻辑和物理层次等软件开发的各个方面。3.15
上驼峰形式大小写UpperCamelCase;UCC把单词拼接在一起的一种方式,不使用含下划线“_”和句点“”等的连字符,每个单词的首字母大写,其余字母均小写。在有大写缩写字母或数字的时候,后面的单词首字母小写。2
例如:NameUsedInXMLschema。
下驼峰形式大小写LowerCamelCase;LCCLCC与UCC的唯一区别是整个名称的首字母用小写,例如:attributeValue。3.17
GB/Z21025-—2007
统一建模方法UnifiedModelingMethodology;UMMUN/CEFACT为事务处理建模,支持下一代电子数据交换(ElectronicDataInterchange,EDI)开发而推出的一套建议的方法。它基于Rational统一过程理论,使用UML作为建模语言。3.18
Unicode
由Unicode协会(Unicodeconsotium)制定的通用字符。其主要目的是为纯文本内容提供一套无歧义的编码,以方便全球各种语言文字的转换。3.19
统一资源定位符/统一资源指示符/统一资源名称URL(UniformResourceLocators)/URI(Uni-formResourceIndicators)/URN(UniformResourceNames)网络环境下三种不同的,但又相关的引用资源的统一的方法。4标准的符合性原则
所有XML文档的编制和所有的处理工具或处理器,包括解析器、文档生成器、验证工具,以及所有使用XML的软件应符合GB/T18793--2002,同时也应该考虑符合国际权威标准化组织订立的其他正式标准。对于标准未涉及到的,而应用中需要的对XML的扩充,原则上仅限于在组织内部使用,不宜公开传播,除非经过正式的审查和注册。5国际化和本地化原则
5.1XML文档编码
GB/T18793—2002规定,XML文档可以使用以下编码字符集:GB18030--2000
-GB13000.1;
—GB2312—1980;
一其他XML处理器支持的编码字符集。在GB/T18793—2002中,缺省字符集规定为GB13000.1,亦称为通用字符集(UniversalCharac-ter Set,UCS)。
注:Unicode是由Unicode协会(UnicodeConsotium)制定的通用字符集。其主要目的是为纯文本内容提供一套无歧义的编码,以方便全球各种语言文字的转换。在W3C的XML1.0中,大量使用了Unicode。其2004年发布的XML1.1中作了更新,使XML不再依赖于Unicode的特定版本。由于GB/T13000.11993与Unicode(2.0版本以上)是完全兼容的,本指南中除非特殊需要不涉及Unicode。在XML文档交换中经常用到UCS-4、UCS-2以及UTF-8、UTF-16等编码形式,简要介绍如下。UCS的双八位的BMP形式(UCS-2)规定每个字符用两个字节编码,这种形式仅适用于基本多语种平面。如“二”的双八位形式为4E00。UCS的肆八位的正则形式(UCS-4)规定每个字符用四个字节编码,例如:汉字“一”的正则形式为00004E00。
在UCS中,编码点在0~65535的字符归属第0平面,也称基本多语种平面(BasicMultilingualPlane,BMP)。这个平面中包含大部分全世界正在使用的公用字符,包括来自罗马字母、西里尔字母、阿3
GB/Z21025-2007
拉伯语、希腊语、希伯来语、常用汉字和其他语言的文字。编码点在65536~131071的字符归属第1平面。这个平面包括音乐符号、数学符号和一些已经不再使用的语言(如古意大利语)的文字。编码点在131072~196607的字符归属第2平面,收录了很多不常用汉字。第14平面包含了一些语言标记,因为XML有xml:lang属性可用而完全不需理会这些标记。其他的平面至今都没有很好地定义。在实际使用中更多采用的是UTF-8和UTF-16。制定UTF-8的目的是为了与原8比特系统向下兼容;制定UTF-16的目的是为了向上发展和扩充。UTF-8(Unicode Transformation Format,8-bit encoding form)是一种变长编码。编码点为 O~127的每一个字符(GB/T19881998字符)占一个字节,编码点为128~4095的每一个字符占据两个字节,第0平面的其他字符每一个占据3个字节,从第1至第15平面的每个字符占据4个字节。UTF-8有很多优点,列举如下:
它是GB/T1988—1998的超集,因此对于纯英文的文本,一个UTF-8文件与GB/T1988—1998文件完全一样,非常利于兼容,因此XML把UTF-8选作缺省的编码形式。-所有的GB/T1988一1998字符都不会成为其他字符编码的一部分,因此非常容易分辨GB/T1988——1998字符。
-UTF-8与字节顺序无关。在计算机系统中,大数值类型(如整型)使用多个字节表示,不同体系结构采用的字节排列顺序不同。其中,部分采用由高字节到低字节的排列顺序,称为big-endian;其他则采用由低字节到高字节的排列顺序,称little-endian。对于大多数big-endian的UNIX系统和little-endian的Windows系统,对同-个文档UTF-8可以做到每个字符一一对应,因此,没有必要在XML文档开头放置字节顺序标记。从单一字节就可以判断字符边界。只观察单一字节,程序就可以判断该字节是下列哪种情形之一:单字节字符、双字节字符的第一个字节,三字节字符的第一、二、三字节。一对于常见字符组成的文档,UTF-8占用空间最节省。UTF-16(UnicodeTransformationFormat,16-bitencodingform)也是一种变长编码。在UTF-16中,编码点为0~65535的字符使用单一的16位编码单元表示;而编码点为65536~1114111的字符使用一对16位编码单元表示(RC-element或surrogatepair)。UTF-16最大的好处是优化了基本多语种平面的字符表示,每个字符只需要2个字节,可作为定长编码来有效使用。对于大量使用中、日、韩文字的文本,其占用空间比UTF-8约节省1/3。然而比起UTF-8,UTF-16丧失了很多优点,最主要的是UTF-16是字节顺序相关的,为解决字节顺序问题,要在XML文档开头加一个字节顺序标志(#xFEFF)。如果程序读出的是FE和FF,则可以断定文档的编码是big-endianUTF-16;如果读出的是FF和FE,则文档的编码是little-endianUTF-16。由于#xFEFF不是一个合法的GB/T13000字符,所以不会与其他内容混淆。UTF-16 的另一个缺点是检测字符边界比较麻烦。除了UTF-8和UTF-16,GB/T13000.1还有UTF-32编码形式,与UCS-4一致。然而常用的只有UTF-8和UTF-16。一般原则是,如果文档不含大量的中、日、韩文字,XML应该使用UTF-8作为缺省的编码,否则应该使用UTF-16。如果难以判断,仍可采用UTF-8。但是,除非特别必要,XML置标标记(包括元素名和属性名)应该尽量采用GB/T1988-1998字符集,以适应当前很多工具对GB13000.1和其他编码字符集支持不够完善的现况。尽量不要使用GB13000.1以外的字符集,如果确实必要应该考虑采用编码转换,将其他字符集编码映射到GB13000.1再处理。
注:在使用GB13000的时候,应该遵照XML1.1标准的建议先将XML文本规格化。因为在GB13000中,一些文本成分即可使用静态的预先组合好的形式,也可使用动态组合的形式。例如“”可以表达为单个字符“#xE9”,也可以表达为两个字符连用,即“#x65\和“#x301”。为了进行字符比较,需要进行规格化,即使用一种规范化的、单一的GB/T13000文本形式来表示这些成分。Unicode定义了四种规范化形式:NormalizationFormD(NFD),Normalization Form KD (NFKD),Normalization Form C (NFC)和 Normalization Form KC(NFKC)。GB/Z21025-2007
其中NFD和NFKD将可能的字符进行分解,而NFC和NFKC将可能的字符进行组合。XML1.1规定规范化的文本应该采用NFC的形式。
5.2URI字符集使用
统一资源指示器(URI)用于定位系统中的某项资源。统一资源定位器(URL)(较URI更为人所熟知)是URI的子集。XML通常使用URI指定链接中的资源,定义命名空间等。以往的URI基于GB/T1988-1998的基本集,无法在URI中直接表示扩展字符,但可以通过转义机制来进行。对于URI中的保留字符、空白字符以及其他不满足条件或非安全的字符(包括GB/T1988一1998中编码点127之后的字符、空白符、控制符,如“{”、“}”、“|”、“、”、“~”、“[”、“]”等)都应该编码成“%hh\形式,其中,hh是该字符在字符集中的16进制的编号。以下是一个尚未编码的URL例子:http://www.company.com/中国转换后成为:
http://www.company.com/%E4%B8%AD%E5%9B%BDW3C和IETF正在制定基于GB/T13000的国际化的URI标准。在正式标准发布之前,仍然需要转义非安全的字符。
5.3谨慎使用多语种文档
多语种文档有两类:一类是在内容级别上使用多种语言,即元素内容使用不同的语言,另一类是在结构级别上使用多种语言,即用不同语言表示一个元素。多语言文档不易处理,特别是后者,不易保持几种语言版本的一致性,不易为检索等应用建立等价元索关系,因而需要尽力避免使用多语言文档。如果确实需要,应该尽量采用工具进行转换,并通过标识符建立元素之间的关联。5.4XML中多语种的使用
除非在其他标准、规范或既定应用中明确规定了须使用其他语种,在XML的以下成分中可以使用中文:
一元素名和元素内容;
属性名和属性值;
—枚举值;
一唯一标识符;
一记法(Notation);
一文本字符串。
面向公共使用的词汇表应该首先准备一个语种的主版本。为了利于使用其他语种的地区和国家使用,可以将该词汇表主版本翻译成其他语种的副版本,例如:由英文主版本翻译成中文或汉语拼音版本。建议通过一套XSL式样单(stylesheet)或程序进行词汇表之间的转换。经过转换的词汇表应该通过注释指明原始词汇表的出处。另外,在词汇表的不同版本中,应该使用标识符(建议使用“1ocID\)来标识等价的元素,并使用特定的属性(建议使用“attrList\)来标识属性顺序,以利在一个词汇表的不同语种实例之间能仍然保持严格的元素和属性的语义关联,并方便XML检索等处理机制识别。这方面的一个实例见14.1。
[适用于Schema]某些时候,也可采用元素替换(substitutionGroup)的方式,在一套Schema中指定多个语种的等价元素或属性名称。例如:+.++*++*+++ +**++*+.
GB/Z21025—2007
这种方法要求Schema的编码方法可以编码各个所需的语种,而且XML处理器可以处理这样的编码。另外,substitutionGroup中的替换元素必须是全局的。它的优点是能够保证多个语种文档的一致性。
通过Schema的命名空间可以建立多个版本的联系,例如:在DTD中,可以通过前导说明部分的DOCTYPE声明来建立联系:在进行词汇表语种转换的过程中,要注意妥善处理好命名空间的对应关系。XML注册机构最好能提供查询机制以方便检索同一词汇表的不同编码版本。5.5,使用xml:lang整合语种声明明确指示文档内容(如时间、日期、货币符号和数字)所使用的语言,可以有助于采用适合的显现式样,或正确地解释与语种无关的数据。所有与语种相关的元素或属性内容,均应使用该属性进行声明。对于schema中使用多语种元素的情况,应该为所有与方言相关的元素指定xml:lang属性。例如:
disc光盘光碟
xml:lang所使用的语种代码,与中文相关的有如下几个:—zh中文(简体);wwW.bzxz.Net
一zh-cn中文-中国(简体);
-zh-hk中文-香港(繁体);
一zh-mo中文-澳门(简体);
一zh-sg中文-新加坡(简体);zh-tw中文-台湾(繁体)。
如果上述代码不能满足需要,可以经权威机构注册后加以扩充,如用“zh-cn-py”表示汉语拼音。5.6在内容中使用本地化属性
为了便于本地化,需要规定一些用于本地化的属性,例如:translate:指明哪些内容需要翻译;-localize:指明是否需要做本地化处理;-locID:为本地化应用建立元素的语义关联;—locNote:通过它给翻译人员提供为理解原文应查看的重要信息。例如,元素的内容可能既有可翻译的部分,也有不可翻译的部分,采用本地化属性可指明如下


(span translate\yes\>The XML specification is maintained by the World Wide Web


指示\World WideWeb”不被翻译。6
GB/Z21025—2007
另外,在非XML文件中,也可使用类似的本地化机制,例如,在JavaScript中插人:/ * loc:span localize='no'* / ... / * /loc:span * /5.7属性值中避免使用可翻译的文本属性值的翻译会带来一些问题。首先,指定属性的本地化信息十分困难;其次,属性没有显式的ID供等价的属性建立关联;再者,属性值中与语言相关的空白不易处理另外,元素xml:lang的作用域不覆盖属性值。
5.8避免条件翻译
在设计schema时,应避免使用这样的元素:其内容是否需要翻译取决于某个属性值、父元素或同级元素的内容以及其他条件。
6组件命名原则
6.1拼写规则
所有的名称应该使用UCC规则(某些情况下,属性名称可采用LCC),而枚举值可以使用LCC规则。当然枚举值中的该有的大小写规则可不受此限制,例如“ChinaGNP”。6.2缩写规则
可读性比起标记的长度更为重要,在元索、属性和类型名称中应尽量少用缩略语和首字母缩略语,除非这些缩略语已经为世人公认,或者在注册库中有明确的定义。例如:不要使用DptID作为元素或属性的名称,而应该使用DepartmentID。如果使用缩略语,应该通过注释给出其非缩写的形式。当然也要避免使用太长的名称。
6.3通用化名称使用的限制
在为全局(Global)元素或属性、枚举值命名时,除非它们确实是较高抽象级别上的概念,不要使用过于通用化的名称(例如:“Name”“Address”等),应该把名称加上特定的上下文,使其更符合当前的含义(如\ReceiverName”“EmailAddress\)。6.4用URI作为名称型数值的定义用URI来唯一标识某个名称,可给它赋予更准确的内涵(这种内涵可以在专门的文档中详细描述)。例如:用“http://www.books.org/owner”来为一个“Owner”角色命名。6.5避免发明新名称
在为元素、属性、枚举值命名时,必须使用标准或其他规范中定义的标准名称,或者是其他外部标准文档中定义的词汇,尽量少创造新的名称。在schema中使用到的外部词汇也必须在注册库中注册。如果必须创造新的名称(元素、属性、类型、枚举值等的名称),这些名称必须在行业领域专家的指导下定义,应该经过各方用户同意,并在注册库中注册。对于DTD中的实体引用的命名,也应避免随意使用新的名称,应该首先考虑使用GB/T14814等标准给出的实体名称。
6.6尽量重用已有组件
schema 的制定者应尽量使用在注册库中已经定义好的标准组件(例如:元素、属性、类型等),避免制定新的雷同标准。因此,在制定schema之前,应该先检索注册库,看是否有可用组件存在。如果使用了注册库之外的其他标准化组织的XML schema,也应该把它们注册到注册库中。可使用来重用已有的组件。也可使用schema的继承机制通过扩展已有的元素类型来定义新的元素,以提高设计效率。7
,营N
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。