Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    使用规范化规则

    可译的
    要使用规范化规则,您必须具有以下角色:
    • 编目管理员
    • 编目经理
    • 编目员
    规范化规则为MARC 21记完善记录提供了基础。 可以对元数据编辑器(编辑>完善记录)中的各个记录或一组集合记录进行完善。
    为了处理单个记录的记录完善,使用预览规范化规则功能(见预览规则文件的结果)时,请使用完善记录选项(见元数据编辑器菜单和工具栏选项完善记录)或应用更改到单个记录。
    为了处理对一组记录的记录完善,您需要使用MarcDroolNormalization或DcDroolNormalization任务(见使用规范化进程)创建进程,并指定使用元数据编辑器创建的规范化规则(见创建新规范化规则文件)。 创建该进程后,您可以使用该进程运行作业(见 在既定集合上运行手动作业)。
    规范化规则是通过遵循特定的编程语法和使用元数据编辑器中规则选项卡下提供的编辑窗口创建的。
    Rules_Tab_Editing_Window_NewUI_02_TC.png
    规则选项卡编辑窗口
    除了创建初始规范化规则程序之外,还可以将现有规则复制/粘贴到编辑窗口中,或者使用现成的示例(规则选项卡 >编辑 > 添加规则)来开发您的规范化规则。 有关规范化规则的语法和可以复制到编辑窗口的示例的更多信息,见规范化规则语法
    使用元数据编辑器中的预览功能,您可以:
    • 并行查看规范化规则和元数据记录
    • 在元数据记录运行时预览规则文件结果
    • 在规则文件和预览更改之间切换
    • 编辑规则并立即测试
    本节介绍如何创建规范化规则文件,使用先前创建的规则文件,以及在单个元数据记录运行时预览规则文件的结果。 有关更多信息,见该页面的规范化规则区域。
    有关规范化规则的视频,见规范化规则(41:07分)。 有关配置规范化规则的询问专家章节,见规范化规则
    要创建新规范化规则:
    1. 在元数据编辑器页面(资源 >编目> 打开元数据编辑器)创建MARC记录的规范化规则,选择文件 > 新建 > 规范化规则,要创建DC记录的规范化规则,选择文件 > 新建 > XSL转换器。 打开规范化规则属性对话框。
      规范化规则属性对话框
    2. 输入名称(必需)和规范化规则文件的描述。
    3. 选择访问选项,专用共享。 如果选择前者,只有您可以处理该规则,并且规则不能包含在规范化进程中。 如果选择后者,您的规则将在编目员之间共享。 在这种情况下,多个用户可以同时查看规则,如果两个或更多的人打开规则进行编辑,当您尝试保存更改时,会显示一条警告消息。 (您可以选择保留更改或允许其他用户进行更改并保存更改。)
    4. 选择保存。 打开输入规则的文本框。
      您可以输入现有的规则语法(编辑 > 添加规则 > {规则类型})或定义规则(详情参见 规范化规则语法)。
    5. 选择保存。 规则文件将添加到规范化规则选项卡中的规则文件列表中。
    要使用现有的规范化规则文件:
    1. 在元数据编辑器页面(资源 > 资源 > 编目 > 打开元数据编辑器),对MARC规范化规则选择规则选项卡,然后展开规范化规则文件夹显示保存的规则文件,对DC规范化规则,选择XSL转换器选项卡。
    2. 点击要使用的规则文件,然后选择下列选项:
      • 编辑 – 打开规则语法文本框,修改语法(详细信息见规范化规则语法)。
      • 删除 – 点击确认删除规则文件。
      • 复制 – 复制所选的规则文件,修改并将其另存为新规则文件,而不影响原始文件。
      • 属性 – 打开规范化规则属性对话框,修改规则文件的属性。
    要预览规则文件的结果:
    1. 找到要处理的书目记录(使用仓储检索或元数据编辑器记录选项卡),并在元数据编辑器中打开它。
    2. 选择编辑 > 拆分编辑器(F6)或点击 拆分编辑器
    3. 选择规则选项卡,展开规范化规则>共享列表以显示保存的规则文件,选择要预览其结果的规则文件,然后单击编辑
      Rules_Actions_NewUI_02_TC.png
      点击编辑打开规范化规则
      规则文件显示在元数据编辑器的右窗格中。
      Normalization_Rule_Preview_14.png
      规范化规则预览
    4. 选择预览。 文件中的规则将应用于记录,并显示结果。
      预览网络区记录规则时,显示以下消息:
      请注意,在规范化进程运行时规范仅应用于本地字段。
    5. 点击应用更改保存对记录的修改或点击返回到规范化规则
    如果您返回到规范化规则,您可以对规范化规则进行其他更改,并再次点击预览查看更改。 当您对规范化规则进行最后更改时,点击保存预览按钮旁边)以保存最终版本的规范化规则。

    规范化规则语法

    规则文件包含一个或多个规则,其中包含要应用于记录的条件和一个或多个操作。 如果记录满足条件,操作将应用于记录。 规则中的每个操作都可以在记录中的单个字段上执行。 按照规则中出现的顺序执行操作。
    定义含有多个规则的规则时,必须使用优先级因素。 优先级更高的操作首先执行。 例如,规则中优先级为2的操作先于优先级为1的操作。 有关规范化规则中可用的优先级示例,见Alma规范化规则示例。 
    请注意,仅在字段的规则一样时需要优先级。 否则,当文件中的规则用于不同字段时,会从高到低执行多个规则。
    规范化规则 视频 (41:07 mins)中了解有关创建规范化规则的更多信息 。
    删除或内容更改的规范化例程语法视频(9:57分钟)中了解如何创建从记录中删除指定字段的规范化规则,或者更改这些字段的内容。
    When
    (<conditions on MARC record>) then
    Action1
    Action2 ifcondition
    Action3
    End
    <conditions on MARC record> 包含一个或多个适用于该记录的布尔子句。 如果<conditions on MARC record> 返回 TRUE,则规则应用于记录;否则,不应用规则,并且不处理该记录。
    • When 必须是第一行中唯一的字。 条件必须放在单独的一行上。
    • 尽管在规则中允许使用多个布尔运算符,但当选择大量布尔运算符时会降低运行速度。 因此每条规则应包含不超过200个布尔运算符。
    请注意,使用反斜线时,您不能使用奇数个反斜线,例如\z\\\z。 但是,在以下转义字符中可以使用单个反斜线:
    • \b
    • \t
    • \n
    • \f
    • \r
    • \"
    • \'
    • \\
    简而通常,您需要对转义字符使用双反斜线。
    使用奇数个反斜线会产生以下错误:  “无效转义字符(有效的为\b \t \n \f \r \" \' \\)”
    以下为妨碍现有规则运行时可以使用的修正示例:
    • replacing \\\ with \\
    • replacing \. with .
    • replacing \ with \\
    • replacing \( with (
    • replacing \) with )
    • replacing \\\| with \\|

    记录元素

    条件和操作应用于记录元素,如MARC记录、字段(一个或多个)、指示符、子字段(一个或多个)和字段/子字段内容。
    要测试条件或将操作应用于记录元素,该元素必须符合以下语法:
    句法
    表达 意义
    "<tag>", "<new tag>" 表示一个字段标签,例如001、245等。
    "<oldCode>", "<newCode>" 表示子字段代码,例如a,b,c。
    "<element>" 用于数据字段 以下是数据字段的可能值:
    • FIELD – 例如: 245
    • FIELD_VALUE – 例如:245.value*
    • FIELD_INDICATOR – 例如:245.{1,2}
    • FIELD_SUBFIELD_CODE – 例如:245.a
    • FIELD_INDICATOR_SUBFIELD_CODE – 例如: 245.{1,2}.a
    • FIELD_SUBFIELD_CODE_VALUE – 例如: 245.a.value*
    • FIELD_INDICATOR_SUBFIELD_CODE_VALUE – 例如: 245.{1,2}.a.value*
    "<element>" 用于控制字段 以下是控制字段的可能值:
    • FIELD_POSITION_LENGTH – 例如: LDR.{17,3}
    • FIELD_POSITION_LENGTH_VALUE – 例如: LDR.{17,3}.eng
    记录级别的CONDITION 以下是可能的条件选项。 见下个部分的重要信息(条件)。
    • TRUE – 始终为true
    • not exists "{element}" – 如果元素不存在则为true(数据字段)
    • not existsControl "{element}" – 如果元素不存在则为true(控制字段)
    • not exists "{element}" – 如果元素至少存在一次则为true(数据字段)
    • not existsControl "{element}" – 如果元素至少存在一次则为true(控制字段)
    • existsMoreThanOnce "{element}" – 如果元素存在多次则为true 见检索查询管理与结果集中的示例。
    • contains – 如果元素还有值则为true 由合并规则使用。

    条件

    条件可以在整个规则级别(WHEN)或特定操作级别(IF)。 相同的条件将根据定义的级别而有所不同。
    • WHEN子句 - 整个记录必须满足的条件,以确定规则是否应用于记录
    • IF (一个操作) - 适用于单个字段的条件,以确定是否对该字段执行特定操作
    条件为:
    • containsScript - 使用该条件检测特定语言。 containsScript条件使用以下规定语言列表: Arabic, Armenian, Bengali, Bopomofo, Braille, Buhid, Canadian_Aboriginal, Cherokee, Cyrillic, Devanagari, Ethiopic, Georgian, Greek, Gujarati, Gurmukhi, Han, Hangul, Hanunoo, Hebrew, Hiragana, Inherited, Kannada, Katakana, Khmer, Lao, Latin, Limbu, Malayalam, Mongolian, Myanmar, Ogham, Oriya, Runic, Sinhala, Syriac, Tagalog, Tagbanwa, TaiLe, Tamil, Telugu, Thaana, Thai, Tibetan, and Yi. 见以下语法示例:
      rule "Is CJK in Authority"
      when
         containsScript "Han" "1**"
      then
         set indication."true"
      end
    • exists <element> – 找到至少一个匹配
      • exists <element> – 应用于数据字段 在IF子句中使用时,操作元素和由条件测试的元素必须在同一(数据)字段。
      • existsControl <element> – 应用于控制字段 在IF子句中使用时,操作元素和由条件测试的元素必须在同一(控制)字段。
    • existsMoreThanOnce "{element}" – 找到多个匹配项 应用于数据字段。 在IF子句中使用时,操作元素和由条件测试的元素必须在同一(数据)字段。
      • not exists <element> – 无匹配项
        • not exists <element> – 应用于数据字段 在IF子句中使用时,操作元素和由条件测试的元素必须在同一(数据)字段。
        • not existsControl <element> – 应用于控制字段 在IF子句中使用时,操作元素和由条件测试的元素必须在同一(控制)字段。
      • recordHasDuplicateSubfields(有关指示规则,见使用指示规则) – 如果根据字段、子字段找到当前记录的重复子字段(子字段和内容),返回true,且按以下格式处理忽略字符(charsToIgnore)字符串:
        recordHasDuplicateSubfields "<tag>" "<code>" "<charsToIgnore>"
        可以指定由逗号分隔的多个标签(字段)。 可指定多个代码(子字段),并不需要空格分隔。 可以指定没有空格分隔的一个或多个字符在用于评估重复的子字段的内容的结果为忽略字符。 有关更多信息,见示例 6
        对于满足recordHasDuplicateSubfields条件(返回true)的记录,创建一组记录。
      每个IF 子句操作可以具有以下格式之一:
      • 如果某个特定条件不正确,则应用: addControlField "{element}" if(not exists "{condition}")
      • 如果某个特定条件为真,则应用: addControlField "{element}" if(exists "{condition}")
      • 无条件应用,例如:addControlField "{element}"
      后续声明中使用的逻辑或操作符为(|)符号,例如:removeField "866" if (not exists "866.8.0|99")
      如果(|)符号是值的一部分,使用四个反斜杠(\\\\)避开,例如: removeField "866" if (exists "866.8.0\\\\|99")

      操作列表

      下表提供了可用操作的列表。
      操作列表
      操作 格式/示例 注释
      将字段和子字段替换为其它字段和子字段。 changeControlField "<tag>" to "<new tag>"
      例如changeControlField "007" to "008"
      更改控制字段的标记标识符;不修改内容。
      changeField "<tag>" to "<new tag>"
      例如changeField "245" to "246"
      改变标签标识符;不修改指示符或子字段。
      changeSubField "<tag>.<code>" to "<new code>"
      changeSubFieldOnlyFirst "<tag>.<code>" to "<new code>"
      changeSubFieldExceptFirst "<tag>.<code>" to "<new code>"
      例如changeSubField "035.b" to "a"
      "<tag>"字段中更改子字段(或仅第一个子字段,或除第一个子字段之外的所有子字段)"<code>"为子字段"new code"
      changeFirstIndicator "<tag>" to "<value">
      changeSecondIndicator "<tag>" to "<value">
      例如changeFirstIndicator "245" to "3"
      <tag>中设置指定的指示符值。
      combineFields "{tag}" excluding "{comma-separated subfield list}"
      例如combineFields "852" excluding "a,b"
      合并指定数字的所有字段。 将所有子字段从第二行和后续行复制到第一行,不包括命名子字段;只有第一次排除的子字段被复制,并且只有在第一行不存在的情况下。
      添加字段和子字段 addField "<tag>.<code>.<value>"
      addField "<tag>.{<ind1>,<ind2>}.<code>. <value>"
      例如addField "999.a.RESTRICTED"
      将字段添加到MARC记录。 将子字段的值设置为指定值。
      addControlField "<tag>.<value>"
      例如:addControlField "008.820305s1991####nyu###########001#0#eng##"
      将控制字段添加到MARC记录。
      addSubField "<tag>.<code>.<value>"
      addSubField "<tag>.{<ind1>,<ind2>}.<code>.<value>"
      例如addSubField "245.h.[Journal]"
      <tag>字段中添加值为<value>的子字段<code>。 如果该字段不存在,则不添加。
      addSystemNumber "<element>" from "<tag>" prefixed by "<prefix tag>"
      例如addSystemNumber "035.a" from "001" prefixed by "003"
      使数据字段<element>等于括号中的第二个控制字段<prefix tag>的内容,其后为第一个控制字段<tag>的内容。
      例如,如果001的值为9945110100121003的值为DAV,左侧的示例条件将产生035,值为‡(DAV)9945110100121
      复制字段 copyField "<tag>" to "<new tag>"
      copyField "<tag>.<code>" to "<new tag>.<new code>"
      copyField "<tag>" to "<new tag>.{<ind1>,<ind2>}"
      例如copyField "971.a" to "100.u"
      将字段复制到另一个字段。 在第一版中,未指定子字段(<code><new code>),新字段含有所有旧字段中相同的子字段。 在第二版中,如果只是未指定<new code>,新子字段与<code>中指定的相同。
      copyField 创建一个单独的字段,而不是将其添加到任何现有的字段。 您可能希望将新字段与现有字段组合(见 组合字段)。
      删除字段和子字段 removeControlField "<tag>"
      例如removeControlField "009"
      删除所有出现的控制字段。

      请注意,如果移除控制字段008,如果您没有重新创建它Alma会立刻重新创建。 考虑在移除后重新添加字段,例如:

      rule "remove 008"
      when
      (TRUE)
      then
      removeControlField "008"
      addControlField "008.######s2013####xx######r#####000#0#eng#d"
      end
      removeField "<tag>"
      例如removeField "880"
      删除所有出现的字段 <tag>
      removeSubField "<tag>.<code>"
      例如removeSubField "245.h"
      从指定字段删除所有出现的子字段 <code>
      替换字段或子字段中的文本 replaceControlContents "<tag>.{<position>,<length>}.
      <value>" with "new value"
      例如:replaceControlContents "LDR.{7,1}.s" with "m"
      Replaces <value> with "<new value>" in starting position <position> to <position>+<length> of control field <tag>. 仅替换匹配的文本 <value>
      replaceContents "<tag>.<code>.<value>" with "<new value>"
      replaceContentsOnlyFirst "<tag>.<code>.<value>" with "<new value>"
      replaceContentsExceptFirst "<tag>.<code>.<value>" with "<new value>"
      例如: replaceContents "245.h.[Journal]" with "[Book]"
      使用“new value”替换字段“<tag>”的子字段<code>中匹配的字符串(或仅第一个匹配的字符串或除第一个匹配字符串以外的所有字符串)<value>。 无匹配<value>的字符串或部分字符串未被修改。
      replaceSubFieldContents "<tag>.<code>" with "<tag>.<code>"
      例如 replaceSubFieldContents "245.b" with "100.a"
      用另一个子字段的内容替换子字段的内容。
      在子字段中添加文本
       
      prefix "<tag>.<code>" with "<value>"
      例如prefix "035.b" with "(OCoLC)"
      "<tag>"字段的"<code>"子字段的值添加前缀。
      新值为<code>后带有旧值。
      prefixSubField "<tag>.<code>" with "<source tag>.<source code>"
      例如prefixSubField "910.a" with "906.a"
      "<source tag>"字段中添加"<source code>"子字段的值,并作为子字段"<code>"的前缀添加到"<tag>"
      新值将为"<source tag>"字段中子字段"<source code>"的值并跟有旧值。
      suffix "<tag>.<code>" with "<value>"
      例如suffix "035.b" with "(OCoLC)"
      "<tag>"字段的"<code>"子字段的值添加后缀。
      新值为旧值后带有<value>
      suffixSubField "<tag>.<code>" with "<source tag>.<source code>"
      例如suffixSubField "910.a" with "907.c"
      "<source tag>"字段中添加"<source code>"子字段的值,并作为子字段"<code>"的后缀添加到"<tag>"
      新值将为旧值后带有"<source tag>"字段中子字段"<source code>"的值。
      在书目和规范记录中维护代理信息
      例如,该语法可用于在MARC 21书目元数据配置任务列表中选择的规范化规则,以便在保存时规范化网络区书目记录。
      此功能正在建设中。 要启用此语法,请联系Ex Libris支持。
      addCreatingAgency "<tag>.<code>"
      例如: addCreatingAgency "040.a"
      “<tag>”字段的“<code>”子字段中添加创建代理商ISIL代码。
      addModifyingAgency "<tag>.<code>"
      例如:addModifyingAgency "040.d"
      “<tag>”字段的“<code>”子字段中添加修改代理ISIL代码。 如果“<tag>.<code>”中已经有一个修改代理机构,那么会增加另一个代理商的ISIL代码。
      replaceModifyingAgency "<tag>.<code>"
      例如:replaceModifyingAgency "040.d"
      “<tag>”字段的“<code>”子字段中添加修改代理ISIL代码。 存在于“<tag>.<code>”中的修改代理都将被替换。
      拆分子字段 splitSubField "<tag>.{ind1,ind2}.<code>.<delimiter>" to "<tag>.{<ind1>,<ind2>}.<code>" addSeq "<code>"
      示例1: splitSubField "866.a.;" to "555.{0,0}.a" addSeq "8"
      示例2: splitSubField "555.a. – " to "859 0,0,a" addSeq "8"
      示例3: splitSubField "859.a.\\\\."
      示例4: splitSubField "999.a.;" to "555.a" addSeq "8"
      标签为必备。
      指示符可选。
      因为拆分在子字段层级,代码为必备。
      分隔符可为任意字符串。 如果分隔符不存在,完整的子字段复制为第一段,并添加后续。
      to组件可选。 如果指定,创建多个to tag.code,每个都含有数据直到分隔符。 见示例1和2。 如果未指定to组件,子字段在相同字段中拆分为其他的相同子字段,如示例3。
      addSeq组件可选。 如果to组件未指定则无关。 指定addSeq时,如示例1添加含有序列的子字段;如果子字段已在初始字段中存在,序列添加到字段中如示例2。

      移除重复子字段

      correctDuplicateSubfields "<tag>" "<code>"

      示例: 

      从字段610和630移除重复的子字段x、y和z。
      rule "Remove duplicates" 
      priority 1 
      when 
      (TRUE) 
      then 
      correctDuplicateSubfields "610,630" "xyz" 
      end

      根据作为参数处理的字段和子字段保留当前记录中第一次出现的内容并移除其他内容,以此更正重复子字段。

      您可能想要使用recordHasDuplicateSubfields创建提供给使用correctDuplicateSubfields的规范化规则的结果集。 有关更多信息,见示例6

      移动子字段

      moveSubfieldsToEndOfField "<tag>" "<code>"

      示例: 

      移动子字段9和2到字段650末尾。
      rule "Move subfields to end of field" 
      priority 1 
      when 
      (TRUE) 
      then 
      moveSubfieldsToEndOfField "650" "92" 
      end

      移动每个子字段的第一个内容到字段末尾并移除相同子字段的其他内容。

      如果定义了多个子字段,根据规则将其按顺序放置在末尾。 该例子中,子字段9放置在末尾,子字段2紧随其后。

      请注意moveSubfieldsToEndOfField操作不支持if声明。

      更正当前记录的重复字段

      correctDuplicateFields "{fields}"

      示例:

      correctDuplicateFields "610,630,650"

      该操作使用一个参数,含有按逗号分隔字段值的字段,例如610,630,650。

      该操作根据由参数通过的字段更正当前记录的重复字段。

      查找重复字段

      (指示规则;见使用指示规则

      recordHasDuplicateFields "{fields}"

      示例:

      recordHasDuplicateFields "610,630,650"

      该操作使用一个参数,含有按逗号分隔字段值的字段,例如610,630,650。

      该操作可以为true或false。 如果根据由参数通过的字段如果在当前记录中找到了重复字段,返回true。

      通配符和特殊字符

      子字段分隔符($$)不能在规则中出现,包括规则名称。
      #号在行的开头标识剩余内容为一条命令,并在处理规则时忽略。
      星号(*)用于匹配任何字符串,包括长度为0的字符串。 例如,“<tag>.<*>.<value>”适用于标签<tag>中具有<value>值的所有子字段。 * 是“贪心”,所以它在字符串中匹配尽可能多的字符。例如:如果您有一个字符串“a b c d b e”,模式“b*b”匹配 "b c b d b",而不只是“b c b”。
      空指示符(但不是字段或子字段)由破折号(-)指示。 例如,"<tag> {-,<ind2>}"返回MARC标签为<tag>的所有字段,第一个指示符未定义,第二个指示符为<ind2>
      如果子字段的文本包含句点作为最后的字符,则使用四个反斜杠来匹配句点。 例如:
      rule "Replace '1 v.' to 'Leaves' in $a (unconditional)"
      when
      (TRUE)
      then
      replaceContents "300.a.1 v\\\\." with "Leaves"
      end
      双引号(仅)可用于条件。 要使用双引号作为条件的一部分,请使用单引号将规则(')中的文本括起来,而不是双引号(“)。 这样,您可以在双斜杠(//)之后的文本中使用双引号。
      rule "populate 008 7-10 2016"
      when
      (exists '245.{*, }.c.\\"')
      then
      replaceControlContents "008.{7,4}" with "double quote"
      end
      希伯来语日期(仅)可用于条件。 (希伯来语从右到左读取,因此下例中的双斜杠在双引号之前。)
      rule "populate 008 7-10 2016"
      when
      ((exists '260.{*, }.c.תשע\\"ו') OR (exists '264.{*, }.c.תשע\\"ו'))
      then
      replaceControlContents "008.{7,4}" with "2016"
      end
      • 不能在条件或值的第一个字符使用通配符。
      • 要使用反斜杠(\),其后附上另一个反斜杠:\\。 类似的,要使用星号,其后附上一个反斜杠。
      • 当句点为字符串的最后字符时,使用四个反斜杠(\\\\)代表句点。 当句点后面是另一个字符时,它不需要前面的四个反斜杠(比如 addField "907.a.F.L.T\\\\.")。 但是,最佳做法是在规范化规则中始终使用四个反斜杠,以确保最一致的预期结果。 见下例。
      • 如上文所述,如果在用单引号引用的条件中使用双引号或单引号,必须在其后附上双反斜杠。
      • 如果(|)符号是值的一部分,使用四个反斜杠(\\\\)避开,例如: removeField "866" if (exists "866.8.0\\\\|99") 仅当条件中使用(|)符号时需要这样处理。

      示例:在使用replaceContents的规范化规则中使用句点。

      具有句点的示例记录:
      245 00 $$a Feminist literary theory. : $$b a reader / $$c edited by Mary Eagleton.
      246 0# $$a F.L.T.
      上述示例记录的规范化规则:
      rule "remove the periods in 245 and 246 subfield a (and replace periods with nothing); precede period with four backslashes"
      when
      (TRUE)
      then
      replaceContents "245.a.\\\\." with ""
      replaceContents "246.a.\\\\." with ""
      end
      前后示例见下图。
      前后示例

      示例:在使用addField的规范化规则中使用句点

      以下是需要添加句点的记录示例:
      906 $$a Architecture.
      907 $$a F.L.T.
      以下是使用始终包括斜杠的最佳做法的上述示例记录的规范化规则:
      rule "Add field 906 with text Architecture and period at end and also add field 907 with F.L.T."
      salience 100
      when
      TRUE
      then
      addField "906.a.Architecture\\\\."
      addField "907.a.F\\\\.L\\\\.T\\\\."
      end
      前后记录示例见下图。
      前后示例

      规范化规则示例

      有关含有超过50个规范化规则示例的列表,见规范化规则
      • Was this article helpful?