En XML-katalogindgang består af to dele - en nøgle, som repræsenterer en DTD eller et XML-skema, og en URI (Uniform Resource Identifier), som indeholder oplysninger om placeringen af en DTD eller et XML-skema. Du kan placere nøglen i en XML-fil. Når XML-processoren møder den, bruger den XML-katalogindgangen til at finde placeringen på den DTD eller det XML-skema, der er tilknyttet til nøglen.
XML-katalogindgange kan bruges i forskellige situationer. Eksempel: Du arbejder med en XML-fil på den overordnede desktop-pc, og dens schemaLocation peger på et skema med navnet c:\MySchema.xsd. Du gemmer filen på din bærbare computer, så du kan arbejde med den senere. Når du åbner filen på den bærbare computer, opstår der imidlertid et problem - XML-editoren kan ikke finde skemaet MySchema.xsd, fordi det rent faktisk er installeret på drev D:. Du bliver derfor nødt til at redigereschemaLocation, så den peger på d:\MySchema.xsd. Når du er færdig med at redigere XML-filen og er klar til at publicere den på internettet, skal du redigere URI'en igen, så den peger på en ressource, der er tilgængelig på internettet. Nu er problemet tydeligt. En URI, som bruges i en XML-fil, er ikke så 'bærbar', som den gerne skulle være. For at undgå at skulle foretage hyppige ændringer i XML-dokumentet kan du bruge XML-kataloget.
En XML-katalogindgang bruges af en XML-processor til fortolkning af entitetsreferencer. Du kan angive regler over for kataloget, som specificerer, hvordan entiteter skal fortolkes. I det her nævnte eksempel kan du angive en regel, som omdirigerer en internetressource-reference(f.eks. "http://www.ibm.com/published-schemas/MySchema.xsd"), så den peger på en ressource på udviklerens lokale maskine (f.eks. "file:///C:/MySchema.xsd"). I stedet for, at du er nødt til at redigere XML-dokumenter ofte for at opdatere URI'erne (især når du har mange dokumenter i dit projekt), behøver du kun opdatere en enkelt regel i XML-kataloget.
Følgende instruktioner er skrevet til perspektivet Ressource, men gælder også i mange andre perspektiver.
Sådan tilføjer du en indgang til XML-kataloget: