A catalog maps namespaces to schema documents.
Its an XML document in the namespace: urn:oasis:names:tc:entity:xmlns:xml:catalog
The spec is at: OASIS's Website
There are two things to be concerned with:
Mapping URI values that start with "urn:publicid:..."
Everything else.
Example:
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer='public'> <uri name="http://cde.berkeley.edu/~milowski/schemas/example-form/event/200402" uri="event.xsd"/> <public publicId="IDN cde.berkeley.edu//milowski//schemas//example-form//event//200402" uri="event.xsd"/> </catalog>