catalog

catalog - interfaces to the Catalog handling system

the catalog module implements the support for XML Catalogs and SGML catalogs

Author(s): Daniel Veillard

Synopsis

#define XML_CATALOG_PI;
#define XML_CATALOGS_NAMESPACE;
typedef enum xmlCatalogAllow;
typedef enum xmlCatalogPrefer;
typedef struct _xmlCatalog xmlCatalog;
typedef xmlCatalog * xmlCatalogPtr;
void	xmlFreeCatalog			(xmlCatalogPtr catal);
void	xmlLoadCatalogs			(const char * pathss);
xmlChar *	xmlCatalogLocalResolve	(void * catalogs, 
const xmlChar * pubID,
const xmlChar * sysID); int xmlACatalogAdd (xmlCatalogPtr catal,
const xmlChar * type,
const xmlChar * orig,
const xmlChar * replace); xmlChar * xmlACatalogResolvePublic (xmlCatalogPtr catal,
const xmlChar * pubID); xmlCatalogAllow xmlCatalogGetDefaults (void); int xmlACatalogRemove (xmlCatalogPtr catal,
const xmlChar * value); xmlCatalogPrefer xmlCatalogSetDefaultPrefer (xmlCatalogPrefer prefer); xmlChar * xmlACatalogResolveURI (xmlCatalogPtr catal,
const xmlChar * URI); int xmlCatalogAdd (const xmlChar * type,
const xmlChar * orig,
const xmlChar * replace); xmlChar * xmlCatalogResolvePublic (const xmlChar * pubID); const xmlChar * xmlCatalogGetSystem (const xmlChar * sysID); void xmlInitializeCatalog (void); int xmlLoadCatalog (const char * filename); int xmlCatalogRemove (const xmlChar * value); int xmlCatalogIsEmpty (xmlCatalogPtr catal); void xmlACatalogDump (xmlCatalogPtr catal,
FILE * out); void xmlCatalogFreeLocal (void * catalogs); xmlChar * xmlACatalogResolve (xmlCatalogPtr catal,
const xmlChar * pubID,
const xmlChar * sysID); xmlChar * xmlCatalogResolveSystem (const xmlChar * sysID); xmlCatalogPtr xmlLoadSGMLSuperCatalog (const char * filename); int xmlCatalogConvert (void); const xmlChar * xmlCatalogGetPublic (const xmlChar * pubID); xmlCatalogPtr xmlLoadACatalog (const char * filename); xmlChar * xmlACatalogResolveSystem (xmlCatalogPtr catal,
const xmlChar * sysID); xmlChar * xmlCatalogLocalResolveURI (void * catalogs,
const xmlChar * URI); int xmlConvertSGMLCatalog (xmlCatalogPtr catal); void * xmlCatalogAddLocal (void * catalogs,
const xmlChar * URL); xmlCatalogPtr xmlNewCatalog (int sgml); xmlDocPtr xmlParseCatalogFile (const char * filename); int xmlCatalogSetDebug (int level); xmlChar * xmlCatalogResolve (const xmlChar * pubID,
const xmlChar * sysID); void xmlCatalogSetDefaults (xmlCatalogAllow allow); void xmlCatalogDump (FILE * out); void xmlCatalogCleanup (void); xmlChar * xmlCatalogResolveURI (const xmlChar * URI);

Description

Details

Macro XML_CATALOGS_NAMESPACE

#define XML_CATALOGS_NAMESPACE;

The namespace for the XML Catalogs elements.


Macro XML_CATALOG_PI

#define XML_CATALOG_PI;

The specific XML Catalog Processing Instuction name.


Structure xmlCatalog

struct _xmlCatalog {
The content of this structure is not made public by the API.
} xmlCatalog;




Typedef xmlCatalogPtr

xmlCatalog * xmlCatalogPtr;


xmlACatalogAdd ()

int	xmlACatalogAdd			(xmlCatalogPtr catal, 
const xmlChar * type,
const xmlChar * orig,
const xmlChar * replace)

Add an entry in the catalog, it may overwrite existing but different entries.

catal:a Catalog
type:the type of record to add to the catalog
orig:the system, public or prefix to match
replace:the replacement value for the match
Returns:0 if successful, -1 otherwise

xmlACatalogDump ()

void	xmlACatalogDump			(xmlCatalogPtr catal, 
FILE * out)

Dump the given catalog to the given file.

catal:a Catalog
out:the file.

xmlACatalogRemove ()

int	xmlACatalogRemove		(xmlCatalogPtr catal, 
const xmlChar * value)

Remove an entry from the catalog

catal:a Catalog
value:the value to remove
Returns:the number of entries removed if successful, -1 otherwise

xmlACatalogResolve ()

xmlChar *	xmlACatalogResolve	(xmlCatalogPtr catal, 
const xmlChar * pubID,
const xmlChar * sysID)

Do a complete resolution lookup of an External Identifier

catal:a Catalog
pubID:the public ID string
sysID:the system ID string
Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

xmlACatalogResolvePublic ()

xmlChar *	xmlACatalogResolvePublic	(xmlCatalogPtr catal, 
const xmlChar * pubID)

Try to lookup the catalog local reference associated to a public ID in that catalog

catal:a Catalog
pubID:the public ID string
Returns:the local resource if found or NULL otherwise, the value returned must be freed by the caller.

xmlACatalogResolveSystem ()

xmlChar *	xmlACatalogResolveSystem	(xmlCatalogPtr catal, 
const xmlChar * sysID)

Try to lookup the catalog resource for a system ID

catal:a Catalog
sysID:the system ID string
Returns:the resource if found or NULL otherwise, the value returned must be freed by the caller.

xmlACatalogResolveURI ()

xmlChar *	xmlACatalogResolveURI	(xmlCatalogPtr catal, 
const xmlChar * URI)

Do a complete resolution lookup of an URI

catal:a Catalog
URI:the URI
Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

xmlCatalogAdd ()

int	xmlCatalogAdd			(const xmlChar * type, 
const xmlChar * orig,
const xmlChar * replace)

Add an entry in the catalog, it may overwrite existing but different entries. If called before any other catalog routine, allows to override the default shared catalog put in place by xmlInitializeCatalog();

type:the type of record to add to the catalog
orig:the system, public or prefix to match
replace:the replacement value for the match
Returns:0 if successful, -1 otherwise

xmlCatalogAddLocal ()

void *	xmlCatalogAddLocal		(void * catalogs, 
const
xmlChar * URL)

Add the new entry to the catalog list

catalogs:a document's list of catalogs
URL:the URL to a new local catalog
Returns:the updated list





xmlCatalogGetDefaults ()

xmlCatalogAllow	xmlCatalogGetDefaults	(void)

Used to get the user preference w.r.t. to what catalogs should be accepted

Returns:the current xmlCatalogAllow value

xmlCatalogGetPublic ()

const xmlChar *	xmlCatalogGetPublic	(const xmlChar * pubID)

Try to lookup the catalog reference associated to a public ID DEPRECATED, use xmlCatalogResolvePublic()

pubID:the public ID string
Returns:the resource if found or NULL otherwise.

xmlCatalogGetSystem ()

const xmlChar *	xmlCatalogGetSystem	(const xmlChar * sysID)

Try to lookup the catalog reference associated to a system ID DEPRECATED, use xmlCatalogResolveSystem()

sysID:the system ID string
Returns:the resource if found or NULL otherwise.

xmlCatalogIsEmpty ()

int	xmlCatalogIsEmpty		(xmlCatalogPtr catal)

Check is a catalog is empty

catal:should this create an SGML catalog
Returns:1 if the catalog is empty, 0 if not, amd -1 in case of error.

xmlCatalogLocalResolve ()

xmlChar *	xmlCatalogLocalResolve	(void * catalogs, 
const xmlChar * pubID,
const xmlChar * sysID)

Do a complete resolution lookup of an External Identifier using a document's private catalog list

catalogs:a document's list of catalogs
pubID:the public ID string
sysID:the system ID string
Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

xmlCatalogLocalResolveURI ()

xmlChar *	xmlCatalogLocalResolveURI	(void * catalogs, 
const xmlChar * URI)

Do a complete resolution lookup of an URI using a document's private catalog list

catalogs:a document's list of catalogs
URI:the URI
Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

xmlCatalogRemove ()

int	xmlCatalogRemove		(const xmlChar * value)

Remove an entry from the catalog

value:the value to remove
Returns:the number of entries removed if successful, -1 otherwise

xmlCatalogResolve ()

xmlChar *	xmlCatalogResolve	(const xmlChar * pubID, 
const xmlChar * sysID)

Do a complete resolution lookup of an External Identifier

pubID:the public ID string
sysID:the system ID string
Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

xmlCatalogResolvePublic ()

xmlChar *	xmlCatalogResolvePublic	(const xmlChar * pubID)

Try to lookup the catalog reference associated to a public ID

pubID:the public ID string
Returns:the resource if found or NULL otherwise, the value returned must be freed by the caller.

xmlCatalogResolveSystem ()

xmlChar *	xmlCatalogResolveSystem	(const xmlChar * sysID)

Try to lookup the catalog resource for a system ID

sysID:the system ID string
Returns:the resource if found or NULL otherwise, the value returned must be freed by the caller.

xmlCatalogResolveURI ()

xmlChar *	xmlCatalogResolveURI	(const xmlChar * URI)

Do a complete resolution lookup of an URI

URI:the URI
Returns:the URI of the resource or NULL if not found, it must be freed by the caller.


xmlCatalogSetDefaultPrefer ()

xmlCatalogPrefer	xmlCatalogSetDefaultPrefer	(xmlCatalogPrefer prefer)

Allows to set the preference between public and system for deletion in XML Catalog resolution. C.f. section 4.1.1 of the spec Values accepted are XML_CATA_PREFER_PUBLIC or XML_CATA_PREFER_SYSTEM

prefer:the default preference for delegation
Returns:the previous value of the default preference for delegation

xmlCatalogSetDefaults ()

void	xmlCatalogSetDefaults		(xmlCatalogAllow allow)

Used to set the user preference w.r.t. to what catalogs should be accepted

allow:what catalogs should be accepted

xmlConvertSGMLCatalog ()

int	xmlConvertSGMLCatalog		(xmlCatalogPtr catal)

Convert all the SGML catalog entries as XML ones

catal:the catalog
Returns:the number of entries converted if successful, -1 otherwise

xmlFreeCatalog ()

void	xmlFreeCatalog			(xmlCatalogPtr catal)

Free the memory allocated to a Catalog

catal:a Catalog


xmlLoadACatalog ()

xmlCatalogPtr	xmlLoadACatalog		(const char * filename)

Load the catalog and build the associated data structures. This can be either an XML Catalog or an SGML Catalog It will recurse in SGML CATALOG entries. On the other hand XML Catalogs are not handled recursively.

filename:a file path
Returns:the catalog parsed or NULL in case of error



xmlLoadSGMLSuperCatalog ()

xmlCatalogPtr	xmlLoadSGMLSuperCatalog	(const char * filename)

Load an SGML super catalog. It won't expand CATALOG or DELEGATE references. This is only needed for manipulating SGML Super Catalogs like adding and removing CATALOG or DELEGATE entries.

filename:a file path
Returns:the catalog parsed or NULL in case of error

xmlNewCatalog ()

xmlCatalogPtr	xmlNewCatalog		(int sgml)

create a new Catalog.

sgml:should this create an SGML catalog
Returns:the xmlCatalogPtr or NULL in case of error

xmlParseCatalogFile ()

xmlDocPtr	xmlParseCatalogFile	(const char * filename)

parse an XML file and build a tree. It's like xmlParseFile() except it bypass all catalog lookups.

filename:the filename
Returns:the resulting document tree or NULL in case of error