gowsdl -d go -p models -o models.go musicxml.wsdl
The generated file is 4370 lines long
but there are compilation issues
add
var _ context.Context
type Above_below string
const (
Above_belowAbove Above_below = "above"
Above_belowBelow Above_below = "below"
)
invalid constant type Above_belowcompilerInvalidConstType
type Above_below string
The problem is AFTER in the code
It is a problem with missing types definitions. Correction in types.go
package models
type PositiveInteger int
type NMTOKEN string
issue with too many number of enums (cannot handle more than 100 union terms (implementation limitation)
type GongstructEnumStringField interface {
string | Above_below | Accidental_value | AnyURI | Arrow_direction | Arrow_style | Backward_forward | Bar_style | Beam_value | Beater_value | Bend_shape | Breath_mark_value | Caesura_value | Cancel_location | Circular_arrow | Clef_sign | Color | Comma_separated_text | Css_font_size | Degree_symbol_value | Degree_type_value | Distance_type | Effect_value | Enclosure_shape | Ending_number | Fan | Fermata_shape | Font_size | Font_style | Font_weight | Glass_value | Glyph_type | Group_barline_value | Group_symbol_value | Handbell_value | Harmon_closed_location | Harmon_closed_value | Harmony_arrangement | Harmony_type | Hole_closed_location | Hole_closed_value | Kind_value | Left_center_right | Left_right | Line_end | Line_length | Line_shape | Line_type | Line_width_type | Margin_type | Measure_numbering_value | Measure_text | Membrane_value | Metal_value | Mode | Mute | NCName | NMTOKEN | Note_size_type | Note_type_value | Notehead_value | Number_or_normal | Numeral_mode | On_off | Over_under | Pedal_type | Pitched_value | Positive_integer_or_empty | Principal_voice_symbol | Right_left_middle | Semi_pitched | Show_frets | Show_tuplet | Staff_divide_symbol | Staff_type | Start_note | Start_stop | Start_stop_change_continue | Start_stop_continue | Start_stop_discontinue | Start_stop_single | Stem_value | Step | Stick_location | Stick_material | Stick_type | Syllabic | Symbol_size | Sync_type | System_relation_number | Tap_hand | Text_direction | Tied_type | Time_only | Time_relation | Time_separator | Time_symbol | Tip_direction | Top_bottom | Tremolo_type | Trill_step | Two_note_turn | Up_down | Up_down_stop_continue | Upright_inverted | Valign | Valign_image | Wedge_type | Winged | Wood_value | Yes_no | Yes_no_number
Codes() []string
CodeValues() []string
}
- Removing all enums
Problem
go/probe/enum_type_to_form.go
patch to gongc OK (505)
missing def
// Time signatures are represented by the beats element for the
// numerator and the beat-type element for the denominator.
Time []soap.XSDTime `xml:"time,omitempty" json:"time,omitempty"`
Segno *Segno `xml:"segno,omitempty" json:"segno,omitempty"`
Coda *Coda `xml:"coda,omitempty" json:"coda,omitempty"`
Segno string `xml:"segno,attr,omitempty" json:"segno,omitempty"`
Coda string `xml:"coda,attr,omitempty" json:"coda,omitempty"`
hard to pin down
there a 2296 lines in structs.go
bisect
1000
type string struct {
Value *String_number `xml:",chardata" json:"-,"`
}
Notice that 6 structs have already a Name attributes