With the growing number of service advertisements in service marketplaces, there is a need for matchmakers which select and rank functionally similar services based on nonfunctional properties, such as QoS and reputation parameters. Current matchmakers only support predefined service description languages and predefined third-party repositories of service description documents, which both are hardcoded inside their internal structure, forcing providers to publish their services using a specific service publishing component. Therefore, current matchmakers are not able to look for existing services which are published using different service publishers. In this paper, we propose a flexible matchmaker for service discovery, selection, and ranking, taking both functional and non-functional properties of the services into account. The matchmaker provides an expressive language for the clients to define service requests, specifying involved repositories, non-functional properties and ...