DigitalPlatform / dp2

Integrated Library System / 图书馆集成系统
http://digitalplatform.github.io/dp2
Apache License 2.0
107 stars 54 forks source link

内务种册窗的“宏定义” #1167

Open DigitalPlatform opened 2 years ago

DigitalPlatform commented 2 years ago

内务前端种册窗里面可以使用宏定义来处理各种缺省值。

案例一

在相关书目库的 marcdef 配置文件中,给 001 字段定义一个 DefaultValue 元素

    <Field name="001">
        <Property>
            <Label xml:lang="en">Record Identifier</Label>
            <Label xml:lang='zh'>记录标识号</Label>
            <DefaultValue>%biblio_number%</DefaultValue>
        </Property>

种册窗“宏定义”里面定义一个宏: biblio_number+ 00000001

(加号放在 biblio_number 的前面或者后面都可以。效果不同,先增量还是后增量)

然后清除配置文件缓存。重新打开一个种册窗。

然后在 MARC 编辑器的 00· 字段的上下文菜单上可以体验增量的缺省值号码覆盖输入。

案例二

在相关书目库的 marcdef 配置文件中,998 字段原有 DefaultValue 元素定义:

    <Field name="998">
        <Property>
            <Label xml:lang="en">Catalog Batch No</Label>
            <Label xml:lang='zh'>编目批次号</Label>
            <DefaultValue>__\a%catalog_batchno%\u%utime%\z%username%</DefaultValue>
        </Property>

种册窗“宏定义”里面定义一个宏: catalog_batchno+ 202211

然后在 MARC 编辑器内 998 字段的上下文菜单上可以体验批次号的缺省值覆盖输入。

然后打开一个空白的种册窗,装入模板内容,直接保存,保存完成后可以看到 998 字段已经被自动修改,$a 子字段里面自动填充了当前批次号。

(不同的编目员使用自己的编目批次号)

注意 Subfield/Property 元素下的 DefaultValue 虽然定义了,但在 MARC 编辑器里面还无法体验效果。(没有实现插入缺省值的效果)