6. Manual catalog management
Do I hafta?
If catalog based resolvers have an obvious flaw, it’s that you have to write the catalogs.
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public">
<delegatePublic publicIdStartString="-//W3C//ENTITIES XHTML" catalog="cat-xhtml.xml"/>
<delegatePublic publicIdStartString="-//W3C//ELEMENTS XHTML" catalog="cat-xhtml.xml"/>
<delegatePublic publicIdStartString="-//W3C//DTD XHTML" catalog="cat-xhtml.xml"/>
<delegateSystem systemIdStartString="https://www.w3.org/MarkUp/DTD/xhtml"
catalog="cat-xhtml.xml"/>
<delegateSystem systemIdStartString="https://www.w3.org/TR/xhtml"
catalog="cat-xhtml.xml"/>
<delegatePublic publicIdStartString="-//W3C//ENTITIES SVG" catalog="cat-svg.xml"/>
<delegatePublic publicIdStartString="-//W3C//ELEMENTS SVG" catalog="cat-svg.xml"/>
<delegatePublic publicIdStartString="-//W3C//DTD SVG" catalog="cat-svg.xml"/>
<delegateSystem systemIdStartString="https://www.w3.org/Graphics/SVG/1.1/"
catalog="cat-svg.xml"/>
<delegatePublic publicIdStartString="-//W3C//ENTITIES " catalog="cat-entities.xml"/>
<delegatePublic publicIdStartString="ISO 8879:1986//ENTITIES "
catalog="cat-entities.xml"/>
<delegateSystem systemIdStartString="https://www.w3.org/2003/entities/"
catalog="cat-entities.xml"/>
<delegateSystem systemIdStartString="https://www.w3.org/Math/DTD/mathml1/"
catalog="cat-entities.xml"/>
<delegateSystem systemIdStartString="https://www.w3.org/Math/DTD/mathml2/"
catalog="cat-mathml2.xml"/>
<delegateSystem systemIdStartString="https://www.w3.org/Math/DTD/mathml3/"
catalog="cat-mathml3.xml"/>
<!-- At present, only the RDDL public identifiers begin with -//XML-DEV// -->
<delegatePublic publicIdStartString="-//XML-DEV//" catalog="cat-rddl.xml"/>
<delegateSystem systemIdStartString="http://www.rddl.org/" catalog="cat-rddl.xml"/>
<uri name="https://www.w3.org/1999/xlink.xsd"
uri="www.w3.org/1999/xlink.xsd"/>
<uri name="https://www.w3.org/XML/2008/06/xlink.xsd"
uri="www.w3.org/XML/2008/06/xlink.xsd"/>
<public publicId="-//W3C//DTD XMLSCHEMA 200102//EN"
uri="www.w3.org/2001/XMLSchema.dtd"/>
<system systemId="https://www.w3.org/2001/XMLSchema.dtd"
uri="www.w3.org/2001/XMLSchema.dtd"/>
<uri name="https://www.w3.org/2001/XMLSchema.xsd"
uri="www.w3.org/2001/XMLSchema.xsd"/>
<public publicId="-//W3C//DTD XSD 1.0 Datatypes//EN"
uri="www.w3.org/2001/datatypes.xsd"/>
<public publicId="datatypes" uri="www.w3.org/2001/datatypes.xsd"/>
<system systemId="https://www.w3.org/2001/datatypes.xsd"
uri="www.w3.org/2001/datatypes.xsd"/>
<uri name="https://www.w3.org/2001/xml.xsd" uri="www.w3.org/2001/xml.xsd"/>
<public publicId="-//W3C//DTD Specification V2.10//EN"
uri="www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd"/>
<system systemId="https://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd"
uri="www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd"/>
<public publicId="-//W3C//DTD XSD 1.1//EN"
uri="www.w3.org/2009/XMLSchema/XMLSchema.dtd"/>
<system systemId="https://www.w3.org/2009/XMLSchema/XMLSchema.dtd"
uri="www.w3.org/2009/XMLSchema/XMLSchema.dtd"/>
<public publicId="-//W3C//DTD XSD 1.1 Datatypes//EN"
uri="www.w3.org/2009/XMLSchema/datatypes.xsd"/>
<system systemId="https://www.w3.org/2009/XMLSchema/datatypes.xsd"
uri="www.w3.org/2009/XMLSchema/datatypes.xsd"/>
<public publicId="-//W3C//NOTATIONS XHTML Notations 1.0//EN"
uri="www.w3.org/MarkUp/DTD/xhtml-notations-1.mod"/>
<public publicId="-//W3C//DTD MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/mathml2.dtd"/>
<system systemId="https://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
uri="www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"/>
<system systemId="https://www.w3.org/TR/ruby/xhtml-ruby-1.mod"
uri="www.w3.org/TR/ruby/xhtml-ruby-1.mod"/>
<uri name="https://www.w3.org/TR/xmlschema-1/XMLSchema.xsd"
uri="www.w3.org/TR/xmlschema-1/XMLSchema.xsd"/>
<uri name="https://www.w3.org/TR/xmlschema-2/datatypes.xsd"
uri="www.w3.org/TR/xmlschema-2/datatypes.xsd"/>
<uri name="https://www.w3.org/TR/xmlschema11-1/XMLSchema.xsd"
uri="www.w3.org/TR/xmlschema11-1/XMLSchema.xsd"/>
<uri name="https://www.w3.org/TR/xmlschema11-2/datatypes.xsd"
uri="www.w3.org/TR/xmlschema11-2/datatypes.xsd"/>
<uri name="https://www.w3.org/TR/xslt-30/schema-for-json.xsd"
uri="www.w3.org/TR/xslt-30/schema-for-json.xsd"/>
<uri name="https://www.w3.org/TR/xslt-30/schema-for-xslt30.rnc"
uri="www.w3.org/TR/xslt-30/schema-for-xslt30.rnc"/>
<uri name="https://www.w3.org/TR/xslt-30/schema-for-xslt30.rng"
uri="www.w3.org/TR/xslt-30/schema-for-xslt30.rng"/>
<uri name="https://www.w3.org/TR/xslt-30/schema-for-xslt30.xsd"
uri="www.w3.org/TR/xslt-30/schema-for-xslt30.xsd"/>
<uri name="https://www.w3.org/TR/xslt-30/xml-to-json.xsl"
uri="www.w3.org/TR/xslt-30/xml-to-json.xsl"/>
<!-- The MathML public identifiers below aren’t in one of the -->
<!-- delegated catalogs because the form of the identifier -->
<!-- doesn’t lend itself to delegation. Simplest to just leave -->
<!-- them here. -->
<public publicId="-//W3C//ENTITIES Box and Line Drawing for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso8879/isobox.ent"/>
<public publicId="-//W3C//ENTITIES Russian Cyrillic for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso8879/isocyr1.ent"/>
<public publicId="-//W3C//ENTITIES Non-Russian Cyrillic for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso8879/isocyr2.ent"/>
<public publicId="-//W3C//ENTITIES Diacritical Marks for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso8879/isodia.ent"/>
<public publicId="-//W3C//ENTITIES Added Latin 1 for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso8879/isolat1.ent"/>
<public publicId="-//W3C//ENTITIES Added Latin 2 for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso8879/isolat2.ent"/>
<public publicId="-//W3C//ENTITIES Numeric and Special Graphic for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso8879/isonum.ent"/>
<public publicId="-//W3C//ENTITIES Publishing for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso8879/isopub.ent"/>
<public publicId="-//W3C//ENTITIES Added Math Symbols: Arrow Relations for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso9573-13/isoamsa.ent"/>
<public publicId="-//W3C//ENTITIES Added Math Symbols: Binary Operators for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso9573-13/isoamsb.ent"/>
<public publicId="-//W3C//ENTITIES Added Math Symbols: Delimiters for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso9573-13/isoamsc.ent"/>
<public publicId="-//W3C//ENTITIES Added Math Symbols: Negated Relations for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso9573-13/isoamsn.ent"/>
<public publicId="-//W3C//ENTITIES Added Math Symbols: Ordinary for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso9573-13/isoamso.ent"/>
<public publicId="-//W3C//ENTITIES Added Math Symbols: Relations for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso9573-13/isoamsr.ent"/>
<public publicId="-//W3C//ENTITIES Greek Symbols for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso9573-13/isogrk3.ent"/>
<public publicId="-//W3C//ENTITIES Math Alphabets: Fraktur for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso9573-13/isomfrk.ent"/>
<public publicId="-//W3C//ENTITIES Math Alphabets: Open Face for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso9573-13/isomopf.ent"/>
<public publicId="-//W3C//ENTITIES Math Alphabets: Script for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso9573-13/isomscr.ent"/>
<public publicId="-//W3C//ENTITIES General Technical for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/iso9573-13/isotech.ent"/>
<public publicId="-//W3C//ENTITIES Aliases for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/mathml/mmlalias.ent"/>
<public publicId="-//W3C//ENTITIES Extra for MathML 2.0//EN"
uri="www.w3.org/Math/DTD/mathml2/mathml/mmlextra.ent"/>
<public publicId="-//W3C//ENTITIES MathML 2.0 Qualified Names 1.0//EN"
uri="www.w3.org/Math/DTD/mathml2/mathml2-qname-1.mod"/>
</catalog>