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

GB/T 21364-2008 Information technology—Learning,education and training—Rule-based XML binding techniques

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

基本信息

标准号
GB/T 21364-2008
相关服务
标准类型
国家标准
标准状态
现行
中国标准分类号(CCS)
国际标准分类号(ICS)
发布日期
2008-01-14
实施日期
2008-06-01
发布单位/组织
中华人民共和国国家质量监督检验检疫总局、中国国家标准化管理委员会
归口单位
全国信息技术标准化委员会
适用范围
本标准描述了用于数据模型的基于规则的XML编码绑定技术。本标准的措词可以被包含到相关标准中,用于支持XML绑定。该措词描述了基于规则的方法,用于描述相关标准中的词汇。

发布历史

研制信息

起草单位:
清华大学
起草人:
史元春、郑莉、沈中南、向欣、郭玲、许磊、刘银涛
出版信息:
页数:17页 | 字数:29 千字 | 开本: 大16开

内容描述

ICS35.240

L60OB

中华人民共和国国家标准

GB/T21364—2008

信息技术学习、教育和培训

基于规则的XML绑定技术

Informationtechnology——Learning,educationandtraining—

Rule-basedXMLbindingtechniques

2008-01-14发布2008-06-01实施

发布

GB/T21364—2008

目次

前言m

引言w

1范围1

2规范性引用文件1

3术语和定义1

4缩略语7

5XML编码绑定模板7

5.1生成和产生XML7

5.2消费和解释XML10

5.3基本数据类型的表示11

5.4字符的编码13

5.5对异常和扩展的处理13

T

GB/T21364—2008

前言

本标准由中华人民共和国教育部提出。

本标准由全国信息技术标准化委员会归口。

本标准起草单位:清华大学。

本标准主要起草人:史元春、郑莉、沈中南、向欣、郭玲、许磊、刘银涛。

ni

GB/T21364—2008

引言

在网络教育技术标准使用的过程中,通常会存在数据绑定的问题。XML作为一种通用的可扩展

置标语言,也是学习技术标准的编码绑定的首选。本标准规定了将网络教育技术标准的信息模型做

XML编码绑定的方法。该方法能够指导标准制定者制定网络教育技术标准的相应XML绑定规范和

实践指南。

GB/T21364—2008

信息技术学习、教育和培训

基于规则的XML绑定技术

1范围

本标准描述了用于数据模型的基于规则的XML编码绑定技术。本标准的措词可以被包含到相关

标准中,用于支持XML绑定。该措词描述了基于规则的方法,用于描述相关标准中的词汇。

2规范性引用文件

下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有

的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究

是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。

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

GB/T7408—2005数据元和交换格式信息交换日期和时间表示法(ISO8601:2000,MOD)

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

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

GB/T15272—1994程序设计语言C(idtISO/IEC9899:1990)

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

8859-1:1987)

GB/T18221-2000信息技术程序设计语言、环境与系统软件接口独立于语言的数据类型

(idtISO/IEC11404:1996)

3术语和定义

下列术语和定义适用于本标准。

3.1

聚集(数据类型、值)aggregate(datatype,value)

生成的数据类型或值。原则上,每个这样的数据类型或值都是由组件类型或值构成的。这种数据

类型或值是通过将算法过程应用于组件数据类型或值而生成的。组件的值可以通过特征操作进行访

问。聚集的特性与其组件的特性无关。

示例1:数组聚集包含的组件全部具有相同的类型。特征操作使用索引(编号)来访问各个的组件。

my_array:

array(0..9)of(integer),〃整数数组

my_array(4)//访问第四个元素

示例2:记录的聚集包含若干成分,每个成分各自有类型和标签。特征操作使用元素名(标识符)访问各个组件。

A:record

(

B:integer,

C:void,

D:characterstring(GB13000-1)9

),

A.B//访问标签为B的元素

1

GB/T21364—2008

3.2

绑定binding

从一个框架或规范到另一个框架或规范的应用或映射。

3.3

编码coding

1)在信息交换中,信息的格式化或结构化表示。

另见:信息编码(3.10)

2)按某一结构表示信息的过程。

3.4

条件数据元素conditionaldataelement

在适当的上下文中,满足某些特定条件时,在数据结构的实例中被定义和要求的数据结构元素。

数据元素的“条件”特征是约束属性。

另见:扩展数据元素(3.11)、必备数据元素(3.19)、约束(数据元素)(3.21)、可选数据元素(3.23)。

3.5

消费(数据)consume(data)

读数据并找到词法或编码的边界范围。

其他形式:消费数据、数据消费者、数据消费。

另见:解释(数据)(3.16)、产生(数据)(3.24)。

注:数据在解释前被消费。

示例1:在下列字符流中:

<R>

<A>123.45</A>

<B>PQR</B>

<CX="Y">Z</C>

</R>

<R>

<D>JKL</D>

<E>

<F>XXX</F>

<G>YYY</G>

</E>

</R>

数据消费者可能识别到:

——有两个记录,都用标签“R”标识。

——第一个“R”记录包含三个记录,分别用标签“A”、“B”、“C”标识。

——第二个“R”记录包含两个记录,分别用标签“D”、“E”标识。

但是,数据消费者:

——可能不知道标签的意义,如:<B>...</B>有什么意义?

——可能无法验证标签的合法性,如:“<C>”可以包含属性“X”吗?

——可能无法验证记录内容的合法性,如:在记录“A”中,“123.45”是合法的值吗?

—可能限制分析的深度,如:“R”仅仅深度分析一层,该层包含标签“D”和“E”,但对“E”的内容只是进行有限的分

析(如:找到开始利结束标签),标签“F”和“G”不会被分析利发现。因此,数据消费者对信息结构可能只有部分

理解。

示例2:下面是一个API的例子,用以区分数据消费和数据解释,在此种情况下扩展元素被间接使用了,而实现仍是

严格一致的。

2

GB/T21364—2008

〃//这个例子涉及到两个文件:头文件“sld_data.h”和包含该头的严格一致的应用

〃//下面是被应用包含的头文件“std_data.h”的内容

structsld_data

:

intstd_element_l;//必备元素

void*std_elemen丄2;//可选兀素

intext_element_3;//扩展元素

};

〃//严格一致的应用开始

〃包括标准的头文件(内容如上所列)

#includeh"

structstd.datax;//声明“x”作为标准数据

niy_code()

{

structstd_datay,z;//声明"y"和"z"

//这是严格一致的代码,

//然而扩展元素“exl_elemenl_3”中的内容也被复制了

memcpy(&y,&x,sizecfx);

//将字符串赋给“$td_element_2”

//将长度值赋给“std_element_l”

y.sld_element_2="hellothere";

y.sld_element_l=slrlen(y.std_elemenl_2);

//这还是严格一致的代码,

//然而扩展元素“exl_elemenl_3”中的内容也被复制了

memcpy(&z,&y,sizecfy);

}

本例是严格一致的,因为实现过程中只解释或生成了来自标准集合的元素(即“std_element_F,和“std_elemenl_2”)。在

这个假设的API绑定中.memcpy(在内存中拷贝对象)操作与消费和产生操作是等价的,而直接访问元素(如:y.std_ele-

ment_l)在这个假设的API绑定中是解释和生成操作。

3.6

数据实例datainstance

通过某种绑定规则呈现的数据集。

3.7

数据对象dataobject

在针对实现时数据访问的概念模型中,一个数据处理的单元。

注1:数据对象可以是数据元素或实现中定义的对象。严格一致的实现中只使用或访问作为数据元素的数据对象。

注2:进一步通过语义进行定义和限制的数据对象的行为,就是一个数据结构。一个数据结构的实例是一个数据

集。在某种绑定中进一步定义、限制和表示的数据集即是数据实例。

另见:数据实例(3.6)、数据集(3.8)、数据结构(3.9)

定制服务