// Return the identifier for non-builtin types, and the Go expression // mapped to the built-in type. func (cfg *Config) expr(t xsd.Type) (ast.Expr, error) { if t, ok := t.(xsd.Builtin); ok { ex := builtinExpr(t) if ex == nil { return nil, fmt.Errorf("Unknown built-in type %q", t.Name().Local) } return ex, nil } return ast.NewIdent(cfg.typeName(xsd.XMLName(t))), nil }