再谈转换marc数据的体会---读取marc数据

原创 2004年09月15日 11:51:00

 

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

   今天CSDN上的网友乐悠悠要做对marc数据的检索,不嫌我技术低下,在blog上留言问我。我也不怕大家笑话,再写一篇marc的读取文章:)

 

首先要说的,无论是什么读或写marc数据,都必须吃透marc的数据格式。如果是cnmarc的格式,强烈建议参考《中国机读目录格式使用手册》,对格式的讲解很详细,保证事半功倍,根本不用看我在这里罗嗦。

读取,就分2步,一读,一取。

读:marc文件是.iso格式的文本,每一条记录都是分行的,有一个结束符chr(29)。所以可以一行一行的读取。

取:先获取记录头标区和地址目次区的信息,然后根据地址目次区的位置地址去切割。这里有字段分隔符chr(30),子字段标识符chr(31)

还是给个事例:

$--------chr(31)

@--------chr(30)

%--------chr(29)

#--------space

上边是为学习方便人为的替代符号

这是一条marc数据:

1.头标区:01071nam0#2200277###450#

固定24位,注意空格不能少哦。。

01071:记录总长,5位

nam0:如果是丛书(有225字段),就是oam2,当然每一位都有具体的意思。还有其他变化。这是常用的。

22:一般是22了,具体的意思也可以查书。

00277:数据字段区以前的字符总长度,5位。

450:一般是,具体一看书吧。

 

2.地址目次区,人为加了”;””,”区分。

001,0013,00000;005,0017,00013;…………………………801,0022,00771@

 

001,0013,00000 :表示字段0013位),字符长度00134位),在数据字段区开始的位置000005位)

801,0022,00771 :表示字段801,字符长度0022,在数据字段区开始的位置:00771

这里是读取的一个重要的地方了,知道了这几个数据,很容易分割出来。每个都是固定长度的。

3.数据字段区

012001022343@20020928000000.0@##$a7-80142-191-4$dCNY46.00@…………………………………………@%

字段间就是@分隔的,子字段用的$

@##$,这里##就是指示符位置了。如101字段有指示符012,所以 @012$

大概就写这些了,具体的程序也没写,不知道对乐悠悠有帮助没有,希望有点助益吧。

                                                               一风一云

                                                               2004年9月14日

Marc数据格式和数据库格式的转化体会

??首先感谢CSDN上的djkhym(hym),给我的巨大的帮助,借鉴了他的程序的思路。?Marc(machine readable catalogue)数据,机读目录数据。Marc格式和数据库的转化...
  • wzgme
  • wzgme
  • 2004年08月22日 01:26
  • 5585

Marc数据采集器(国图MARC批量下载工具)

  • 2010年05月20日 17:15
  • 2.63MB
  • 下载

java读取解析图书MARC数据iso文件

  • 2017年04月28日 10:42
  • 5KB
  • 下载

asp.net对CNMARC数据进行解析

网上关于CNMARC数据处理的资料太少,而用ASP.net处理的则是少之又少,整整查了一天的资料和文档(其实有大半时间在查啊查),才把这个搞定。 最后得到的结论:只要把CNMARC的格式搞明白,那进...
  • dyllove98
  • dyllove98
  • 2013年03月25日 16:43
  • 2226

网页marc数据采集器(国图marc数据批量下载)

在国内CNMARC又分为国图格式、CALIS格式。而国图数据最权威的机构当属国家图书馆OPAC。国图页面提供机读格式,可以通过技术手段获取到完整marc数据。本软件使用自己开发的html解析器,无内存...
  • chinawcs
  • chinawcs
  • 2017年10月07日 15:10
  • 341

IS08583报文协议包的解析和封装java源代码

一:IS08583包介绍:      ISO8583包(简称8583包)是一个国际标准的包格式,最多由128个字段域组成,每个域都有统一的规定,并有定长与变长之分。      8583包前面一...
  • Ibznphone
  • Ibznphone
  • 2012年06月30日 17:00
  • 4621

MARC查看器(图书馆编目专用)

  • 2012年02月02日 13:22
  • 276KB
  • 下载

Excel_数据转换成Marc格式说明

  • 2013年09月03日 12:53
  • 5.7MB
  • 下载

asp.net对CNMARC数据进行解析

网上关于CNMARC数据处理的资料太少,而用ASP.net处理的则是少之又少,整整查了一天的资料和文档(其实有大半时间在查啊查),才把这个搞定。 最后得到的结论:只要把CNMARC的格式搞明白,那进...
  • dyllove98
  • dyllove98
  • 2013年03月25日 16:43
  • 2226

MARC-PSTAT维护状态 物料已经维护过哪些VIEW

今天碰到这样一个需求,判断物料是否满足DBG这3个视图创建了。要知道DBG 代表什么可以用事务码MM50查看,或者看下面的解释。 V:Sales E:Purchasing D:MRP P:Fo...
  • szlaptop
  • szlaptop
  • 2013年04月22日 15:50
  • 1666
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:再谈转换marc数据的体会---读取marc数据
举报原因:
原因补充:

(最多只允许输入30个字)