1. A method for extending a content management system, the method comprising: connecting to a plurality of content repositories using a Service Provider Interface (SPI), wherein the plurality of content repositories includes a first content repository and a second content repository; integrating the plurality of content repositories into a virtual content repository (VCR); receiving a request to access content in both the first content repository and the second content repository from a client, via a common Application Programming Interface (API) associated with the VCR; mapping the request to the first content repository and the second content repository correspondingly; automatically using an XPath-based query for searching the first content repository and using an SQL-based query for searching the second content repository, wherein the first content repository returns a first result set for the XPath-based query and the second content repository returns a second result set for the SQL-based query, and wherein the first result set and the second result set are in two different format; preparing the requested content based on a federation of the first result set for the XPath-based query from the first content repository and the second result set for the SQL-based query from the second content repository; and providing the requested content to the client via the API.