GB/T39852-2021

物品电子编码标签数据转换

Electronicproductcode—Tagdatatranslation

本文分享国家标准物品电子编码标签数据转换的全文阅读和高清PDF的下载,物品电子编码标签数据转换的编号:GB/T39852-2021。物品电子编码标签数据转换共有215页,发布于2021-10-01
  • 中国标准分类号(CCS)A24
  • 国际标准分类号(ICS)35.040
  • 实施日期2021-10-01
  • 文件格式PDF
  • 文本页数215页
  • 文件大小7.69M

以图片形式预览物品电子编码标签数据转换

物品电子编码标签数据转换


国家标准 GB/T39852一2021 物品电子编码标签数据转换 Eleetronieproductcode一Iagdatatranslation 2021-03-09发布 2021-10-01实施 国家市场监督管理总局 发布 国家标涯花管理委员会国家标准
GB/39852一2021 目 次 前言 范围 2 规范性引用文件 术语和定义 缩略语和符号 EPC系统与标签数据 5.1EPC系统 5.2标签数据 标签数据转换 6.1标签数据转换概述 6.2转换过程 TDT标记文件 7.1TDT标记文件概述 7.2TDT标记文件的定义方式和附加要求 l0 7.3TDT标记文件的元素和属性 标签数据转换算法 8 2 8.1概述 27 8.2功能算法和应用程序接口(API) 27 附录A(规范性附录TDT标记文件 33 A.1sGTIN-64 33 A.2sGTIN-96 45 A.3SGTIN-198 56 A.4SSCC64 67 A.5sSCC-96 7? A.6SGLN-64 86 SGLN-96 98 A.8sSGLN-195 109 A.9GDTI-96 119 A.l0GDTI-113 130 A.11GRAF64 14 A.12GRAI96 152 A.13GRA-170 163 175 A.14GIAI-64
GB/T39852?202 A.15GIAI-96 183 A.16GIAI-202 192 A.17GSRN-96 200 A.18 GID-96 208 211 ο
GB/39852一2021 前 言 本标准按照GB/T1.1一2009给出的规则起草 本标准由全国物流信息管理标准化技术委员会(SAC/TC267)提出并归口 本标准起草单位;物品编码中心,北京仁聚智汇科技发展有限公司、深圳市标准技术研究院 本标准主要起草人:李志敏、罗艳、施煜、李媛红、张彪、郡若、易晓珊、胡敏、董腾、王隆
GB/39852一2021 物品电子编码标签数据转换 范围 本标准规定了物品电子编码系统与标签数据、标签数据转换、标签数据转换标记文件和标签数据转 换算法的方法和要求 本标准适用于物品电子编码系统信息交换与传输过程中的标签数据转换与处理 规范性引用文件 下列文件对于本文件的应用是必不可少的 凡是注日期的引用文件,仅注日期的版本适用于本文 件 凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件 GB/T12905条码术语 s1Ec1398信息技术项目管理用射频识别(FD)数据协议.数据编码规则和逻辑存航 功能[InformationtechnologyRadiofrequeneyidentificationRFIDforitemmanagement一Data protocol:dataencodingrulesandlogiealmemoryfunetions ISO/IEC19762 信息技术自动识别与数据采集 词汇[Info 统 ormmationtechnology AutomatieidentifieationanddatacaptureAIIC)techniques一Harmomizedvoeabulary Gs1EPC标签数据标准(GS1EPcTagDataStandard GS1通用规范(GS1Generalspeeifacations) 术语和定义 GB/T12905,ISo/IEC19762界定的术语和定义适用于本文件 缩略语和符号 下列缩略语和符号适用于本文件 ABNF;扩展巴科斯范式(AugmentedBackus-NaurFormm) AI:应用标识符(Applicationldentifier) ceationLevelEvent ALE;应用层事件(Applie DNS:域名解析系统(DomainNameSystem) EPC:物品电子编码EleetronicProductCode) EPCIS:物品电子编码信息服务(ElectronicProduectCodelnformationServices GDD;全球数据字典( GlobalDataDictionary GDSN;全球数据同步网络(GlobalDataSynchronizationNetwork) GPC;全球产品分类(GlobalProduetClassifieation) Gs1;国际物品编码协会(GlobalStandard LLRP;底层读写器协议(L.owlLevelReaderProtocol NAPTR:名称授权指针(NamingAuthorityPointem) ONS;对象名称解析服务(ObjeetNamingServiee)
GB/T39852一202 ldentification RFID;射频识别(RadioFrequeney TDS;标签数据标准(TagDataStandard) TDT:标签数据转换(TagDataTranslation) URI统一资源标识符(UniformResourceIndentifer) URN;统一资源名称(UniformResourceName) XML;可扩展置标语言(ExtensibleMarkupLanguage) ;十六进制表示 *ex ()m;二进制表示 5 EPC系统与标签数据 5.1EPC系统 5.1.1EPc系统组成 EPC是GS1物品编码的电子代码形式 EPC系统是GS1系统的组成部分,是在信息网络基础上 以EPC或G;S1物品编码的其他形式(如条码,OCR字符)代码,作为物品标识以及信息传递或检索关键 字,利用RFD技术和其他自动识别与数据采集技术,实现物品信息的自动识别与采集、检索、查询和传 递,从而达到物与信息网络互联、物与物互联的标准化服务网络 EPC系统由标识与数据采集层,EPC信息系统层、应用层,EPC网络服务层四部分组成其架构如图1所示 对象名称解析服务(ONs) EPC网络服务层 发现服务(Discovery) 应用层 应用 应用 (本地或云 GDD EANcoM GPg ----- EPCIS GSleCOM EPC信息系统层 XML GDSN 过滤和控制中间件(ALE) RFID读写器 条码识读器 标识与数据采集层 业6 RFID标签 条码标签 图 EPC系统架构图
GB/39852一2021 5.1.2标识与数据采集层 标识与数据采集层实现物品标识信息的自动采集,由标识和读写器构成 基于RFID技术的标识 与数据采集层由RFI标签和识读器组成,其他技术不在本标准中规定 RFID标签是装载物品电子编码(EPC)的自动识别载体,通常附着于标识物品上,是物品全生命周 期的唯一标识由天线和芯片组成 EPC在RFID标签内以二进制形式存储 RFD读写器是读取或者读写RFID标签存储信息的设备 读写器可内嵌底层读写器协议 LLRP),控制读写器读取原始标签数据,通过中间件与信息系统交换信息 5.1.3EPC信息系统层 EPC信息系统层为应用层提供数据过滤以及数据共享服务,包括实现过滤功能的应用层事件 (ALE)接口,实现数据共享服务的数据同步、Gs1EANcOM和Gs1ecOMXMI标准,实现物品事件 信息服务的EPCIS标准等 注1.GS1EANCOM是由(S1开发的,应用于商业流通领域的电子数据交换规范 注2;Gs1c(coMXML是由Gs1开发的基于xML语言的电子数据交换规范 5.1.4应用层 应用层是指用户根据需求采用EPC或Gs1物品编码的其他形式代码为关键字搭建的各种应用. 5.1.5EPc网络服务层 EPC网络服务层提供在互联网上寻找具体应用、具体对象的网络服务,包括对象名称解析服务 (ONS)和发现服务(Discovery)等,其中,对象名称解析服务(ONs)是通过唯一的物品电子代码对实体 对象进行识别与发现的网络服务模式 5.2标签数据 5.2.1标签数据级别 标签数据是指EPC系统中,从RFID标签到对象名称解析服务(ONS)的各种格式的数据,包括七 种格式 二进制格式(BINARY); 标签编码URI格式(TAG_ENCcODING); 纯标识URH格式(PURE_IDENry -Cs1文本数招字段格式(LEGAcY GsI应用标识符字符串格式(LEGACY_AI); Gs1数据传输字符串格式(ELEMENT_STRING); ONS域名格式(ONs_HOSTNAME) 其中,二进制格式、标签编码URI格式和纯标识URI格式是RFID标签编码的三种格式,GS1文本字 段,Gsl应用标识符格式和GS1数据传输字符串格式格式是在EPC系统和用户应用系统中存储、传输 GS1数据的格式,ONS域名格式是标签数据在对象名称解析服务(ONS)中发起查询和检索使用的格式 图2给出了EPC系统中的七种标签数据级别,以及编码过程和解码过程的方向 标签数据的格式 自上而下级别降低,RFID标签的二进制存储格式为最低级别 标签数据按照级别从高级别格式向低 级别格式进行标签数据转换的过程称之为标签数据转换的编码过程(向着二进制格式的方向);反之,将 标签数据按照级别从低级别格式向高级别格式进行标签数据转换的过程称之为标签数据转换的解码过 程(远离二进制格式的方向
GB/T39852一2021 层级 数据格式 相关描述 oNS域名格式 编码 采用域名解析第35查询模式 NAPTR,名称权 只用于输出格式 威指针 的域名格式,用来在oNs上发起查询 解码 和检索 GS1数据传输字符串格式 GS1应用标识符字符串格式 在相关编码结构的规花中 定义 GSI文本数据字段格式(人可识读格式 不包含标签长度、谜值 (SGTIN,SScC,sGLN,GRAI,GIAD EPC的纯标识UR格式 EPC的标签编码URI格式 需要符合相关物理标签的位数限制 包含标签长度、箭选数值 EC的二进制格式 图2标签数据的格式层级 5.2.2二进制格式 二进制格式是EPC存储在RFID标签的EPC/U存储区中的格式,应在EPC系统的标识和数据 采集层使用,由下列部分组成 标头(header),表示具体的编码结构和编码结构的位长,一般为8位二进制也有特例.如sG a TIN-64是2位) b 滤值,一般为3位二进制,用来表示不同的包装层级或者在应用中快速筛选和过滤读取的 RFID标签; 其他字段,如分区、厂商识别代码,商品项目代码和唯一序列号等 示例 GTIN为“06954606200019”,序列号为“20181109001”,采用sGTIN-96编码结构时,其二进制格式为: 00110000001100100001001010011000001001ll000000000000000001 00010010110010111000110100100100001001 注:滤值为1,GS1厂商识别代码长度为8 其中 标头(header): 00110000 滤值 001 分区数值 100 Gs1厂商识别代码;100001oo1010ol1o000o1001l10 商品项目代码 00000000000000001 0001001o1100101l1000110100100100001001 序列号
GB/39852一2021 5.2.3标签编码URI格式 标签编码URI格式是URN字头与数据段表示的标签编码 标签编码URI格式与存储在物理标 签中的EPC的二进制格式进行-一对应,包含编码结构,位长信息(对于固定长度的EPC以及滤值等 标签编码URI格式示例如下 示例 5.2.2示例中数据的标签编码URI格式为 urn:epc;tag;sgtin-96;1.69546062.00001.20181109001 5.2.4纯标识URI格式 纯标识URI格式是URN字头与数据段表示的EPC标识 在EPC信息服务中存储和传输EPC 代码时,默认采用纯标识URI格式 纯标识URI格式可避免应用软件受到诸如标签位长、滤值的影 响,使采用不同位长标签进行编码的同一个标识对象得到相同的、唯一的纯标识URI格式的EPC代码 数据,纯标识URI格式示例如下 示例 5.,2.2示例中数据的纯标识URI格式为 urn:epe;id;sgtin;69546062.00001.20181109001 5.2.5cS1文本数据字段格式 GS1文本数据字段格式是EPC系统应用层使用的一种表示GS1数据的格式,对于不符合GS1规 范的用户应用此格式 GS1文本数据字段格式构成如下 -每个数据段采用“名称=值”的形式表示; 前后两个数据段之间用“;”(英文分号)分割 -A用表示其含义的英文名称替换 示例 5.2.2示例中数据的Gs1文本数据字段格式为 gtin=06954606200019;serial=2018I109001 5.2.6Gs1应用标识符字符串格式 GS1应用标识符字符串是由一个或多个应用标识符及其标识的数据段连接在一起的可供人工识 读的字符串格式,其中,应用标识符(A)需要用括弧(英文括弧)包裹,GS1应用标识符的规则见GS1通 用规范 示例 5.2.2示例中数据的GSl应用标识符字符串格式为: (o01)069546o6200019(21)20181109001 5.2.7Gs1数据传输字符串格式 GS1数据传输字符串格式基于GS1应用标识符,是GS1系统中传输、通信的标准数据格式 GS1 数据传输字符串格式在GS1系统的各个应用、服务和系统之间传递G;S1数据时使用,也在EPC系统应 用层使用 GS1数据传输字符串格式由若干段GS1应用标识符与数据首尾相接所组成,并且 -每个数据段由GSI应用标识符起始(注意:GS应用标识符不加括弧),后面紧跟该应用标识 符指示的数据; 对于前后两段数据,前段GS1应用标识符指示的数据为定长时不加(FNC1)字符;当前段Gs1 应用标识符指示的数据是变长时,在前段末尾与后段前须添(FNCI》字符;若变长的数据段 处于最后位置时,字符串末尾不加(FNCI)字符
GB/T39852一2021 注:FNCl)字符的ASCI值为29,(lD)i 示例 5.,2.2示例中数据的Gs!数据传输字符串格式为 01069546062000192120181109001 其中: GTIN(AI01):0106954606200019 序列号AI21):2120181l09001 5.2.8oNS域名格式 ONS域名格式是一个符合DNS域名解析第35查询模式的格式 该格式的标签数据用来在ONS 中发起查询和检索时使用 该格式只作为输出格式 示例 5.,2.2示例中数据的oNs域名格式为 00001.69546062.sgtin.id.onsepc.com 注1;DNs域名解析第35查询模式,是指名称权限指针(NAPTR)记录类型,NAPTR记录是lnternmet的域名系统中 的一种资源记录 NAPTR记录与服务记录(SRV)的组合允许链接多个记录以形成复杂的重写规则,其产生 新的域标签或统一的资源标识符(URI) 注2由于对象名称解析服务(ONS)存在不同的版本,有的版本支持序列号查询,有的版本不支持,所以从其他格式 转换为ONs域名格式依照采用的对象名称解析服务(oNs)的版本可能会舍弃部分信息(如序列号部分) 标签数据转换 6 6.1标签数据转换概述 EPC的编码结构包括sGTIN,SsCC,SGLN,GRAIGIAIGSRN,GDT和GID等,每一种编码结 构都具有图2所示的七种格式 标签数据转换是指EPC编码在不同格式间的相互转换 标签数据转 换是指同一个编码结构的不同格式之间的相互转换,不能跨编码结构进行 转换可以跨层级进行 标 签数据转换过程的输人与输出如图3所示 指定 自动检测和匹配 输入数据 输入格式 输出格式 输出数据/输出结果 转 "= 二进制格式 二进制格式 "=" in-#;L6940ona.,0o,2o1oor mmtnx;1es6onoo刻oo0 I翠g 标签编码URI格式 标签编码UR格式 纯标识UR格式 m过t新:9s49c.mo1.加181or 纯标识URI格式 um.cepc:tag:sgn:54.,0ol.加1811001 S1文本数据字段格式 S1文本数据字段格式 20m19 ion400 il"9O180w0o1 o)c猛sno9(ao8so1 iO069660620O1922D18100O1 SI应用标识符字符串格式 GS1应用标识符字符串格式 o面#o63ota1tIownr 0660620D192O1811OPO1 GSI数据传输字符串格 GSI数据传输字符串格式 ONS域名格式 输出 注;“指定”表示输人数据是给定的,输出格式是由用户或者应用确定 图3标签数据转换过程的输入与输出 不同格式的编码转换时数据段并非完全双向对应 例如,图2中,格式的第1级(二进制格式)和第 2级(标签编码URI格式)之间存在一一对应关系,而第3级到第6级格式无编码位长和滤值信息,是通 过将纯标识URI格式添加、转换,或组合必要的辅助文本信息构成 第7级格式用于对象名称解析服
GB/39852一2021 务发起查询和检索,该格式不要求和EPC编码的任一格式完全对应,因此只作为输出格式,不作为输人 格式参与编码过程 6.2转换过程 6.2.1转换环节 标签数据转换过程是自动识别输人的EPC编码,并将该编码格式转为需要的输出格式 转换过程 分为输人,转换、输出三个环节,如图4所示 输入数据 输出格式 附加参数 标签数据转换 标签数据转换软件 TDT标记文件 输出数据 (符合输出格式 图4标签数据转换过程 6.2.2输入 6.2.2.1概述 输人环节包括已知的输人数据、目标输出格式要求以及其他附加参数 6.2.2.2输入数据 输人数据是由用户输人的或是由外部应用接口输人的,其采用的格式定义为输人格式 输人格式 是EPC其中格式中除ONS格式的任何一种格式 标签数据转换过程应能通过输人数据,自动检测、判 断以及匹配输人格式 6.2.2.3输出格式 输出格式是由用户或者应用确定 操作过程中,有些格式较其他格式包含的信息多 如,标签二进制格式和标签编码URI格式除包 含EPC代码数据,还包含EPC代码存储到RFID标签中所需的位长和滤值 当这两个格式作为输人 格式向其他格式转换时会舍弃这些信息;当ONS域名作为输出格式时,任何格式向ONS域名格式转 换会舍弃序列号信息 且ONS域名只能作为输出格式 6.2.2.4附加参数 转换过程需要输人用于确定输人值含义及转换输出格式的参数,比如,GS1文本数据字段格式包 含了EPC代码的所有基本信息(厂商,商品项目代码和序列号等),但是该格式并没有明确指明厂商识 别代码和类别代码之间的边界,所以在实际转换中就需要厂商识别代码的长度来作为附加参数参与到 整个转换过程中来 这种参数称之为附加参数 编码方向和解码方向标签数据转换过程及附加参数的参与情况分别见图5a)和图5b) 从图5可
GB/T39852一2021 以看出,编码过程需要附加参数;解码过程除了某些情况之外(比如64位编码)一般不需要附加参数 标签长度 GS1厂商识别代码长度 滤值 附加参数 附加参数 E系统内部格式 纯标识URI格式 各种文本格式 标签编码URI格式 二进制格式 编码 编码 编码 如:GS1数据传输字符串格式 GSI应用标识符字符串格式、 GS1文本数据字段格式 编码方向标签数据转换过程及附加参数的参与情况 如GS1文本数据字段格式、 GS1应用标识符字符串格式、 GS1数据传输字符串格式、 各种文本格式 EPC系统内部格式 解码 二进制格式 标签编码URI格式 纯标识URI格式 解码 解码 解码 ONS域名格式 解码方向标签数据转换过程及附加参数的参与情况 b 图5标签数据转换的编码和解码过程中附加参数参与情况 附加参数可以分为两类: 解析参数;解释输人数据含义的参数,比如参数gslcompanyprefixlength,就是指示GS1文本 数据字段数据或者用GS1应用标识符分削的两种GS1数据字符串中的厂商识别代码长度的 参数,用于提取厂商识别代码以供转换使用 格式参数;补充输出结果中需要而输人数据中没有的,且与格式有关的说明参数,比如滤值 filter和标签长度tagLength. 附加参数在TDT标记文件中定义,TDT文件要求见第7章 6.2.3转换 转换包含TDT标记文件和标签数据转换算法两个部分,其中 TDT标记文件是用来定义EPC各种编码结构(如sSGTIN-64,ssCC96,SGTIN-96,SGLN- a 195,GRAI-96,GID96等)以及在每种编码结构内部七种格式之间的转换规则 关于TDT标 记文件的详细规定见第7章,具体标记文件见附录A b 标签数据转换算法是实现标签数据转换的程序机制 包括维护功能,即通过TDT标记文件 读取各种编码结构的转换规则;转换功能,即根据具体的输人数据、附加参数和输出格式完成 转换功能的程序动作 标签数据转换算法的详细规定见第8章 转换过程分为5步; 1)通过标头匹配,判断输人格式和编码结构; 2) 进行编码结构和输人格式检查,并将输人数据分解成相应的字段
GB/39852一2021 3 经过必要的计算(字符串操作、二进制到十进制/字母数据转换,填充等)将字段数据从输 人格式转换为输出格式中相应字段所需要的格式 4使用必要的规则中定义的操作计算和派生出输出中必要的其他字段的值 5)将相应的字段和常数值按输出格式进行组合,并将结果作为输出数据进行输出 基本步骤如图6所示 输入 通过标头匹配,判断输入格式 和编码结构 分解出原始数据字段 对原始数据字段进行必要的 格式处理 按照规则计算派生数据字段 按照输出格式格式化产生输出 结果 输出 图6标签数据转换的基本步骤 6.2.4输出 输出是通过标签数据转换过程,按输出格式要求得到输出数据的环节 Tr标记文件 7.1TDT标记文件概述 TDT标记文件是一组定义了特定编码结构中如何在不同级别标签数据格式之间进行编码和解码 规则的标记语言文件,采用XML格式进行描述 TDT标记文件的标记定义方式和相关规则按7.2给出的规定 TDT标记文件中的各种元素和属
GB/T39852一202 性说明按7.3给出的规定 本标准规定的TDT标记文件共18个,详见附录A 7.2TDT标记文件的定义方式和附加要求 7.2.1TD标记文件的定义方式 TDT标记文件采用XML格式,定义了根元素、编码结构元素、格式级别元素、选项元素、字段元素 和规则元素共6个元素,各元素之间的相互关系采用UML类图描述,如图7所示 TDT标记文件有 关附加要求应符合7.2.27.2.13给出的细节 根元素epcTagDaaTnanslation version -date -epcTDsversionm 编码结构元素GB/39852一2021 7.2.2输入数据和输出数据的定义方式 标签数据转换分别使用正则表达式和扩展巴科斯范式ABNF来定义不同级别EPC格式的转换规 则 正则表达式主要是用来匹配输人数据,并从其中分割出不同的数据字段(位、数字、字母的组合) 扩展巴科斯范式ABNF主要用来定义输出数据的格式化规则,即如何通过原始的数据字段、派生的数 据字段和常数值组合出标签数据转换过程的输出结果 正则表达式采用符合Perl语言的正则表达式语法,并且需要支持否定式的零宽断言( zero-length negativelookaheadD 注,TDT标记语言中的正则表达式并非仅仅符合XsD规范的正则表达式,因为其不支持否定式的零宽断言(aero lengthnegativelookahead) 典型编程语言如Perl,Jaa.C#、Net的正则表达式库一般都支持否定式的零 宽断言 按照ABNF格式所定义的gramr rmar属性描述了如何将转换过程中所获得的各个字段以及相关固 定的常数值组合在一起最终构成输出数据 在grammar r属性中,固定值用单引号包裹,没有用单引号 包裹的代表数据字段(原始的或者派生的)的名称 这些数据字段在转换过程中需要使用实际获得的值 进行替换 grammar属性的每个字段(固定值字段和数据字段)之间使用空格分割,在替换组合完成后 需要删除 在选项元素(option)的子元素字段元素《ield)中还包含其他相关的约束条件和格式转换规则,用 于检查或者校验EPC是否存在错误 上述定义模式相对复杂,但增加了未来的扩展性,特别是对URI格式,每个元素独立定义,方便检 查,且可在未来使用更长存储位数标签时便于扩展规则 7.2.3输入格式的判断 标签数据转换过程应能自动根据输人数据(字符串)判断其编码结构和具体的格式 其他附加参 数,如,标签长度可通过输人数据获得(如输人二进制格式或标签编码URI格式,格式本身带有标签长 度);或由外部输人及用户选择 另外,在有些格式之间(如;在纯标识URI格式,GS应用标识字符串 等格式、GS1数据传输字符串之间)转换不需要知道标签长度,此时在TDT标记文件中任选一个同编 码格式的标记文件就可完成上述转换过程 标签数据转换过程允许的编码结构和格式很多,为了减小计算量提高效率,TDT标记文件的所有 格式的定义都包含前缀检查(prefixMatch)属性 查找输人格式时,先使用该前缀检查属性跳过不符合 的项,然后使用正则表达式进行匹配检查排除不符合项,对于正则表达式完全匹配的项,就可根据匹配 结果提取字段进行下一步转换步骤 7.2.4输出格式的名称缩略语 TDT标记文件中输出格式及各种格式缩略语如下 BINARY:二进制格式; TAG_ENCODING标签编码URI格式; PURE_IDENTITY纯标识URI格式; LEGACY:GS1文本数据字段格式; lEGACY_AI.GS1应用标识符字符串格式(GS1供人识别字符串格式,AI有括弧); ELEMENT_STRING:GS1数据传输字符串格式(A没有括弧,变长AI数据段用(FNCI)分 割); ONS_HOSTNAME;ONS域名格式 本标准还对每种EPC编码结构规定了仅用于输出的ONS域名格式,该格式符合DNS域名解析第 1
GB/T39852一2021 35查询模式(NAPTR,名称权威指针),用于发起ONS的查询和搜索,该格式只允许作为输出格式,不 在输人格式自动匹配之列 7.2.5附加参数 附加参数一般在编码过程中使用而不在解码过程中使用 如图5b)所示,解码过程从二进制格式 开始,经历标签编码URI格式,纯标识URI格式,最后转换为Gs1文本数据字段格式.Gs1应用标识符 字符串格式或Gsl数据传输字符串格式,这个过程中可能会丢失一些信息(如标签长度、滤值,Gs1厂 商识别代码的长度等) 在解码过程中需要附加参数的情况只有在64位标签时,才会需要使用Gs1厂 商识别代码与Gs1厂商识别代码索引之间的转换表作为附加参数 除了上面这种情况,整个解码过程 不需要附加参数的参与 编码过程有些情况下需要如下附加参数,才能解析输人字符串 GS1厂商识别代码的长度; 实际的标签长度; -滤值(比如表示包装层级;单品级,箱品级还是托盘级) 标签数据转换算法应考虑这些附加参数输人和获取的方式 编程可采用在输人参数中引人“名称 值”对的查找表或关联数组如Dietionary、Hashtable)方式,或采用适合的正则表达式直接从输人的文 本字符串提取的方式等 GTIN和GLN两类GSl标识在EPC应用时需提供一个系列号作为补充 此情况下,系列号不应 采用附加参数的方式传输到标签数据转换过程,应将该系列号作为输人数据的一部分 如果输人采用 的是Gs1文本数据字段字符串格式,在GTIN或GLN后添加一个“;serial=(系列号)";如果采用的是 GS1应用标识符字符串或GS1数据传输字符串,GTIN时添加应用标识符21(系列号),GLN时添加应 用标识符254(系列号) 其他编码结构(如ssCC,GRAI.,GIAI,GDTI,GSRN),本身就是系列化编码, 不需要再添加系列号部分 示例见表1 8.2规定了标签数据转换软件的应用程序接口,其中输人参数 仅允许;输人数据、附加参数、输出格式,不需要考虑个性值和中间变量 表1各GS1标识关键字转换为标签数据转换输入数据的示例 编码结构 GS1文本数据字段格式 GS1应用标识符字符串格式 sGTIN gtin=000370003024l4;serial=10419703 o1)000370003024l4(21)10419703 ssCC sscc=000370003024147856 00)000370003024147856 sGLN 414)00037000302412541041970 gln=000370003024l;serial=1041970 GRAI =00037000302414274877906943 8003)00037000302414274877906943 grai giai=00370003024149267890123 8004)00370003024149267890123 GIAI GSRN gsrn=061414123456789012 8018)061414123456789012 GDTI gdti=0073796100001 253)007379610000 GID generalmanager=5;objectclass=17;serial=23 无相应的应用标识符字符串的表现形式 在标签数据转换的过程中,若附加参数的值与从输人数据中解析出来的值相冲突,以输人数据中解 析出来的值为准 比如,如果输人的滤值filter被设置成5,而从输人数据中获得的滤值filter是3,则在 后面操作时以3作为滤值filter的取值 考虑到编程语言的特异性,本标准附加参数也应以字符串形式传输到标签数据转换程序之中 如 采用“key=value”(名称=值)对的形式,两个参数设置之间用“;”(英文分号)分剐 这可在需要时简便 的将参数转换为名称-值对查找表(如Dietionary,Hashtable),且能兼容不同编程语言之间的差异性 12
GB/39852一2021 7.2.6字段数据校验和字段数据的转换与派生 在字段元素《field)和规则元素(rule)包含了对该字段数据进行校验正则表达式)和转换与派生的 规则(内建函数和操作) 如,字段所有字符是否在指定的(数字或者字母)范围内、字符长度是否符合要 求(校验);数据字段转换结构的长度、如何使用填充字符等(转换和派生) TDT标记文件通过此方式 和约束来保证未来的扩展性 7.2.7对数值型字段的约束和检查要求 对于数值型字段超界的情况,应对字段具体数值进行约束和检查要求 示例 scC的系列号部分最大允许10位十进制数,允许的取值是1-9,999,999,999,而其二进制编码是不多于34位的二 进制数,34位二进制数可以表示的数值范围是0-17,179,869,183,超出了上面的范围,所以我们需要在二进制格式中加 -个规则检查sscc的系列号部分是否在合理的取值范围内 为了避免上述问题,标签数据转换中对于表示数字或者数字组合的字段使用deeimmalMinimum属 性表示最小可取数值,deeimalMaximum属性表示最大可取数值;表示数字字母组合的字段不需要上述 属性 一旦规定了deeimalMinimum和deeimalMaximum,标签数据转换软件就需要将该字段使用合 理的算法(二进制转十进制、文本转数值等)转换为数值(十进制),然后进行如下检查 decimalMinimum field decimalMaximum -旦超界,需要返回错误或者抛出异常 7.2.8对文本型字段的约束和检查要求 对于文本型字段,在字段标记GB/T39852一2021 7.2.9字段的填充 7.2.9.1 填充字符(padChar)和填充方向(padDir adChar属性和padDir属性只适用于非二进制格式 ASCI码 padChar属性规定的是填充所使用的字符 本标准允许的填充字符包括数字字符0- 8(3o.),空格 AsCII码32(20)和其他用户指定的字符 padDir属性指明填充字符填充的方向,有两个取值:LEFT(左侧填充)和RIGHT(右侧填充). length属性指明该字段数据的字符长度 length属性、padDir属性和padChar属性出现在字段元素《field》和规则元素《rule)之中 填充规 则是使用padChar属性规定的填充字符和padDir属性所规定的填充方向按照length属性所规定的长 度进行填充 对于字段元素(field》上述三个属性要么同时设置,要么同时省略 对于规则标记(rule)》 即使定义了length属性,不要求同时定义padDir属性和padChar属性;因为规则元素里定义的函数的 返回结果可能并不需要进一步的填充,设置的length属性近用字符长度是否符合要求 为了避免不必要的重复定义,标签数据转换过程的校验步骤、解析步骤、规则执行步骤和结果构造 应遵循以下规则: 如果在一个格式级别的(level)元素中的不同选项元素(option)中有一个字段元素〈field)(原始 a 数据字段)包含有padChar属性、padir属性和length属性的定义,那么在同一个格式级别的 Ievel)元素内部的所有不同选项元素(option)之间的相同字段元素(field)>原始数据字段)都 应该使用相同的padChar属性,padDirr属性和length属性进行填充 如果在一个格式级别的 Ievel)元素中有一个规则元素(rule>派生数据字段)包含有padChar属性、padDir属性和 length属性的定义,那么在同一个格式级别的(ler 元素内部的所有相同规则元素(rule>派 vel 生数据字段)都应该使用相同的padChar属性;,padDir属性和length属性进行填充. b 如果在一个标签编码URI格式的格式级别元素(level)下的一个字段元素《field)或者一个规 则元素(rule)包含有length属性、padDir属性和padChar属性,那么标签编码URI格式以上 层级的所有格式(如纯标识URI格式、GS1数据传输字符串格式、文本字段格式、ONS域名格 式等)的格式级别元素《level>所对应的该字段原始的或者派生的)都应该使用相同的 padChar属性、padDir属性和length属性进行填充 如果一个二进制格式的格式级别元素《level下的 个字段标记field》或者一个规则标记 rule)包含有length属性,padDir属性和padChar属性,且标签编码URI格式的格式级别元 素(level下没有定义padDir属性和padChar属性,这表示从其他格式编码转换为二进制格式 时,需要在转换之前将非二进制格式的数据按照填充规则进行填充,之后完成二进制转换;反 之,如果从二进制格式解码为其他格式时,应该将二进制转换之后的文本结果按照与这个填充 规则相反的方式将添加的填充字符去除得到转换结果(若转换到的格式有其他填充规定,还需 要按照这个规则做进一步的填充 这里,对于任意一个EPC代码结构,如果二进制和非二进 制格式的padChar属性和padDir属性规定完全相同,就不必再在二进制格式中规定padChar 属性和padDir属性了 如果在同一个TDT定义文件中,对二进制格式和非二进制格式都定 义了完全相同的padChar属性和padDir属性,二进制格式中的定义会被忽略 示例 填充.Gs1厂商识别代码除了二进制格式之外.所有其他格式的填充字符是数字字符0,填充方向是LEFT padChar=”o”,padDir=”LEFT”).在这些格式中前置0也是编码非常重要的组成部分 7.2.9.2二进制填充方向(itPadDir)和二进制长度(bitlengtt 对于二进制格式((level)元素属性type的值为BINARY,即type=“BINARY”),其下的字段元素 14
GB/39852一2021 field)或者规则元素(rule)中可能会定义二进制填充方向(bitPadDir)和二进制长度(bitL.ength)属性 二进制填充不需要填充字符的定义,仅允许填充二进制位O 二进制填充方向(itPadDir)可缺省,如果 定义了bitPadDir,bitPadDir的取值应为LEFT左侧填充)或RIGHT(右侧填充),代表二进制填充的 方向 二进制长度(bitlength)代表二进制数据的预期长度 二进制填充并不总是向左侧填充,对于数值型的数据一般是在左侧填充,比如SGTIN-96的系列号 部分的二进制填充方向为左侧(itPadDir=“LEFT”);对于字母数字型数据一般是在右侧填充,比如 GRAH170的系列号部分的二进制填充方向就是右侧(hitPadDir=“RIGHT”) 在解码时,应考虑二进 制填充问题,特别是字母数字型数据二进制全0字符很可能是二进制填充造成的,需要在转换时去掉二 进制填充位或者忽略掉二进制全0字符 7.2.9.3填充流程 图8是从非二进制格式向二进制格式进行编码时是否进行填充字段(或者剔除填充字符)的判断规 则流程图 图9是从二进制格式向非二进制格式进行解码时是否进行填充字段(或者剔除填充字符)的判断规 则流程图 15
GB/T39852一2021 输入数据中的一个文本类型的数据 paChu属性是否在该输 入格式级别已经被定义 在对应的二进制级别(BINARY 在对应的二进制级别(BINAR 中aC属性是否被定义 中padChar属性是否被定义了3 错误 TDT定义 文件 按照二进制格式中paCu.属性、 按照输入格式中paudID属性和 性的定义,别除输人数据 MiD风性谁的定义,对 误,没有 padDin 中教照格填完的得 找到合适 输入数据进行填充 的转换定 二进制格式中是否定义了 compacton属性? 大元;不错 得的Ae码瓶 将输入数据从文本型按照无符号整数的形式 Mo属性所规定的 码位数将其转换为二进制编码,并将每个字 转换为数值,并将得到的无符号整数数值十 进制转三进制的方式转换为二进制编鹊序列 符的二进制编码按照顺序逐个添加到缓存 缓存的全部结果耶为物人数期的二进制 编码序列 hitPadDr属性在二进制格式级别中 是否定义? 按KbiPadDir属性和bilength属性 的定义对得到的三进制编码序列 进 行必要的填充使其达到蓄要的长度 将获得的二进制编码序列作为该 数据字段的兰进制编码结集 图8编码过程填充流程 16
GB/39852一2021 从二进制格式级别CBNARm中 -个字段获取到的二进制序列 的 该二进制格式级别(BARYm 是否定comcion属性" 该二进制格式级别BnNARm是否 该二进制格式级别BINARY是否 定义了bitPadDir属性? 定义了bitPadDir属性? 按照bitPudDir属性和compact 按照iPadDr属性的定义剔除 属性的定义剔除填充位《填充 填充位(填充位是biPadDi属 位是按照compactio属性规定 性规定的方向添加到二进制序 的位数,添加到bPaD属性 列中的前置/后置O 规定的方向的 二进制序列转换为一个非符号 将得到的二进制列按服coustion网 指科到的, 程规定的每字特的编爵位数转换成 签数,并梅该教数在转孩为数值型学衬 符序列 串十进制 否 该二 三进格求经别y是有 否 该输出格式级别是否定又 女物出格式级别是不是定文 IaCmr属佳? 了aCh属醒 控照输出格式级别获得的Cw" 按照二进制格式级别(BINARY 文件错 AIO性O性 票 没有 获得的padChar和padDir属性, 我到奋运 编码过程中填充的字符剔除 填充 的转换定 将得到的字符串作为该字 段的解码结果 图9解码过程填充流程 示例: refix,在选项7(optionKey=”7”)下,在 对于96位的SGTIN编码(sGTIN-96),TDT定义文件中字段gslcompanypr 非二进制格式的定义中长度属性值为7,填完字符是数字字符rmehmr =”0"),左侧填充(padDir=”LEFT”);同样的 选项二进制格式的定义二进制长度(bil.ength="24"),二进制填充方向(itPadDir=”LEFT"),pdDr属性和padC'har 属性未设置 这代表当解码时,一个24位的二进制(000000001001000010o1000)的gslcompanyprefix字段 17
GB/T39852一202 a)先剔除掉二进制序列前面所有的前置0,转换为(1001000010001000)bin: 将上面的结果转换为十进制整数37000,并转换为4位十进制字符串“37000” b) 之后按照非二进制格式转换规则左侧填充数字字符0补足7位,即“037000” 转换过程中可能会产生一些特殊的结果 比如对于sGLN,当gsleompanyprdfix长度是12位 nren是长度为0的字符串,URI结果因会出现两个连续的点“.”,如“urn:epe: ;id 时,地址编码(Iloc ation 123456789012..12345” 这样的结果是正确的,不可以在两个点之间加数字0,因为数字0是1个 sgln:1 字符长度而非0个字符长度 7.2.10字段的编码和压缩 当字符型(非数值型)字符串在二进制格式中进行编码时,该字段定义为一个文本字段 一个文本 字段标记《field)中可能包含以下两个属性 -compaetion属性(字段编码属性); -compression属性(字段压缩属性) 如果没有设置compaction属性代表该字段是整数型或者全数字型字符串,这时采用的是十进制到 二进制转换的方式进行编码 如果设置了compaction属性,代表的是该字段是文本字段,每个字符应 该按照其ASCII编码值以及该属性设置的位数长度转换为二进制进行编码 compaction属性可以选 取的值为;5位(5-bit),6位(6-bit)、7位(7-bit)和8位(8-bit),这些取值所代表的具体编码方法见 ISO15962 compression属性是预留的属性,作为压缩属性,指明字段数据编码的压缩方式(如zip/gzip压缩或 者Huffman编码压缩等) 7.2.11TD标记文件中使用的一些字段名称及其含义 TDT标记文件中字段名称的格式没有强制要求,但根据XML 语法建议采用小写字母数字组合 不使用空格和连字符 在不同的编码格式定义之间也没有保留字,这意味着两个不同的编码格式可能 有使用相同名称的字段,但这两个字段的意义和属性可能都不一样 每一个编码格式的定义都是独立 的一个名称空间,互相不发生关系 表2给出了一些本标准规定的TDT标记文件中公用的字段名称 及其含义 表2字段名称及其含义 名称 含义 Filter 滤值,取值范围十进制数字0~7 Serial 系列号,十进制或者字母数字 gsleompanyprefix GS1厂商识别代码 商识别代码的长度,即字符个数,十进制,比如gslcompanypreix=”0037000" GSl gslcompanyprefixlength gslcompanyprefixlength EPC标识的编码位长,64/96/256/等等 taglength gslcompanyprefixindex 个整数型的索引数字,用来查找实际的GS1厂商识别代码,仅用于64位标签 商内部给一类对象或者 SKU所指定的编码,用于GTIN 商内部给 个地址所指定的编码,用于GLN locationref 个资产的系列编码数字或者字母数字),用于GIA Assetref Serialref 个系列编码数字或者字母数字),例如用于SSC 商对一个服务所指定的编码,用于GSRN serviceref 个厂商对一个类文档或者资料所指定的编码,用于GDTI docummenttype 18
GB/39852一2021 7.2.12规则元素(rule)和派生字段 在构造输出格式时,一些必备的字段不能够直接通过输人格式模式匹配获得,因此需要一系列的规 则来通过已知的数据字段派生出输出结果需要的其他字段 在TDT标记文件中采用规则标记(rule 来定义上述转换,派生规则 我们将通过规则标记(rule)所规定的操作产生的新的数据字段成为派生 字段或者派生数据字段 标签数据转换过程又可分为如表3所示的两个主要的阶段 表3数据转换的两个阶段 阶段 说明 输人数据经过解析获得相关数据字段(称之为原始数据字段输人数据字段)后进行的 提取阶段(EXTRACT 系列操作 格式化阶段(FORMAT 对原始数据字段、派生数据字段使用相应的格式化语法构造输出结果的一系列操作 标签数据转换过程中所规定的各种规则标记(rule>,只适用于该规则定义所处的格式级别内((lev dl)) 规则标记(rule)按照其type属性分别作用于表3所示的两个阶段 解析阶段(EXTRAC'T)的规 则仅对输人格式级别有用,格式化阶段(FORMAT)的规则仅对输出格式级别有用 一个格式级别内 规则可以没有也可以有多条,当有多条规则并存时,规则标记(rule>的seq属性规定了规则的执行顺序, 从小到大依次执行 示例1 典型的转换和派生是将纯标识URI格式相应字段,转换为GSl应用标识符字符串格式或GS数据传输字符串格 式中GTIN字段的解码过程中的解析阶段(EXTRACT) 要将输人数据中提取出的厂商识别代码(companyprefix),类 别代码(itemref)进行派生 GS包装指示符(indieatordigit)是类别代码(itemref)的首位数字,将其提取出来并将剩余的部分记为新的类别 编码 itemrefremainder 构造GTIN除校验位的部分(gtinpreix); 计算GS校验位(checkdigit) 计算过程如下(里面使用了核心丽数按7.2.13的规定). indicatordigit UBSTR(itemref,0,l); 2 itemrefremainder SUBSTR(itemref,l); coNCcAT(indicatordigit.,companyprefix,temrefremainder) 3 gtinprefix checkdigit GS1CHECKsUMgtinpreix 示例2: 编码过程的格式化阶段(FoRMAT),即从Gs!数据传输字符串格式或GS!应用标识符字符串格式转换为纯标识 URI格式,是从GTIN字段gtin)开始,且需要厂商识别代码长度gslcompanyprefixength)作为附加参数,派生过程 如下: gtinprefixremainder=sUBsTRgtin,1,12); b indieatordigit=SUBSTRgtin,0,litemrefremainder=SUSTRgtinprefixremainder,gslcompanyprefixlength); itemre=c(oNCAT(i inder (indicatordigit,itemref OeI gslcompanyprefix=sUBSTR(gtinprefixremainder,0,gslcompanyprefixlength. d 7.2.13 核心函数 标签数据转换的编码和解码过程中需要用到表4所示的核心函数 19
GB/T39852一2021 表4核心函数 核心函数 说明 从(ofset)位置开始获得子字符串.(ofset)取值从0开始 SUSTR(stringoffset SUEBSTR offset, string 从offset)位置开始获得长度为(length)的子字符串,(offset)取值从0开始 length CONCAT(stringl, 将字符串首尾相连组合成一个新的字符串 string2,string3, LENGTH(string 字符串的长度 GS1CHECKSUM(string 通过输人的数字字符串计算GSl校验位 从表(tablename)中的(incol)列查找输人值(inval)的位置,并返回outcol)列同行的值 TABLELO(OKUP 作为输出 inval, tablename,incol,outcol 请注意表的URI是通过另一个参数tableURL设置的,相应XPath参数或者SQL参数 分别由tableXPath和tablesQL定义 add(String,int 将输人的字符串转换为数值与输人的整数相加,将结果转换为字符串输出 multiply(String,int) 将输人的字符串转换为数值与输人的整数相乘,将结果转换为字符串输出 divide(String,int) 将输人的字符串转换为数值与输人的整数做除法,将商转换为字符串输出 将输人的字符串转换为数值与输人的整数相减.将结果转换为字符串输出 subtraect(String,int) 将输人的字符串转换为数值与输人的整数做除法,将余数转换为字符串输出(即模运算 mod(String,int 为了完整实现标签数据转换功能,标签数据转换软件需要根据使用的编程语言提供上述函数的对 应实现版本,可以是语言中已经支持的函数、也可以是自定义丽数或者方法 计算各个GS1编码结构校验位的核心函数(GS1CHECKsUM)的算法见GS1通用规范 很多的编程语言(Java,C十十、C井、VisualBasic,Perl,Python)对同一函数的实现方式可能有区 别 如;提取子字符串函数sUBSTR,有的编程语言是子字符申长度(length)参数,有的编程语言是子 字符串结束位置(endndex)参数,见表5 表5不同编程语言中sUSTR函数的不同形式 编程语言 核心函数sUBSTR(string,offset,length)的具体实现 说明 十(STL string.substr(offset,length); String,Substring(offset,length); VisualBasie String,.Substring(offset,length) Java.lang,String offset beginlndex Java endIndex String.substring(beginlndex,endlndex offset+length $offset,$le Per substr($stringvariable, length); oset start Python String[start;end门 end=offset十length 如果规则标记(rule>)使用到了TABLEL.0OKUP丽数,该标记应具有下列属性: tableURL属性; tableXPath属性或者tablesQL属性 20
GB/39852一2021 TABLEL.0oOKUP函数表示从一个表格中查找数据 该表格的格式可以是XML格式、逗号分隔 格式(CSV、制表符分剐格式(TsV),或者标签数据转换软件任一存储表格的格式 由于具体表格的 格式可能多种多样,tableURL 属性和tableParams 属性以及与之相对应的tableXPath属性或者 ta- bleSQL属性的设置仅代表进行TABLELOOKUP操作时的逻辑查找方式,而不是具体的代码,且与具 体的表格存储和传输格式无关(具体实现由转换软件完成). 对于XM格式存储的表格或者类似XMl格式存储的表格,规则标记(rule>需要具有tableURL. 属性、,tableXPath属性和tableParams属性 tableParams s属性是一个逗号分隔的字符串(一串逗号分 割的表格参数),这字符串可由无引号包含的前面步骤得到的字段名或者全是数字或者单引号包含的文 本构成的常数值组成 在tableXPath出现的“$1”代表了tableParams属性定义的第一个表格参数 tableXPath在传递到XML.DOM解析器之前需要使用tableParams的定义、字段的值、常数对tableX Path进行相应的替换和处理 当有多个参数出现在tableParams属性中,$2代表第二个参数、$3代表第三个参数,依次类推 对于逗号分隔格式(csV),制表符分割格式(TsV)或者其他可以转换为类似关系型数据库表格形 式的表格,规则标记(rule)需要具有tableURL属性、tablesQL属性和tableParam、属性 tableParams 属性的定义与采用tableXPath时的方式类似,其中变量仍用$1、$2、标识,查询前需将tablesQL 进行必要的替换 示例 GS1厂商识别代码索引(companyprefixindex)在64位标签或者64位编码结构中使用,用来代替GS1厂商识别代码 //www.gsl.org/standards/eepeinterop上可以找到Gs!厂商识别代码索引(companypre 在e业 companyprefix) fxindex)和Gs1厂商识别代码(companyprefix)的对应表,该表格以XML格式提供 对于XML格式的对应表,查找的规则标记(rule)的各个属性为 -解码过程 tableURL属性和funetion属性设置如下 tableURL="https://www.gsl.org/standards/bc-epcinterop" function="TA.EIL.ooKUPcompanyprefixindex,'GEPC64Table',companyprefixindex,companypre- ix) tableXPath和tableParas 属性设置如下 tableXPath="/GEPC64Table/entry[@index='$1]/@companyPrefix" tableParams companyprefixindex"; 编码过程 tableURL 属性和funetion属性设置如下 tableURL="https://www.gsl.org/standards/bcepcinterop funetion="TABL.ELo0oKUP(companyprefix,'GEPC64Table',companyprefix,companyprefixindex)" tableXPath和tableParams属性设置如下; tablexPath="/GEPC64Table/e /entry[@companyPrefix='$1]/@index" tableParams="companyprefix 7.3IDT标记文件的元素和属性 7.3.1根元素的属性和子元素 7.3.1.1根元素 心 TDT定义文件使用元素(epeTag taTranslation)作为标记文件的根元素 7.3.1.2根元素属性 根元素属性见表6 21
GB/T39852一2021 表6根元素属性 示例值 属性名 说明 Version TDT定义文件的版本号 .6 Date 创建时间戳 2011-01-18Tll;33Z epcTDSVersion 使用的TDS版本号 .6 7.3.1.3根元素的子元素 根元素子元素的名称及描述见表7 表7根元素的子元素 子元素名称 描述 Scheme 请见7.3.2编码结构标记(seheme) 7.3.2编码结构元素的属性和子元素 7.3.2.1编码结构元素 TDT定义文件的编码结构元素为(scheme>),对于TDS中定义的所有标识/编码结构来说,编码结 构元素(scherme)规定了在数据转换过程中的编码和解码细节,包含有下列编码结构/标识的转换规则 GDT96,GDT-113,GIAI-64,GIAI-96,GIAI-202,GID-96,GRAI-64,GRAI-96,GRAI-170,GSRN-96、 sGLN-64、sGLN-96、SGLN-195,sGTIN-64,sGTIN-96、SGTIN-198、SsCC-64,SsCC-96. 7.3.2.2编码结构元素的属性 编码结构元素的属性名称、说明及示例值见表8 表8编码结构元素的属性 属性名称 描述 事例值 GDT-96,GDT-113,GIA1-64,GIA 96,GIAI-202,GID96,GRAI-64 GRAI-96,GRAI-170,GSRN-96 Name 编码结构的名称 sGLN64,sGLN96,sGLN-195,G TIN-64,S(GTIN-96,sGTIN-198, SsCC64,sscc96 适用于该编码结构的众多选项所代表的参数名称 数 optionKey 据格式的转换应在具有相同optionKey属性的GB/39852一2021 表8(续 属性名称 描述 事例值 该属性表示EPC代码结构的二进制编码长度,即在 Gen2RFID标签中内存EPC/UI区域20h位置开始的 taglength I64、96或者更大数值 的位数 对于变长的EPC代码,tuagLength属性不需要 定义;对于固定长度的EPC代码需要定义该属性值 7.3.2.3编码结构元素的子元素 编码结构元素的子元素名称及描述见表9 表9编码结构元素的子元素 描述 子元素名称 Level 在该编码结构下,各种级别格式编码和解码规则的定义标记 7.3.3格式级别元素的属性和子元素 7.3.3.1格式级别元素 TDT定义文件的格式级别元素为(level),该元素提供了每一个格式级别的相应定义,包括前缀检 查等 该元素内部包含有嵌套的选项无素oprtiom》和一系列规则元素'rdle>,选项元素opion>包含了 具体的正则表达式匹配规则和扩展巴科斯范式ABNF语法规定的输出结果格式化规则,规则元素 rule)用来计算相应的派生字段 7.3.3.2格式级别元素的属性 格式级别元素的属性名称、说明及示例值见表10 表10格式级别元素的属性 属性名称 描述 示例值 BINARY TAG:_ENcODING PURE_IDENTITY Type 表示格式的级别 L.EGACY LEGAcY_A ELEMENT_STRING os_HOSTNAME 00001010 uri;epe;tagsscc-64 编码解码过程中用到的前缀,用于匹配 prefixMatch uri;epe;id;ssce Sscc (00 23
GB/T39852一2021 表10(续 属性名称 描述 示例值 requiredParsing 在解析输人数据过程中使用的各种附加参数(以逗号 gslcompanyprefixength Parameters 分隔 requiredFormatting 在格式化输出数据过程中使用的各种附加参数(以迈 filter,taglength Parameters 号分隔) 7.3.3.3格式级别元素的子元素 格式级别元素的子元素名称及描述见表11 表11 格式级别元素的子元素 子元素名称 描述 Option 包含正则表达式匹配规则和结果格式化语法 Rule 包含计算或者获取派生字段的计算规则 7.3.4选项元素的属性和子元素 选项元素 7.3.4.1 TDT定义文件的选项元索为(option》 7.3.4.2选项元素的属性 选项元素的属性名称、描述及示例值见表12 表12选项元素的属性 属性名称 属性描述 示例值 表示一个编码结构元素(scheme)内部存在 的不同选项情况 这些不同选项用 optionkKey属性的值加以区分 对于变长的 EPC,optionKey属性可能没有实际的意义, 任意文本 optionkey 但是却可以通过不同的optionKey属性设置 对GS1标识,值为6-12,代表厂商识别代码的长度 保证输人格式与输出格式的一致性 对于 全部EPC来说,仅允许在输人与输出格式的 两个具有相同optionkey属性值的(option) 标记之间进行转换 个用来与输人数据进行匹配开提取相应oO01o0C[O13)00EO]34[O1]Io万 Patterm 变量字段的正则表达式 [o1]38 '00110000'ilter'010'gslcompanyprefixitemrefserial -个扩展巴科斯范式AENF的语法定义来 Grammar 注意,单引号包含的是常数值,不加单引号的是变 规定如何格式化输出结果 量字段值需要用实际数据进行替换 24
GB/39852一2021 7.3.4.3选项元素的子元素 选项元素的子元素名称及描述见表13. 表13选项元素的子元素 子元素名称 描述 Field 提供关于每一个变量字段的具体信息,如最大最小取值范围,允许的字符,长度,填充方式等 7.3.5字段元素 TDT定义文件的字段元素为(field) 字段元素的属性名称,说明及示例值见表14 表14字段元素的属性 属性名称 属性说明 示例值 便用特定的正则表达式匹配出来的子极式所对应的 Seg 1,2,3 序号,子模式是从1开始的 数据字段(或变量)的名称,该名称用于构造输出结果filter,companyprefix,itemref,serial Name 或者产生派生字段时使用 deeimalMinimum 该字段允许的最小十进制数值 deeimalMaximum 该字段允许的最大十进制数值 9999999 L.ength 该字段需要满足的字符串长度 24 该字段需要的位长度仅在二进制格式中使用 bitlength LEFT'.'RIGHT" bitPadDi 在二进制 制编码中添加填充位0的方向 eharaeterSet 该字段允许的字符集合,采用正则表达式表示 [0-9]”,[o1]”,[0-9A-HJ-NP-Z]" 为了使字段达到length属性规定的长度,填充进该字 padChar 段结果字符串中的填充字符(对于二进制格式之外的 0',''(ASCI空格 格式,如果不需要填充可以忽略该属性 padDir 填充填充字符的方向 'LEFT','RIGHT" 7.3.6规则元素 TDT定义文件的规则元素为(rule>) 规则元素的属性名称、说明及示例值见表15 表15规则元素的属性 属性名称 属性说明 示例值 表明该规则需要在转换过程中的所属 'ExTRAcT'(解析过程),'FORMAT'格式化过程) Type 阶段执行” 表明输人变量数据字段)的格式,是二 inputFormat 进制编码格式还是非二进制编码的字'sTRING','BHNARY' 符串格式 表明一系列规则执行的顺序,按照 seg Seg 1,2,3,4,5 属性的值从小到大依次执行 25
GB/T39852一2021 表15(续 属性名称 属性说明 示例值 在完成操作之后所得结果的新字段名 newFieldName gtinprefixremainder,gtinprefix 称(变量名 -个用来表示如何通过已知字段计算 Funetionm 新字段的表达式(会使用的核心函数或SUBSTR(itemref,0,1l 者核心丽数的组合 对于输出为数值型的字段,字段的输出 deeimalMinimum 允许的最小十进制数值 所 对于输出为数值型的字段,字段的输出 deeimalMaximunm 9999999 所允许的最大十进制数值 输出的字符串所应达到的长度 L.ength 为了满足length属性规定的输出字符 串所应达到的长度而进行的填充所使 padChar '0' 用的填充字符(不需要填充时该属性可 省略) padDir 填充字符填充的方向 'lEFT','RIGHT" 输出结果二进制编码需要达到的长度 bitlength e,g,24 对于非二进制格式可省略) 为了达到bitL.ength规定的输出结果 bitPadDi 'IEFT','RIGHT 进制编国长度而茶加城充位0的方向 输出结果所允许的字符集合,用正则表 haracterSet [0-9][01] 达式表示 个URL地址用来指明用于操作的表 tableURL http://www.onsepc.com/ManagerTranslation.xml 格的位置 个 XPath表达式用来从XML表格中 获得相应的标记值或者属性值 在该表达式中$1、$2等分别指明a" /GEPC64Table/entry[@index='$1]/@companyPre tableXPath bleParams中的表格变量,$1是第 ix 变量,依此类推 在将本属性值传输到 XML解析引擎之前需要对上述变量使 用实际值进行替换 一个sQL表达式,用来从关系型数据 库表中获取相应数据 该表达式中$1、$2等分别指明ta SELECT FROMGEPC64TablewHERE companyPrefix! tableSQI bleParams中的表格变量,$1是第一个 index='$1 变量依此类推 在将本属性值传输到 关系型数据库查询引擎之前需要对上 述 变量使用实际值进行替换 一个用逗号分割的表格变量列表,用于 tableXPath属性或tabesQL 属性中相 taleParams companyprefixindex 应变量的替换 这些变量应为已知的 字段或者常数 26

物品电子编码标签数据转换GB/T39852-2021解读

随着物联网技术的不断发展和应用,物品电子编码标签作为重要的信息载体,逐渐成为现代物流管理、供应链管理、商品追溯等领域必不可少的一种技术手段。而如何更好地处理和转换这些标签上的数据,则是目前亟需解决的问题。

GB/T39852-2021标准介绍

GB/T39852-2021是我国最新发布的针对物品电子编码标签数据转换的标准,自2021年7月1日起正式实施。该标准主要涵盖了以下几个方面:

  • 定义了物品电子编码标签数据格式和数据元素的结构、内容和编码规则;
  • 规定了物品电子编码标签数据的转换方法和过程,包括数据采集、验证、解析、转化和输出等环节;
  • 明确了物品电子编码标签数据转换的基本要求和技术指标,如数据准确性、安全性、可靠性等;
  • 提供了物品电子编码标签数据转换的应用示例和实施指南。

GB/T39852-2021标准意义

GB/T39852-2021标准的出台,对于促进我国物流管理、供应链管理、商品追溯等领域的发展,具有重要的推动作用。首先,该标准统一了物品电子编码标签数据格式和数据元素编码规则,使得各类标签之间可以互相识别和共享信息,降低了信息交换的成本。其次,该标准明确了数据转换的方法和技术要求,有效提高了数据采集和处理的准确性和效率,保证了数据的可靠性和安全性。最后,该标准为企业和相关机构提供了统一的技术标准和实施指南,方便各方面快速掌握和应用。

总结

GB/T39852-2021标准的发布,标志着我国在物品电子编码标签数据转换领域迈出了一大步。在未来的发展中,我们有理由相信,随着标准的不断完善和应用,物品电子编码标签技术将会更加成熟和普及,为我国物流管理、供应链管理、商品追溯等领域注入新的活力。

和物品电子编码标签数据转换类似的标准

无损检测仪器超声衍射声时检测仪性能测试方法
上一篇 本文分享国家标准无损检测仪器超声衍射声时检测仪性能测试方法的全文阅读和高清PDF的下载,无损检测仪器超声衍射声时检测仪性能测试方法的编号:GB/T39849-2021。无损检测仪器超声衍射声时检测仪性能测试方法共有13页,发布于2022-04-01
光伏发电站性能评估技术规范
本文分享国家标准光伏发电站性能评估技术规范的全文阅读和高清PDF的下载,光伏发电站性能评估技术规范的编号:GB/T39854-2021。光伏发电站性能评估技术规范共有22页,发布于2021-10-01 下一篇
相关推荐