xmlcatalog — Command line tool to parse and manipulate XML or SGML catalog files.
xmlcatalog  [ --sgml  |   --shell  |   --create  |   --del   |   
			[ 
					VALUE(S)--add
					 
				  |   TYPE
					 ORIG
					 REPLACE
					--add  ]		
		  |   FILENAME--noout  |   --no-super-update  |   
			[ -v  |   --verbose ]
		 ] {CATALOGFILE} {ENTITIES...}
xmlcatalog is a command line application allowing users to monitor and manipulate XML and SGML catalogs. It is included in libxml(3).
Its functions can be invoked from a single command from the command line, or it can perform multiple functions in interactive mode. It can operate on both XML and SGML files.
xmlcatalog accepts the following options (in alphabetical order):
--add
		 TYPE
		 ORIG
		 REPLACE
		
	
			Add an entry to CATALOGFILE. TYPE
			indicates the type of entry. Possible types are: public, system, uri, rewriteSystem, rewriteURI, delegatePublic, delegateSystem, delegateURI, nextCatalog. ORIG is the original
			reference to be replaced, and REPLACE
			is the URI of the replacement entity to be
			used. The --add option will not overwrite
			CATALOGFILE, outputting
			to stdout, unless
			--noout is used. The --add will
			always take three parameters even if some of the XML
			catalog constructs will have only a single argument.
		
--add FILENAME
			If the --add option is used following
			the --sgml option, only a single argument,
			a FILENAME, is used. This is used to add
			the name of a catalog file to an SGML supercatalog,
			a file that contains references to other included SGML
			catalog files.
		
--create
			Create a new XML catalog. Outputs
			to stdout,
			ignoring filename unless --noout is
			used, in which case it creates a new catalog
			file filename.
		
--del VALUE(S)
			Remove entries from CATALOGFILE
			matching VALUE(S). The --del
			option will not overwrite CATALOGFILE,
			outputting to stdout,
			unless --noout is used.
		
--noout
			Save output to the named file rather than outputting
			to stdout.
		
--no-super-updateDo not update the SGML super catalog.
--shell
			Run a shell allowing interactive queries on catalog
			file CATALOGFILE. For the set of available
			commands see the section called “SHELL COMMANDS”.
		
--sgml
			Uses SGML super catalogs for --add
			and --del options.
		
-v, --verboseOutput debugging information.
		Invoking xmlcatalog non-interactively without a designated action
		(imposed with options like --add) will result in a lookup
		of the catalog entry for ENTITIES in the
		catalog denoted with CATALOGFILE. The
		corresponding entries will be output to the command line. This mode of
		operation, together with --shell mode and non-modifying
		(i.e. without --noout) direct actions, allows for
		a special shortcut of the void CATALOGFILE
		specification (possibly expressed as "" in the shell
		environment) appointing the default system catalog. That simplifies the
		handling when its exact location is irrelevant but the respective built-in
		still needs to be consulted.
	
		Invoking xmlcatalog with
		the --shell  option opens
		a command line shell allowing interactive access to the catalog file
		identified by CATALOGFILECATALOGFILE. Invoking the shell
		provides a command line prompt after which the following commands (described in
		alphabetical order) can be entered.
	
add
		 TYPE
		 ORIG
		 REPLACE
		
	
			Add an entry to the catalog file. TYPE
			indicates the type of entry. Possible types are: public, system, uri, rewriteSystem, rewriteURI, delegatePublic, delegateSystem, delegateURI, nextCatalog. ORIG is the original
			reference to be replaced, and REPLACE
			is the URI of the replacement entity to be
			used. The --add option will not overwrite
			CATALOGFILE, outputting
			to stdout, unless
			--noout is used. The --add will
			always take three parameters even if some of the XML
			catalog constructs will have only a single argument.
		
debugPrint debugging statements showing the steps xmlcatalog is executing.
del VALUE(S)
			Remove the catalog entry corresponding to VALUE(S).
		
dumpPrint the current catalog.
exitQuit the shell.
public PUBLIC-ID
			Execute a Formal Public Identifier lookup of the catalog entry
			for PUBLIC-ID. The corresponding entry will be
			output to the command line.
		
quietStop printing debugging statements.
system SYSTEM-ID
			Execute a Formal Public Identifier lookup of the catalog entry
			for SYSTEM-ID. The corresponding entry will be
			output to the command line.
		
XML_CATALOG_FILESXML catalog behavior can be changed by redirecting
			queries to the user's own set of catalogs. This can be done by setting
			the XML_CATALOG_FILES environment variable to a space-separated
			list of catalogs. Use percent-encoding to escape spaces or other characters.
			An empty variable should deactivate loading the default /etc/xml/catalog catalog.
		
xmlcatalog return codes provide information that can be used when calling it from scripts.
No error
Failed to remove an entry from the catalog
Failed to save to the catalog, check file permissions
Failed to add an entry to the catalog
Failed to look up an entry in the catalog
libxml(3)
More information can be found at
libxml(3) web page https://gitlab.gnome.org/GNOME/libxml2
libxml(3) catalog support web page at https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support
James Clark's SGML catalog page http://www.jclark.com/sp/catalog.htm
OASIS XML catalog specification http://www.oasis-open.org/committees/entity/spec.html