过滤期间使用支持函数处理或生成有关资源的信息。然后 robot 可以通过调用过滤函数处理资源。可在 filter.conf 文件中的枚举和生成过滤器中使用这些函数。
assign-source 函数会将新值赋予给定的信息源。此函数允许在过滤处理期间进行编辑。此函数可指定一个显式新值,也可从另一信息源复制一个值。
需要更改值的源的名称
指定一个显式值
要复制到 dst 的信息源
您必须指定 value 属性或 src 属性,但不能同时指定两者。
Data fn=assign-source dst=type src=content-type
assign-type-by-extension 函数用资源的文件名确定其类型,并将此类型分配给资源以便进一步处理。
在安装过程中必须调用 setup-type-by-extension 函数,之后方可使用 assign-type-by-extension。
要比较的文件名的源。如果未指定源,则默认值为资源的路径
MetaData fn=assign-type-by-extension
clear-source 函数删除指定的数据源。通常不需要执行此函数。您可以使用 assign-source 函数来创建或替代源。
要删除的源的名称
以下示例删除路径源:
MetaData fn=clear-source src=path
如果当前资源的类型匹配指定的 MIME 类型,convert-to-html 函数会将当前资源转换为 HTML 文件以进一步处理。转换过滤器会自动检测要转换的文件的类型。
要转换的 MIME 类型
调用以下函数序列会导致过滤器将所有 Adobe Acrobat PDF 文件、Microsoft RTF 文件和 FrameMaker MIF 文件以及提供文件的服务器未指定其类型的任何文件转换为 HTML。
Data fn=convert-to-html type=application/pdf
Data fn=convert-to-html type=application/rtf
Data fn=convert-to-html type=application/x-mif
Data fn=convert-to-html type=unknown
copy-attribute 函数可将资源描述中的某个字段的值复制到另一个字段中。
资源描述中要复制的字段
资源描述中的项目,源将被复制到该项目中
要复制的源的最大长度
指示是否修复被截断的文本,以防文字不完整的布尔属性。默认情况下此属性为 false
Generate fn=copy-attribute \\
src=partial-text dst=description truncate=200 clean=true
仅当现有源与另一个值完全匹配时,generate-by-exact 函数才会利用指定的值生成源。
要生成的源的名称
要赋予 dst 的值
匹配的源
如果主机为 www.siroe.com,以下示例会将分类设置为 siroe。
Generate fn="generate-by-exact" match="www.siroe.com:80" src="host" value="Siroe" dst="classification"
如果现有源的前缀与另一个值匹配,则此 generate-by-prefix 函数会利用指定的值生成源。
要生成的源的名称
要赋予 dst 的值
匹配的源
要与 src 进行比较的值
以下示例当协议前缀为 HTTP 时将分类设为 Compass:
Generate fn="generate-by-prefix" match="http" src="protocol" value="World Wide Web" dst="classification"
如果现有源与某个正则表达式匹配,则 generate-by-regex 函数会利用指定的值生成源。
要生成的源的名称
要赋予 dst 的值
匹配的源
要与 src 进行比较的正则表达式字符串
如果主机名与正则表达式 *.siroe.com 匹配,以下示例会将分类设置为 siroe。例如,developer.siroe.com 和 home.siroe.com 的资源都被分类为 Siroe:
Generate fn="generate-by-regex" match="\\\\*.siroe.com" src="host" value="Siroe" dst="classification"
generate-md5 函数会生成 MD5 校验和并添加到资源中。然后,可使用 filter-by-md5 函数拒绝有相同 MD5 校验和的资源。
无
Data fn=generate-md5
generate-rd-expires 函数会生成到期日期并添加到指定的源。此函数使用元数据(例如 HTTP 标头和 HTML <META> 标记)从资源获取任意到期数据。如果不存在,函数将生成一个距当前日期三个月的到期日期。
源的名称。如果您忽略它,则源默认值为 rd-expires。
Generate fn=generate-rd-expires
generate-rd-last-modified 函数可将当前时间添加到指定的源。
源的名称。如果您忽略它,则源默认值为 rd-last-modified
Generate fn=generate-last-modified
rename-attribute 函数可更改资源描述中字段的名称。此函数在以下情况非常有用,例如,extract-html-meta 函数从一个 <META> 标记复制信息到一个字段而您想要更改该字段的名称。
包含从一个名称到另一个名称的映射的字符串
以下示例将属性从 author 重命名为 author-name:
Generate fn=rename-attribute src="author->author-name"