Maintainer: Petr Kuzel
Updated on: 6th feb 2001
In order to use a variety of XML tools in a variety of computer environments, the problem of addressing resources that are inaccessible using their explicit system identifiers must be solved.
The short term solution to this problem is to define an entity catalog that handles the simple cases of mapping an external entity's public identifier and/or system identifier to an alternate URI. This solution allows for a probably system-dependent but application-independent catalog. Though it does not handle all issues that a combination of a complete entity manager and storage manager addresses, it simplifies both the use of multiple products in a great majority of cases and the task of processing documents on different systems.
Entity resolution is the process that an XML processor goes through when it has been requested to find another file[1] in the course of processing the file it's working on. The XML processor knows labelling information about the file such as its system identifier and possibly a name, public identifier, and so forth. These identifiers can be used to determine the actual location of the desired external file. This determination process (which "maps" the known labelling information into an actual location) is called an entity resolution, and the file that contains the specific mapping information is called the entity resolution catalog.
[1] file is used here for simplicity, but could be any other resource consisting of such things as declarations, a parsed entity, an unparsed entity, etc.
I call it Entity Resolving API. It consists of registerCatalogEntry() methods.
Two new methods have been introduced into it to support users catalogs:
The mapping registered by registerCatalogEntry() must stay of
The Catalog package put there its implementation of EntityResolver.
The catalog implementation provides a EntityResolver implementation based upon mounted catalogs. The resolver is registered into the IDE resolver chain. See JavaDoc.
+ XML Catalog Browser ~-------------------------{root} + System Catalog [ro] ~--------------------{catalog} | + -//Netbeans Toolbars DTD//EN ~---{catalog entry} | + -//Other system DTD//EN | + -//X Catalog//EN + My SOCAT [ro] + My XCatalog [rw] + +//WML 1.1//EN
Actions:
New -> some catalog provider: creates a new catalog provider bean
Actions:
Delete: remove it if user confirms
Refresh: refreshes a catalog content
Actions:
View: try to open the entity in read-only editor
Properties:
Public ID: a mapping key
System ID: a mapped value