-
Notifications
You must be signed in to change notification settings - Fork 54
内务 书目查询 窗口
谢涛 edited this page Feb 5, 2018
·
4 revisions
书目查询窗是用于检索和浏览书目库记录的一种窗口。
书目查询窗的浏览列是由各个书目库的 browse 配置文件定义的。不同的书目库可以配置不同的 browse 文件内容,这样,它们之间的浏览列数量和内容都可以不同。dp2 系统并不要求不同书目库的浏览列定义相同。
不过,如果不同的书目库之间,浏览列定义不同,比如列数量不同,当这些书目库记录在同一个浏览框种显示的时候,每一行(代表一个记录)的列数可能都不同。那浏览框是如何处理这种情况的呢?首先,它是允许这些不同列的行并存显示的;其次,当选定某行的时候,浏览框的标题列会显示所选定的这一行对应的栏标题。但鼠标点击栏标题进行排序的时候,可能会让不同类型的列(相同列号)一起进行排序,这样排序的结果就不一定能符合操作者的意愿了,这是一个小小的遗憾。
下面介绍 browse 配置文件的格式和配置方法。
这是一个典型的中文图书库的 browse 配置文件内容:
<?xml version="1.0" encoding="utf-8"?>
<root>
<nstable>
<item prefix="marc" url="http://dp2003.com/UNIMARC" />
</nstable>
<col title="书名">
<title>
<caption lang='zh-CN'>书名</caption>
<caption lang='en'>Title</caption>
</title>
<xpath nstable="">//marc:record/marc:datafield[@tag='200']/marc:subfield[@code='a']</xpath>
</col>
<col title="作者">
<title>
<caption lang='zh-CN'>作者</caption>
<caption lang='en'>Author</caption>
</title>
<xpath nstable="">//marc:record/marc:datafield[@tag='200']/marc:subfield[@code='f']</xpath>
</col>
<col title="出版者">
<title>
<caption lang='zh-CN'>出版者</caption>
<caption lang='en'>Publisher</caption>
</title>
<xpath nstable="">//marc:record/marc:datafield[@tag='210']/marc:subfield[@code='c']</xpath>
</col>
<col title="出版时间">
<title>
<caption lang='zh-CN'>出版时间</caption>
<caption lang='en'>Publish time</caption>
</title>
<xpath nstable="">//marc:record/marc:datafield[@tag='210']/marc:subfield[@code='d']</xpath>
</col>
<col title="中图法分类号">
<title>
<caption lang='zh-CN'>中图法分类号</caption>
<caption lang='en'>CLC classification</caption>
</title>
<xpath nstable="">//marc:record/marc:datafield[@tag='690']/marc:subfield[@code='a']</xpath>
</col>
<col title="主题词">
<title>
<caption lang='zh-CN'>主题词</caption>
<caption lang='en'>Subject</caption>
</title>
<xpath nstable="">//marc:record/marc:datafield[@tag='606']/marc:subfield[@code='a']</xpath>
</col>
<col title="关键词">
<title>
<caption lang='zh-CN'>关键词</caption>
<caption lang='en'>Keyword</caption>
</title>
<xpath nstable="">//marc:record/marc:datafield[@tag='610']/marc:subfield[@code='a']</xpath>
</col>
<col title="ISBN">
<title>
<caption lang='zh-CN'>ISBN</caption>
<caption lang='en'>ISBN</caption>
</title>
<xpath nstable="">//marc:record/marc:datafield[@tag='010']/marc:subfield[@code='a']</xpath>
</col>
</root>
假如要为上述配置文件增加一个价格列,可以在 XML 结构的根元素下增加一个 col 元素,如下:
<col title="价格" type="price">
<title>
<caption lang='zh-CN'>价格</caption>
<caption lang='en'>price</caption>
</title>
<xpath nstable="">//marc:record/marc:datafield[@tag='010']/marc:subfield[@code='d']</xpath>
</col>
其中 col 元素的 type 属性指明了这个列的数据类型。"price" 表示这是一个价格类型的字符串。有了 type 属性定义,当操作者在浏览框“价格”列标题上点击,进行排序的时候,软件就能按照价格字符串的规则来正确排序。
继续卖力的生长吧 / 离参天还很远呢 / 继续飞快的发芽吧 / 要遮天蔽日还要许久呢