code: func (self *MapTypeDef) Validate() error {
  	if self.Type == "" {
  		return fmt.Errorf("MapTypeDef.type is missing but is a required field")
  	} else {
  		val := Validate(RdlSchema(), "TypeRef", self.Type)
  		if !val.Valid {
  			return fmt.Errorf("MapTypeDef.type does not contain a valid TypeRef (%v)", val.Error)
  		}
  	}
  	if self.Name == "" {
  		return fmt.Errorf("MapTypeDef.name is missing but is a required field")
  	} else {
  		val := Validate(RdlSchema(), "TypeName", self.Name)
  		if !val.Valid {
  			return fmt.Errorf("MapTypeDef.name does not contain a valid TypeName (%v)", val.Error)
  		}
  	}
  	if self.Keys == "" {
  		return fmt.Errorf("MapTypeDef.keys is missing but is a required field")
  	} else {
  		val := Validate(RdlSchema(), "TypeRef", self.Keys)
  		if !val.Valid {
  			return fmt.Errorf("MapTypeDef.keys does not contain a valid TypeRef (%v)", val.Error)
  		}
  	}
  	if self.Items == "" {
  		return fmt.Errorf("MapTypeDef.items is missing but is a required field")
  	} else {
  		val := Validate(RdlSchema(), "TypeRef", self.Items)
  		if !val.Valid {
  			return fmt.Errorf("MapTypeDef.items does not contain a valid TypeRef (%v)", val.Error)
  		}
  	}
  	return nil
  }
docs: //
  // Validate - checks for missing required fields, etc
  //