This document contains the most frequently asked questions about XML Catalogs and the work of the OASIS Entity TC. It is not intended to replace any specifications or other documents. More information about the work of the OASIS Entity TC, and ways to send comments, are available at the address above.
A more precise way to word this is "what does it mean to resolve an entity reference". What this means is that you have information about, actually a reference to, some resource (file, stylesheet, etc), and the entity resolution process resolves that reference into something that the application can access, thereby enabling the application to use the resource (apply the stylesheet, include the file, look up the WSDL).
What sort of entities can I use an entity resolver for?
You can use an entity resolver for DTDs, schemas, stylesheets, other docs you're including with XInclude, and lots more. Any time you have a URI for a resource and you want to map that to a
different copy or version of that resource (perhaps local, perhaps trusted), you can use an entity resolver to handle the mapping for you.
You can use a catalog to map from URIs in documents to copies from a trusted or known source. Norm Walsh wrote a paper on this that was delivered at the XML 2003 Conference. The proceedings paper is available at Caching in with Resolvers.
If you're using a SAX processor, putting relative URIs in the catalog mapping is not going to work since SAX resolves relative URIs before the entity manager sees them. To overcome this problem, either use systemSuffix or put the absolute URIs in your catalog.
You use system for system identifiers and uri for everything else. System identifiers are carefully defined in XML so the system entry matches that definition and is used for DTDs, XML entities, and notations
How can I use the catalog to map XML schema namespaces to file locations?
Many applications dereference a schema namespace to try to get information about the schema; there may or may not be anything useful at the end of that reference. This was the usecase for RDDL. The URI entry could point to a schema or to a RDDL file if the processor knows what to do with a RDDL file.