哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀!默认的_macro$(listpoift_workspace_name)_list_attr_fields include tclproc Uufme_expandmacros text maxlevels 100 if$maxlevels<=0 return$text;}设置模式[join([^()$]*\)]如果[llegth$indexes]foreach pair[lReverse$indexes]lassign$pair start end set replacement set replacement$::fme_macrovalues([string range$text[expr$start+2][expr$end-1]])设置文本[string replace$text$start$end$replacement]return[uufm_expandmacros$text[expr$maxlevels-1]return$text proc ufm_expandenvvars text maxlevels 100 if$maxlevels<=0 return$text;}如果[llength$indexes]foreach pair[lReverse$indexs]lassign$pair start end set replacement set replacement$:env([string range$text[expr$start+2][expr$end-1]])设置文本[string repplace$text$start$end$end$replac]retur[UUUFME U expandenvars$text[expr$maxlevel-1]retur$text proc UUFME U evlanEncode宏;macron名;设置mac宏值\125\\123;设置mac宏值[\UU FME\U expand宏$::FME \Mac宏值($macron名);cat;cat;设置mac宏值[\UUUUUUUUUUUUUUfme_编码文本$macroval]end_includeinclude[puts“macro$(listpoit_workspace_name)_list_attr_uu fmeencoded_uuu fme_evalandencodemacro$(listpoit_workspace_name)_list_attr]”;“啊!启动头报文!end_headerLog_filter_mask-1默认值_macro wb_current_contextdefault_macro listpoint_workspace_name“”包括[放置macro wb_old_context_$(listpoint_workspace_name)$(wb_current_context)输入macro wb_current_context$(listpoint_workspace_name)]工厂_def*teefactory工厂_name“$(listpoint_workspace_name)_listpoint_input splitter”输入功能_type“$(listpoint_workspace_name)_listpoint_input”输出功能_type“$(listpoint_workspace_name)_listpoint_input”-----------------------------------------------------------------工厂定义*teefactory工厂名称$(listpoint_workspace_name)_listpoiter输入功能_type“$(listpoint_workspace_name)_listpoint_input”输出功能_type“$(listpoint_workspace_name)_listpoiper_output”@copyattributes(“u fields”,$($(listpoint_workspace_name)_list---------------------————————————————————公开所有属性。这确保了如果暴露FME_数据集,您将获得它。reader_meta_attributes fm_feature_type fm_dataset fm_basename factory_def*teefactory factory_name$(listpoit_workspace_name)_attributeexposer input feature_type“$(listpoit_workspace_name)_listcopier_output“output feature_type”$(listpoit_workspace_name)_attributeexposer_output“--------------------------————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————TC设置attrs[拆分$attrlist,];foreach attrname attrval$attrs if[字符串匹配{* *}$attrname]==1设置attrname[fme_execute evaluateexpression string$attrname$(listpoit_workspace_name)_attributeCreator_22];}否则设置attrname[fme_decodetext$attrname];};if[字符串匹配{* *}$attrval]==1设置attrval[fme_execute evaluateexpression string$attrval$(listpoit_workspace_name)_attributeCreator_22];}否则设置attrval[fme_decodetext$attrval];};fme_setattribute$attrname$attrval;};};factory_def*teefactory factory_name$(listpoit_workspace_name)_attributeCreator_22 input feature_type“$(listpoit_workspace_name)_listpoint counter_output”output feature_type“$(listpoit_workspace_name)_attributeCreator_22_output”“@tcl2(bde478e3_c5b8_4474_9a5b_dca898ba05b70_attrsetter(currentIndex,0)”)”\--——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————ME$(listpoiloop_workspace_name)_listpoiloopmacro$(listpoiloop_workspace_name)_xformer_name$(listpoiloop_workspace_name)_listpoiloopmacro$(listpoiloop_workspace_name)_transformer_group macro$(listpoiloop_workspace_name)uuuuu compound_parameters macro$(listpoiloop_workspace_name)_sub_doc_name listpoiloopmacro$(listpoiloop_workspace_name)列出_attr字段包括tclproc fme expandmacros text maxlevels 100 if$maxlevels<=0 return$text;}设置模式[join([^()$]*\)]如果[llegth$indexes]foreach pair[lReverse$indexes]lassign$pair start end set replacement set replacement$::fme_macrovalues([string range$text[expr$start+2][expr$end-1]])设置文本[string replace$text$start$end$replacement]return[uufm_expandmacros$text[expr$maxlevels-1]return$text proc ufm_expandenvvars text maxlevels 100 if$maxlevels<=0 return$text;}如果[llength$indexes]foreach pair[lReverse$indexs]lassign$pair start end set replacement set replacement$:env([string range$text[expr$start+2][expr$end-1]])设置文本[string repplace$text$start$end$end$replac]retur[UUUFME U expandenvars$text[expr$maxlevel-1]retur$text proc UUFME U evlanEncode宏;macron名;设置mac宏值\125\\123;设置mac宏值[\UU FME\U expand宏$::FME \Mac宏值($macron名);cat;cat;设置mac宏值[\UUUUUUUUUUUUUUfme_编码文本$macroval]end_includeinclude[输入“macro$(listpoiloop_workspace_name)xformer_name_uuuufmeencoded_uufme_evalandencodemacro$(listpoiloop_workspace_name)xformer_name]”;]包括[输入“macro$(listpoiloop_workspace_name)_transformer_group_uufmeencoded_uuufme_evalandencodemacro$(listpoiloop_workspace_name)_transformer_group]”;]包括[输入“macro$(listpoiloop_workspace_name)uuuuu compound_parameters_uuuuufmecoded_uufme_evalandencodemacro$(listpoiloop_workspace_name)uuuuuu compound_parameters]”;]包括[输入“macro$(listpoiloop_workspace_name)_sub_doc_name_uu fmeencoded_uuu fme_evalandencodemacro$(listpoiloop_workspace_name)_sub_doc_name]“;]包括[输入“macro$(listpoiloop_workspace_name)_list_attr_uu fmeencoded_uuu fme_evalandencodemacro$(listpoiloop_workspace_name)_list_attr]”;]默认_macro listpoiloop_workspace_name“”包括[放置macro wb_old_context_u$(listpoiloop_workspace_name)$(wb_current_context);输入宏wb_当前_上下文$(listpoiloop_workspace_name)]工厂_def*teefactory工厂_name“$(listpoiloop_workspace_name)_input splitter“input feature_type”$(listpoiloop_workspace_name)_input“output feature_type”$(listpoiloop_workspace_name)_input-------工厂定义*teefactory工厂名称$(listpoiloop_workspace_name)_listcopier输入功能_type“$(listpoiloop_workspace_name)_input”输出功能_type“$(listpoiloop_workspace_name)_listcopier_output“@copyattributes(,$($(listpoiloop_workspace_name)_list---------------------------------------公开所有属性。这确保了如果暴露FME_数据集,您将获得它。reader_meta_attributes fm_feature_type fm_dataset fm_basename factory_def*teefactory factory_name$(listpoitloop_workspace_name)_attributeexposer input feature_type“$(listpoitloop_workspace_name)_listcopier_output“output feature”_type“$(listpoitloop_workspace_name)_attributeexposer_output”-----------------————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————};regsub \“\”\”$index \”listwitindex;regsub\“\”listbase;设置complexListExp“$listWithIndex\.”;设置前缀长度[expr[字符串长度$complexListExp]-1];foreach attr[fme_attributename]if$attr==$listwitindex lapped attrstocopy$listbase$attr;}elseif[string first$complexListExp$attr]==0设置newattr[string replace$attr 0$prefix length];lappend attrstocopy$newattr$attr;};};如果[信息存在attrstocopy]&&[长度$attrstocopy]>0评估FME _执行copyattributes$attrstocopy;};}工厂定义*测试工厂名称$(listpoiloop_workspace_name)_listindexer_41 input feature_type“$(listpoiloop_workspace_name)_attributeexposer_output”test@value(currentindex)>=0输出传递的功能_type“$(listpoiloop_workspace_name)_listindexer_41_output”@tcl2($(listpoiloop_workspace_name)_listindexer_41_indexer@value(currentindex)0”)输出失败的功能_type“$(listpoiloop_workspace_name)_listindexer_41_output”@tcl2(“$(listpoiloop_workspace_name)_listindexer_41_indexer@value(currentindex)@numelements()”)-----------------------------------------------------------------------工厂_def*teefactory工厂_name$(listpivotloop_workspace_name)_attributecopier input feature_type“$(listpoiloop_workspace_name)_listindexer_41_output”output feature_type“$(listpoiloop_workspace_name)_attributecopier_output”@copyattributes(_col,_fields)------------------tcl2 fme_decode proc 吸引人 阿特尔 英克思 设置 新的 阿特尔 英克思 复制属性 新的 阿特尔 Factory_def*teefactory factory_name$(listpoiloop_workspace_name)_tcl_attributeAppend input feature_type“$(listpoiloop_workspace_name)_attributeCopier_output”output feature_type“$(listpoiloop_workspace_name)_tcl_attributeAppend_output”_result@tcl2(“attrappend _col&currentIndex”)\---——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————)+1”)35;-----------------------------------------------------------------工厂定义*测试工厂名称$(ListPivotLoop_工作区名称)_测试仪输入功能_类型“$(ListPivotLoop_工作区名称)_ExpressionEvaluator_Output“test”@Value(CurrentIndex)“<”@Value(_Element_Count)“Boolean_Operator or Output Passed Featuree_type“$(listpoiloop_workspace_name)_tester_passed”输出失败功能_type“$(listpoiloop_workspace_name)_tester_failed”factory_def*branchingfactory target_factory“$(listpoiloop_workspace_name)_input splitter“factory_name”循环到$(listpoiloop_workspace_name)_input splitter“maximum_count-1 input feature_t键入“$(listpoiloop_workspace_name)_tester_passed”输出传递的功能_type“$(listpoiloop_workspace_name)_input“factory_def*teefactory factory_name”$(listpoiloop_workspace_name)_output collector“输入功能_type”$(listpoiloop_workspace_name)_tester_failed“输出功能_type”$(listpoiloop_workspace_name)_output”include[puts macro wb_current_context$(wb_old_context_$(listpoiloop_workspace_name))]factory_def*teefactory factory_name“$(listpoift_workspace_name)_listpoiloop output renamer/nuker”input feature_type“$(listpoift_workspace_name)_listpoiloop_output feature_type”$(listpoift_workspace_name)_listpoiloop_output“fa”ctory_def*teefactory factory_name“$(listpoift_workspace_name)_output output collector”input feature_type“$(listpoift_workspace_name)_listpoiloop_output”output feature_type“$(listpoift_workspace_name)_output”include[输入宏wb_current_context$(wb_old_context_$(listpoint_workspace_name))]