libxml2 Reference Manual |
---|
catalog - interfaces to the Catalog handling system
the catalog module implements the support for XML Catalogs and SGML catalogs
Author(s): Daniel Veillard
#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);
#define XML_CATALOGS_NAMESPACE;
The namespace for the XML Catalogs elements.
struct _xmlCatalog { The content of this structure is not made public by the API. } xmlCatalog;
enum xmlCatalogAllow { XML_CATA_ALLOW_NONE = 0 XML_CATA_ALLOW_GLOBAL = 1 XML_CATA_ALLOW_DOCUMENT = 2 XML_CATA_ALLOW_ALL = 3 };
enum xmlCatalogPrefer { XML_CATA_PREFER_NONE = 0 XML_CATA_PREFER_PUBLIC = 1 XML_CATA_PREFER_SYSTEM = 2 };
xmlCatalog * xmlCatalogPtr;
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 |
void xmlACatalogDump (xmlCatalogPtr catal,
FILE * out)
Dump the given catalog to the given file.
catal: | a Catalog |
out: | the file. |
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 |
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. |
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. |
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. |
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. |
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 |
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 |
int xmlCatalogConvert (void)
Convert all the SGML catalog entries as XML ones
Returns: | the number of entries converted if successful, -1 otherwise |
void xmlCatalogDump (FILE * out)
Dump all the global catalog content to the given file.
out: | the file. |
void xmlCatalogFreeLocal (void * catalogs)
Free up the memory associated to the catalog list
catalogs: | a document's list of catalogs |
xmlCatalogAllow xmlCatalogGetDefaults (void)
Used to get the user preference w.r.t. to what catalogs should be accepted
Returns: | the current xmlCatalogAllow value |
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. |
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. |
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. |
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. |
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. |
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 |
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. |
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. |
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. |
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. |
int xmlCatalogSetDebug (int level)
Used to set the debug level for catalog operation, 0 disable debugging, 1 enable it
level: | the debug level of catalogs required |
Returns: | the previous value of the catalog debugging level |
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 |
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 |
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 |
void xmlFreeCatalog (xmlCatalogPtr catal)
Free the memory allocated to a Catalog
catal: | a Catalog |
void xmlInitializeCatalog (void)
Do the catalog initialization. this function is not thread safe, catalog initialization should preferably be done once at startup
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 |
int xmlLoadCatalog (const char * filename)
Load the catalog and makes its definitions effective for the default external entity loader. It will recurse in SGML CATALOG entries. this function is not thread safe, catalog initialization should preferably be done once at startup
filename: | a file path |
Returns: | 0 in case of success -1 in case of error |
void xmlLoadCatalogs (const char * pathss)
Load the catalogs and makes their definitions effective for the default external entity loader. this function is not thread safe, catalog initialization should preferably be done once at startup
pathss: | a list of directories separated by a colon or a space. |
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 |
xmlCatalogPtr xmlNewCatalog (int sgml)
create a new Catalog.
sgml: | should this create an SGML catalog |
Returns: | the xmlCatalogPtr or NULL in case of error |
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 |