Skip to content

“出版地-地区代码”校验功能 #1203

@DigitalPlatform

Description

@DigitalPlatform

dp2library 服务器具备一个实用库“出版者”,做了功能增强。

原有功能

增强之前的出版者库 keys 配置文件内容如下:

<root>
    <key>
        <xpath>/r/@i</xpath>
        <from>isbn</from>
        <table ref="isbn" />
    </key>
    <table name="isbn" id="5">
        <convert>
            <string style="" />
        </convert>
        <convertquery>
            <string style="" />
        </convertquery>
        <caption lang="zh">ISBN</caption>
        <caption lang="en">ISBN</caption>
    </table>
</root>

可以看出,具有一个“ISBN”检索途径。通过 ISBN 的出版社部分内容作为 Key 检索,可以得到这个出版社对应的 UNIARC 102$a$b 内容,用于数据自动创建功能。

ISBN 这个检索键,是从 XML 记录中的 /r/@i 也就是根元素 r 的 i 属性值中提取 key。

XML 记录是类似这样:

<r i="7-01" v102="CN:110000" />

增加的功能

功能增强后,keys 配置文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<root>
	<!-- ISBN -->
	<key>
		<xpath>/r/@i</xpath>
		<from>isbn</from>
		<table ref="isbn" />
	</key>
	<table name="isbn" id="5">
		<convert>
			<string style="" />
		</convert>
		<convertquery>
			<string style="" />
		</convertquery>
		<caption lang="zh">ISBN</caption>
		<caption lang="en">ISBN</caption>
	</table>

	<!-- 出版地 (2025/5/11) -->
	<key>
		<xpath>/r/@city</xpath>
		<from>city</from>
		<table ref="city" />
	</key>
	<table name="city" id="5">
		<convert>
			<string style="upper" />
		</convert>
		<convertquery>
			<string style="upper" />
		</convertquery>
		<caption lang="zh">出版地</caption>
		<caption lang="en">City</caption>
	</table>
</root>

可以看出,增加了一个“出版地”检索途径。通过出版地作为 Key 检索,可以得到其对应的 UNIARC 102$a$b 内容,用于 102 字段和 210 字段之间的校验功能。

“出版地”这个检索键,是从 XML 记录中的 /r/@city 也就是根元素 r 的 city 属性值中提取 key。

XML 记录是类似这样:

<r city="北京" v102="CN:110000" />

出版者库的 browse 配置文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<root>
	<col title="ISBN中出版社部分">
		<xpath>/r/@i</xpath>
	</col>
	<col title="出版地">
		<xpath>/r/@city</xpath>
	</col>
	<col title="102值">
		<xpath>/r/@v102</xpath>
	</col>
	<col title="210值">
		<xpath>/r/@v210</xpath>
	</col>
</root>

其中“出版者”列是新增的。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions