func ExecuteNamespaceTemplate(templateMap map[string]*template.Template, namespace string, tplEntity TplEntityInterface) (tplDefineList []*TPLDefine, err error) {
	t, ok := templateMap[namespace]
	if !ok {
		err = errors.Errorf("not found namespace:%s", namespace)
		return
	}
	if err != nil {
		return nil, err
	}
	tplDefineList = make([]*TPLDefine, 0)
	templates := t.Templates()
	if tplEntity == nil { // 确保数据容器对象不为空
		tplEntity = &TplEmptyEntity{}
	}
	tplEntity.SetValue(TEMPLATE_MAP_KEY, templateMap) // 将模板传入，方便在模板中执行模板
	for _, tpl := range templates {
		tplDefine, err := execTpl(tpl, namespace, tplEntity)
		if err != nil {
			return nil, err
		}

		if TrimSpaces(tplDefine.Output) == "" {
			continue // skip default empty template define
		}
		tplDefineList = append(tplDefineList, tplDefine)
	}
	return
}
// ExecuteNamespaceTemplate execute all template under namespace
ExecuteNamespaceTemplate execute all template under namespace
// ExecuteNamespaceTemplate execute all template under namespace
func ExecuteNamespaceTemplate(templateMap map[string]*template.Template, namespace string, tplEntity TplEntityInterface) (tplDefineList []*TPLDefine, err error) {
	t, ok := templateMap[namespace]
	if !ok {
		err = errors.Errorf("not found namespace:%s", namespace)
		return
	}
	if err != nil {
		return nil, err
	}
	tplDefineList = make([]*TPLDefine, 0)
	templates := t.Templates()
	if tplEntity == nil { 
		tplEntity = &TplEmptyEntity{}
	}
	tplEntity.SetValue(TEMPLATE_MAP_KEY, templateMap) 
	for _, tpl := range templates {
		tplDefine, err := execTpl(tpl, namespace, tplEntity)
		if err != nil {
			return nil, err
		}
		if TrimSpaces(tplDefine.Output) == "" {
			continue 
		}
		tplDefineList = append(tplDefineList, tplDefine)
	}
	return
}
func ExecuteNamespaceTemplate ( templateMap map [ string ] * template . Template , namespace string , tplEntity TplEntityInterface ) ( tplDefineList [ ] * TPLDefine , err error ) { t , ok := templateMap [ namespace ] if ! ok { err = errors . Errorf ( " " , namespace ) return } if err != nil { return nil , err } tplDefineList = make ( [ ] * TPLDefine , 0 ) templates := t . Templates ( ) if tplEntity == nil { tplEntity = & TplEmptyEntity { } } tplEntity . SetValue ( TEMPLATE_MAP_KEY , templateMap ) for _ , tpl := range templates { tplDefine , err := execTpl ( tpl , namespace , tplEntity ) if err != nil { return nil , err } if TrimSpaces ( tplDefine . Output ) == " " { continue } tplDefineList = append ( tplDefineList , tplDefine ) } return }
ExecuteNamespaceTemplate execute all template under namespace
ExecuteNamespaceTemplate execute all template under namespace
// 确保数据容器对象不为空 // 将模板传入，方便在模板中执行模板 // skip default empty template define