国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

Marc數(shù)據(jù)格式和數(shù)據(jù)庫(kù)格式的轉(zhuǎn)化體會(huì)

2024-07-21 02:23:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
首先感謝csdn上的djkhym(hym),給我的巨大的幫助,借鑒了他的程序的思路。



marc(machine readable catalogue)數(shù)據(jù),機(jī)讀目錄數(shù)據(jù)。marc格式和數(shù)據(jù)庫(kù)的轉(zhuǎn)化,是圖書(shū)系統(tǒng)里的重要部分,也是核心技術(shù)。現(xiàn)在網(wǎng)上mar數(shù)據(jù)的資料很少,和數(shù)據(jù)庫(kù)的轉(zhuǎn)換的資料就更少了。。。。。我主要參考了《中國(guó)機(jī)讀目錄格式使用手冊(cè)》和hym的程序,為了以后大家少走彎路,所以我寫(xiě)了這個(gè)體會(huì)。(呵呵,現(xiàn)在網(wǎng)上轉(zhuǎn)一條marc數(shù)據(jù)要2毛錢(qián)呢)

marc數(shù)據(jù)的基本格式,大家都可以在《中國(guó)機(jī)讀目錄格式使用手冊(cè)》中詳細(xì)的查詢(xún)。這里我簡(jiǎn)單的說(shuō)說(shuō)。本marc數(shù)據(jù)格式遵循gb/t 2901(iso 2709)的標(biāo)準(zhǔn),擴(kuò)展名是.iso。如下是記錄marc的iso文件中的一行,也就是一條marc數(shù)據(jù)。

00806nam0 2200229 450 001000900000010003500009092002000044100004100064101000800105102001500113105001800128106000600146200003100152210003300183215001500216330020500231333008500436606000500521690000800526701001500534801002700549?s7240011? ­a7-5034-1525-8­b精裝­dcny130.00? ­acn­b01-724-0011? ­a20021211d2002 ekmy0chiy0121 ea? ­achi? ­acn­b110000? ­ay z 000yy? ­ar?1 ­a鄧小平理論辭典­f李長(zhǎng)福主編? ­a北京­c中國(guó)文史出版社­d2004.7? ­a0720­d16開(kāi)? ­a本書(shū)是一部力求全面、系統(tǒng)、準(zhǔn)確反映鄧小平理論科學(xué)體系和檢索鄧小平理論重要觀點(diǎn),供廣大黨員、干部及群眾學(xué)習(xí)、研究、宣傳鄧小平理論的工具書(shū)。全書(shū)在反映、闡述鄧小平理論的同時(shí),還涵蓋了馬克思列寧主義、毛澤東? ­a思想和“三個(gè)代表”重要思想的核心內(nèi)容,體現(xiàn)了科學(xué)社會(huì)主義理論一脈相承的發(fā)展脈絡(luò)。? ­a? ­a­v4? 0­a李長(zhǎng)福主編? ­acn­bs7240011­c20040709?



記錄結(jié)構(gòu):記錄頭標(biāo) 、地址目次區(qū) 、數(shù)據(jù)字段區(qū)、記錄結(jié)束符

00806nam0到450#是記錄頭標(biāo)(#代表空格)

001000900000到[email protected]是地址目次區(qū)(@代表字段分隔符is2)

s7240011到[email protected]是數(shù)據(jù)字段區(qū)

%是記錄結(jié)束符(%代表記錄結(jié)束符is3)

具體的每一個(gè)字節(jié)都有特殊的含義,大家可以看書(shū),我這里講講自己轉(zhuǎn)換的體會(huì)。

1. 字段長(zhǎng)度的計(jì)算:0-4位是代表記錄的總長(zhǎng)度,注意包含了空格和分隔標(biāo)志符。英文字符1位,中文字符2位。注意asp中l(wèi)en(“我”)結(jié)果是一位,故vb中這樣寫(xiě)長(zhǎng)度計(jì)算:lenb(strconv(st1, vbfromunicode)),再用format(str1,00000)來(lái)格式化輸出。

2. 幾個(gè)符號(hào):

$:字字段標(biāo)識(shí)符is1

@代表字段分隔符is2

%代表記錄結(jié)束符is3

這是人為的標(biāo)記,便于學(xué)習(xí)和觀看。在實(shí)際系統(tǒng)里一般用這幾個(gè)字符代替:

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

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

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

還有個(gè)空格很重要,每個(gè)字段間的空格都是嚴(yán)格規(guī)定的,所以學(xué)習(xí)的時(shí)候用#來(lái)代表空格。如頭標(biāo):01071nam0#2200277###450#

3.地址目次區(qū)的理解:人為添加,和;的分隔,就很明顯了。

001,0013,00000;005,0017,00013;…………………………801,0022,[email protected]

這里001,0013,00000;是表示數(shù)據(jù)字段區(qū)的第一個(gè)字段,字段號(hào):001,長(zhǎng)度:0013,開(kāi)始的位置:00000。后邊的類(lèi)推,就是位置在加。

dbtomarc的計(jì)算方法,先寫(xiě)數(shù)據(jù)字段區(qū),再一個(gè)字段一個(gè)字段的算,可以開(kāi)一個(gè)數(shù)組:block(i, 3) , block(i, 0)為標(biāo)識(shí),block(i,1)列為寬度,block(i, 3)列位置,i是指字段的個(gè)數(shù)。

marctodb就是反過(guò)來(lái)了。。先讀,在去截?cái)?shù)據(jù)字段區(qū)。

地址目次區(qū)一定要算對(duì),否則電腦可不認(rèn)識(shí),后邊的數(shù)據(jù)就錯(cuò)位了。

4.數(shù)據(jù)字段區(qū):

按字段一個(gè)個(gè)的寫(xiě)入(讀出)就可以了。注意一點(diǎn):

[email protected]@##$a7-80142-191-4$[email protected]…………………………………………@%

就是空格個(gè)數(shù)和分隔符號(hào)的使用,一定要注意,否則格式就錯(cuò)了,不能機(jī)讀,這可是我的教訓(xùn)啊。。。。

5,將轉(zhuǎn)換的數(shù)據(jù)庫(kù)字段作成配置文件,可以選擇的轉(zhuǎn)換,便于程序的通用。

和編輯約定規(guī)則,如數(shù)據(jù)庫(kù)記錄中:書(shū)名[版次]、書(shū)名<叢書(shū)>這樣獲取版次,判斷是否是叢書(shū)。還有是就編著者不超過(guò)3個(gè)……看你程序設(shè)計(jì)的通用性了。

6.拼音的實(shí)現(xiàn),我是查的數(shù)組實(shí)現(xiàn)的,不知道有沒(méi)其他的好辦法。。。

7.再說(shuō)一點(diǎn)就是,這種數(shù)據(jù)轉(zhuǎn)化重要的是吃透格式的要求,其他的算法就是查詢(xún)寫(xiě)入,看你的功底了。我喜歡利用數(shù)組,呵呵。。。



發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 灵丘县| 京山县| 乌兰浩特市| 密云县| 嘉兴市| 黎平县| 历史| 株洲市| 东方市| 双辽市| 福鼎市| 宁强县| 凤凰县| 浑源县| 仙游县| 开江县| 阜康市| 西宁市| 常州市| 萨迦县| 会昌县| 锦州市| 樟树市| 日照市| 吉安市| 麻阳| 安平县| 渝北区| 贵港市| 闽侯县| 罗源县| 巍山| 重庆市| 惠东县| 长沙县| 开江县| 扶绥县| 德钦县| 尚志市| 余干县| 五家渠市|