@@ -458,10 +458,7 @@ var reservedWordsInAttr = map[string]string{
458458
459459var specialCharacterMapping = map [string ]string {
460460 "+" : "Plus" ,
461- "-" : "Minus" ,
462461 "@" : "At" ,
463- "/" : "Slash" ,
464- "$" : "Dollar" ,
465462}
466463
467464// Replaces Go reserved keywords to avoid compilation issues
@@ -484,8 +481,12 @@ func replaceAttrReservedWords(identifier string) string {
484481
485482// Normalizes value to be used as a valid Go identifier, avoiding compilation issues
486483func normalize (value string ) string {
484+ for k , v := range specialCharacterMapping {
485+ value = strings .ReplaceAll (value , k , v )
486+ }
487+
487488 mapping := func (r rune ) rune {
488- if r == '.' {
489+ if r == '.' || r == '-' {
489490 return '_'
490491 }
491492 if unicode .IsLetter (r ) || unicode .IsDigit (r ) || r == '_' {
@@ -494,15 +495,11 @@ func normalize(value string) string {
494495 return - 1
495496 }
496497
497- for k , v := range specialCharacterMapping {
498- value = strings .ReplaceAll (value , k , v )
499- }
500-
501498 return strings .Map (mapping , value )
502499}
503500
504501func goString (s string ) string {
505- return strings .Replace (s , "\" " , "\\ \" " , - 1 )
502+ return strings .ReplaceAll (s , "\" " , "\\ \" " )
506503}
507504
508505var xsd2GoTypes = map [string ]string {
0 commit comments