欢迎您来到 数字平台。 您尚未登录。[登录] [注册新用户]
当前位置: 论坛首页 / 栏目 产品与服务 / 文章 120

点击:1445

[顶层访客留言] [回复顶层(需要先登录)] [表状] [详细]
[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章跟帖
文章id: 120
书目数据转换窗口

作者: xietao


书目数据转换窗口,用于将dt1000的MARC格式书目数据,转换成dp2系统的XML格式数据,进入对应的书目库;同时,把MARC格式书目数据中的906和986字段中的册信息,拆分为若干实体XML记录存入dp2系统的实体库。

===

编程中感到比较不爽的是,dt1000书目数据986字段中,$t子字段为“应还书日期”,而缺乏“借阅日期”信息。而dt1000读者数据的986字段中,除了有“应还书日期”外(在$v子字段中),还有“借阅日期”(在$t子字段中)。这就意味着,在单独一轮升级书目数据的过程中,缺乏足够的信息来创建完整的dp2实体记录,而要等到读者数据也升级后,专门用一轮交叉处理来重写、增补dp2实体记录的某些信息。

从上面也可以看出,在设计dt1000书目数据和读者数据的时候,碰巧两个有关的字段的字段名都设计成了986,但是同样叫$t子字段,含义却不同,容易引起误会,这是一个遗憾。

===

保存书目记录:

MARC书目记录按照UNIMARC或USMARC格式转换为MARCXML格式。全部MARC字段都得到保留。自然,其中的dt1000扩充的906/986等字段,仅仅起到参考的作用,今后dp2软件不会再更新这些字段。保存记录到dp2系统的时候,是追加方式。这就要求批处理前,必须先清空dp2书目库。保存成功后,可以获得实际存入的dp2记录id号。

创建实体记录的步骤:

1) 将MARC数据中的906和986字段按照册条码或登录号合并。如果没有册条码的,按照登录号进行判重。如果某册信息发生重复,以986的信息为准。 

2) 根据MARC数据中的信息,创建实体XML记录。

<parent> -- 父记录id: 根据先前追加存入dp2书目库中获得记录id。

<barcode> -- 册条码:从子字段组中$a获得。

<registerNo> -- 登录号:从子字段组中$h获得。这是本次新增的元素。

<state> -- 状态:暂空白。

<location> -- 馆藏地点:从子字段组中$b获得。

<price> -- 价格:从子字段组中$d获得。如果从$d中获得的价格内容为空,则从982$b中获得。

<bookType> -- 图书册类型:从子字段组中$f获得。如果$f中获得的图书册类型内容为空,则从982$a中获得。

<comment> -- 注释:从子字段组中$z获得。

<borrower> -- 借阅者:从子字段组中$r获得。

<borrowDate> -- 借阅日期:从子字段组中$t获得。长度要求为8字符。转换为RFC1123格式。本来,$t为应还日期,但是由于dt1000书目册信息中缺乏借阅日期,所以只好用此应还日期来充作“借阅日期”,并且把借阅期限设置为1天,相当于应还日期的第二天。

<borrowPeriod> -- 借阅期限:象征性设置为1天,即“1day”。

<mergeComment> -- 增补注释:关于从906字段增补过来的册信息这一情形的注释。属于临时性注释,并未纳入dp2系统的正式信息元素。



发表时间: 2006-08-26 23:01:08
最后修改时间: 2006-08-27 16:09:32



  • 普通文章 将dt1000流通数据升级到dp2系统 开发进展 xietao 2006-08-26 22:54:52[点击:22404]
  • 普通文章 书目数据转换窗口 xietao 2006-08-26 23:01:08 (ID:120) [点击:1445]
  • 普通文章 读者数据转换窗口 xietao 2006-08-27 22:27:53 (ID:121) [点击:1569]
  • 普通文章 dt1000到dt2000数据升级过程中的问题 (访客)www 2008-06-03 21:05:10 (ID:257) [点击:1433]
  •  

    在线用户
    (无) 
    当前栏目在线用户数 0, 总在线用户数 6