各个图书馆提供的中图法目录列表,不是太简单,就是页面分级过多,查询不方便。因此我一直想做一个文件树式的完整版中国图书馆分类法目录。最主要的问题是条目太多,完整的版本有数万条记录,对应近几兆的文本。这么大的文件直接在页面中加载是不可能的,所以我当时只整理了2099条二级目录。这个数量在IE中展开就已经很吃力了,而且要忍受较长的加载时间。那时也我也不会其他的办法,这件事也就一直拖了下来。
最近这个问题又在不经意间浮上心头,挥之不去。索性放下手头的事情,又重新调查了一遍JS、Ajax相关的开源列表模块,希望能找到合适的框架。对于这种包含上万条记录的浏览需求,只有用动态异步加载(dynamic asynchronous loading)的方式才可能实现,找对了关键词剩下的就好办了。之前我用的DTree早已在2004年就停止了更新,当前热门的jquery库中的几个应用,比如jsTree,treeTable等,都是单次加载,几M的文本数据传输其实还可以接受,可要让浏览器同时加载几万条记录就吃力了。后来我看到了SimpleTree,还有它的相关介绍文章,于是决定用它来试一下。
我找到的第四版中国图书馆分类法包含4.6万条记录,国家地区等复分表没有被包括进来。用Python简单地格式化之后,就得到了下面的列表,总算了却了一桩心愿。
- 中图法第四版简表
- A 马克思主义、列宁主义、毛泽东思想、邓小平理论
- {url:../html/clc/sub/A.php?tree_id=1}
- B 哲学、宗教
- {url:../html/clc/sub/B.php?tree_id=1}
- C 社会科学总论
- {url:../html/clc/sub/C.php?tree_id=1}
- D 政治、法律
- {url:../html/clc/sub/D.php?tree_id=1}
- E 军事
- {url:../html/clc/sub/E.php?tree_id=1}
- F 经济
- {url:../html/clc/sub/F.php?tree_id=1}
- G 文化、科学、教育、体育
- {url:../html/clc/sub/G.php?tree_id=1}
- H 语言、文字
- {url:../html/clc/sub/H.php?tree_id=1}
- I 文学
- {url:../html/clc/sub/I.php?tree_id=1}
- J 艺术
- {url:../html/clc/sub/J.php?tree_id=1}
- K 历史、地理
- {url:../html/clc/sub/K.php?tree_id=1}
- N 自然科学总论
- {url:../html/clc/sub/N.php?tree_id=1}
- O 数理科学和化学
- {url:../html/clc/sub/O.php?tree_id=1}
- P 天文学、地球科学
- {url:../html/clc/sub/P.php?tree_id=1}
- Q 生物科学
- {url:../html/clc/sub/Q.php?tree_id=1}
- R 医药、卫生
- {url:../html/clc/sub/R.php?tree_id=1}
- S 农业科学
- {url:../html/clc/sub/S.php?tree_id=1}
- T 工业技术
- {url:../html/clc/sub/T.php?tree_id=1}
- U 交通运输
- {url:../html/clc/sub/U.php?tree_id=1}
- V 航空、航天
- {url:../html/clc/sub/V.php?tree_id=1}
- X 环境科学、安全科学
- {url:../html/clc/sub/X.php?tree_id=1}
- Z 综合图书
- {url:../html/clc/sub/Z.php?tree_id=1}
- A 马克思主义、列宁主义、毛泽东思想、邓小平理论
jquery主页上 simpleTree的下载链接已经失效,代码不太好找,我在这里做个备份。点此下载。
后来发现国产的zTree应该也能满足要求,不过中图法第五版已在两年前出版,等新的电子版数据出来,再一并更新好了。