>One of the less publicized but often needed extension points in the Eclipse Web Tools Platform is the URIResolver extension. There are many use cases in which the XML Catalog may not necessarily work for resolving the location of a grammar. A good example is when there are multiple XML files that all use the same namespace. XML Catalogs can have difficulty identifying these xmls. A perfect example are the Standards from OAGIs, STAR, HRXML, and others. Due the fact that multiple global elements could be the root element, and the standards are distributed as Standalones (i.e. they are self contained), you could have many schemas that all resolve to the same namespace.
The stage allows for specifying how the URI to be resolved should be passed.
The one draw back to this extension point is that it requires you to implement the org.eclipse.wst.common.internal.resolver.URIResolverExtension interface. This interface is classified as being internal, but so is about 90% of the classes you need to do anything useful in webtools.
The XSL Tools component uses this extension point to provide the appropriate grammar for XSLT 1.0 or XSLT 2.0.