# ! # ! = = etc依赖于recordbuilderloop遍历字段{}和值{}列表。#变压器端!last_save_build=“FME(R)2012 SP1(20120318-build 12229-win32)”!法律条款条件=“”!fme_server_services=“”!show_bookmarks=“true”!grid_visible=“假”!显示“annotations=”true“”!category=“列出”!blocked_looping=“no”!网格高度为50!要求关键字=“”!fme_build_num=“12229”!show_info_nodes=“true”!description=“从字段名和值对创建新属性。输入是字段{}列表和值{}列表。输出是新字段,如下所示: = = etc依赖于recordbuilderloop遍历字段{}和值{}列表。“!grid_snapto=“false”!网格_width=“50”!fmx_insert_mode=“默认链接”!FMEA进程计数=“NoI并行”历史=“”!view_position=“3130”!max_loop_iterations=“”!zoom_scale=“100”!密码=“”!查看_page_breaks=“false”!workspace_version=“1”!Last_Save_Date=“2012-03-27T15:00:16”!fme_process_group_by=“”!title=“RecordBuilder”!用法=“”!要求=“”!attr_type_encoding=“sdf”!迭代_count_attr=“”!>#啊! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # !DEFAULT_MACRO $ (RecordBuilder_WORKSPACE_NAME) _LIST_ATTR _fields {} DEFAULT_MACRO美元(RecordBuilder_WORKSPACE_NAME) _SRC_LIST _values {} DEFAULT_MACRO美元(RecordBuilder_WORKSPACE_NAME) _REMOVE_ATTRS _creation_instance, _element_count, _fields, _result, _values, currentIndex, field0, field1, field2, value0, value1, value2包括TCL proc __FME_ExpandMacros{文本{maxlevels 100}}{如果{$ maxlevels < = 0}{返回$文本;}固定模式(加入{{\ $}{\([^()美元]* \)}}{}]设定指标[regexp内联——指数模式文本]美元如果[llength美元指数]{foreach一对[lreverse美元指数]{lassign两美元开始结束更换{}集合替换:美元:FME_MacroValues(范围(字符串文本美元[expr开始美元+ 2][expr结束美元- 1]])设置文本(字符串替换文本开始结束美元替代美元]}返回[__FME_ExpandMacros文本美元[expr maxlevels - 1美元]]}返回$文本}proc __FME_ExpandEnvVars{文本{maxlevels 100}}{如果{$ maxlevels < = 0}{返回$文本;}固定模式(加入{{\ $}{\{[^ \{\}$]* \}}}{}]设定指标[regexp内联——指数模式文本]美元如果[llength美元指数]{foreach一对[lreverse美元指数]{lassign两美元开始结束更换{}集合替换:美元:env(范围(字符串文本美元[expr开始美元+ 2][expr结束美元- 1]])设置文本(字符串替换文本开始结束美元替代美元]}返回[__FME_ExpandEnvVars文本美元[expr maxlevels - 1美元]]}返回$文本}proc __FME_EvalAndEncodeMacro{宏名字}{设置macroVal{}抓住{macroVal设置[_fme_expandmacros $::FME_MacroValues($macroName)]} catch {set macroVal [_fme_expandenvvars $macroVal]} return [FME_EncodeText $macroVal]} END_INCLUDE INCLUDE [put "MACRO $(RecordBuilder_WORKSPACE_NAME) _list_attr_fmeencoded__ [_fme_evalandencodemacro $(RecordBuilder_WORKSPACE_NAME)_LIST_ATTR]";[put "MACRO $(RecordBuilder_WORKSPACE_NAME) _src_list_fmeencoded__ [_fme_evalandencodemacro $(RecordBuilder_WORKSPACE_NAME)_SRC_LIST]";[put "MACRO $(RecordBuilder_WORKSPACE_NAME) _remove_attrs_ fmeencoded__ [_fme_evalandencodemacro $(RecordBuilder_WORKSPACE_NAME)_REMOVE_ATTRS]";)# !START_HEADER # !“”包括[放{宏WB_OLD_CONTEXT_$(RecordBuilder_WORKSPACE_NAME) $(WB_CURRENT_CONTEXT)};将{宏WB_CURRENT_CONTEXT $ (RecordBuilder_WORKSPACE_NAME)}] FACTORY_DEF * TeeFactory FACTORY_NAME " $ (RecordBuilder_WORKSPACE_NAME) _INPUT输入分流”输入FEATURE_TYPE " $ (RecordBuilder_WORKSPACE_NAME) _INPUT“输出FEATURE_TYPE " $ (RecordBuilder_WORKSPACE_NAME) _INPUT " # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FACTORY_DEF * TeeFactory FACTORY_NAME美元(RecordBuilder_WORKSPACE_NAME) _ListCopier_3输入FEATURE_TYPE " $ (RecordBuilder_WORKSPACE_NAME) _INPUT "输出FEATURE_TYPE " $ (RecordBuilder_WORKSPACE_NAME) _ListCopier_3_OUTPUT“@CopyAttributes ({}“_fields”,“美元($ (RecordBuilder_WORKSPACE_NAME) _LIST_ATTR)”) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FACTORY_DEF * TeeFactory FACTORY_NAME美元(RecordBuilder_WORKSPACE_NAME) _ListCopier_2输入FEATURE_TYPE " $ (RecordBuilder_WORKSPACE_NAME) _ListCopier_3_OUTPUT“输出FEATURE_TYPE " $ (RecordBuilder_WORKSPACE_NAME) _ListCopier_2_OUTPUT”@CopyAttributes (“_values“{}”,美元($ (RecordBuilder_WORKSPACE_NAME) _SRC_LIST)”) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #暴露所有属性。这确保了如果您公开fme_dataset,您将获得它。READER_META_ATTRIBUTES fme_feature_type fme_dataset fme_basename FACTORY_DEF * TeeFactory FACTORY_NAME美元(RecordBuilder_WORKSPACE_NAME) _AttributeExposer_3输入FEATURE_TYPE " $ (RecordBuilder_WORKSPACE_NAME) _ListCopier_2_OUTPUT“输出FEATURE_TYPE " $ (RecordBuilder_WORKSPACE_NAME) _AttributeExposer_3_OUTPUT " # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FACTORY_DEF * TeeFactory FACTORY_NAME美元(RecordBuilder_WORKSPACE_NAME) FEATURE_TYPE _ListElementCounter输入输出FEATURE_TYPE“(RecordBuilder_WORKSPACE_NAME) _AttributeExposer_3_OUTPUT美元美元(RecordBuilder_WORKSPACE_NAME) _ListElementCounter_OUTPUT”“_element_count @NumElements (“_fields{}”) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 91年Tcl2 proc cf7a8a_f8e0_4a74_b3be_706f8a1044990_attrsetter {attrList}{设置attrList(字符串修剪美元attrList {()});set attrs [split $attrList {,}];如果{[字符串匹配{*],则foreach {attrName attrVal} $attrs { *} $attrName] == 1} {set attrName [FME_Execute EvaluateExpression {STRING}}{set attrName [FME_DecodeText $attrName];};如果{[字符串匹配{* *} $attrVal] == 1} {set attrVal [FME_Execute EvaluateExpression {STRING}} $attrVal {$(RecordBuilder_WORKSPACE_NAME)_AttributeCreator_3}};{set attrVal [FME_DecodeText $attrVal];};FME_SetAttribute attrName attrVal美元;};};FACTORY_DEF * TeeFactory FACTORY_NAME $ (RecordBuilder_WORKSPACE_NAME) _AttributeCreator_3输入FEATURE_TYPE " $ (RecordBuilder_WORKSPACE_NAME) _ListElementCounter_OUTPUT“输出FEATURE_TYPE " $ (RecordBuilder_WORKSPACE_NAME) _AttributeCreator_3_OUTPUT”“@Tcl2 (91 cf7a8a_f8e0_4a74_b3be_706f8a1044990_attrsetter {(currentIndex, 0)})“# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FACTORY_DEF * TeeFactory FACTORY_NAME " $ (RecordBuilder_WORKSPACE_NAME) _RecordBuilderLoop输入输入收集器”输入FEATURE_TYPE“$ (RecordBuilder_WORKSPACE_NAME) _AttributeCreator_3_OUTPUT“产出FEATURE_TYPE”(RecordBuilder_WORKSPACE_NAME) _RecordBuilderLoop_INPUT“宏观RecordBuilderLoop_WORKSPACE_NAME美元(RecordBuilder_WORKSPACE_NAME) _RecordBuilderLoop宏(RecordBuilderLoop_WORKSPACE_NAME) _XFORMER_NAME (RecordBuilder_WORKSPACE_NAME)美元_RecordBuilderLoop宏(RecordBuilderLoop_WORKSPACE_NAME) _TRANSFORMER_GROUP宏(RecordBuilderLoop_WORKSPACE_NAME)美元___COMPOUND_PARAMETERS宏美元$ (RecordBuilderLoop_WORKSPACE_NAME) _SUB_DOC_NAME RecordBuilderLoop宏(RecordBuilderLoop_WORKSPACE_NAME) _LIST_ATTR _fields宏观$ {}(RecordBuilderLoop_WORKSPACE_NAME) _INDEX @ value (currentIndex)宏(RecordBuilderLoop_WORKSPACE_NAME)美元_SRC_LIST _values宏观$ {}(RecordBuilderLoop_WORKSPACE_NAME) _currentIndex @ value (currentIndex)包括TCL proc __FME_ExpandMacros{文本{maxlevels 100}}{如果{$ maxlevels < = 0}{返回$文本;}固定模式(加入{{\ $}{\([^()美元]* \)}}{}]设定指标[regexp内联——指数模式文本]美元如果[llength美元指数]{foreach一对[lreverse美元指数]{lassign两美元开始结束更换{}集合替换:美元:FME_MacroValues(范围(字符串文本美元[expr开始美元+ 2][expr结束美元- 1]])设置文本(字符串替换文本开始结束美元替代美元]}返回[__FME_ExpandMacros文本美元[expr maxlevels - 1美元]]}返回$文本}proc __FME_ExpandEnvVars{文本{maxlevels 100}}{如果{$ maxlevels < = 0}{返回$文本;}固定模式(加入{{\ $}{\{[^ \{\}$]* \}}}{}]设定指标[regexp内联——指数模式文本]美元如果[llength美元指数]{foreach一对[lreverse美元指数]{lassign两美元开始结束更换{}集合替换:美元:env(范围(字符串文本美元[expr开始美元+ 2][expr结束美元- 1]])设置文本(字符串替换文本开始结束美元替代美元]}返回[__FME_ExpandEnvVars文本美元[expr maxlevels - 1美元]]}返回$文本}proc __FME_EvalAndEncodeMacro{宏名字}{设置macroVal{}抓住{macroVal设置[__FME_ExpandMacros:美元:FME_MacroValues(宏名字美元)]}抓住{设置macroVal [__FME_ExpandEnvVars macroVal美元]}返回[FME_EncodeText macroVal美元]}END_INCLUDE包括[所说的“宏观(RecordBuilderLoop_WORKSPACE_NAME)美元_XFORMER_NAME__FMEENCODED__ __FME_EvalAndEncodeMacro (RecordBuilderLoop_WORKSPACE_NAME) _XFORMER_NAME]美元”;[put "MACRO $(RecordBuilderLoop_WORKSPACE_NAME) _transformer_group_fmeencoded__ [fme_evalandencodemacro $(RecordBuilderLoop_WORKSPACE_NAME)_TRANSFORMER_GROUP]";[放"宏$(RecordBuilderLoop_WORKSPACE_NAME) _compound_parameters ";[放"宏$(RecordBuilderLoop_WORKSPACE_NAME) _sub_doc_name_fmeencoded__ [_fme_evalandencodemacro $(RecordBuilderLoop_WORKSPACE_NAME)_SUB_DOC_NAME]";[put "MACRO $(RecordBuilderLoop_WORKSPACE_NAME)_LIST_ATTR]";[放"宏$(RecordBuilderLoop_WORKSPACE_NAME) _index_fmeencoded__ [_fme_evalandencodemacro $(RecordBuilderLoop_WORKSPACE_NAME)_INDEX]";[put "MACRO $(RecordBuilderLoop_WORKSPACE_NAME)_SRC_LIST]";]包括[放"宏$(RecordBuilderLoop_WORKSPACE_NAME) _currentindex_fmeencoded__ [_fme_evalandencodemacro $(RecordBuilderLoop_WORKSPACE_NAME)_currentIndex]";] DEFAULT_MACRO RecordBuilderLoop_WORKSPACE_NAME ""包括[放{宏WB_OLD_CONTEXT_$(RecordBuilderLoop_WORKSPACE_NAME) $(WB_CURRENT_CONTEXT)};将{宏WB_CURRENT_CONTEXT $ (RecordBuilderLoop_WORKSPACE_NAME)}] FACTORY_DEF * TeeFactory FACTORY_NAME " $ (RecordBuilderLoop_WORKSPACE_NAME) _INPUT输入分流”输入FEATURE_TYPE " $ (RecordBuilderLoop_WORKSPACE_NAME) _INPUT“输出FEATURE_TYPE " $ (RecordBuilderLoop_WORKSPACE_NAME) _INPUT " # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FACTORY_DEF * TeeFactory FACTORY_NAME美元(RecordBuilderLoop_WORKSPACE_NAME) FEATURE_TYPE _ListCopier_3输入输出FEATURE_TYPE“(RecordBuilderLoop_WORKSPACE_NAME) _INPUT美元美元(RecordBuilderLoop_WORKSPACE_NAME) _ListCopier_3_OUTPUT“@CopyAttributes (“_fields“{}”美元($ (RecordBuilderLoop_WORKSPACE_NAME) _LIST_ATTR)”) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FACTORY_DEF * TeeFactory FACTORY_NAME美元(RecordBuilderLoop_WORKSPACE_NAME) _ListCopier_2输入FEATURE_TYPE FEATURE_TYPE“$ (RecordBuilderLoop_WORKSPACE_NAME) _ListCopier_3_OUTPUT”输出“$ (RecordBuilderLoop_WORKSPACE_NAME) _ListCopier_2_OUTPUT“@CopyAttributes ({}“_values”,“美元($ (RecordBuilderLoop_WORKSPACE_NAME) _SRC_LIST)”) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #暴露所有属性。这确保了如果您公开fme_dataset,您将获得它。READER_META_ATTRIBUTES fme_feature_type fme_dataset fme_basename FACTORY_DEF * TeeFactory FACTORY_NAME美元(RecordBuilderLoop_WORKSPACE_NAME) _AttributeExposer_3输入FEATURE_TYPE " $ (RecordBuilderLoop_WORKSPACE_NAME) _ListCopier_2_OUTPUT“输出FEATURE_TYPE " $ (RecordBuilderLoop_WORKSPACE_NAME) _AttributeExposer_3_OUTPUT " # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tcl2 proc美元(RecordBuilderLoop_WORKSPACE_NAME) _ListIndexer_27_indexer{指数numElements}{如果{指数< 0美元} {set index [expr $numElements + $index];};regsub \“{} \”{_fields{}} \“{美元指数}\”listWithIndex;regsub \"{}\" {_fields{}} {} listBase;设置complexListExp“listWithIndex \美元。”;设置前缀长度[expr][字符串长度$complexListExp]-1];如果{$attr == $listWithIndex} {lappend attrsToCopy $listBase $attr;{set newAttr [string replace $attr 0 $prefixLength];4 .给attrsToCopy $newAttr $attr;};};如果{[info exists attrsToCopy] && [llength $attrsToCopy] >} {eval FME_Execute CopyAttributes $attrsToCopy;};}FACTORY_DEF * TestFactory FACTORY_NAME $ (RecordBuilderLoop_WORKSPACE_NAME) _ListIndexer_27输入FEATURE_TYPE " $ (RecordBuilderLoop_WORKSPACE_NAME) _AttributeExposer_3_OUTPUT“测试@EvaluateExpression(浮动,$ ((RecordBuilderLoop_WORKSPACE_NAME) _INDEX__FMEENCODED__美元),美元(RecordBuilderLoop_WORKSPACE_NAME) _ListIndexer_27) > = 0输出通过FEATURE_TYPE @Tcl2 (“$ (RecordBuilderLoop_WORKSPACE_NAME) _ListIndexer_27_OUTPUT (RecordBuilderLoop_WORKSPACE_NAME) _ListIndexer_27_indexer美元@EvaluateExpression(浮动,$ ((RecordBuilderLoop_WORKSPACE_NAME) _INDEX__FMEENCODED__美元),美元(RecordBuilderLoop_WORKSPACE_NAME) _ListIndexer_27) 0”)输出FEATURE_TYPE失败”(RecordBuilderLoop_WORKSPACE_NAME) _ListIndexer_27_OUTPUT“美元@Tcl2 (“$ (RecordBuilderLoop_WORKSPACE_NAME) _ListIndexer_27_indexer @EvaluateExpression(浮动,$ ((RecordBuilderLoop_WORKSPACE_NAME) _INDEX__FMEENCODED__美元),美元(RecordBuilderLoop_WORKSPACE_NAME) _ListIndexer_27) @NumElements (_fields {})”) #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tcl2 proc美元(RecordBuilderLoop_WORKSPACE_NAME) _ListIndexer_2_indexer{指数numElements}{如果{美元指数< 0}{组指数(expr numElements +美元指数);};regsub \“{} \”{_values{}} \“{美元指数}\”listWithIndex;regsub \"{}\" {_values{}} {} listBase;设置complexListExp“listWithIndex \美元。”;设置前缀长度[expr][字符串长度$complexListExp]-1];如果{$attr == $listWithIndex} {lappend attrsToCopy $listBase $attr;{set newAttr [string replace $attr 0 $prefixLength];4 .给attrsToCopy $newAttr $attr;};};如果{[info exists attrsToCopy] && [llength $attrsToCopy] >} {eval FME_Execute CopyAttributes $attrsToCopy;};}工厂定义*test factory工厂名称$(recordbuilderloop_workspace_name)_listindexer_2 input feature_type“$(recordbuilderloop_workspace_name)_listindexer_27_output“test@evaluateexpression(float,$(recordbuilderloop_workspace_name)_index_u fmeencoded”,$(recordbuilderloop_workspace_name)_listindexer_2)>=0输出传递的功能类型“$(recordbuilderloop_workspace_name)_listindexer_2_output”@tcl2($(recordbuilderloop_workspace_name)_listindexer_2_indexer@evaluteexpression(float,$(recordbuilderloop_workspace_name)_index_fmeencoded_u),$(recordbuilderloop_workspace_name)_listindexer_2)0”)输出失败的功能类型“$(recordbuilderloop_workspace_name)_listindexer_2_output”@tcl2($(recordbuilderloop_workspace_name)_listindexer_2_indexer@evaluteexpression(float,$(recordbuilderloop_workspace_name)_index_fmeencoded_u),$(recordbuilderloop_workspace_name)_listindexer_2)@numelements(_values{})“)-----------------------------tcl2 fme_decode proc 属性添加 属性 价值 设置属性 属性 价值 FACTORY_DEF * TeeFactory FACTORY_NAME $(RecordBuilderLoop_WORKSPACE_NAME)_TCL_AttributeAdd INPUT FEATURE_TYPE “$(RecordBuilderLoop_WORKSPACE_NAME)_ListIndexer_2_OUTPUT” 输出FEATURE_TYPE “$(RecordBuilderLoop_WORKSPACE_NAME)_TCL_AttributeAdd_OUTPUT” _result @ TCL2( “attrAdd&_fields&_values”)#------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME $(RecordBuilderLoop_WORKSPACE_NAME)_ExpressionEvaluator INPUT FEATURE_TYPE "$(RecordBuilderLoop_WORKSPACE_NAME)_TCL_AttributeAdd_OUTPUT" OUTPUT FEATURE_TYPE "$(RecordBuilderLoop_WORKSPACE_NAME)_ExpressionEvaluator_OUTPUT" currentIndex @Evaluate("$($(RecordBuilderLoop_WORKSPACE_NAME)_currentIndex)+1") # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME $(RecordBuilderLoop_WORKSPACE_NAME)_Tester_5 INPUT FEATURE_TYPE "$(RecordBuilderLoop_WORKSPACE_NAME)_ExpressionEvaluator_OUTPUT" TEST "@Value(currentIndex)" < "@Value(_element_count)" BOOLEAN_OPERATOR OR OUTPUT PASSED FEATURE_TYPE "$(RecordBuilderLoop_WORKSPACE_NAME)_Tester_5_PASSED" OUTPUT FAILED FEATURE_TYPE "$(RecordBuilderLoop_WORKSPACE_NAME)_Tester_5_FAILED" FACTORY_DEF * BranchingFactory TARGET_FACTORY "$(RecordBuilderLoop_WORKSPACE_NAME)_INPUT Input Splitter" FACTORY_NAME "Loop to $(RecordBuilderLoop_WORKSPACE_NAME)_INPUT Input Splitter" MAXIMUM_COUNT -1 INPUT FEATURE_TYPE "$(RecordBuilderLoop_WORKSPACE_NAME)_Tester_5_PASSED" OUTPUT PASSED FEATURE_TYPE "$(RecordBuilderLoop_WORKSPACE_NAME)_INPUT" FACTORY_DEF * TeeFactory FACTORY_NAME "$(RecordBuilderLoop_WORKSPACE_NAME)_OUTPUT Output Collector" INPUT FEATURE_TYPE "$(RecordBuilderLoop_WORKSPACE_NAME)_Tester_5_FAILED" OUTPUT FEATURE_TYPE "$(RecordBuilderLoop_WORKSPACE_NAME)_OUTPUT" INCLUDE [puts {MACRO WB_CURRENT_CONTEXT $(WB_OLD_CONTEXT_$(RecordBuilderLoop_WORKSPACE_NAME))}] FACTORY_DEF * TeeFactory FACTORY_NAME "$(RecordBuilder_WORKSPACE_NAME)_RecordBuilderLoop OUTPUT Output Renamer/Nuker" INPUT FEATURE_TYPE "$(RecordBuilder_WORKSPACE_NAME)_RecordBuilderLoop_OUTPUT" OUTPUT FEATURE_TYPE "$(RecordBuilder_WORKSPACE_NAME)_RecordBuilderLoop_OUTPUT" # ------------------------------------------------------------------------- INCLUDE [ set macroLine "MACRO $(RecordBuilder_WORKSPACE_NAME)_AttributeRemover_LIST_EXP ";的foreach ATTR [分裂 “”] {集ATTR [FME_DecodeText $ ATTR];设置ATTR [regsub “{} $” $ ATTR “{} *。”];集ATTR [regsub -all “{}” $ ATTR “{\ [0-9 \] +}”];追加macroLine “^ $ ATTR $”;};把$ macroLine;] FACTORY_DEF * TeeFactory FACTORY_NAME $(RecordBuilder_WORKSPACE_NAME)_AttributeRemover INPUT FEATURE_TYPE “$(RecordBuilder_WORKSPACE_NAME)_RecordBuilderLoop_OUTPUT” 输出FEATURE_TYPE “$(RecordBuilder_WORKSPACE_NAME)_AttributeRemover_OUTPUT” @RemoveAttributes($($(RecordBuilder_WORKSPACE_NAME)_REMOVE_ATTRS))@RemoveAttributes(fme_regexp_match“$($(RecordBuilder_WORKSPACE_NAME)_AttributeRemover_LIST_EXP)“)#------------------------------------------------------------------------- INCLUDE [ set macroLine "MACRO $(RecordBuilder_WORKSPACE_NAME)_ListRemover_LIST_EXP ";的foreach ATTR [拆分 “_fields {} _values {}”] {集ATTR [regsub “{} $” $ ATTR “{} *。”];集ATTR [regsub -all “{}” $ ATTR “{\ [0-9 \] +}”];追加macroLine “^ $ ATTR $”;};把$ macroLine;] FACTORY_DEF * TeeFactory FACTORY_NAME $(RecordBuilder_WORKSPACE_NAME)_ListRemover INPUT FEATURE_TYPE “$(RecordBuilder_WORKSPACE_NAME)_AttributeRemover_OUTPUT” 输出FEATURE_TYPE “$(RecordBuilder_WORKSPACE_NAME)_ListRemover_OUTPUT” @RemoveAttributes(fme_regexp_match $($(RecordBuilder_WORKSPACE_NAME)_ListRemover_LIST_EXP))FACTORY_DEF * TeeFactory FACTORY_NAME“$(RecordBuilder_WORKSPACE_NAME)_output输出集电极” INPUT FEATURE_TYPE “$(RecordBuilder_WORKSPACE_NAME)_ListRemover_OUTPUT” OUTPUT FEATURE_TYPE “$(RecordBuilder_WORKSPACE_NAME)_output” INCLUDE [看跌{MACRO WB_CURRENT_CONTEXT $(WB_OLD_CONTEXT _ $(RecordBuilder_WORKSPACE_NAME))}]