本文整理汇总了Golang中github.com/go-utils/ustr.PrefixWithSep函数的典型用法代码示例。如果您正苦于以下问题:Golang PrefixWithSep函数的具体用法?Golang PrefixWithSep怎么用?Golang PrefixWithSep使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PrefixWithSep函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: makePkg
func (me *Attribute) makePkg(bag *PkgBag) {
var safeName, typeName, tmp, key, defVal, impName string
var defName = "Default"
me.elemBase.beforeMakePkg(bag)
if len(me.Form) == 0 {
me.Form = bag.Schema.AttributeFormDefault
}
me.hasElemsSimpleType.makePkg(bag)
if len(me.Ref) > 0 {
key = bag.resolveQnameRef(me.Ref.String(), "", &impName)
tmp = ustr.PrefixWithSep(impName, ".", idPrefix+"HasAttr_"+bag.safeName(me.Ref.String()[(strings.Index(me.Ref.String(), ":")+1):]))
if bag.attRefImps[me], bag.attsKeys[me] = impName, key; len(bag.attsCache[key]) == 0 {
bag.attsCache[key] = tmp
}
} else {
safeName = bag.safeName(me.Name.String())
if typeName = me.Type.String(); (len(typeName) == 0) && (len(me.SimpleTypes) > 0) {
typeName = me.SimpleTypes[0].Name.String()
} else {
if len(typeName) == 0 {
typeName = bag.xsdStringTypeRef()
}
typeName = bag.resolveQnameRef(typeName, "T", &impName)
}
if defVal = me.Default; len(defVal) == 0 {
defName, defVal = "Fixed", me.Fixed
}
if me.Parent() == bag.Schema {
key = safeName
} else {
key = safeName + "_" + bag.safeName(typeName) + "_" + bag.safeName(defVal)
}
if len(bag.attsCache[key]) == 0 {
tmp = idPrefix + "HasAttr_" + key
bag.attsKeys[me] = key
bag.attsCache[key] = tmp
var td = bag.addType(me, tmp, "", me.Annotation)
td.addField(me, safeName, typeName, ustr.Ifs(len(bag.Schema.TargetNamespace) > 0, bag.Schema.TargetNamespace.String()+" ", "")+me.Name.String()+",attr", me.Annotation)
if isPt := bag.isParseType(typeName); len(defVal) > 0 {
doc := sfmt("Returns the %v value for %v -- "+ustr.Ifs(isPt, "%v", "%#v"), strings.ToLower(defName), safeName, defVal)
if isPt {
if PkgGen.ForceParseForDefaults {
td.addMethod(nil, tmp, safeName+defName, typeName, sfmt("var x = new(%v); x.Set(%#v); return *x", typeName, defVal), doc)
} else {
td.addMethod(nil, tmp, safeName+defName, typeName, sfmt("return %v(%v)", typeName, defVal), doc)
}
} else {
td.addMethod(nil, tmp, safeName+defName, typeName, sfmt("return %v(%#v)", typeName, defVal), doc)
}
}
} else {
bag.attsKeys[me] = key
}
}
me.elemBase.afterMakePkg(bag)
}
开发者ID:fwachs,项目名称:go-xsd,代码行数:56,代码来源:elemmakepkg.go
示例2: globalComplexType
func (me *Schema) globalComplexType(bag *PkgBag, name string) (ct *ComplexType) {
var imp string
for _, ct = range me.ComplexTypes {
if bag.resolveQnameRef(ustr.PrefixWithSep(me.XMLNamespacePrefix, ":", ct.Name.String()), "T", &imp) == name {
return
}
}
for _, ss := range me.XMLIncludedSchemas {
if ct = ss.globalComplexType(bag, name); ct != nil {
return
}
}
ct = nil
return
}
开发者ID:kristofer,项目名称:go-xsd,代码行数:15,代码来源:xsd-schema.go
示例3: globalElement
func (me *Schema) globalElement(bag *PkgBag, name string) (el *Element) {
var imp string
if len(name) > 0 {
var rname = bag.resolveQnameRef(name, "", &imp)
for _, el = range me.Elements {
if bag.resolveQnameRef(ustr.PrefixWithSep(me.XMLNamespacePrefix, ":", el.Name.String()), "", &imp) == rname {
return
}
}
for _, ss := range me.XMLIncludedSchemas {
if el = ss.globalElement(bag, name); el != nil {
return
}
}
}
el = nil
return
}
开发者ID:kristofer,项目名称:go-xsd,代码行数:18,代码来源:xsd-schema.go
示例4: globalComplexType
func (me *Schema) globalComplexType(bag *PkgBag, name string, loadedSchemas map[string]bool) (ct *ComplexType) {
var imp string
for _, ct = range me.ComplexTypes {
if bag.resolveQnameRef(ustr.PrefixWithSep(me.XMLNamespacePrefix, ":", ct.Name.String()), "T", &imp) == name {
return
}
}
loadedSchemas[me.loadUri] = true
for _, ss := range me.XMLIncludedSchemas {
if v, ok := loadedSchemas[ss.loadUri]; ok && v {
//fmt.Printf("Ignoring processed schema: %s\n", ss.loadUri)
continue
}
if ct = ss.globalComplexType(bag, name, loadedSchemas); ct != nil {
return
}
}
ct = nil
return
}
开发者ID:anthony-tsl,项目名称:go-xsd,代码行数:20,代码来源:xsd-schema.go
示例5: resolveQnameRef
func (me *PkgBag) resolveQnameRef(ref, pref string, noUsageRec *string) string {
var ns = me.Schema.XMLNamespaces[""]
var impName = ""
if len(ref) == 0 {
return ""
}
if pos := strings.Index(ref, ":"); pos > 0 {
impName, ns = ref[:pos], me.Schema.XMLNamespaces[ref[:pos]]
ref = ref[(pos + 1):]
}
if ns == xsdNamespaceUri {
impName, pref = me.impName, ""
}
if ns == me.Schema.TargetNamespace.String() {
impName = ""
}
if noUsageRec == nil { /*me.impsUsed[impName] = true*/
} else {
*noUsageRec = impName
}
return ustr.PrefixWithSep(impName, ".", me.safeName(ustr.PrependIf(ref, pref)))
}
开发者ID:tmc,项目名称:xsd,代码行数:22,代码来源:makepkg.go
示例6: xsdStringTypeRef
func (me *PkgBag) xsdStringTypeRef() string {
return ustr.PrefixWithSep(me.Schema.XSDNamespacePrefix, ":", "string")
}
开发者ID:tmc,项目名称:xsd,代码行数:3,代码来源:makepkg.go
注:本文中的github.com/go-utils/ustr.PrefixWithSep函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论