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>