xmlcatmgr — XML
    and SGML catalog manager
  
    | xmlcatmgr | [ -hpsv] [-ccatalog] action
      [action_arg ...] | 
xmlcatmgr 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:
  - -ccatalog
- Use catalog as the catalog file. If not specified,
      the catalog defaults to
      /usr/local/share/xml/catalog.ports if running in
      XML mode, or to
      /usr/local/share/sgml/catalog.ports if running in
      SGML mode (see the -sflag).
- -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 preceded 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 system 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 program 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, specified 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 catalogs, nor does
        network lookups. It is only provided 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; otherwise
      >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 program 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 supported),
    ‘nextCatalog’,
    ‘public’,
    ‘rewriteSystem’,
    ‘rewriteURI’,
    ‘system’ and
    ‘uri’.
  - http://www.jclark.com/sp/catalog.htm - Quick
      introduction to the SGML catalog format.
- http://www.oasis-open.org/committees/entity/spec.html
      - Full reference of the XML catalog format.
- http://www.xmlsoft.org/ -
      libxml2homepage.
- http://xmlcatmgr.sourceforge.net/ -
      xmlcatmgrhomepage.
xmlcatmgr 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/local/share/doc/xmlcatmgr/CHANGES.
The xmlcatmgr utility was written by
    Julio M. Merino Vidal
    ⟨jmmv@users.sourceforge.net⟩.