Metadata providers are a key component; Shibboleth is a 100% metadata-driven SAML implementation and has no other means of provisioning relationships with IdPs. If you don't have metadata for an IdP you have to create it.
Like most plugins, the type attribute determines which type of plugin to use. Each type may support its own attributes and child elements, in addition to the Common Attributes and Common Elements listed below.
Note that when multiple providers are configured, the behavior is unspecified when an entityID is present in more than one provider/source. The specifics of what happens at present depend on whether there are differences between the metadata that could be relevant to what the SP is actually searching for, but in most cases the first one found will trump later instances. That is not guaranteed behavior, merely the current behavior.