Catalogs put much less focus on the instance's construction.
Example:
<e:event xmlns:e="urn:publicid:IDN+cde.berkeley.edu:milowski:schemas:example-form:event:200402"> ... </e:event>
and the catalog has the mapping information:
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer='public'> <public publicId="IDN cde.berkeley.edu//milowski//schemas//example-form//event//200402" uri="event.xsd"/> </catalog>