GB T 21364-2008 信息技术 学习、教育和培训 基于规则的XML绑定技术.pdf

上传人:postpastor181 文档编号:147703 上传时间:2019-07-06 格式:PDF 页数:17 大小:335.67KB
下载 相关 举报
GB T 21364-2008 信息技术 学习、教育和培训 基于规则的XML绑定技术.pdf_第1页
第1页 / 共17页
GB T 21364-2008 信息技术 学习、教育和培训 基于规则的XML绑定技术.pdf_第2页
第2页 / 共17页
GB T 21364-2008 信息技术 学习、教育和培训 基于规则的XML绑定技术.pdf_第3页
第3页 / 共17页
GB T 21364-2008 信息技术 学习、教育和培训 基于规则的XML绑定技术.pdf_第4页
第4页 / 共17页
GB T 21364-2008 信息技术 学习、教育和培训 基于规则的XML绑定技术.pdf_第5页
第5页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、ICS 35240L 60 园园中华人民共和国国家标准GBT 2 1 3642008信息技术 学习、教育和培训基于规则的XML绑定技术Information technology-Learning,education and training-Rule-based XML binding techniques2008-0114发布 200806-0 1实施宰瞀粥鬻瓣警糌瞥星发布中国国家标准化管理委员会仪19目 次GBT 213642008前言引言1范围l2规范性引用文件l3术语和定义-14缩略语75 XML编码绑定模板751生成和产生xML752消费和解释xML-1053基本数据类型的表示11

2、54字符的编码1355对异常和扩展的处理一13刖 菁本标准由中华人民共和国教育部提出。本标准由全国信息技术标准化委员会归口。本标准起草单位:清华大学。本标准主要起草人:史元春、郑莉、沈中南、向欣、郭玲、许磊、刘银涛。GBT 21364-20086BT 2 1 3642008引 言在网络教育技术标准使用的过程中,通常会存在数据绑定的问题。XML作为一种通用的可扩展置标语言,也是学习技术标准的编码绑定的首选。本标准规定了将网络教育技术标准的信息模型做XML编码绑定的方法。该方法能够指导标准制定者制定网络教育技术标准的相应XML绑定规范和实践指南。信息技术学习、教育和培训基于规则的XML绑定技术GB

3、T 21364-20081范围本标准描述了用于数据模型的基于规则的XML编码绑定技术。本标准的措词可以被包含到相关标准中,用于支持XML绑定。该措词描述了基于规则的方法,用于描述相关标准中的词汇。2规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注目期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。GBT 1988-1998信息技术信息交换用七位编码字符集(eqv ISOIEC 646:1991)GBT 7408-2005数据元和

4、交换格式信息交换 日期和时间表示法(ISO 8601:2000,MOD)GB 1300011993信息技术通用多八位编码字符集(UCS) 第一部分:体系结构与基本多文种平面(idt IS0mc 106461:1993)GBT 15272-1994程序设计语言C(idt ISOIEC 9899:1990)GBT 152731 1994信息处理八位单字节编码图形字符集第一部分:拉丁字母一(idt ISO8859-1:1987)GBT 18221 2000信息技术程序设计语言、环境与系统软件接口 独立于语言的数据类型(idt ISOIEC 11404:1996)3术语和定义下列术语和定义适用于本标准

5、。31聚集(数据类型、值)aggregate(data type,value)生成的数据类型或值。原则上,每个这样的数据类型或值都是由组件类型或值构成的。这种数据类型或值是通过将算法过程应用于组件数据类型或值而生成的。组件的值可以通过特征操作进行访问。聚集的特性与其组件的特性无关。示例1:数缀聚集包含的组件全部具有相同的类型。特征操作使用索引(编号)来访同各个的组件。mY-array 2array(09)of(integer),整数数组my_array(4)访问第四个元素示例2:记录的聚集包含若干成分,每个成分各自有类型和标签。特征操作使用元素名(标识符)访问各个组件。A:record(B:i

6、nteger,C:void,D:eharaeterstring(GB 130001),),AB访问标签为B的元素1GBT 21364-200832绑定binding从一个框架或规范到另一个框架或规范的应用或映射。33编码coding1)在信息交换中,信息的格式化或结构化表示。另见:信息编码(310)2) 按某一结构表示信息的过程。34条件数据元素conditional data element在适当的上下文中,满足某些特定条件时,在数据结构的实例中被定义和要求的数据结构元素。数据元素的“条件”特征是约束属性。另见:扩展数据元素(311)、必备数据元素(319)、约束(数据元素)(321)、可选

7、数据元素(323)。35消费(数据)consume(data)读数据并找到词法或编码的边界范围。其他形式:消费数据、数据消费者、数据消费。另见:解释(数据)(316)、产生(数据)(324)。注:数据在解释前被消费。示例1:在下列字符流中:12345PQRZJKLXXXYYY数据消费者可能识别到:有两个记录,都用标签“R”标识。第一个“R”记录包含三个记录,分别用标签“A”、“B”、“C”标识。第二个“R”记录包含两个记录,分别用标签“D玎、。E”标识。但是,数据消费者:可能不知道标签的意义,如:有什么意义?可能无法验证标签的合法性,如:“”可以包含属性“x”吗?可能无法验证记录内容的合法性,

8、如:在记录“A”中,“12345”是合法的值吗?可能限制分析的深度,如:“R”仅仅深度分析一层,该层包含标签“D”和“E”,但对“E”的内容只是进行有限的分析(如:找到开始和结束标签),标签“F”和“G”不会被分析和发现。因此,数据消费者对信息结构可能只有部分理解。示例2:下面是一个API的例子,用以区分数据消费和数据解释,在此种情况下扩展元素被间接使用了,而实现仍是严格一致的。2这个例子涉及到两个文件:头文件。std_datah,和包含该头的严格一致的应用I下面是被应用包含的头文件“std_data胪的内容struct std_dataint std_ehment_l; 必备元素void*s

9、tdelement_2;可选元素int ext_element_3; 扩展元素);IIII严格一致的应用开始包括标准的头文件(内容如上所列)#include”std_datah“struct std_data。; 声明“x”作为标准数据my codeOfstruct stddata Y,2;声明“Y”和“z”这是严格一致的代码,然而扩展元素“ext element_3”中的内容也被复制了memcpy(y,8Lx,sizeof x);将字符串赋给“std_element 2”将长度值赋给“std-element一1”Ystdelement 2一hello there”:Yst疋element_l

10、strlen(ystd element_2)这还是严格一致的代码,然而扩展元素“ext_element 3”中的内容也被复制了memcpy(&-z,&y,sizeof y);GBT 21364-2008本倒是严格一致的,因为实现过程中只解释或生成了来自标准集合的元素(即“std_element_l一和“std_element_2)。在这个假设的API绑定中,memcpy(在内存中拷贝对象)操作与消费和产生操作是等价的,而直接访问元素(如_y std_el。一ment_1)在这个假设的API绑定中是解释和生成操作。36数据实例data instance通过某种绑定规则呈现的数据集。37数据对象d

11、ata object在针对实现时数据访问的概念模型中,一个数据处理的单元。注1:数据对象可以是数据元素或实现中定义的对象。严格一致的实现中只使用或访问作为数据元素的数据对象。注2:进一步通过语义进行定义和限制的数据对象的行为,就是一个数据结构。一个数据结构的实例是一个数据集。在某种绑定中进一步定义、限制和表示的数据集即是数据实例。另见:数据实例(36)、数据集(38)、数据结构(39)3GBT 21364200838数据集data set在39中定义b)所指的数据结构,即:零个或多个数据元素聚集而成的实例。注:数据集是独立于绑定的(与绑定无关)。39数据结构data structure有下列两

12、个定义;a)零个或多个数据元素聚集而成的数据类型。b)零个或多个数据元素聚集而成的实例。注1:在不同的上下文中,一个数据结构可能被认为是一个完整的不可分单元,即在该上下文中,一个数据结构是某更高级别数据结构中的数据元素。注2:术语“聚集”是在GBT 18221 2000中定义的。示例:记录、集合、序列、列表、数组。310信息编码encoding信息的位或字节格式及其表示。注:信息编码也可以简称为“编码”。311扩展数据元素extended data element在适当的上下文中,定义在标准之外的数据结构元素,经数据交换的参与者和实现系统允许,可以在数据结构的实例中使用。数据元素的“扩展”属性

13、是一种约束属性。数据元素的“扩展”属性是一个一致性级别的特征(如:严格一致性实现和一致性实现是两个不同的级别)。示例:必备扩展数据元素、可选扩展数据元素、条件扩展数据元素。另见:条件数据元素(34)、必备数据元素(319)、约束(数据元素)(321)、可选数据元素(323)。312生成(数据)generate(data)将数据的从本来的含义转换为某种适合数据交换的形式。示例:根据某种概念模型将数据结构序列化,但不必以某种具体的编码方式表示数据。另见:解释(数据)(316)、产生(数据)(324)。313实现行为implementation behavior外部观察到的现象、对外呈现的行为或动作

14、。另见:实现时定义的行为值(314)、实现值(315)、未定义的行为值(327)、未规定的行为值(328)。314实现时定义的行为值implementation-defined behaviorvalue未规定的行为或未规定的值,由实现时的文档说明如何对这些行为或值做出选择。示例:以8位字节计算,允许一个编码时的最大容量。另见:实现行为(313)、未定义的行为值(327)、未规定的行为值(328)。315实现值implementation value与实现相关的可计量的对象。另见:实现行为(313)、实现时定义的行为值(314)、未定义的行为值(327)、未规定的行为值(328)。4GBT 2

15、13642008316解释(数据)interpret(data)处理数据,在本标准规定的范围内发现数据的含义。其他形式:解释数据、数据解释器、数据解释。另见:生成(数据)(312)、消费(数据)(35)。注:数据在解释前被消费。示例:在下列字符流中:12345PQRZJKLxXXYYY一个数据消费者能够识别:有两个记录,都用标签“R”标识。第一个“R”记录包含三个记录,分别用标签A、“B”、C标识。第二个R记录包含两个记录,分别用标签D、“E”标识。因为只识别了这些标签,所以只有这些可以提供给数据解释。假设标签“E”代表一个扩展数据元素,那么一个数据解释器可能只能识别标准标签“A”、“矽、“c

16、”和“D”,基于翻译过程中“捎费”和“解释”的分离,以及某种特殊的标准绑定(如:本例中类似XML的绑定)两个原因,一个应用程序可能只解释标准化的特征A、B、C和D。如上所述,一个应用程序结合了数据消费和数据解释,但只解释标准的数据元素,可以作为一个严格一致的数据阅读器。317本地特定行为local-specific behavior依赖于民族、文化、语言、制度等地方约定的行为,在实现中需要用文档说明。318寿命(数据元素)Iongevity(data element)数据元素规范中的一个属性,用于说明与过去、现在或将来的标准版本进行合并的意图。另见:约束(数据元素)(321)、过时数据元素(3

17、22)、保留数据元素(326)。注:寿命属性和约束属性无关。示例1:过时散据元素也许已包含在本标准的过去版本中,但不会包含在本标准的将来版本中。示例2:保留数据元素可能没有被包含在本标准的过去版本中,而可能会包括在本标准的将来版本中。319必备数据元素mandatory data element在适当的上下文中,在数据结构实例中定义和要求的元素。“必备”是一种约束型属性。另见:条件数据元素(34)、扩展数据元素(311)、约束(数据元素)(321)、可选数据元素(323)。5GBT 2 1 364-2008320漫游(访问、系统)nomadic(access,system)a)服务的连续性跨越

18、不同的通信会话和地理位置的现象。b) 间或性地从子系统或相关系统之间的通信网络上断开。注:也称为“问或性连通”或“间或性漫游”。321约束(数据元素)obligation(data element)对数据元素的要求和容许,他们决定了数据结构的合法性。另见:寿命(数据元素)(318)、条件数据元素(34)、扩展数据元素(311)、必备数据元素(319)、可选数据元素(323)。示例:数据结构x,有四个元素:A和B是必备的、C是可选的、D是条件的(如果B的值为真,则D存在)。下列是有效和无效数据结构的样例:(A一123) 无效,缺少必备元素B(A=123,B:false) 有效(A一123,Btr

19、ue) 无效,缺少条件元素D(A一123,Btrue,D一17)有效(A一123,Bfalse,D一17)有效(A-123,Bnil,c一345)有效322过时数据元素obsolete data element在适当的上下文中,在数据结构中定义了但不宜在数据结构的实例中使用的元素。“过时”是一种寿命属性。另见:寿命(数据元素)(318)、保留数据元素(326)。注:不推荐使用过时数据元素,可能从标准的将来版本中被删除。323可选数据元素optional data element在适当的上下文中,在数据结构中定义并允许的、但在实例中不是必须出现的元素。另见:条件数据元素(34)、扩展数据元素(3

20、11)、必备数据元素(319)、约束(数据元素)(321)。324产生(数据)produce(data)对数据进行处理,定义出词法或编码的边界,然后写出结果数据。其他形式:产生数据、数据产生器、数据生产另见:生成(数据)(312)、消费(数据)(35)。注:数据被生成先于被产生。325信息仓库repository数据集合以及用于存储、索引、查找和提取信息的数据访问方法的汇集。326保留数据元素reserved data element在适当的下文中,在数据结构中未被定义且在实例中不允许使用的元素。“保留”是一种寿命属性。另见:寿命(数据元素)(318)、过时数据元素(322)。6GBT 213

21、64-20083。27未定义的行为值undefined behaviorvalue标准未实施要求的实现行为或实现值。另见:实现行为(313)、实现时定义的行为值(314)、实现值(315)、未规定的行为值(328)。示倒1:可能的未定义的行为包括”。规则1的第2句:“对称的XML标签界定了数据元素的相关值的边界”,要求标签是对称的;数据元素的值在标签之间,如:“X:17”j“17”。规则1的第3句:“XML标签的嵌套表示了数据元素的结构”,要求由聚集(记录、数组、序列或列表)所隐含的嵌套得出同样的XML标签的嵌套。利用上述对记录A的定义,元素B、c、D和E隐含了下列嵌套:规则1的第4句:“对于

22、数组和顺序聚集:单个的数据元素用重复的XML标签来表示,这些XML标签基于聚集的标识符及后缀“一list”或“一bucket”,不用元素的索引值”,要求数组和序列(列表)被表示8为带有相同名称的多个标签这是典型的XML约定。如:数据元素F表示为GFGFGF但不能表示为GFlistG0GF_listGBT 21364-20085122规则2的基本原理标准的记录使用几种特定的数据类型,如多语言数据类型,用来描述在多语言和多文化上下文中必须标识的某些特征类型数据元素这些特征通常称为国际化(118N)和本地化(L10N)特征。下面是多语言数据类型的示例,这种多语言数据类型不与本标准其他位置所定义的其他

23、多语言数据类型相抵触。在这个示例中,数据元素sample_mlstring_type表示一个字符串对:本地化字符串和本地规范(L10N映射)。数据类型sample_mlstring_array_type表示一个字符串对的数组。在这个示例中,数组example remarks包含四个元素,每个元素是一个字符串对。可以推测,应用可以根据所在的国家(地区)从example_remarks中选择适当的字符串。下面是示例的类型定义和值定义:type sample_mlstring_typerecord(LiON_string:eharacterstring(GB 130001)L10Nlocale:st

24、ring_type,),type samplemlstring_array_typearray(01imit)of(sample_mlstring_type),GBT 21364-2008value exampleremarks:samplemlstring_array_type一(LIONstring:”abe abc abc”,L10Nlocale:”en-US”,),(LIONstring:def def def”,L10Nmap:”fr-CA”,),(LIONstring:”ghi ghi ghi”,LIONmap:”de-DE”,),(LIONstring:”您好您好您好”,L10N

25、map:”zh-CN”,),根据规则2和规则1中的数组处理规则,这些数据元素可以被转换成下列XMLabc abc abcdef def defghi ghi ghi您好您好您好5123规则3的基本原理这个规则用于重写标签,以使用某些名称空间约定(namespaee conventions)。该规则可以通过选择不同的名称空间约定(前缀)来规定XML的名称空间。在使用规则3之后,实现要确保这些转换的结果是格式正确的XML。52消费和解释XML521规则下列规则描述了通过使用本标准和GBT 18221 2000的标记法,将XML记录转换到标准数据元素。被消费的数据都应该是格式正确的XML。a)规则1

26、:将下列XML标签(通配记法):GBT一标准一*转换成下列XML标签(通配记法):标准一*1 0GBT 21364-2008b)规则2:转换下列内容:1)用XML元素的LANG属性设置“多语言字符串”数据元素中的“语种”元素。2)用标签标记的元素中的内容设置“多语言字符串”数据元素中的“字符串”元素。c)规则3:对于在本标准中每一个与标准所定义的数据元素标识符有关系的XML标签,需要对它对应的开、闭标签进行匹配。对于每一个XML标签,除了规则2中修改的部分,需要把该标签映射为对应的数据元素标识符。XML标签的嵌套结构表示了数据元素的嵌套结构,如上述51中的规则1的逆操作即是生成和解释XML。每

27、个用标签标记的元素的内容被转换成相应的数据元素的值。522基本原理5221规则1的基本原理在处理前,实现要保证进行消费和解释的内容是格式正确的XML。此规则将根据需要剥离XML名称空问的前缀和后缀。在规则1的样例中,没有使用XML的名称空间,而是使用了一个名称空间的前缀“GBT_”来减少名称空间冲突的可能性。5222规则2的基本原理此规则做了从LANG属性到“多语言字符串”数据类型的逆映射。此规则仅仅转化已知的“多语言字符串”数据元素,因为所有其他的XML LANG属性跟本标准中的“多语言字符串”数据元素没有对应关系。5223规则3的基本原理此规则处理XML标签及其内容与数据元素之间的主要转换

28、。规则3的第1句:“对于在本标准中每一个与标准所定义的数据元素标识符有关系的XML标签,需要对它对应的开、闭标签进行匹配”忽略掉所有本标准不识别的标识符。正确地匹配它们。规则3的第2旬:“对于每一个XML标签,除了规则2中修改的部分,需要把该标签映射为对应的数据元素标识符”,创建与数据元素之间的联系,但并不绘数据元素赋值。规则3的第3句:“XML标签的嵌套结构表示了数据元素的嵌套结构,如上述51中的规则1的逆操作即是生成和解释XML,在本标准所要求的范围内,确保XML标签的内部结构与数据元素的内部结构一致。规则3的第4句:“每个用标签标记的元素的内容被转换成相应的数据元素的值”,将XML标签内

29、的内容转换成数据元素的值,即填充数据元索。53基本数据类型的裹示531字符和字符串字符(character)类型的数据元素应该根据XML规范进行表示。注1:特殊字符,如:“”、。”、。;”,需耍转接方莹。尽可能无掼。注2:某些编码,如:GBT 1527311994和GB 130001一1993允许诸如“”(版权符号)等字符的直接编码表示。其他的编码,如:GBT 1988-1998ill薹进行缀碍扩晨。如:通过。©;”来表示这些符号。532整数整数(integer)类型的数据元素应根据GBT 15272-1994程序设计语言c第6441条(整型常量)来表示,但不包括“u”、“L”、“LL

30、”后缀及它们的小写形式。整数也可以包含可选的前导符:加号(“+”)或减号(“一”),但不能同时有两者。示例:o2311GBT 21364-2008Oxl7 16进制的23027 118进制的2334+34533实数实数(real)类型的数据元素分为下列两种情况:如果是整数,参照532:整数。如果不是整数或不表示为整数,应根据GBT 15272 1994程序设计语言c第6442条(浮点常量)来表示,但不包括“F”和“L”后缀以及它们的小写形式。实数也可以包括一个可选的前导符:加号(“+”)或减号(“一”),但不能同时有两者。示例:0o0130013E2 130的另一种表示方法+13E2130的另

31、一种表示方法534日期和时间值时间(time)类型的数据元素的表示应遵循GBT 7408 2005数据元素和交换格式信息交换日期和时间的表示。示例1:时间点2007061120070616T19:20:30+01示例2:时间段PTlH30M1288SP1Y1M3DTlH535空类型12112007年6月11日oo2007年6月16日,下午7点20分30秒,与UTC时差为+1小时1小时30分12秒881年1个月3天1小时空类型(void)应该没有表示和编码。示例:下列记录:A:record(B:integer,C:void,D:characterstdng(GB 130001)用XML表示为:1

32、7hello而不应该是:17GBT 21364-2008hello54字符的编码XML编码技术规定了如何将字符映射为8位字节的方法。遵循XML绑定的标准的数据实例应使用以下标准中的一种进行编码:GBT 1988 1998、GBT 1527311994、GB 130001一1993 uTF-8或GB 1300011993 UTF-16。遵循XML绑定的标准的应用应该支持以下所有编码标准:GBT 1988 1998、GBT 1527311994、GB 1300011993 UTF-8或GB 1300011993 UTF-16。55对异常和扩展的处理551实现时定义的行为除了在本标准其他地方描述的内

33、容之外,下列是实现时定义的行为。下列是在XML编码的产生和消费中,实现时定义的行为:用XML编码并能够被成功处理的、严格一致的标准的数据实例的最大长度(以8位字节表示)。xML记录的最大嵌套深度。未指定时区的时间(time)类型的数据元素的时区信息。552未规定的行为除了在本标准其他地方描述的内容之外,下列是未规定的行为。下列是在XML编码的生成和解释中,未规定的行为:数据元素的处理次序。下列是在XML编码的产生和消费中,未规定的行为:除在数据元素值中和XML规范要求的以外,附加空格的使用。553未定义的行为除了在本标准其他地方描述的内容之外,下列是未定义的行为。下列是在XML编码的产生和消费中,未定义的行为:和扩展数据元素对应的xML标签的使用。和保留数据元素对应的XML标签的使用。在本XML绑定中未定义的XML标签或属性。对本标准所描述的字汇以外的字符的使用。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 标准规范 > 国家标准

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1