XMLCATMGR(1) BSD General Commands Manual XMLCATMGR(1)NAMExmlcatmgr — XML and SGML catalog manager
SYNOPSISxmlcatmgr [-hpsv] [-c catalog] action [action_arg ...]
DESCRIPTIONxmlcatmgr is a utility used to manipulate SGML and XML catalogs. It is
designed with simplicity in mind: it does not depend on external programs
nor libraries. This manpage corresponds to xmlcatmgr version 2.2.
A catalog is a lookup mechanism used to translate entities into other
different entities. They can, for example, map public identifiers to
local files or URIs. This allows you to tell the parser where to look
for entities without having to modify the original document source.
Catalogs come in two different formats: SGML catalogs and XML catalogs.
The former are supported by many programs, as are very easy to parse and
have existed for a long time. XML catalogs are quite recent and are much
more powerful than the others. xmlcatmgr can manage both of them, but
its default behavior is to handle XML catalogs (hence, the name of the
program).
The following options are available:
-c catalog Use catalog as the catalog file. If not specified, the cata‐
log defaults to /usr/pkg/etc/xml/catalog if running in XML
mode, or to /usr/pkg/etc/sgml/catalog if running in SGML mode
(see the -s flag).
-h Show a descriptive usage message and exit.
-p When adding a new entry to a catalog (using the add action),
prepend it instead of inserting it at the end.
-s Use the standard SGML catalog format to parse the catalog,
instead of the XML format.
-v Show version information and exit.
The action argument specifies what to do with the catalog file. It is
mandatory and may require extra arguments. The action name can be pre‐
ceded by the ‘--’ string, to maintain some compatibility with the
xmlcatalog utility included in the libxml2 package.
The following actions are available:
add type orig replace Add an entry to the catalog. type specifies the
type of entry (see below), orig is the public
identifier to be replaced and replace is the sys‐
tem URI used to do the replacement.
If replace is the ‘--’ string, it is ignored.
This is specially useful in scripts, as you can
parse three arguments at a time regardless the
current type expectations.
If all entries can be added successfully, the pro‐
gram returns 0; otherwise >0.
create Create an empty catalog. Produces an error if it
already exists.
destroy Delete the catalog file.
lookup value Check if given entries exist in the catalog, spec‐
ified by their value argument. This matches the
value passed to orig when using the ‘add’ action.
All entries found are printed to standard output.
Note that this action does not recurse into cata‐
logs, nor does network lookups. It is only pro‐
vided to check if entries exist in an specific
catalog, to decide if they should be registered or
not.
If all entries exist, the program returns 0; oth‐
erwise >0.
remove type value Remove entries from the catalog, specified by
their type and their value. The former provides
the type of entry (see below), while the later
matches the value passed in the orig parameter
when using the ‘add’ action.
If just one argument is provided, all matching
entries are removed, regardless their type. This
is only provided for command line compatibility
with all previous versions, so do not use it any
more (a warning message will be shown).
If all entries were removed successfully, the pro‐
gram returns 0; otherwise >0.
When parsing SGML catalogs, the type used by ‘add’ and ‘remove’ actions
can be one of the following: ‘BASE’, ‘CATALOG’, ‘DELEGATE’, ‘DOCTYPE’,
‘DOCUMENT’, ‘ENTITY’, ‘LINKTYPE’, ‘NOTATION’, ‘OVERRIDE’, ‘PUBLIC’,
‘SGMLDECL’ and ‘SYSTEM’. When parsing XML catalogs, it can be:
‘delegatePublic’, ‘delegateSystem’, ‘delegateURI’, ‘group’ (not sup‐
ported), ‘nextCatalog’, ‘public’, ‘rewriteSystem’, ‘rewriteURI’, ‘system’
and ‘uri’.
SEE ALSO
· http://www.jclark.com/sp/catalog.htm - Quick introduction to the SGML
catalog format.
· http://www.oasis-open.org/committees/entity/spec.html - Full refer‐
ence of the XML catalog format.
· http://www.xmlsoft.org/ - libxml2 homepage.
· http://xmlcatmgr.sourceforge.net/ - xmlcatmgr homepage.
HISTORYxmlcatmgr was created because the NetBSD Packages Collection needed a
very small catalog manager to automatically (un)register catalog entries
when (de)installing packages.
It was released as an independant program through Sourceforge in the hope
that it is useful to more people.
For a list of changes between versions, see:
/usr/pkg/share/doc/xmlcatmgr/CHANGES.
AUTHORS
The xmlcatmgr utility was written by Julio M. Merino Vidal
⟨jmmv@users.sourceforge.net⟩.
BSD May 1, 2004 BSD