搜索结果: CYT188-2019
| 标准编号 | CY/T 188-2019 (CY/T188-2019) | | 中文名称 | 基于CNONIX的数据验证规范 | | 英文名称 | Specifications for data verification based on CNONIX | | 行业 | 印刷出版行业标准 (推荐) | | 中标分类 | A19 | | 国际标准分类 | | | 字数估计 | 18,129 | | 发布日期 | 2019-06-27 | | 实施日期 | 2019-07-01 | | 标准依据 | 行业标准备案公告2019年第6号(总第234号) | | 发布机构 | 国家新闻出版署 |
CY/T 188-2019
(CNONIX-based data validation specification)
ICS 01.140.40
A19
CY
中 华 人 民 共 和 国 新 闻 出 版 行 业 标 准
基于 CNONIX的数据验证规范
Specifications for data verification based on CNONIX
2019 - 06 - 27发布
2019 - 07 - 01实施
国家新闻出版署 发 布
目次
前言...II
1 范围...1
2 规范性引用文件...1
3 术语和定义...1
4 验证原则...2
5 验证内容...2
5.1 英文标签...2
5.2 数据组顺序...2
5.3 数据类型和长度...2
5.4 必选数据...2
5.5 元素关联性...2
5.6 代码值验证...3
6 验证方法及验证流程...3
6.1 验证方法...3
6.2 验证流程...3
7 验证结果...4
7.1 结果形式...4
7.2 实时反馈结果...4
7.3 验证报告...4
附录 A(资料性附录) XSD模版示例...5
附录 B(规范性附录) 验证报告模版...8
附录 C(资料性附录) 数据验证示例...9
II
前言
本标准按照GB/T 1.1-2009给出的规则起草。
本标准由全国出版物发行标准化技术委员会(SAC/TC505)提出并归口。
本标准起草单位:北方工业大学、北京拓标卓越信息技术研究院。
本标准主要起草人:丁瑜、唐贾军、姜莎、何丽、吴洁明、安秀敏。
基于 CNONIX 的数据验证规范
1 范围
本标准规定了CNONIX图书产品数据的验证原则、验证内容、验证方法、验证流程和对验证结果的管
理。
本标准适用于CNONIX国家标准应用及相关系统的数据验证工作。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 30330-2013 中国出版物在线信息交换 图书产品信息格式规范
3 术语和定义
下列术语和定义适用于本文件。
3.1
在线信息交换 online information exchange;ONIX
欧洲电子数据交换组织(EDItERU,European Electronic Data Interchange group)发布的用于
出版物产品信息交换的标准。
[GB/T 30330-2013,定义 3.1]
3.2
中国出版物在线信息交换 图书产品信息格式规范 China online information exchange for
publications;CNONIX
根据国际ONIX标准研制的、适用于中国国情的出版物在线信息交换的标准。
3.3
复合元素 composite
由若干个关联的元素组成的数据集合。
[GB/T 30330-2013,定义3.2]
3.4
数据组 data group
一组相同业务属性的元素和复合元素。
[GB/T 30330-2013,定义 3.4]
3.5
XML结构定义 XML Schemas Definition;XSD
描述和定义XML文档内容的XML语言。
4 验证原则
CNONIX图书产品数据验证应遵循以下原则:
a) 有效性原则,验证数据内容取值在规定范围内;
b) 完整性原则,应有的数据内容不缺失,并且数据之间的关系完备;
c) 一致性原则,验证数据内容描述规范、统一,无歧义性。
5 验证内容
5.1 英文标签
英文标签的验证包括:
a) 正确性。英文标签应是 GB/T 30330-2013中规定的标签,拼写无误;
b) 完整性。数据内容不为空时,开始标签和结束标签需成对出现;数据内容为空时,用空元素标
签表示。
5.2 数据组顺序
验证数据组的顺序、数据组中元素的顺序,顺序应符合GB/T 30330-2013的规定。
5.3 数据类型和长度
依据GB/T 30330-2013的规定,验证每一个数据元素的取值类型和长度,数据元素取值类型为字符
型时应遵循GB/T 30330-2013中4.3的相关规定。
示例:数据元素< PriceAmount >,按照可运算实数类型进行验证,且长度不超过 12 位。
5.4 必选数据
必选数据元素的验证内容如下:
a) 标签必选性验证。应依据 GB/T 30330-2013规定的标签必选性和可重复性进行验证。
b) 数据必选性验证。应依据 GB/T 30330-2013 中的规定以及被验证数据在其业务阶段的必选性
进行验证。
5.5 元素关联性
应依据GB/T 30330-2013中的相关规定,对被验证数据元素进行关联性验证。
数据元素之间的关联关系是指:当一个数据元素出现时另一个数据元素也必须出现。
示例:< Header >元素出现时,< Sender >元素必须出现。
数据元素取值的关联关系包含2个方面:
a) 当一个数据元素取特定值时,另一个数据元素应必选。
示例:数据元素< NotificationType >,当其取值为 03 时,应对< PublishingDetail >、< ProductSupply >数据元素进
行必选性验证;当其取值 04 时,< PublishingDetail >、< ProductSupply >数据元素为可选。
b) 当一个数据元素取特定值时,另一个数据元素的取值范围是确定的。
示例:数据元素< ProductIDType >,当其取值为 15 时,数据元素< IDValue >,取值是 9787111421900。数据元素
< IDValue >的取值是 13 位国际标准书号。
5.6 代码值验证
当被验证数据元素取值是代码时,应依据GB/T 30330-2013的代码表验证其取值范围的正确性。
6 验证方法及验证流程
6.1 验证方法
CNONIX数据的语法结构可用XSD进行验证。附录A.1是依据GB/T 30330-2013生成的< Addressee >数
据元素验证模版XSD示例;附录A.2是依据GB/T 30330-2013生成的< annotation >数据元素代码值验证模
版XSD示例。图书产品数据的逻辑结构应根据实际情况进行判断。数据验证的示例见附录C。
6.2 验证流程
CNONIX图书产品数据验证流程如下:
a) 数据元素标签验证,读取数据元素标签,加载 XSD模版,验证标签的正确性;
b) 根据被验证数据的上下文,验证数据组标签顺序的正确性;
c) 解析数据元素的标签内容,判断必选数据元素是否缺失;
d) 验证数据元素的类型和长度的正确性;
e) 验证数据元素之间应有的关联性;
f) 验证数据元素代码取值范围的正确性。
验证流程如图1所示。
开始
读取元素英文标签
数据组顺序
是否正确
结果记录
是否元素结束
解析元素内容
数据类型及长度是否正确
结果记录
元素关联性是否正确
XML是否结束
汇总结果记录
结束
标签是否正确
是否缺失必填数据
取值是否为代码表
验证代码表值
代码表取值是否正确
结果记录
图1 验证流程
7 验证结果
7.1 结果形式
验证的结果有实时反馈结果和验证报告两种。
7.2 实时反馈结果
交互式操作的数据验证应实时反馈验证结果。
7.3 验证报告
数据验证报告应包含:被验证数据、验证日期、验证结果和说明等。验证报告模版参见附录B。
A A
附 录 A
(资料性附录)
XSD模版示例
A.1 数据元素验证模版示例
< ?xml version="1.0" encoding="utf-8"? >
< xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
xmlns="http://www.cnonix.org/cnonix/reference" >
< xs:include schemaLocation="CNONIX_BookProduct_CodeLists.xsd"/ >
< xs:element name="Addressee" >
< xs:complexType >
< xs:sequence >
< xs:choice >
< xs:sequence >
< xs:element maxOccurs="unbounded" ref="AddresseeIdentifier"/ >
< xs:element minOccurs="0" ref="AddresseeName"/ >
< /xs:sequence >
< xs:element ref="AddresseeName"/ >
< /xs:choice >
< xs:element minOccurs="0" ref="ContactName"/ >
< xs:element minOccurs="0" ref="EmailAddress"/ >
< /xs:sequence >
< /xs:complexType >
< /xs:element >
< /xs:schema >
A.2 代码表验证模版示例
< ?xml version="1.0" encoding="utf-8"? >
< xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >
< xs:simpleType name="List1" >
< xs:annotation >
< xs:documentation source="CONIX Code List 1" >通告或更新类型代码表
< /xs:documentation >
< /xs:annotation >
< xs:restriction base="xs:string" >
< xs:enumeration value="01" >
< xs:annotation >
< xs:documentation >选题预告< /xs:documentation >
< xs:documentation >出版前发布的选题预告信息的完整记录。< /xs:documentation >
< /xs:annotation >
< /xs:enumeration >
< xs:enumeration value="02" >
< xs:annotation >
< xs:documentation >提前通告。< /xs:documentation >
< xs:documentation >出版前发布的选题预告确认的完整产品记录。
< /xs:documentation >
< /xs:annotation >
< /xs:enumeration >
< xs:enumeration value="03" >
< xs:annotation >
< xs:documentation >出版确认公告< /xs:documentation >
< xs:documentation >出版或即将出版时提前发布的被确认的完整产品记录。
< /xs:documentation >
< /xs:annotation >
< /xs:enumeration >
< xs:enumeration value="04" >
< xs:annotation >
< xs:documentation >更新< /xs:documentation >
< xs:documentation >对更新部分记录的发送。在发送“产品描述、产品营销、产品内容、
产品出版、相关资料和产品供应”六部分数据时使用。< /xs:documentation >
< /xs:annotation >
< /xs:enumeration >
< xs:enumeration value="05" >
< xs:annotation >
< xs:documentation >删除< /xs:documentation >
< xs:documentation >发送删除记录的指令。使用注意事项:1)当产品取消、绝版或类似原
因不再销售时不能使用,应采用供应状态变更处理,由接收方决定是否保留记录;2)删除指令仅用于
由于特殊原因应撤销产品的情况,如发行差错。< /xs:documentation >
< /xs:annotation >
< /xs:enumeration >
< xs:enumeration value="08" >
< xs:annotation >
< xs:documentation >出售通知< /xs:documentation >
< xs:documentation >由出售产品的出版者发送给另一个出版者。< /xs:documentation >
< /xs:annotation >
< /xs:enumeration >
< xs:enumeration value="09" >
< xs:annotation >
< xs:documentation >获取通知< /xs:documentation >
< xs:documentation >由获取产品的出版者发送给另一个出版者。< /xs:documentation >
< /xs:annotation >
< /xs:enumeration >
< /xs:restriction >
< /xs:simpleType >
< /xs:schema >
B B
附 录 B
(规范性附录)
验证报告模版
验证报告编号
CNONIX 版本号 验证日期
验证机构名称
验证数据
验证记录
错误位置
(错误出现的行和列)
错误类型
(标签错误、数据类型和长度错误)
错误建议
(给出修正错误的建议)
验证结果
验证结论 □ 无错误 □ 有错误
错误类型
标签错误 个
数据类型和长度错误 个
数据组顺序错误 个
元素关联性错误 个
代码值错误 个
C C
附 录 C
(资料性附录)
数据验证示例
C.1 标签验证示例
1 < ?xml version="1.0"? >
2 < ONIXMessage release="3.0" >
3 < Header >
4 < Sender >
5 < SenderName >S 出版社
6 < /Sender >
7 < SendDateTime >20090408< /SentDateTime >
8 < /Header >
9...
10 < /ONIXMessage >
验证结论:
第5行< SenderName >标签没有闭合,没有成对出现,第7行< SentDateTime >不是正确的标签,应为
< SendDateTime >,第7行标签没有闭合不是成对出现。
C.2 数据类型和长度示例
1 < ?xml version="1.0"? >
2 < ONIXMessage release="3.0" >
3 < Header >
4 < Sender >
5 < SenderName >S 出版社< /SenderName >
6 < /Sender >
7 < SendDateTime >20090408T10:41:32< /SendDateTime >
8 < MessageNumber >2< /MessageNumber >
9 < DefaultCurrencyCode >CN< /DefaultCurrencyCode >
10 < /Header >
11...
12 < /ONIXMessage >
验证结论:
第7行时间类型错误,时间允许格式为:
g) YYYYMMDD;
h) YYYYMMDDTHHMM;
i) YYYYMMDDTHHMMZ(国际时间);
j) YYYYMMDDTHHMM+HHMM(时区);
第9行数据长度不正确,应为3位的字符。
C.3 数据组顺序验证示例
1 < ?xml version="1.0"? >
2 < ONIXMessage release="3.0" >
3 < Header >
4 < Sender >
5 < SenderName >S 出版社< /SenderName >
6 < /Sender >
7 < SendDateTime >20090408T1041< /SendDateTime >
8 < DefaultCurrencyCode >CNY< /DefaultCurrencyCode >
9 < MessageNumber >2< /MessageNumber >
10 < /Header >
11...
12 < /ONIXMessage >
验证结论:
第9行元素顺序不正确,应出现在第8行元素之前。
C.4 必选元素验证示例
1 < ?xml version="1.0"? >
2 < ONIXMessage release="3.0" >
3 < Header >
4 < Sender >
5 < SenderName >S 出版社< /SenderName >
6 < /Sender >
7 < /Header >
8...
9 < /ONIXMessage >
验证结论:
缺失必选数据元素< SendDateTime >。
C.5 元素关联性验证示例
1 < ?xml version="1.0"? >
2 < ONIXMessage release="3.0" >
3 < Header >
4 < Sender > 发送方
5 < SenderName >S 出版社< /SenderName > 发送方为:S 出版社
6 < /Sender >
7 < Addressee > 接收方
8 < AddresseeName >K < /AddresseeName > 接收方为:K
9 < /Addressee >
10 < MessageNumber >2< /MessageNumber > 消息序号为:2
11 < SendDateTime >20090408< /SendDateTime > 消息创建时间为:2009 年 4 月 8 日
12 < /Header >
13 < Product >
14 < RecordReference > 1354< /RecordReference >
15 < NotificationType >03< /NotificationType >
16 < ProductIdentifier >
17 < ProductIDType >01< /ProductIDType >
18 < IDTypeName >选题号< /IDTypeName >
19 < IDValue > B2100001200900001< /IDValue >
20 < /ProductIdentifier >
21 < ProductIdentifier >
22 < ProductIDType >15< /ProductIDType >
23 < IDTypeName >国际标准书号< /IDTypeName >
24 < IDValue > 200900001< /IDValue >
25 < /ProductIdentifier >
26 < DescriptiveDetail >
27 < ProductComposition >00< /ProductComposition > 单本图书
28 < ProductForm >01< /ProductForm > 平装
29 < TitleDetail >
30 < TitleType >01< /T itleType > 题名类型为正题名
31 < TitleElement >
32 < TitleElementLevel >01< /T itleElementLevel > 产品层面的题名
33 < TitleText >现代教育技术教程< /T itleText > 正题名
34 < /T itleElement >
35 < /T itleDetail >
36 < Contributor >
37 < ContributorRole >A01< /ContributorRole > 第一作者,著
38 < PersonName >张三< /PersonName >
39 < /Contributor >
40 < Contributor >
41 < ContributorRole >B16< /ContributorRole > 责任编辑
42 < PersonName >李一< /PersonName >
43 < /Contributor >
44 < EditionNumber >1< /EditionNumber > 版次
45 < Language >
46 < LanguageRole >01< /LanguageRole > 正文语种
47 < LanguageCode >chi< /LanguageCode > 语种
48 < ScriptCode >Hani< /ScriptCode > 文字
49 < /Language >
50 < Extent >
51 < ExtentType >02< /ExtentType > 字词数
52 < ExtentValue >200000< /ExtentValue >
53 < ExtentUnit >02< /ExtentUnit > 字数
55 < /Extent >
56 < Subject >
58 < SubjectSchemeName >关键词 1< /SubjectSchemeName >
59 < SubjectHeadingText >教育技术< /SubjectHeadingText >
60 < /Subject >
61 < AudienceDescription >青年< /AudienceDescription > 读者范围
62 < /DescriptiveDetail >
63 < PublishingDetail >
64 < Publisher >
65 < PublishingRole >01 >< /PublishingRole > 出版者角色:出版者
66 < PublisherName >S 出版社< /PublisherName > 出版社名称
67 < Publisher >
68 < PublishingStatus >02< /PublishingStatus >
69 < CityOfPublication >北京< /CityOfPublication >
71 < /PublishingDetail >
72 < /Product >
73 < /ONIXMessage >
验证结论:
第24行元素< IDValue >取值错误,应为去除分隔符后 13位国际标准书号。由于 15行元素
< NotificationType >取值为03,72行缺少必选元素< ProductSupply >。
C.6 代码值验证示例
1 < ?xml version="1.0"? >
2 < ONIXMessage release="3.0" >
3 < Header >
4 < Sender > 发送方
5 < SenderName >S 出版社< /SenderName > 发送方为:S 出版社
6 < /Sender >
7 < Addressee > 接收方
8 < AddresseeName >K < /AddresseeName > 接收方为:K
9 < /Addressee >
10 < MessageNumber >3< /MessageNumber > 消息序号为:2
11 < SendDateTime >20090408< /SendDateTime > 消息创建时间为:2009 年 4 月 8 日
12 < /Header >
13 < Product >
14 < RecordReference >1235< /RecordReference >
15 < NotificationType >04< /NotificationType >
16 < ProductIdentifier >
17 < ProductIDType >15< /ProductIDType >
18 < IDTypeName >国际标准书号< /IDTypeName >
19 < IDValue > 9787514915686< /IDValue >
20 < /ProductIdentifier >
21 < DescriptiveDetail >
22 < ProductComposition >00< ProductCompos......
|