func (me *Documentation) makePkg(bag *PkgBag) { me.elemBase.beforeMakePkg(bag) if len(me.CDATA) > 0 { var s, ln string for _, ln = range ustr.Split(me.CDATA, "\n") { if s = strings.Trim(ln, " \t\r\n"); len(s) > 0 { bag.appendFmt(false, "//\t%s", s) } } } me.elemBase.afterMakePkg(bag) }
func (me *Union) makePkg(bag *PkgBag) { var memberTypes []string var rtn, rtnSafeName, safeName string me.elemBase.beforeMakePkg(bag) me.hasElemsSimpleType.makePkg(bag) memberTypes = ustr.Split(me.MemberTypes, " ") for _, st := range me.SimpleTypes { memberTypes = append(memberTypes, st.Name.String()) } for _, mt := range memberTypes { rtn = bag.resolveQnameRef(mt, "T", nil) safeName, rtnSafeName = bag.safeName(ustr.PrependIf(bag.Stacks.CurSimpleType().Name.String(), "T")), bag.safeName(rtn) bag.ctd.addMethod(me, safeName, "To"+rtnSafeName, rtn, sfmt(util.Ifs(bag.isParseType(rtn), "var x = new(%v); x.SetFromString(me.String()); return *x", "return %v(me)"), rtn), sfmt("%v is an XSD union-type of several types. This is a simple type conversion to %v, but keep in mind the actual value may or may not be a valid %v value.", safeName, rtnSafeName, rtnSafeName), me.Annotation) } me.elemBase.afterMakePkg(bag) }