hab / simplemarc
This package is not auto-updated.
Last update: 2024-09-14 17:37:22 UTC
README
与MARC记录一起工作。
SimpleMARC版权所有(c)2013-2018年,由Herzog August Bibliothek Wolfenbüttel拥有并发布,受GNU通用公共许可证v3条款约束。
SimpleMARC记录
SimpleMARC记录提供对MARC记录的简化、只读访问。与PEAR File_MARC不同,它不会创建MARC记录的完整内存表示,而是利用MARC目录从MARC记录中检索信息。
MARC数据本身由原生PHP字符串(控制字段)或原生PHP数组(数据字段)表示。控制字段简单地是字段值,而数据字段编码如下
array(CODE => array(POS => VALUE, …), …)
- CODE是子字段代码
- POS是子字段位置的零索引
- VALUE是包含子字段值的字符串
MARC字段通过缩写表示法进行寻址。对于控制字段,缩写与字段标记相同,对于数据字段,缩写将字段标记和指示符通过正斜杠(ASCII 47)作为分隔符连接起来。空指示符由空格字符(ASCII 32)表示。
方法
[array] Record::select(SELECTOR)
SELECTOR是正则表达式的主体,与字段缩写进行匹配。返回值是一个按缩写索引的字段数据数组。
SimpleMARC构建器
SimpleMARC构建器提供MARC记录的构建器。
方法
[Builder] Builder::reset()
为新的记录重置构建器。
[Builder] Builder::setRecordStatus(STATUS)
设置记录状态(记录位置5)。
- STATUS是一个包含记录状态的字符串
默认为‘n - 新’。
[Builder] Builder::setTypeOfRecord(TYPE)
设置记录类型(记录位置6)。
- TYPE是一个包含记录类型的字符串
默认为‘a - 语言材料’。
[Builder] Builder::setBibliographicLevel(LEVEL)
设置文献级别(记录位置7)。
- LEVEL是一个包含文献级别的字符串
默认为‘m - 单行本/项目’。
[Builder] Builder::setTypeOfControl(TYPE)
设置控制类型(记录位置8)。
- TYPE是一个包含控制类型的字符串
默认为‘# - 未指定类型’。
[Builder] Builder::setEncodingLevel(LEVEL)
设置编码级别(记录位置17)。
- LEVEL是一个包含编码级别的字符串
默认为‘u - 未知’。
[Builder] Builder::setDescriptiveCatalogingForm(FORM)
设置描述性编目形式(记录位置18)。
- FORM是一个包含描述性编目形式的字符串
默认为‘u - 未知’。
[Builder] Builder::setMultipartResourceRecordLevel(LEVEL)
设置多部分资源记录级别(记录位置19)。
- LEVEL是一个包含多部分资源记录级别的字符串
默认为‘# - 未指定或不适用’。
[Builder] Builder::addControlField(NUMBER, VALUE)
添加MARC控制字段。
- NUMBER是一个包含控制字段编号的字符串
- VALUES是一个包含控制字段值的字符串
[Builder] Builder::addDataField(NUMBER, INDICATORS, array SUBFIELDS)
- NUMBER是一个包含数据字段编号的字符串
- INDICATORS是两个字符的数据字段指示符字符串
- SUBFIELDS是一个表示数据字段子字段的数组
SUBFIELDS数组中的每个元素都期望是形式为[CODE, VALUE]的数组,其中
- CODE是一个包含子字段代码的字符串
- VALUES 是一个包含子字段值的字符串
[字符串] Builder::build()
最终构建记录并返回 SimpleMARC Record 类的一个实例。
SimpleMARC XmlWriter
SimpleMARC XmlWriter 将 MARC 记录序列化为 MARC21 XML。
方法
[字符串] XmlWriter::write(RECORD)
返回 RECORD 的 MARC21 XML 表示形式。
- RECORD 是 SimpleMARC Record 的一个实例