package node_attr import ( "scd_check_tools/logger" "errors" "fmt" "github.com/astaxie/beego/orm" ) type BaseNode struct { Lineno int64 `xml:"lineno,attr" json:"-"` NodeId int64 `xml:"nodeid,attr" json:"-"` } func (c *BaseNode) ToMap(node any) map[string]interface{} { result := map[string]interface{}{} switch node.(type) { case *SCL: break case *NIED: obj := node.(*NIED) result = map[string]interface{}{ "desc": obj.Desc, "name": obj.Name, "manufacturer": obj.Manufacturer, "config_version": obj.ConfigVersion, "type": obj.Type, "lineno": obj.Lineno, "node_id": obj.NodeId, } break case *NFCDA: obj := node.(*NFCDA) result = map[string]interface{}{ "daname": obj.DaName, "doname": obj.DoName, "fc": obj.Fc, "ldinst": obj.LdInst, "lnclass": obj.LnClass, "lninst": obj.LnInst, "prefix": obj.Prefix, "lineno": obj.Lineno, "node_id": obj.NodeId, } break case *NExtRef: obj := node.(*NExtRef) result = map[string]interface{}{ "daname": obj.DaName, "doname": obj.DoName, "ldinst": obj.LdInst, "lnclass": obj.LnClass, "lninst": obj.LnInst, "prefix": obj.Prefix, "iedname": obj.IedName, "intaddr": obj.IntAddr, "lineno": obj.Lineno, "node_id": obj.NodeId, } break default: logger.Logger.Error(errors.New("未处理的节点类型!")) break } return result } type SCL struct { BaseNode //`xml:"-"` Private []*NPrivate `xml:"Private"` Header *NHeader `xml:"Header"` Substation *NSubstation `xml:"Substation"` Communication *NCommunication `xml:"Communication"` IED []*NIED `xml:"IED"` DataTypeTemplates *NDataTypeTemplates `xml:"DataTypeTemplates"` } type NPrivate struct { BaseNode //`xml:"-"` Voltage []*NVoltage `xml:"http://www.iec.ch/61850/2003/SCL Voltage"` Any []*NAny `xml:",any"` InnerText string `xml:",chardata"` Type string `xml:"type,attr"` // 读取type属性 Who string `xml:"who,attr"` // 读取type属性 When string `xml:"when,attr"` // 读取type属性 ScanRate string `xml:"http://www.iec.ch/61850/2003/sznari ScanRate,attr"` // 读取type属性 Desc string `xml:"http://www.Private.org/ecim desc,attr"` Name string `xml:"http://www.Private.org/ecim name,attr"` } type NAny struct { BaseNode //`xml:"-"` Any []*NAny `xml:",any"` } type NVoltage struct { BaseNode //`xml:"-"` Bay []*NBay `xml:"http://www.iec.ch/61850/2003/SCL Bay"` Any []*NAny `xml:",any"` Name string `xml:"name,attr"` Multiplier string `xml:"multiplier,attr"` Unit string `xml:"unit,attr"` InnerText string `xml:",chardata"` } type NBay struct { BaseNode //`xml:"-"` Private *NPrivate `xml:"Private"` PowerTransformer []*NPowerTransformer `xml:"PowerTransformer"` ConductingEquipment []*NConductingEquipment `xml:"ConductingEquipment"` ConnectivityNode []*NConnectivityNode `xmml:"ConnectivityNode"` IED []*NBayIED `xml:"http://www.iec.ch/61850/2003/SCL IED"` Name string `xml:"name,attr"` Any []*NAny `xml:",any"` } type NBayIED struct { BaseNode //`xml:"-"` Name string `xml:"name,attr"` Desc string `xml:"desc,attr"` } type NPowerTransformer struct { BaseNode //`xml:"-"` Name string `xml:"name,attr"` Desc string `xml:"desc,attr"` Type string `xml:"type,attr"` Virtual string `xml:"virtual,attr"` LNode []*NLNode `xml:"LNode"` TransformerWinding []*NTransformerWinding `xml:"TransformerWinding"` } type NTransformerWinding struct { BaseNode //`xml:"-"` Private *NPrivate `xml:"Private"` LNode []*NLNode `xml:"LNode"` Terminal []*NTerminal `xml:"Terminal"` Name string `xml:"name,attr"` Desc string `xml:"desc,attr"` Type string `xml:"type,attr"` Virtual string `xml:"virtual,attr"` } type NConductingEquipment struct { BaseNode //`xml:"-"` Name string `xml:"name,attr"` Desc string `xml:"desc,attr"` Type string `xml:"type,attr"` Virtual string `xml:"virtual,attr"` Private *NPrivate `xml:"Private"` LNode []*NLNode `xml:"LNode"` Terminal []*NTerminal `xml:"Terminal"` } type NConnectivityNode struct { BaseNode //`xml:"-"` Name string `xml:"name,attr"` PathName string `xml:"pathName,attr"` } type NLNode struct { BaseNode //`xml:"-"` IedName string `xml:"iedName,attr"` Desc string `xml:"desc,attr"` LdInst string `xml:"ldInst,attr"` LnClass string `xml:"lnClass,attr"` LnInst string `xml:"lnInst,attr"` LnType string `xml:"lnType,attr"` Prefix string `xml:"prefix,attr"` } type NTerminal struct { BaseNode //`xml:"-"` Name string `xml:"name,attr"` Desc string `xml:"desc,attr"` BayName string `xml:"bayName,attr"` CNodeName string `xml:"cNodeName,attr"` ConnectivityNode string `xml:"connectivityNode,attr"` SubstationName string `xml:"substationName,attr"` VoltageLevelName string `xml:"voltageLevelName,attr"` } type SznariP struct { BaseNode //`xml:"-"` Type string `xml:"type,attr"` } type NHeader struct { BaseNode //`xml:"-"` History *NHistory `xml:"History"` Id string `xml:"id,attr"` // 读取type属性 NameStructure string `xml:"nameStructure,attr"` // 读取type属性 ToolID string `xml:"toolID,attr"` // 读取type属性 Version string `xml:"version,attr"` // 读取type属性 Revision string `xml:"revision,attr"` // 读取type属性 } type NHistory struct { BaseNode //`xml:"-"` Hitem []*NHitem `xml:"Hitem"` } type NHitem struct { BaseNode //`xml:"-"` Revision string `xml:"revision,attr"` Version string `xml:"version,attr"` What string `xml:"what,attr"` When string `xml:"when,attr"` Who string `xml:"who,attr"` Why string `xml:"why,attr"` } type NSubstation struct { BaseNode //`xml:"-"` Desc string `xml:"desc,attr"` // 读取type属性 Name string `xml:"name,attr"` // 读取type属性 Private []*NPrivate `xml:"Private"` VoltageLevel []*NVoltageLevel `xml:"VoltageLevel"` Any []*NAny `xml:",any"` } type NVoltageLevel struct { BaseNode //`xml:"-"` Desc string `xml:"desc,attr"` // 读取type属性 Name string `xml:"name,attr"` // 读取type属性 Voltage *NVoltage `xml:"Voltage"` Bay []*NBay `xml:"Bay"` Any []*NAny `xml:",any"` } type NCommunication struct { BaseNode //`xml:"-"` SubNetwork []*NSubNetwork `xml:"SubNetwork"` // 读取节点 } type NSubNetwork struct { BaseNode //`xml:"-"` BitRate *NBitRate `xml:"BitRate"` ConnectedAP []*NConnectedAP `xml:"ConnectedAP"` Desc string `xml:"desc,attr"` // 读取节点 Name string `xml:"name,attr"` // 读取节点 Type string `xml:"type,attr"` // 读取节点 } type NBitRate struct { BaseNode //`xml:"-"` InnerText string `xml:",chardata"` Multiplier string `xml:"multiplier,attr"` Unit string `xml:"unit,attr"` } type NConnectedAP struct { BaseNode //`xml:"-"` Private []*NPrivate `xml:"Private"` ApName string `xml:"apName,attr"` IedName string `xml:"iedName,attr"` Desc string `xml:"desc,attr"` Address *NAddress `xml:"Address"` GSE []*NGSE `xml:"GSE"` SMV []*NSMV `xml:"SMV"` PhysConn []*NPhysConn `xml:"PhysConn"` } type NPhysConn struct { BaseNode //`xml:"-"` Type string `xml:"type,attr"` P []*NP `xml:"P"` } type NGSE struct { BaseNode //`xml:"-"` CbName string `xml:"cbName,attr"` LdInst string `xml:"ldInst,attr"` Address *NAddress `xml:"Address"` MaxTime *NMaxTime `xml:"MaxTime"` MinTime *NMinTime `xml:"MinTime"` } type NSMV struct { BaseNode //`xml:"-"` CbName string `xml:"cbName,attr"` LdInst string `xml:"ldInst,attr"` Address *NAddress `xml:"Address"` MaxTime *NMaxTime `xml:"MaxTime"` MinTime *NMinTime `xml:"MinTime"` } type NMinTime struct { BaseNode //`xml:"-"` InnerText string `xml:",chardata"` Multiplier string `xml:"multiplier,attr"` Unit string `xml:"unit,attr"` } type NMaxTime struct { BaseNode //`xml:"-"` InnerText string `xml:",chardata"` Multiplier string `xml:"multiplier,attr"` Unit string `xml:"unit,attr"` } type NAddress struct { BaseNode //`xml:"-"` P []*NP `xml:"P"` } type NP struct { BaseNode //`xml:"-"` InnerText string `xml:",chardata"` Type string `xml:"type,attr"` } type NIED struct { BaseNode //`xml:"-"` Priavate []*NPrivate `xml:"Private"` Services *NServices `ml:"Services"` AccessPoint []*NAccessPoint `xml"AccessPoint"` ConfigVersion string `xml:"configVersion,attr"` // 读取type属性 Manufacturer string `xml:"manufacturer,attr"` Desc string `xml:"desc,attr"` // 读取type属性 Type string `xml:"type,attr"` // 读取type属性 Name string `xml:"name,attr"` // 读取type属性 } type NServices struct { BaseNode //`xml:"-"` DynAssociation *NDynAssociation `xml:"DynAssociation"` SettingGroups *NSettingGroups `xml:"SettingGroups"` GetDirectory *NGetDirectory `xml:"GetDirectory"` GetDataObjectDefinition *NGetDataObjectDefinition `xml:"GetDataObjectDefinition"` DataObjectDirectory *NDataObjectDirectory `xml:"DataObjectDirectory"` GetDataSetValue *NGetDataSetValue `xml:"GetDataSetValue"` SetDataSetValue *NSetDataSetValue `xml:"SetDataSetValue"` DataSetDirectory *NDataSetDirectory `xml:"DataSetDirectory"` ConfDataSet *NConfDataSet `xml:"ConfDataSet"` DynDataSet *NDynDataSet `xml:"DynDataSet"` ReadWrite *NReadWrite `xml:"ReadWrite"` TimerActivatedControl *NTimerActivatedControl `xml:"TimerActivatedControl"` ConfReportControl *NConfReportControl `xml:"ConfReportControl"` GetCBValues *NGetCBValues `xml:"GetCBValues"` ConfLogControl *NConfLogControl `xml:"ConfLogControl"` ReportSettings *NReportSettings `xml:"ReportSettings"` LogSettings *NLogSettings `xml:"LogSettings"` GSESettings *NGSESettings `xml:"GSESettings"` SMVSettings *NSMVSettings `xml:"SMVSettings"` GSEDir *NGSEDir `xml:"GSEDir"` GOOSE *NGOOSE `xml:"GOOSE"` GSSE *NGSSE `xml:"GSSE"` SMV *NSMV2 `xml:"SMV"` FileHandling *NFileHandling `xml:"FileHandling"` ConfLNs *NConfLNs `xml:"ConfLNs"` ClientServices *NClientServices `xml:"ClientServices"` ConfLdName *NConfLdName `xml:"ConfLdName"` } type NConfLdName struct { BaseNode //`xml:"-"` } type NClientServices struct { BaseNode //`xml:"-"` Goose string `xml:"goose,attr"` Gsse string `xml:"gsse,attr"` BufReport string `xml:"bufReport,attr"` UnbufReport string `xml:"unbufReport,attr"` ReadLog string `xml:"readLog,attr"` Sv string `xml:"sv,attr"` Fccb string `xml:"fccb,attr"` } type NSMV2 struct { BaseNode //`xml:"-"` Max string `xml:"max,attr"` } type NGSSE struct { BaseNode //`xml:"-"` Max string `xml:"max,attr"` } type NGSEDir struct { BaseNode //`xml:"-"` } type NTimerActivatedControl struct { BaseNode //`xml:"-"` } type NDynDataSet struct { BaseNode //`xml:"-"` Max string `xml:"max,attr"` MaxAttributes string `xml:"maxAttributes,attr"` } type NDynAssociation struct { BaseNode //`xml:"-"` Max string `xml:"max,attr"` } type NSettingGroups struct { BaseNode //`xml:"-"` SGEdit *NSGEdit `xml:"SGEdit"` ConfSG *NConfSG `sml:"ConfSG"` } type NSGEdit struct { BaseNode //`xml:"-"` } type NConfSG struct { BaseNode //`xml:"-"` InnerText string `xml:",chardata"` } type NGetDirectory struct { BaseNode //`xml:"-"` } type NGetDataObjectDefinition struct { BaseNode //`xml:"-"` } type NDataObjectDirectory struct { BaseNode //`xml:"-"` } type NGetDataSetValue struct { BaseNode //`xml:"-"` } type NSetDataSetValue struct { BaseNode //`xml:"-"` } type NDataSetDirectory struct { BaseNode //`xml:"-"` } type NConfDataSet struct { BaseNode //`xml:"-"` Max string `xml:"max,attr"` MaxAttributes string `xml:"maxAttributes,attr"` Modify string `xml:"modify,attr"` Fccb string `xml:"fccb,attr"` } type NReadWrite struct { BaseNode //`xml:"-"` } type NConfReportControl struct { BaseNode //`xml:"-"` Max string `xml:"max,attr"` BufMode string `xml:"bufMode,attr"` BufConf string `xml:"bufConf,attr"` } type NGetCBValues struct { BaseNode //`xml:"-"` } type NConfLogControl struct { BaseNode //`xml:"-"` Max string `xml:"max,attr"` } type NReportSettings struct { BaseNode //`xml:"-"` BufTime string `xml:"bufTime,attr"` CbName string `xml:"cbName,attr"` DatSet string `xml:"datSet,attr"` IntgPd string `xml:"intgPd,attr"` OptFields string `xml:"optFields,attr"` RptID string `xml:"rptID,attr"` TrgOps string `xml:"trgOps,attr"` } type NLogSettings struct { BaseNode //`xml:"-"` CbName string `xml:"cbName,attr"` DatSet string `xml:"datSet,attr"` IntgPd string `xml:"intgPd,attr"` LogEna string `xml:"logEna,attr"` TrgOps string `xml:"trgOps,attr"` } type NGSESettings struct { BaseNode //`xml:"-"` AppID string `xml:"appID,attr"` CbName string `xml:"cbName,attr"` DatSet string `xml:"datSet,attr"` DataLabel string `xml:"dataLabel,attr"` } type NSMVSettings struct { BaseNode //`xml:"-"` SmpRateObj *NSmpRate `xml:"SmpRate"` CbName string `xml:"cbName,attr"` DatSet string `xml:"datSet,attr"` OptFields string `xml:"optFields,attr"` SmpRate string `xml:"smpRate,attr"` SvID string `xml:"svID,attr"` } type NSmpRate struct { BaseNode //`xml:"-"` InnerText string `xml:",chardata"` } type NFileHandling struct { BaseNode //`xml:"-"` } type NConfLNs struct { BaseNode //`xml:"-"` FixLnInst string `xml:"fixLnInst,attr"` FixPrefix string `xml:"fixPrefix,attr"` } type NGOOSE struct { BaseNode //`xml:"-"` Max string `xml:"max,attr"` } type NAccessPoint struct { BaseNode //`xml:"-"` Priavate *NPrivate `xml:"Private"` Server *NServer `xml:"Server"` GOOSESecurity []*NGOOSESecurity `xml:"GOOSESecurity"` SMVSecurity []*NSMVSecurity `xml:"SMVSecurity"` Any []*NAny `xml:",any"` Clock string `xml:"clock,attr"` Name string `xml:"name,attr"` Desc string `xml:"desc,attr"` Router string `xml:"router,attr"` } type NGOOSESecurity struct { BaseNode //`xml:"-"` Subject *NSubject `xml:"Subject"` IssuerName *NIssuerName `xml:"IssuerName"` name string `xml:"name,attr"` Desc string `xml:"desc,attr"` XferNumber string `xml:"xferNumber,attr"` SerialNumber string `xml:"serialNumber,attr"` } type NSMVSecurity struct { BaseNode //`xml:"-"` Subject *NSubject `xml:"Subject"` IssuerName *NIssuerName `xml:"IssuerName"` name string `xml:"name,attr"` Desc string `xml:"desc,attr"` XferNumber string `xml:"xferNumber,attr"` SerialNumber string `xml:"serialNumber,attr"` } type NSubject struct { BaseNode //`xml:"-"` CommonName string `xml:"commonName,attr"` IdHierarchy string `xml:"idHierarchy,attr"` } type NIssuerName struct { BaseNode //`xml:"-"` CommonName string `xml:"commonName,attr"` IdHierarchy string `xml:"idHierarchy,attr"` } type NServer struct { BaseNode //`xml:"-"` Private []*NPrivate `xml:"Private"` Authentication *NAuthentication `xml:"Authentication"` LDevice []*NLDevice `xml:"LDevice"` Timeout string `xml:"timeout,attr"` } type NAuthentication struct { BaseNode //`xml:"-"` None string `xml:"none,attr"` } type NLDevice struct { BaseNode //`xml:"-"` Desc string `xml:"desc,attr"` Inst string `xml:"inst,attr"` LN0 *NLN0 `xml:"LN0"` LN []*NLN `xml:"LN"` } type NLN0 struct { BaseNode //`xml:"-"` Any []*NAny `xml:",any"` DataSet []*NDataSet `xml:"DataSet"` ReportControl []*NReportControl `xml:"ReportControl"` LogControl []*NLogControl `xml:"LogControl"` DOI []*NDOI `xml:"DOI"` Inputs *NInputs `xml:"Inputs"` Log []*NLog `xml:"log"` GSEControl []*NGSEControl `xml:"GSEControl"` SampledValueControl []*NSampledValueControl `xml:"SampledValueControl"` SettingControl *NSettingControl `xml:"SettingControl"` SCLControl *NSCLControl `xml:"SCLControl"` Desc string `xml:"desc,attr"` Inst string `xml:"inst,attr"` LnClass string `xml:"lnClass,attr"` LnType string `xml:"lnType,attr"` Prefix string `xml:"prefix,attr"` } type NSCLControl struct { BaseNode //`xml:"-"` Desc string `xml:"desc,attr"` } type NSettingControl struct { BaseNode //`xml:"-"` ActSG string `xml:"actSG,attr"` NumOfSGs string `xml:"numOfSGs,attr"` } type NReportControl struct { BaseNode //`xml:"-"` Private []*NPrivate `xml:"Private"` TrgOps *NTrgOps `xml:"TrgOps"` OptFields *NOptFields `xml:"OptFields"` RptEnabled *NRptEnabled `xml:"RptEnabled"` BufTime string `xml:"bufTime,attr"` Buffered string `xml:"buffered,attr"` ConfRev string `xml:"confRev,attr"` DatSet string `xml:"datSet,attr"` IntgPd string `xml:"intgPd,attr"` Name string `xml:"name,attr"` Desc string `xml:"desc,attr"` RptID string `xml:"rptID,attr"` } type NLogControl struct { BaseNode //`xml:"-"` TrgOps *NTrgOps `xml:"TrgOps"` DatSet string `xml:"datSet,attr"` Desc string `xml:"desc,attr"` IntgPd string `xml:"intgPd,attr"` LogEna string `xml:"logEna,attr"` LogName string `xml:"logName,attr"` Name string `xml:"name,attr"` ReasonCode string `xml:"reasonCode,attr"` } type NTrgOps struct { BaseNode //`xml:"-"` Dchg string `xml:"dchg,attr"` Dupd string `xml:"dupd,attr"` Period string `xml:"period,attr"` Qchg string `xml:"qchg,attr"` } type NOptFields struct { BaseNode //`xml:"-"` ConfigRef string `xml:"configRef,attr"` DataRef string `xml:"dataRef,attr"` DataSet string `xml:"dataSet,attr"` EntryID string `xml:"entryID,attr"` ReasonCode string `xml:"reasonCode,attr"` SeqNum string `xml:"seqNum,attr"` TimeStamp string `xml:"timeStamp,attr"` } type NRptEnabled struct { BaseNode //`xml:"-"` ClientLN []*NClientLN `xml:"ClientLN"` Max string `xml:"max,attr"` } type NClientLN struct { BaseNode //`xml:"-"` IedName string `xml:"iedName,attr"` LdInst string `xml:"ldInst,attr"` LnClass string `xml:"lnClass,attr"` LnInst string `xml:"lnInst,attr"` Prefix string `xml:"prefix,attr"` Desc string `xml:"desc,attr"` } type NLog struct { BaseNode //`xml:"-"` Name string `xml:"name,attr"` } type NLN struct { BaseNode //`xml:"-"` Any []*NAny `xml:",any"` DataSet []*NDataSet `xml:"DataSet"` ReportControl []*NReportControl `xml:"ReportControl"` LogControl []*NLogControl `xml:"LogControl"` SettingControl *NSettingControl `xml:"SettingControl"` DOI []*NDOI `xml:"DOI"` Inputs *NInputs `xml:"Inputs"` Log []*NLog `xml:"log"` Desc string `xml:"desc,attr"` Inst string `xml:"inst,attr"` LnClass string `xml:"lnClass,attr"` LnType string `xml:"lnType,attr"` Prefix string `xml:"prefix,attr"` } type NDataSet struct { BaseNode //`xml:"-"` FCDA []*NFCDA `xml:"FCDA"` FCCB []*NFCCB `xml:"FCCB"` Desc string `xml:"desc,attr"` Name string `xml:"name,attr"` } type NFCDA struct { BaseNode //`xml:"-"` DaName string `xml:"daName,attr"` DoName string `xml:"doName,attr"` Fc string `xml:"fc,attr"` LdInst string `xml:"ldInst,attr"` LnClass string `xml:"lnClass,attr"` LnInst string `xml:"lnInst,attr"` Prefix string `xml:"prefix,attr"` Ix string `xml:"ix,attr"` } type NFCCB struct { BaseNode //`xml:"-"` DaName string `xml:"daName,attr"` DoName string `xml:"doName,attr"` Fc string `xml:"fc,attr"` LdInst string `xml:"ldInst,attr"` LnClass string `xml:"lnClass,attr"` LnInst string `xml:"lnInst,attr"` Prefix string `xml:"prefix,attr"` mustUnderstand string `xml:"mustUnderstand,attr"` } type NGSEControl struct { BaseNode //`xml:"-"` Private *NPrivate `xml:"Private"` IEDName []*NIEDName `xml:"IEDName` AppID string `xml:"appID,attr"` ConfRev string `xml:"confRev,attr"` DatSet string `xml:"datSet,attr"` Name string `xml:"name,attr"` Type string `xml:"type,attr"` } type NSampledValueControl struct { BaseNode //`xml:"-"` Private []*NPrivate `xml:"Private"` IEDName []*NIEDName `xml:"IEDName` SmvOpts NSmvOpts `xml:"SmvOpts"` ConfRev string `xml:"confRev,attr"` DatSet string `xml:"datSet,attr"` Desc string `xml:"desc,attr"` Multicast string `xml:"multicast,attr"` Name string `xml:"name,attr"` NofASDU string `xml:"nofASDU,attr"` SmpRate string `xml:"smpRate,attr"` SmvID string `xml:"smvID,attr"` } type NIEDName struct { BaseNode //`xml:"-"` InnerText string `xml:",chardata"` } type NSmvOpts struct { BaseNode //`xml:"-"` DataRef string `xml:"dataRef,attr"` RefreshTime string `xml:"refreshTime,attr"` SampleRate string `xml:"sampleRate,attr"` SampleSynchronized string `xml:"sampleSynchronized,attr"` Security string `xml:"security,attr"` } type NInputs struct { BaseNode //`xml:"-"` ExtRef []*NExtRef `xml:"ExtRef"` } type NExtRef struct { BaseNode //`xml:"-"` DaName string `xml:"daName,attr"` DoName string `xml:"doName,attr"` IedName string `xml:"iedName,attr"` IntAddr string `xml:"intAddr,attr"` LdInst string `xml:"ldInst,attr"` LnClass string `xml:"lnClass,attr"` LnInst string `xml:"lnInst,attr"` Prefix string `xml:"prefix,attr"` } type NDOI struct { BaseNode //`xml:"-"` SDI []*NSDI `xml:"SDI"` DAI []*NDAI `xml:"DAI"` Desc string `xml:"desc,attr"` Name string `xml:"name,attr"` } type NSDI struct { BaseNode //`xml:"-"` SDI []*NSDI `xml:"SDI"` DAI []*NDAI `xml:"DAI"` Name string `xml:"name,attr"` Desc string `xml:"desc,attr"` } type NDAI struct { BaseNode //`xml:"-"` InnerText string `xml:",chardata"` SAddr string `xml:"sAddr,attr"` Desc string `xml:"desc,attr"` Name string `xml:"name,attr"` Val *NVal `xml:"Val"` } type NVal struct { BaseNode //`xml:"-"` InnerText string `xml:",chardata"` } type NDataTypeTemplates struct { BaseNode //`xml:"-"` LNodeType []*NLNodeType `xml:"LNodeType"` DOType []*NDOType `xml:"DOType"` DAType []*NDAType `xml:"DAType"` EnumType []*NEnumType `xml:"EnumType"` } type NLNodeType struct { BaseNode //`xml:"-"` DO []*NDO `xml:"DO"` Id string `xml:"id,attr"` LnClass string `xml:"lnClass,attr"` Desc string `xml:"desc,attr"` } type NDO struct { BaseNode //`xml:"-"` Desc string `xml:"desc,attr"` Name string `xml:"name,attr"` Type string `xml:"type,attr"` //Ext_eOption string `xml:"ext:eOption,attr"` } type NDOType struct { BaseNode //`xml:"-"` Id string `xml:"id,attr"` Cdc string `xml:"cdc,attr"` SDO []*NSDO `xml:"SDO"` DA []*NDA `xml:"DA"` } type NSDO struct { BaseNode //`xml:"-"` Name string `xml:"name,attr"` Type string `xml:"type,attr"` } type NDA struct { BaseNode //`xml:"-"` BType string `xml:"bType,attr"` Type string `xml:"type,attr"` Dchg string `xml:"dchg,attr"` Qchg string `xml:"qchg,attr"` Fc string `xml:"fc,attr"` Name string `xml:"name,attr"` Count string `xml:"count,attr"` Dupd string `xml:"dupd,attr"` ValKind string `xml:"valKind,attr"` Val *NVal `xml:"Val"` } type NDAType struct { BaseNode //`xml:"-"` Id string `xml:"id,attr"` BDA []*NBDA `xml:"BDA"` } type NBDA struct { BaseNode //`xml:"-"` Val *NVal `xml:"Val"` BType string `xml:"bType,attr"` Name string `xml:"name,attr"` Type string `xml:"type,attr"` Count string `xml:"count,attr"` ValKind string `xml:"valKind,attr"` } type NEnumType struct { BaseNode //`xml:"-"` Id string `xml:"id,attr"` EnumVal []*NEnumVal `xml:"EnumVal"` } type NEnumVal struct { BaseNode //`xml:"-"` InnerText string `xml:",chardata"` Ord string `xml:"ord,attr"` } //scl根节点属性管理 type T_scd_scl_attrs struct { BaseModel `orm:"-"` AttrXmlns string `json:"xmlns"` AttrXmlnsXsi string `json:"xsi"` AttrXsiSchemaLocation string `json:"schemaLocation"` AttrXmlnsExt string `json:"ext"` } type T_scd_header_attrs struct { BaseModel `orm:"_"` AttrId string `json:"id"` AttrVersion string `json:"version"` AttrReversion string `json:"revision"` AttrToolid string `json:"toolID"` AttrNamestructure string `json:"nameStructure"` } type T_scd_hitem_attrs struct { BaseModel `orm:"_"` AttrVersion string `json:"version"` AttrReversion string `json:"revision"` AttrWhen string `json:"when"` AttrWho string `json:"who"` AttrWhat string `json:"what"` AttrWhy string `json:"why"` } type T_scd_substation_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` AttrDesc string `json:"desc"` } type T_scd_private_attrs struct { BaseModel `orm:"_"` AttrType string `json:"type"` } type T_scd_communication_attrs struct { BaseModel `orm:"_"` AttrDesc string `json:"desc"` } type T_scd_voltage_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` } type T_scd_bay_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` } type T_scd_subnetwork_attrs struct { BaseModel `orm:"_"` AttrDesc string `json:"desc"` AttrName string `json:"name"` AttrType string `json:"type"` } type T_scd_bitrate_attrs struct { BaseModel `orm:"_"` AttrUnit string `json:"unit"` AttrMultiplier string `json:"multiplier"` } type T_scd_connectedap_attrs struct { BaseModel `orm:"_"` AttrIedName string `json:"iedName"` AttrApName string `json:"apName"` AttrDesc string `json:"desc"` } type T_scd_p_attrs struct { BaseModel `orm:"_"` AttrType string `json:"type"` } type T_scd_physconn_attrs struct { BaseModel `orm:"_"` AttrType string `json:"type"` } type T_scd_gse_attrs struct { BaseModel `orm:"_"` AttrDesc string `json:"desc"` AttrLdInst string `json:"ldInst"` AttrCbName string `json:"cbName"` } type T_scd_connectedap_smv_attrs struct { BaseModel `orm:"_"` AttrDesc string `json:"desc"` AttrLdInst string `json:"ldInst"` AttrCbName string `json:"cbName"` } type T_scd_mintime_attrs struct { BaseModel `orm:"_"` AttrUnit string `json:"unit"` AttrMultiplier string `json:"multiplier"` } type T_scd_maxtime_attrs struct { BaseModel `orm:"_"` AttrUnit string `json:"unit"` AttrMultiplier string `json:"multiplier"` } type T_scd_ied_attrs struct { BaseModel `orm:"_"` AttrDesc string `json:"desc"` AttrType string `json:"type"` AttrName string `json:"name"` AttrManufacturer string `json:"manufacturer"` AttrConfigVersion string `json:"configVersion"` AttrOriginalSclVersion string `json:"originalSclVersion"` AttrOriginalSclRevision string `json:"originalSclRevision"` AttrEngRight string `json:"engRight"` AttrOwner string `json:"owner"` } type T_scd_dynassociation_attrs struct { BaseModel `orm:"_"` AttrMax string `json:"max"` } type T_scd_confdataset_attrs struct { BaseModel `orm:"_"` AttrMax string `json:"max"` AttrMaxAttributes string `json:"maxAttributes"` AttrModify string `json:"modify"` AttrFccb string `json:"fccb"` } type T_scd_dyndataset_attrs struct { BaseModel `orm:"_"` AttrMax string `json:"max"` AttrMaxAttributes string `json:"maxAttributes"` } type T_scd_confreportcontrol_attrs struct { BaseModel `orm:"_"` AttrMax string `json:"max"` AttrBufMode string `json:"bufMode"` AttrBufConf string `json:"bufConf"` } type T_scd_conflogcontrol_attrs struct { BaseModel `orm:"_"` AttrMax string `json:"max"` } type T_scd_reportsettings_attrs struct { BaseModel `orm:"_"` AttrCbName string `json:"cbName"` AttrDatSet string `json:"datSet"` AttrRptId string `json:"rptID"` AttrOptFields string `json:"optFields"` AttrBufTime string `json:"bufTime"` AttrTrgOps string `json:"trgOps"` AttrIntgPd string `json:"intgPd"` } type T_scd_logsettings_attrs struct { BaseModel `orm:"_"` AttrCbName string `json:"cbName"` AttrDatSet string `json:"datSet"` AttrLogEna string `json:"logEna"` AttrTrgOps string `json:"trgOps"` AttrIntgPd string `json:"intgPd"` } type T_scd_gsesettings_attrs struct { BaseModel `orm:"_"` AttrCbName string `json:"cbName"` AttrDatSet string `json:"datSet"` AttrAppId string `json:"appID"` AttrDataLabel string `json:"dataLabel"` } type T_scd_smvsettings_attrs struct { BaseModel `orm:"_"` AttrCbName string `json:"cbName"` AttrDatSet string `json:"datSet"` AttrSvId string `json:"svID"` AttrOptFields string `json:"optFields"` AttrSmpRate string `json:"smpRate"` } type T_scd_goose_attrs struct { BaseModel `orm:"_"` AttrMax string `json:"max"` } type T_scd_gsse_attrs struct { BaseModel `orm:"_"` AttrMax string `json:"max"` } type T_scd_smv_attrs struct { BaseModel `orm:"_"` AttrMax string `json:"max"` } type T_scd_conflns_attrs struct { BaseModel `orm:"_"` AttrFixPrefix string `json:"fixPrefix"` AttrFixLnInst string `json:"fixLnInst"` } type T_scd_clientservices_attrs struct { BaseModel `orm:"_"` AttrGoose string `json:"goose"` AttrGsse string `json:"gsse"` AttrBufReport string `json:"bufReport"` AttrUnbufReport string `json:"unbufReport"` AttrReadLog string `json:"readLog"` AttrSv string `json:"sv"` AttrFccb string `json:"fccb"` } type T_scd_accesspoint_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` AttrDesc string `json:"desc"` AttrRouter string `json:"router"` AttrClock string `json:"clock"` } type T_scd_server_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` AttrTimeout string `json:"timeout"` } type T_scd_authentication_attrs struct { BaseModel `orm:"_"` AttrNone string `json:"none"` AttrPassword string `json:"password"` AttrWeak string `json:"weak"` AttrStrong string `json:"strong"` AttrCertificate string `json:"certificate"` } type T_scd_ldevice_attrs struct { BaseModel `orm:"_"` AttrInst string `json:"inst"` AttrDesc string `json:"desc"` AttrLdName string `json:"ldName"` } type T_scd_ln0_attrs struct { BaseModel `orm:"_"` AttrInst string `json:"inst"` AttrDesc string `json:"desc"` AttrLnType string `json:"lnType"` AttrLnClass string `json:"lnClass"` } type T_scd_dataset_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` AttrDesc string `json:"desc"` } type T_scd_fcda_attrs struct { BaseModel `orm:"_"` AttrLdInst string `json:"ldInst"` AttrPrefix string `json:"prefix"` AttrLnClass string `json:"lnClass"` AttrLnInst string `json:"lnInst"` AttrDoName string `json:"doName"` AttrDaName string `json:"daName"` AttrFc string `json:"fc"` AttrIx string `json:"ix"` } type T_scd_fccb_attrs struct { BaseModel `orm:"_"` AttrLdInst string `json:"ldInst"` AttrPrefix string `json:"prefix"` AttrLnClass string `json:"lnClass"` AttrLnInst string `json:"lnInst"` AttrCbName string `json:"cbName"` AttrDaName string `json:"daName"` AttrFc string `json:"fc"` AttrMustUnderstand string `json:"mustUnderstand"` } type T_scd_reportcontrol_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` AttrDesc string `json:"desc"` AttrDatSet string `json:"datSet"` AttrIntgPd string `json:"intgPd"` AttrRptId string `json:"rptID"` AttrConfRev string `json:"confRev"` AttrBuffered string `json:"buffered"` AttrBufTime string `json:"bufTime"` AttrIndexed string `json:"indexed"` } type T_scd_trgops_attrs struct { BaseModel `orm:"_"` AttrDchg string `json:"dchg"` AttrQchg string `json:"qchg"` AttrDupd string `json:"dupd"` AttrPeriod string `json:"period"` AttrGi string `json:"gi"` AttrIncludeAll string `json:"includeAll"` } type T_scd_optfields_attrs struct { BaseModel `orm:"_"` AttrSeqNum string `json:"seqNum"` AttrTimeStamp string `json:"timeStamp"` AttrDataSet string `json:"dataSet"` AttrReasonCode string `json:"reasonCode"` AttrDataRef string `json:"dataRef"` AttrEntryID string `json:"entryID"` AttrConfigRef string `json:"configRef"` AttrBufOvfl string `json:"bufOvfl"` } type T_scd_rptenabled_attrs struct { BaseModel `orm:"_"` AttrMax string `json:"max"` AttrDesc string `json:"desc"` } type T_scd_clientln_attrs struct { BaseModel `orm:"_"` AttrLdInst string `json:"ldInst"` AttrPrefix string `json:"prefix"` AttrLnClass string `json:"lnClass"` AttrLnInst string `json:"lnInst"` AttrDesc string `json:"desc"` AttrIedName string `json:"iedName"` } type T_scd_logcontrol_attrs struct { BaseModel `orm:"_"` AttrLdInst string `json:"ldInst"` AttrPrefix string `json:"prefix"` AttrLnClass string `json:"lnClass"` AttrLnInst string `json:"lnInst"` AttrDesc string `json:"desc"` AttrName string `json:"name"` AttrDatSet string `json:"datSet"` AttrIntgPd string `json:"intgPd"` AttrLogName string `json:"logName"` AttrLogEna string `json:"logEna"` AttrReasonCode string `json:"reasonCode"` } type T_scd_doi_attrs struct { BaseModel `orm:"_"` AttrDesc string `json:"desc"` AttrName string `json:"name"` AttrIx string `json:"ix"` AttrAccessControl string `json:"accessControl"` } type T_scd_sdi_attrs struct { BaseModel `orm:"_"` AttrDesc string `json:"desc"` AttrName string `json:"name"` AttrIx string `json:"ix"` } type T_scd_dai_attrs struct { BaseModel `orm:"_"` AttrDesc string `json:"desc"` AttrName string `json:"name"` AttrIx string `json:"ix"` AttrSaddr string `json:"sAddr"` AttrValKind string `json:"valKind"` } type T_scd_val_attrs struct { BaseModel `orm:"_"` AttrSgroup string `json:"sGroup"` } type T_scd_inputs_attrs struct { BaseModel `orm:"_"` AttrDesc string `json:"desc"` } type T_scd_extref_attrs struct { BaseModel `orm:"_"` AttrLdInst string `json:"ldInst"` AttrPrefix string `json:"prefix"` AttrLnClass string `json:"lnClass"` AttrLnInst string `json:"lnInst"` AttrDoName string `json:"doName"` AttrDaName string `json:"daName"` AttrIedName string `json:"iedName"` AttrDesc string `json:"desc"` AttrIntAddr string `json:"intAddr"` } type T_scd_log_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` } type T_scd_gsecontrol_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` AttrDesc string `json:"desc"` AttrDatSet string `json:"datSet"` AttrConfRev string `json:"confRev"` AttrType string `json:"type"` AttrAppid string `json:"appID"` } type T_scd_sampledvaluecontrol_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` AttrDesc string `json:"desc"` AttrDatSet string `json:"datSet"` AttrConfRev string `json:"confRev"` AttrSmvId string `json:"smvID"` AttrMulticast string `json:"multicast"` AttrSmpRate string `json:"smpRate"` AttrNofAsdu string `json:"nofASDU"` } type T_scd_smvopts_attrs struct { BaseModel `orm:"_"` AttrRefreshTime string `json:"refreshTime"` AttrSampleSynchronized string `json:"sampleSynchronized"` AttrSampleRate string `json:"sampleRate"` AttrDataRef string `json:"dataRef"` AttrSecurity string `json:"security"` } type T_scd_settingcontrol_attrs struct { BaseModel `orm:"_"` AttrNumOfSgs string `json:"numOfSGs"` AttrDesc string `json:"desc"` AttrActSg string `json:"actSG"` } type T_scd_sclcontrol_attrs struct { BaseModel `orm:"_"` AttrDesc string `json:"desc"` } type T_scd_ln_attrs struct { BaseModel `orm:"_"` AttrDesc string `json:"desc"` AttrLnType string `json:"lnType"` AttrLnClass string `json:"lnClass"` AttrInst string `json:"inst"` AttrPrefix string `json:"prefix"` JoinStr string } type T_scd_association_attrs struct { BaseModel `orm:"_"` AttrLdInst string `json:"ldInst"` AttrPrefix string `json:"prefix"` AttrLnClass string `json:"lnClass"` AttrLnInst string `json:"lnInst"` AttrKind string `json:"kind"` AttrIedName string `json:"iedName"` AttrDesc string `json:"desc"` AttrAssociationId string `json:"associationID"` } type T_scd_serverat_attrs struct { BaseModel `orm:"_"` AttrApName string `json:"apName"` AttrDesc string `json:"desc"` } type T_scd_goosesecurity_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` AttrDesc string `json:"desc"` AttrXferNumber string `json:"xferNumber"` AttrSerialNumber string `json:"serialNumber"` } type T_scd_sunject_attrs struct { BaseModel `orm:"_"` AttrCommonName string `json:"commonName"` AttrIdHierarchy string `json:"idHierarchy"` } type T_scd_issuername_attrs struct { BaseModel `orm:"_"` AttrCommonName string `json:"commonName"` AttrIdHierarchy string `json:"idHierarchy"` } type T_scd_smvsecurity_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` AttrDesc string `json:"desc"` AttrXferNumber string `json:"xferNumber"` AttrSerialNumber string `json:"serialNumber"` } type T_scd_lnodetype_attrs struct { BaseModel `orm:"_"` AttrId string `json:"id"` AttrDesc string `json:"desc"` AttrIedType string `json:"iedType"` AttrLnClass string `json:"lnClass"` } type T_scd_do_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` AttrDesc string `json:"desc"` AttrType string `json:"type"` AttrAccessControl string `json:"accessControl"` AttrTransient string `json:"transient"` } type T_scd_dotype_attrs struct { BaseModel `orm:"_"` AttrId string `json:"id"` AttrDesc string `json:"desc"` AttrIedType string `json:"iedType"` AttrCdc string `json:"cdc"` } type T_scd_sdo_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` AttrDesc string `json:"desc"` AttrType string `json:"type"` } type T_scd_da_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` AttrDesc string `json:"desc"` AttrType string `json:"type"` AttrBtype string `json:"bType"` AttrSaddr string `json:"sAddr"` AttrValKind string `json:"valKind"` AttrCount string `json:"count"` AttrDchg string `json:"dchg"` AttrQchg string `json:"qchg"` AttrDupd string `json:"dupd"` AttrFc string `json:"fc"` } type T_scd_datype_attrs struct { BaseModel `orm:"_"` AttrId string `json:"id"` AttrDesc string `json:"fesc"` AttrIedType string `json:"iedType"` } type T_scd_bda_attrs struct { BaseModel `orm:"_"` AttrName string `json:"name"` AttrDesc string `json:"desc"` AttrType string `json:"type"` AttrBtype string `json:"bType"` AttrSaddr string `json:"sAddr"` AttrValKind string `json:"valKind"` AttrCount string `json:"count"` } type T_scd_enumtype_attrs struct { BaseModel `orm:"_"` AttrId string `json:"id"` AttrDesc string `json:"desc"` } type T_scd_enumval_attrs struct { BaseModel `orm:"_"` AttrOrd string `json:"ord"` AttrDesc string `json:"desc"` } //**************CCD XML模型定义**************** type CcdIed struct { BaseNode //`xml:"-"` GOOSEPUB *CcdGOOSEPUB GOOSESUB *CcdGOOSESUB SVPUB *CcdSVPUB SVSUB *CcdSVSUB CRC *CcdCrc ConfigVersion string `xml:"configVersion,attr"` // 读取type属性 Manufacturer string `xml:"manufacturer,attr"` Desc string `xml:"desc,attr"` // 读取type属性 Type string `xml:"type,attr"` // 读取type属性 Name string `xml:"name,attr"` // 读取type属性 } type CcdGOOSEPUB struct { BaseNode //`xml:"-"` GOCBref []*CcdGOCBref } type CcdGOOSESUB struct { BaseNode //`xml:"-"` GOCBref []*CcdGOCBref } type CcdSVPUB struct { BaseNode //`xml:"-"` SMVCBref []*CcdSMVCBref } type CcdSVSUB struct { BaseNode //`xml:"-"` SMVCBref []*CcdSMVCBref } type CcdGOCBref struct { BaseNode //`xml:"-"` Name string `xml:"name,attr"` GSEControl *CcdGSEControl ConnectedAP *NConnectedAP DataSet *CcdDataSet } type CcdSMVCBref struct { BaseNode //`xml:"-"` Name string `xml:"name,attr"` SampledValueControl *NSampledValueControl ConnectedAP *NConnectedAP DataSet *CcdDataSet } type CcdGSEControl struct { BaseNode //`xml:"-"` AppID string `xml:"appID,attr"` ConfRev string `xml:"confRev,attr"` DatSet string `xml:"datSet,attr"` Name string `xml:"name,attr"` Type string `xml:"type,attr"` } type CcdDataSet struct { BaseNode //`xml:"-"` FCDA []*CcdFCDA Name string `xml:"name,attr"` } type CcdFCDA struct { BaseNode //`xml:"-"` DOI *CcdDOI DAI *CcdDAI IntAddr []*CcdIntAddr BType string `xml:"bType,attr"` DaName string `xml:"daName,attr"` Desc string `xml:"desc,attr"` DoName string `xml:"doName,attr"` Fc string `xml:"fc,attr"` LdInst string `xml:"ldInst,attr"` LnClass string `xml:"lnClass,attr"` LnInst string `xml:"lnInst,attr"` Prefix string `xml:"prefix,attr"` } type CcdIntAddr struct { BaseNode //`xml:"-"` DAI *CcdDAI DOI *CcdDOI Desc string `xml:"desc,attr"` Name string `xml:"name,attr"` } type CcdDOI struct { DAI *CcdDAI } type CcdDAI struct { BaseNode //`xml:"-"` Name string `xml:"name,attr"` SAddr string `xml:"sAddr,attr"` Val *NVal `xml:"Val"` } type CcdCrc struct { BaseNode //`xml:"-"` Id string `xml:"id,attr"` Timestamp string `xml:"timestamp,attr"` } func init() { fmt.Println("注册数据模型定义....") orm.RegisterModel(new(T_scd_hitem_attrs)) orm.RegisterModel(new(T_scd_header_attrs)) orm.RegisterModel(new(T_scd_scl_attrs)) orm.RegisterModel(new(T_scd_private_attrs)) orm.RegisterModel(new(T_scd_substation_attrs)) orm.RegisterModel(new(T_scd_logsettings_attrs)) orm.RegisterModel(new(T_scd_reportsettings_attrs)) orm.RegisterModel(new(T_scd_conflogcontrol_attrs)) orm.RegisterModel(new(T_scd_confreportcontrol_attrs)) orm.RegisterModel(new(T_scd_dyndataset_attrs)) orm.RegisterModel(new(T_scd_confdataset_attrs)) orm.RegisterModel(new(T_scd_dynassociation_attrs)) orm.RegisterModel(new(T_scd_ied_attrs)) orm.RegisterModel(new(T_scd_maxtime_attrs)) orm.RegisterModel(new(T_scd_mintime_attrs)) orm.RegisterModel(new(T_scd_connectedap_smv_attrs)) orm.RegisterModel(new(T_scd_gse_attrs)) orm.RegisterModel(new(T_scd_physconn_attrs)) orm.RegisterModel(new(T_scd_p_attrs)) orm.RegisterModel(new(T_scd_connectedap_attrs)) orm.RegisterModel(new(T_scd_bitrate_attrs)) orm.RegisterModel(new(T_scd_subnetwork_attrs)) orm.RegisterModel(new(T_scd_communication_attrs)) orm.RegisterModel(new(T_scd_logcontrol_attrs)) orm.RegisterModel(new(T_scd_clientln_attrs)) orm.RegisterModel(new(T_scd_rptenabled_attrs)) orm.RegisterModel(new(T_scd_optfields_attrs)) orm.RegisterModel(new(T_scd_trgops_attrs)) orm.RegisterModel(new(T_scd_reportcontrol_attrs)) orm.RegisterModel(new(T_scd_fccb_attrs)) orm.RegisterModel(new(T_scd_fcda_attrs)) orm.RegisterModel(new(T_scd_dataset_attrs)) orm.RegisterModel(new(T_scd_ln0_attrs)) orm.RegisterModel(new(T_scd_ldevice_attrs)) orm.RegisterModel(new(T_scd_authentication_attrs)) orm.RegisterModel(new(T_scd_server_attrs)) orm.RegisterModel(new(T_scd_accesspoint_attrs)) orm.RegisterModel(new(T_scd_clientservices_attrs)) orm.RegisterModel(new(T_scd_conflns_attrs)) orm.RegisterModel(new(T_scd_smv_attrs)) orm.RegisterModel(new(T_scd_gsse_attrs)) orm.RegisterModel(new(T_scd_goose_attrs)) orm.RegisterModel(new(T_scd_smvsettings_attrs)) orm.RegisterModel(new(T_scd_gsesettings_attrs)) orm.RegisterModel(new(T_scd_val_attrs)) orm.RegisterModel(new(T_scd_dai_attrs)) orm.RegisterModel(new(T_scd_sdi_attrs)) orm.RegisterModel(new(T_scd_doi_attrs)) orm.RegisterModel(new(T_scd_sclcontrol_attrs)) orm.RegisterModel(new(T_scd_settingcontrol_attrs)) orm.RegisterModel(new(T_scd_smvopts_attrs)) orm.RegisterModel(new(T_scd_sampledvaluecontrol_attrs)) orm.RegisterModel(new(T_scd_gsecontrol_attrs)) orm.RegisterModel(new(T_scd_log_attrs)) orm.RegisterModel(new(T_scd_extref_attrs)) orm.RegisterModel(new(T_scd_inputs_attrs)) orm.RegisterModel(new(T_scd_enumval_attrs)) orm.RegisterModel(new(T_scd_enumtype_attrs)) orm.RegisterModel(new(T_scd_bda_attrs)) orm.RegisterModel(new(T_scd_datype_attrs)) orm.RegisterModel(new(T_scd_da_attrs)) orm.RegisterModel(new(T_scd_sdo_attrs)) orm.RegisterModel(new(T_scd_dotype_attrs)) orm.RegisterModel(new(T_scd_do_attrs)) orm.RegisterModel(new(T_scd_lnodetype_attrs)) orm.RegisterModel(new(T_scd_smvsecurity_attrs)) orm.RegisterModel(new(T_scd_issuername_attrs)) orm.RegisterModel(new(T_scd_sunject_attrs)) orm.RegisterModel(new(T_scd_goosesecurity_attrs)) orm.RegisterModel(new(T_scd_association_attrs)) orm.RegisterModel(new(T_scd_ln_attrs)) fmt.Println("完成注册数据模型定义") }