Blame legacy.c

Packit 423ecb
/*
Packit 423ecb
 * legacy.c: set of deprecated routines, not to be used anymore but
Packit 423ecb
 *           kept purely for ABI compatibility
Packit 423ecb
 *
Packit 423ecb
 * See Copyright for the status of this software.
Packit 423ecb
 *
Packit 423ecb
 * daniel@veillard.com
Packit 423ecb
 */
Packit 423ecb
Packit 423ecb
#define IN_LIBXML
Packit 423ecb
#include "libxml.h"
Packit 423ecb
Packit 423ecb
#ifdef LIBXML_LEGACY_ENABLED
Packit 423ecb
#include <string.h>
Packit 423ecb
Packit 423ecb
#include <libxml/tree.h>
Packit 423ecb
#include <libxml/entities.h>
Packit 423ecb
#include <libxml/SAX.h>
Packit 423ecb
#include <libxml/parserInternals.h>
Packit 423ecb
#include <libxml/HTMLparser.h>
Packit 423ecb
Packit 423ecb
void xmlUpgradeOldNs(xmlDocPtr doc);
Packit 423ecb
Packit 423ecb
/************************************************************************
Packit 423ecb
 *									*
Packit 423ecb
 *		Deprecated functions kept for compatibility		*
Packit 423ecb
 *									*
Packit 423ecb
 ************************************************************************/
Packit 423ecb
Packit 423ecb
#ifdef LIBXML_HTML_ENABLED
Packit 423ecb
xmlChar *htmlDecodeEntities(htmlParserCtxtPtr ctxt, int len, xmlChar end,
Packit 423ecb
                            xmlChar end2, xmlChar end3);
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * htmlDecodeEntities:
Packit 423ecb
 * @ctxt:  the parser context
Packit 423ecb
 * @len:  the len to decode (in bytes !), -1 for no size limit
Packit 423ecb
 * @end:  an end marker xmlChar, 0 if none
Packit 423ecb
 * @end2:  an end marker xmlChar, 0 if none
Packit 423ecb
 * @end3:  an end marker xmlChar, 0 if none
Packit 423ecb
 *
Packit 423ecb
 * Substitute the HTML entities by their value
Packit 423ecb
 *
Packit 423ecb
 * DEPRECATED !!!!
Packit 423ecb
 *
Packit 423ecb
 * Returns A newly allocated string with the substitution done. The caller
Packit 423ecb
 *      must deallocate it !
Packit 423ecb
 */
Packit 423ecb
xmlChar *
Packit 423ecb
htmlDecodeEntities(htmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED,
Packit 423ecb
                   int len ATTRIBUTE_UNUSED, xmlChar end ATTRIBUTE_UNUSED,
Packit 423ecb
                   xmlChar end2 ATTRIBUTE_UNUSED,
Packit 423ecb
                   xmlChar end3 ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    static int deprecated = 0;
Packit 423ecb
Packit 423ecb
    if (!deprecated) {
Packit 423ecb
        xmlGenericError(xmlGenericErrorContext,
Packit 423ecb
                        "htmlDecodeEntities() deprecated function reached\n");
Packit 423ecb
        deprecated = 1;
Packit 423ecb
    }
Packit 423ecb
    return (NULL);
Packit 423ecb
}
Packit 423ecb
#endif
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlInitializePredefinedEntities:
Packit 423ecb
 *
Packit 423ecb
 * Set up the predefined entities.
Packit 423ecb
 * Deprecated call
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
xmlInitializePredefinedEntities(void)
Packit 423ecb
{
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlCleanupPredefinedEntities:
Packit 423ecb
 *
Packit 423ecb
 * Cleanup up the predefined entities table.
Packit 423ecb
 * Deprecated call
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
xmlCleanupPredefinedEntities(void)
Packit 423ecb
{
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
static const char *xmlFeaturesList[] = {
Packit 423ecb
    "validate",
Packit 423ecb
    "load subset",
Packit 423ecb
    "keep blanks",
Packit 423ecb
    "disable SAX",
Packit 423ecb
    "fetch external entities",
Packit 423ecb
    "substitute entities",
Packit 423ecb
    "gather line info",
Packit 423ecb
    "user data",
Packit 423ecb
    "is html",
Packit 423ecb
    "is standalone",
Packit 423ecb
    "stop parser",
Packit 423ecb
    "document",
Packit 423ecb
    "is well formed",
Packit 423ecb
    "is valid",
Packit 423ecb
    "SAX block",
Packit 423ecb
    "SAX function internalSubset",
Packit 423ecb
    "SAX function isStandalone",
Packit 423ecb
    "SAX function hasInternalSubset",
Packit 423ecb
    "SAX function hasExternalSubset",
Packit 423ecb
    "SAX function resolveEntity",
Packit 423ecb
    "SAX function getEntity",
Packit 423ecb
    "SAX function entityDecl",
Packit 423ecb
    "SAX function notationDecl",
Packit 423ecb
    "SAX function attributeDecl",
Packit 423ecb
    "SAX function elementDecl",
Packit 423ecb
    "SAX function unparsedEntityDecl",
Packit 423ecb
    "SAX function setDocumentLocator",
Packit 423ecb
    "SAX function startDocument",
Packit 423ecb
    "SAX function endDocument",
Packit 423ecb
    "SAX function startElement",
Packit 423ecb
    "SAX function endElement",
Packit 423ecb
    "SAX function reference",
Packit 423ecb
    "SAX function characters",
Packit 423ecb
    "SAX function ignorableWhitespace",
Packit 423ecb
    "SAX function processingInstruction",
Packit 423ecb
    "SAX function comment",
Packit 423ecb
    "SAX function warning",
Packit 423ecb
    "SAX function error",
Packit 423ecb
    "SAX function fatalError",
Packit 423ecb
    "SAX function getParameterEntity",
Packit 423ecb
    "SAX function cdataBlock",
Packit 423ecb
    "SAX function externalSubset",
Packit 423ecb
};
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlGetFeaturesList:
Packit 423ecb
 * @len:  the length of the features name array (input/output)
Packit 423ecb
 * @result:  an array of string to be filled with the features name.
Packit 423ecb
 *
Packit 423ecb
 * Copy at most *@len feature names into the @result array
Packit 423ecb
 *
Packit 423ecb
 * Returns -1 in case or error, or the total number of features,
Packit 423ecb
 *            len is updated with the number of strings copied,
Packit 423ecb
 *            strings must not be deallocated
Packit 423ecb
 */
Packit 423ecb
int
Packit 423ecb
xmlGetFeaturesList(int *len, const char **result)
Packit 423ecb
{
Packit 423ecb
    int ret, i;
Packit 423ecb
Packit 423ecb
    ret = sizeof(xmlFeaturesList) / sizeof(xmlFeaturesList[0]);
Packit 423ecb
    if ((len == NULL) || (result == NULL))
Packit 423ecb
        return (ret);
Packit 423ecb
    if ((*len < 0) || (*len >= 1000))
Packit 423ecb
        return (-1);
Packit 423ecb
    if (*len > ret)
Packit 423ecb
        *len = ret;
Packit 423ecb
    for (i = 0; i < *len; i++)
Packit 423ecb
        result[i] = xmlFeaturesList[i];
Packit 423ecb
    return (ret);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlGetFeature:
Packit 423ecb
 * @ctxt:  an XML/HTML parser context
Packit 423ecb
 * @name:  the feature name
Packit 423ecb
 * @result:  location to store the result
Packit 423ecb
 *
Packit 423ecb
 * Read the current value of one feature of this parser instance
Packit 423ecb
 *
Packit 423ecb
 * Returns -1 in case or error, 0 otherwise
Packit 423ecb
 */
Packit 423ecb
int
Packit 423ecb
xmlGetFeature(xmlParserCtxtPtr ctxt, const char *name, void *result)
Packit 423ecb
{
Packit 423ecb
    if ((ctxt == NULL) || (name == NULL) || (result == NULL))
Packit 423ecb
        return (-1);
Packit 423ecb
Packit 423ecb
    if (!strcmp(name, "validate")) {
Packit 423ecb
        *((int *) result) = ctxt->validate;
Packit 423ecb
    } else if (!strcmp(name, "keep blanks")) {
Packit 423ecb
        *((int *) result) = ctxt->keepBlanks;
Packit 423ecb
    } else if (!strcmp(name, "disable SAX")) {
Packit 423ecb
        *((int *) result) = ctxt->disableSAX;
Packit 423ecb
    } else if (!strcmp(name, "fetch external entities")) {
Packit 423ecb
        *((int *) result) = ctxt->loadsubset;
Packit 423ecb
    } else if (!strcmp(name, "substitute entities")) {
Packit 423ecb
        *((int *) result) = ctxt->replaceEntities;
Packit 423ecb
    } else if (!strcmp(name, "gather line info")) {
Packit 423ecb
        *((int *) result) = ctxt->record_info;
Packit 423ecb
    } else if (!strcmp(name, "user data")) {
Packit 423ecb
        *((void **) result) = ctxt->userData;
Packit 423ecb
    } else if (!strcmp(name, "is html")) {
Packit 423ecb
        *((int *) result) = ctxt->html;
Packit 423ecb
    } else if (!strcmp(name, "is standalone")) {
Packit 423ecb
        *((int *) result) = ctxt->standalone;
Packit 423ecb
    } else if (!strcmp(name, "document")) {
Packit 423ecb
        *((xmlDocPtr *) result) = ctxt->myDoc;
Packit 423ecb
    } else if (!strcmp(name, "is well formed")) {
Packit 423ecb
        *((int *) result) = ctxt->wellFormed;
Packit 423ecb
    } else if (!strcmp(name, "is valid")) {
Packit 423ecb
        *((int *) result) = ctxt->valid;
Packit 423ecb
    } else if (!strcmp(name, "SAX block")) {
Packit 423ecb
        *((xmlSAXHandlerPtr *) result) = ctxt->sax;
Packit 423ecb
    } else if (!strcmp(name, "SAX function internalSubset")) {
Packit 423ecb
        *((internalSubsetSAXFunc *) result) = ctxt->sax->internalSubset;
Packit 423ecb
    } else if (!strcmp(name, "SAX function isStandalone")) {
Packit 423ecb
        *((isStandaloneSAXFunc *) result) = ctxt->sax->isStandalone;
Packit 423ecb
    } else if (!strcmp(name, "SAX function hasInternalSubset")) {
Packit 423ecb
        *((hasInternalSubsetSAXFunc *) result) =
Packit 423ecb
            ctxt->sax->hasInternalSubset;
Packit 423ecb
    } else if (!strcmp(name, "SAX function hasExternalSubset")) {
Packit 423ecb
        *((hasExternalSubsetSAXFunc *) result) =
Packit 423ecb
            ctxt->sax->hasExternalSubset;
Packit 423ecb
    } else if (!strcmp(name, "SAX function resolveEntity")) {
Packit 423ecb
        *((resolveEntitySAXFunc *) result) = ctxt->sax->resolveEntity;
Packit 423ecb
    } else if (!strcmp(name, "SAX function getEntity")) {
Packit 423ecb
        *((getEntitySAXFunc *) result) = ctxt->sax->getEntity;
Packit 423ecb
    } else if (!strcmp(name, "SAX function entityDecl")) {
Packit 423ecb
        *((entityDeclSAXFunc *) result) = ctxt->sax->entityDecl;
Packit 423ecb
    } else if (!strcmp(name, "SAX function notationDecl")) {
Packit 423ecb
        *((notationDeclSAXFunc *) result) = ctxt->sax->notationDecl;
Packit 423ecb
    } else if (!strcmp(name, "SAX function attributeDecl")) {
Packit 423ecb
        *((attributeDeclSAXFunc *) result) = ctxt->sax->attributeDecl;
Packit 423ecb
    } else if (!strcmp(name, "SAX function elementDecl")) {
Packit 423ecb
        *((elementDeclSAXFunc *) result) = ctxt->sax->elementDecl;
Packit 423ecb
    } else if (!strcmp(name, "SAX function unparsedEntityDecl")) {
Packit 423ecb
        *((unparsedEntityDeclSAXFunc *) result) =
Packit 423ecb
            ctxt->sax->unparsedEntityDecl;
Packit 423ecb
    } else if (!strcmp(name, "SAX function setDocumentLocator")) {
Packit 423ecb
        *((setDocumentLocatorSAXFunc *) result) =
Packit 423ecb
            ctxt->sax->setDocumentLocator;
Packit 423ecb
    } else if (!strcmp(name, "SAX function startDocument")) {
Packit 423ecb
        *((startDocumentSAXFunc *) result) = ctxt->sax->startDocument;
Packit 423ecb
    } else if (!strcmp(name, "SAX function endDocument")) {
Packit 423ecb
        *((endDocumentSAXFunc *) result) = ctxt->sax->endDocument;
Packit 423ecb
    } else if (!strcmp(name, "SAX function startElement")) {
Packit 423ecb
        *((startElementSAXFunc *) result) = ctxt->sax->startElement;
Packit 423ecb
    } else if (!strcmp(name, "SAX function endElement")) {
Packit 423ecb
        *((endElementSAXFunc *) result) = ctxt->sax->endElement;
Packit 423ecb
    } else if (!strcmp(name, "SAX function reference")) {
Packit 423ecb
        *((referenceSAXFunc *) result) = ctxt->sax->reference;
Packit 423ecb
    } else if (!strcmp(name, "SAX function characters")) {
Packit 423ecb
        *((charactersSAXFunc *) result) = ctxt->sax->characters;
Packit 423ecb
    } else if (!strcmp(name, "SAX function ignorableWhitespace")) {
Packit 423ecb
        *((ignorableWhitespaceSAXFunc *) result) =
Packit 423ecb
            ctxt->sax->ignorableWhitespace;
Packit 423ecb
    } else if (!strcmp(name, "SAX function processingInstruction")) {
Packit 423ecb
        *((processingInstructionSAXFunc *) result) =
Packit 423ecb
            ctxt->sax->processingInstruction;
Packit 423ecb
    } else if (!strcmp(name, "SAX function comment")) {
Packit 423ecb
        *((commentSAXFunc *) result) = ctxt->sax->comment;
Packit 423ecb
    } else if (!strcmp(name, "SAX function warning")) {
Packit 423ecb
        *((warningSAXFunc *) result) = ctxt->sax->warning;
Packit 423ecb
    } else if (!strcmp(name, "SAX function error")) {
Packit 423ecb
        *((errorSAXFunc *) result) = ctxt->sax->error;
Packit 423ecb
    } else if (!strcmp(name, "SAX function fatalError")) {
Packit 423ecb
        *((fatalErrorSAXFunc *) result) = ctxt->sax->fatalError;
Packit 423ecb
    } else if (!strcmp(name, "SAX function getParameterEntity")) {
Packit 423ecb
        *((getParameterEntitySAXFunc *) result) =
Packit 423ecb
            ctxt->sax->getParameterEntity;
Packit 423ecb
    } else if (!strcmp(name, "SAX function cdataBlock")) {
Packit 423ecb
        *((cdataBlockSAXFunc *) result) = ctxt->sax->cdataBlock;
Packit 423ecb
    } else if (!strcmp(name, "SAX function externalSubset")) {
Packit 423ecb
        *((externalSubsetSAXFunc *) result) = ctxt->sax->externalSubset;
Packit 423ecb
    } else {
Packit 423ecb
        return (-1);
Packit 423ecb
    }
Packit 423ecb
    return (0);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlSetFeature:
Packit 423ecb
 * @ctxt:  an XML/HTML parser context
Packit 423ecb
 * @name:  the feature name
Packit 423ecb
 * @value:  pointer to the location of the new value
Packit 423ecb
 *
Packit 423ecb
 * Change the current value of one feature of this parser instance
Packit 423ecb
 *
Packit 423ecb
 * Returns -1 in case or error, 0 otherwise
Packit 423ecb
 */
Packit 423ecb
int
Packit 423ecb
xmlSetFeature(xmlParserCtxtPtr ctxt, const char *name, void *value)
Packit 423ecb
{
Packit 423ecb
    if ((ctxt == NULL) || (name == NULL) || (value == NULL))
Packit 423ecb
        return (-1);
Packit 423ecb
Packit 423ecb
    if (!strcmp(name, "validate")) {
Packit 423ecb
        int newvalidate = *((int *) value);
Packit 423ecb
Packit 423ecb
        if ((!ctxt->validate) && (newvalidate != 0)) {
Packit 423ecb
            if (ctxt->vctxt.warning == NULL)
Packit 423ecb
                ctxt->vctxt.warning = xmlParserValidityWarning;
Packit 423ecb
            if (ctxt->vctxt.error == NULL)
Packit 423ecb
                ctxt->vctxt.error = xmlParserValidityError;
Packit 423ecb
            ctxt->vctxt.nodeMax = 0;
Packit 423ecb
        }
Packit 423ecb
        ctxt->validate = newvalidate;
Packit 423ecb
    } else if (!strcmp(name, "keep blanks")) {
Packit 423ecb
        ctxt->keepBlanks = *((int *) value);
Packit 423ecb
    } else if (!strcmp(name, "disable SAX")) {
Packit 423ecb
        ctxt->disableSAX = *((int *) value);
Packit 423ecb
    } else if (!strcmp(name, "fetch external entities")) {
Packit 423ecb
        ctxt->loadsubset = *((int *) value);
Packit 423ecb
    } else if (!strcmp(name, "substitute entities")) {
Packit 423ecb
        ctxt->replaceEntities = *((int *) value);
Packit 423ecb
    } else if (!strcmp(name, "gather line info")) {
Packit 423ecb
        ctxt->record_info = *((int *) value);
Packit 423ecb
    } else if (!strcmp(name, "user data")) {
Packit 423ecb
        ctxt->userData = *((void **) value);
Packit 423ecb
    } else if (!strcmp(name, "is html")) {
Packit 423ecb
        ctxt->html = *((int *) value);
Packit 423ecb
    } else if (!strcmp(name, "is standalone")) {
Packit 423ecb
        ctxt->standalone = *((int *) value);
Packit 423ecb
    } else if (!strcmp(name, "document")) {
Packit 423ecb
        ctxt->myDoc = *((xmlDocPtr *) value);
Packit 423ecb
    } else if (!strcmp(name, "is well formed")) {
Packit 423ecb
        ctxt->wellFormed = *((int *) value);
Packit 423ecb
    } else if (!strcmp(name, "is valid")) {
Packit 423ecb
        ctxt->valid = *((int *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX block")) {
Packit 423ecb
        ctxt->sax = *((xmlSAXHandlerPtr *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function internalSubset")) {
Packit 423ecb
        ctxt->sax->internalSubset = *((internalSubsetSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function isStandalone")) {
Packit 423ecb
        ctxt->sax->isStandalone = *((isStandaloneSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function hasInternalSubset")) {
Packit 423ecb
        ctxt->sax->hasInternalSubset =
Packit 423ecb
            *((hasInternalSubsetSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function hasExternalSubset")) {
Packit 423ecb
        ctxt->sax->hasExternalSubset =
Packit 423ecb
            *((hasExternalSubsetSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function resolveEntity")) {
Packit 423ecb
        ctxt->sax->resolveEntity = *((resolveEntitySAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function getEntity")) {
Packit 423ecb
        ctxt->sax->getEntity = *((getEntitySAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function entityDecl")) {
Packit 423ecb
        ctxt->sax->entityDecl = *((entityDeclSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function notationDecl")) {
Packit 423ecb
        ctxt->sax->notationDecl = *((notationDeclSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function attributeDecl")) {
Packit 423ecb
        ctxt->sax->attributeDecl = *((attributeDeclSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function elementDecl")) {
Packit 423ecb
        ctxt->sax->elementDecl = *((elementDeclSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function unparsedEntityDecl")) {
Packit 423ecb
        ctxt->sax->unparsedEntityDecl =
Packit 423ecb
            *((unparsedEntityDeclSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function setDocumentLocator")) {
Packit 423ecb
        ctxt->sax->setDocumentLocator =
Packit 423ecb
            *((setDocumentLocatorSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function startDocument")) {
Packit 423ecb
        ctxt->sax->startDocument = *((startDocumentSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function endDocument")) {
Packit 423ecb
        ctxt->sax->endDocument = *((endDocumentSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function startElement")) {
Packit 423ecb
        ctxt->sax->startElement = *((startElementSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function endElement")) {
Packit 423ecb
        ctxt->sax->endElement = *((endElementSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function reference")) {
Packit 423ecb
        ctxt->sax->reference = *((referenceSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function characters")) {
Packit 423ecb
        ctxt->sax->characters = *((charactersSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function ignorableWhitespace")) {
Packit 423ecb
        ctxt->sax->ignorableWhitespace =
Packit 423ecb
            *((ignorableWhitespaceSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function processingInstruction")) {
Packit 423ecb
        ctxt->sax->processingInstruction =
Packit 423ecb
            *((processingInstructionSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function comment")) {
Packit 423ecb
        ctxt->sax->comment = *((commentSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function warning")) {
Packit 423ecb
        ctxt->sax->warning = *((warningSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function error")) {
Packit 423ecb
        ctxt->sax->error = *((errorSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function fatalError")) {
Packit 423ecb
        ctxt->sax->fatalError = *((fatalErrorSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function getParameterEntity")) {
Packit 423ecb
        ctxt->sax->getParameterEntity =
Packit 423ecb
            *((getParameterEntitySAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function cdataBlock")) {
Packit 423ecb
        ctxt->sax->cdataBlock = *((cdataBlockSAXFunc *) value);
Packit 423ecb
    } else if (!strcmp(name, "SAX function externalSubset")) {
Packit 423ecb
        ctxt->sax->externalSubset = *((externalSubsetSAXFunc *) value);
Packit 423ecb
    } else {
Packit 423ecb
        return (-1);
Packit 423ecb
    }
Packit 423ecb
    return (0);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlDecodeEntities:
Packit 423ecb
 * @ctxt:  the parser context
Packit 423ecb
 * @len:  the len to decode (in bytes !), -1 for no size limit
Packit 423ecb
 * @what:  combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
Packit 423ecb
 * @end:  an end marker xmlChar, 0 if none
Packit 423ecb
 * @end2:  an end marker xmlChar, 0 if none
Packit 423ecb
 * @end3:  an end marker xmlChar, 0 if none
Packit 423ecb
 *
Packit 423ecb
 * This function is deprecated, we now always process entities content
Packit 423ecb
 * through xmlStringDecodeEntities
Packit 423ecb
 *
Packit 423ecb
 * TODO: remove it in next major release.
Packit 423ecb
 *
Packit 423ecb
 * [67] Reference ::= EntityRef | CharRef
Packit 423ecb
 *
Packit 423ecb
 * [69] PEReference ::= '%' Name ';'
Packit 423ecb
 *
Packit 423ecb
 * Returns A newly allocated string with the substitution done. The caller
Packit 423ecb
 *      must deallocate it !
Packit 423ecb
 */
Packit 423ecb
xmlChar *
Packit 423ecb
xmlDecodeEntities(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED,
Packit 423ecb
                  int len ATTRIBUTE_UNUSED, int what ATTRIBUTE_UNUSED,
Packit 423ecb
                  xmlChar end ATTRIBUTE_UNUSED,
Packit 423ecb
                  xmlChar end2 ATTRIBUTE_UNUSED,
Packit 423ecb
                  xmlChar end3 ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    static int deprecated = 0;
Packit 423ecb
Packit 423ecb
    if (!deprecated) {
Packit 423ecb
        xmlGenericError(xmlGenericErrorContext,
Packit 423ecb
                        "xmlDecodeEntities() deprecated function reached\n");
Packit 423ecb
        deprecated = 1;
Packit 423ecb
    }
Packit 423ecb
    return (NULL);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlNamespaceParseNCName:
Packit 423ecb
 * @ctxt:  an XML parser context
Packit 423ecb
 *
Packit 423ecb
 * parse an XML namespace name.
Packit 423ecb
 *
Packit 423ecb
 * TODO: this seems not in use anymore, the namespace handling is done on
Packit 423ecb
 *       top of the SAX interfaces, i.e. not on raw input.
Packit 423ecb
 *
Packit 423ecb
 * [NS 3] NCName ::= (Letter | '_') (NCNameChar)*
Packit 423ecb
 *
Packit 423ecb
 * [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' |
Packit 423ecb
 *                       CombiningChar | Extender
Packit 423ecb
 *
Packit 423ecb
 * Returns the namespace name or NULL
Packit 423ecb
 */
Packit 423ecb
Packit 423ecb
xmlChar *
Packit 423ecb
xmlNamespaceParseNCName(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    static int deprecated = 0;
Packit 423ecb
Packit 423ecb
    if (!deprecated) {
Packit 423ecb
        xmlGenericError(xmlGenericErrorContext,
Packit 423ecb
                        "xmlNamespaceParseNCName() deprecated function reached\n");
Packit 423ecb
        deprecated = 1;
Packit 423ecb
    }
Packit 423ecb
    return (NULL);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlNamespaceParseQName:
Packit 423ecb
 * @ctxt:  an XML parser context
Packit 423ecb
 * @prefix:  a xmlChar **
Packit 423ecb
 *
Packit 423ecb
 * TODO: this seems not in use anymore, the namespace handling is done on
Packit 423ecb
 *       top of the SAX interfaces, i.e. not on raw input.
Packit 423ecb
 *
Packit 423ecb
 * parse an XML qualified name
Packit 423ecb
 *
Packit 423ecb
 * [NS 5] QName ::= (Prefix ':')? LocalPart
Packit 423ecb
 *
Packit 423ecb
 * [NS 6] Prefix ::= NCName
Packit 423ecb
 *
Packit 423ecb
 * [NS 7] LocalPart ::= NCName
Packit 423ecb
 *
Packit 423ecb
 * Returns the local part, and prefix is updated
Packit 423ecb
 *   to get the Prefix if any.
Packit 423ecb
 */
Packit 423ecb
Packit 423ecb
xmlChar *
Packit 423ecb
xmlNamespaceParseQName(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED,
Packit 423ecb
                       xmlChar ** prefix ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
Packit 423ecb
    static int deprecated = 0;
Packit 423ecb
Packit 423ecb
    if (!deprecated) {
Packit 423ecb
        xmlGenericError(xmlGenericErrorContext,
Packit 423ecb
                        "xmlNamespaceParseQName() deprecated function reached\n");
Packit 423ecb
        deprecated = 1;
Packit 423ecb
    }
Packit 423ecb
    return (NULL);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlNamespaceParseNSDef:
Packit 423ecb
 * @ctxt:  an XML parser context
Packit 423ecb
 *
Packit 423ecb
 * parse a namespace prefix declaration
Packit 423ecb
 *
Packit 423ecb
 * TODO: this seems not in use anymore, the namespace handling is done on
Packit 423ecb
 *       top of the SAX interfaces, i.e. not on raw input.
Packit 423ecb
 *
Packit 423ecb
 * [NS 1] NSDef ::= PrefixDef Eq SystemLiteral
Packit 423ecb
 *
Packit 423ecb
 * [NS 2] PrefixDef ::= 'xmlns' (':' NCName)?
Packit 423ecb
 *
Packit 423ecb
 * Returns the namespace name
Packit 423ecb
 */
Packit 423ecb
Packit 423ecb
xmlChar *
Packit 423ecb
xmlNamespaceParseNSDef(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    static int deprecated = 0;
Packit 423ecb
Packit 423ecb
    if (!deprecated) {
Packit 423ecb
        xmlGenericError(xmlGenericErrorContext,
Packit 423ecb
                        "xmlNamespaceParseNSDef() deprecated function reached\n");
Packit 423ecb
        deprecated = 1;
Packit 423ecb
    }
Packit 423ecb
    return (NULL);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlParseQuotedString:
Packit 423ecb
 * @ctxt:  an XML parser context
Packit 423ecb
 *
Packit 423ecb
 * Parse and return a string between quotes or doublequotes
Packit 423ecb
 *
Packit 423ecb
 * TODO: Deprecated, to  be removed at next drop of binary compatibility
Packit 423ecb
 *
Packit 423ecb
 * Returns the string parser or NULL.
Packit 423ecb
 */
Packit 423ecb
xmlChar *
Packit 423ecb
xmlParseQuotedString(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    static int deprecated = 0;
Packit 423ecb
Packit 423ecb
    if (!deprecated) {
Packit 423ecb
        xmlGenericError(xmlGenericErrorContext,
Packit 423ecb
                        "xmlParseQuotedString() deprecated function reached\n");
Packit 423ecb
        deprecated = 1;
Packit 423ecb
    }
Packit 423ecb
    return (NULL);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlParseNamespace:
Packit 423ecb
 * @ctxt:  an XML parser context
Packit 423ecb
 *
Packit 423ecb
 * xmlParseNamespace: parse specific PI '
Packit 423ecb
 *
Packit 423ecb
 * This is what the older xml-name Working Draft specified, a bunch of
Packit 423ecb
 * other stuff may still rely on it, so support is still here as
Packit 423ecb
 * if it was declared on the root of the Tree:-(
Packit 423ecb
 *
Packit 423ecb
 * TODO: remove from library
Packit 423ecb
 *
Packit 423ecb
 * To be removed at next drop of binary compatibility
Packit 423ecb
 */
Packit 423ecb
Packit 423ecb
void
Packit 423ecb
xmlParseNamespace(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    static int deprecated = 0;
Packit 423ecb
Packit 423ecb
    if (!deprecated) {
Packit 423ecb
        xmlGenericError(xmlGenericErrorContext,
Packit 423ecb
                        "xmlParseNamespace() deprecated function reached\n");
Packit 423ecb
        deprecated = 1;
Packit 423ecb
    }
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlScanName:
Packit 423ecb
 * @ctxt:  an XML parser context
Packit 423ecb
 *
Packit 423ecb
 * Trickery: parse an XML name but without consuming the input flow
Packit 423ecb
 * Needed for rollback cases. Used only when parsing entities references.
Packit 423ecb
 *
Packit 423ecb
 * TODO: seems deprecated now, only used in the default part of
Packit 423ecb
 *       xmlParserHandleReference
Packit 423ecb
 *
Packit 423ecb
 * [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
Packit 423ecb
 *                  CombiningChar | Extender
Packit 423ecb
 *
Packit 423ecb
 * [5] Name ::= (Letter | '_' | ':') (NameChar)*
Packit 423ecb
 *
Packit 423ecb
 * [6] Names ::= Name (S Name)*
Packit 423ecb
 *
Packit 423ecb
 * Returns the Name parsed or NULL
Packit 423ecb
 */
Packit 423ecb
Packit 423ecb
xmlChar *
Packit 423ecb
xmlScanName(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    static int deprecated = 0;
Packit 423ecb
Packit 423ecb
    if (!deprecated) {
Packit 423ecb
        xmlGenericError(xmlGenericErrorContext,
Packit 423ecb
                        "xmlScanName() deprecated function reached\n");
Packit 423ecb
        deprecated = 1;
Packit 423ecb
    }
Packit 423ecb
    return (NULL);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlParserHandleReference:
Packit 423ecb
 * @ctxt:  the parser context
Packit 423ecb
 *
Packit 423ecb
 * TODO: Remove, now deprecated ... the test is done directly in the
Packit 423ecb
 *       content parsing
Packit 423ecb
 * routines.
Packit 423ecb
 *
Packit 423ecb
 * [67] Reference ::= EntityRef | CharRef
Packit 423ecb
 *
Packit 423ecb
 * [68] EntityRef ::= '&' Name ';'
Packit 423ecb
 *
Packit 423ecb
 * [ WFC: Entity Declared ]
Packit 423ecb
 * the Name given in the entity reference must match that in an entity
Packit 423ecb
 * declaration, except that well-formed documents need not declare any
Packit 423ecb
 * of the following entities: amp, lt, gt, apos, quot.
Packit 423ecb
 *
Packit 423ecb
 * [ WFC: Parsed Entity ]
Packit 423ecb
 * An entity reference must not contain the name of an unparsed entity
Packit 423ecb
 *
Packit 423ecb
 * [66] CharRef ::= '&#' [0-9]+ ';' |
Packit 423ecb
 *                  '&#x' [0-9a-fA-F]+ ';'
Packit 423ecb
 *
Packit 423ecb
 * A PEReference may have been detected in the current input stream
Packit 423ecb
 * the handling is done accordingly to
Packit 423ecb
 *      http://www.w3.org/TR/REC-xml#entproc
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
xmlParserHandleReference(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    static int deprecated = 0;
Packit 423ecb
Packit 423ecb
    if (!deprecated) {
Packit 423ecb
        xmlGenericError(xmlGenericErrorContext,
Packit 423ecb
                        "xmlParserHandleReference() deprecated function reached\n");
Packit 423ecb
        deprecated = 1;
Packit 423ecb
    }
Packit 423ecb
Packit 423ecb
    return;
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlHandleEntity:
Packit 423ecb
 * @ctxt:  an XML parser context
Packit 423ecb
 * @entity:  an XML entity pointer.
Packit 423ecb
 *
Packit 423ecb
 * Default handling of defined entities, when should we define a new input
Packit 423ecb
 * stream ? When do we just handle that as a set of chars ?
Packit 423ecb
 *
Packit 423ecb
 * OBSOLETE: to be removed at some point.
Packit 423ecb
 */
Packit 423ecb
Packit 423ecb
void
Packit 423ecb
xmlHandleEntity(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED,
Packit 423ecb
                xmlEntityPtr entity ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    static int deprecated = 0;
Packit 423ecb
Packit 423ecb
    if (!deprecated) {
Packit 423ecb
        xmlGenericError(xmlGenericErrorContext,
Packit 423ecb
                        "xmlHandleEntity() deprecated function reached\n");
Packit 423ecb
        deprecated = 1;
Packit 423ecb
    }
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlNewGlobalNs:
Packit 423ecb
 * @doc:  the document carrying the namespace
Packit 423ecb
 * @href:  the URI associated
Packit 423ecb
 * @prefix:  the prefix for the namespace
Packit 423ecb
 *
Packit 423ecb
 * Creation of a Namespace, the old way using PI and without scoping
Packit 423ecb
 *   DEPRECATED !!!
Packit 423ecb
 * Returns NULL this functionality had been removed
Packit 423ecb
 */
Packit 423ecb
xmlNsPtr
Packit 423ecb
xmlNewGlobalNs(xmlDocPtr doc ATTRIBUTE_UNUSED,
Packit 423ecb
               const xmlChar * href ATTRIBUTE_UNUSED,
Packit 423ecb
               const xmlChar * prefix ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    static int deprecated = 0;
Packit 423ecb
Packit 423ecb
    if (!deprecated) {
Packit 423ecb
        xmlGenericError(xmlGenericErrorContext,
Packit 423ecb
                        "xmlNewGlobalNs() deprecated function reached\n");
Packit 423ecb
        deprecated = 1;
Packit 423ecb
    }
Packit 423ecb
    return (NULL);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlUpgradeOldNs:
Packit 423ecb
 * @doc:  a document pointer
Packit 423ecb
 *
Packit 423ecb
 * Upgrade old style Namespaces (PI) and move them to the root of the document.
Packit 423ecb
 * DEPRECATED
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
xmlUpgradeOldNs(xmlDocPtr doc ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    static int deprecated = 0;
Packit 423ecb
Packit 423ecb
    if (!deprecated) {
Packit 423ecb
        xmlGenericError(xmlGenericErrorContext,
Packit 423ecb
                        "xmlUpgradeOldNs() deprecated function reached\n");
Packit 423ecb
        deprecated = 1;
Packit 423ecb
    }
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlEncodeEntities:
Packit 423ecb
 * @doc:  the document containing the string
Packit 423ecb
 * @input:  A string to convert to XML.
Packit 423ecb
 *
Packit 423ecb
 * TODO: remove xmlEncodeEntities, once we are not afraid of breaking binary
Packit 423ecb
 *       compatibility
Packit 423ecb
 *
Packit 423ecb
 * People must migrate their code to xmlEncodeEntitiesReentrant !
Packit 423ecb
 * This routine will issue a warning when encountered.
Packit 423ecb
 *
Packit 423ecb
 * Returns NULL
Packit 423ecb
 */
Packit 423ecb
const xmlChar *
Packit 423ecb
xmlEncodeEntities(xmlDocPtr doc ATTRIBUTE_UNUSED,
Packit 423ecb
                  const xmlChar * input ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    static int warning = 1;
Packit 423ecb
Packit 423ecb
    if (warning) {
Packit 423ecb
        xmlGenericError(xmlGenericErrorContext,
Packit 423ecb
                        "Deprecated API xmlEncodeEntities() used\n");
Packit 423ecb
        xmlGenericError(xmlGenericErrorContext,
Packit 423ecb
                        "   change code to use xmlEncodeEntitiesReentrant()\n");
Packit 423ecb
        warning = 0;
Packit 423ecb
    }
Packit 423ecb
    return (NULL);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/************************************************************************
Packit 423ecb
 *									*
Packit 423ecb
 *		Old set of SAXv1 functions				*
Packit 423ecb
 *									*
Packit 423ecb
 ************************************************************************/
Packit 423ecb
static int deprecated_v1_msg = 0;
Packit 423ecb
Packit 423ecb
#define DEPRECATED(n)						\
Packit 423ecb
    if (deprecated_v1_msg == 0)					\
Packit 423ecb
	xmlGenericError(xmlGenericErrorContext,			\
Packit 423ecb
	  "Use of deprecated SAXv1 function %s\n", n);		\
Packit 423ecb
    deprecated_v1_msg++;
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * getPublicId:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 *
Packit 423ecb
 * Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"
Packit 423ecb
 * DEPRECATED: use xmlSAX2GetPublicId()
Packit 423ecb
 *
Packit 423ecb
 * Returns a xmlChar *
Packit 423ecb
 */
Packit 423ecb
const xmlChar *
Packit 423ecb
getPublicId(void *ctx)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("getPublicId")
Packit 423ecb
        return (xmlSAX2GetPublicId(ctx));
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * getSystemId:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 *
Packit 423ecb
 * Provides the system ID, basically URL or filename e.g.
Packit 423ecb
 * http://www.sgmlsource.com/dtds/memo.dtd
Packit 423ecb
 * DEPRECATED: use xmlSAX2GetSystemId()
Packit 423ecb
 *
Packit 423ecb
 * Returns a xmlChar *
Packit 423ecb
 */
Packit 423ecb
const xmlChar *
Packit 423ecb
getSystemId(void *ctx)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("getSystemId")
Packit 423ecb
        return (xmlSAX2GetSystemId(ctx));
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * getLineNumber:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 *
Packit 423ecb
 * Provide the line number of the current parsing point.
Packit 423ecb
 * DEPRECATED: use xmlSAX2GetLineNumber()
Packit 423ecb
 *
Packit 423ecb
 * Returns an int
Packit 423ecb
 */
Packit 423ecb
int
Packit 423ecb
getLineNumber(void *ctx)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("getLineNumber")
Packit 423ecb
        return (xmlSAX2GetLineNumber(ctx));
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * getColumnNumber:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 *
Packit 423ecb
 * Provide the column number of the current parsing point.
Packit 423ecb
 * DEPRECATED: use xmlSAX2GetColumnNumber()
Packit 423ecb
 *
Packit 423ecb
 * Returns an int
Packit 423ecb
 */
Packit 423ecb
int
Packit 423ecb
getColumnNumber(void *ctx)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("getColumnNumber")
Packit 423ecb
        return (xmlSAX2GetColumnNumber(ctx));
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * isStandalone:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 *
Packit 423ecb
 * Is this document tagged standalone ?
Packit 423ecb
 * DEPRECATED: use xmlSAX2IsStandalone()
Packit 423ecb
 *
Packit 423ecb
 * Returns 1 if true
Packit 423ecb
 */
Packit 423ecb
int
Packit 423ecb
isStandalone(void *ctx)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("isStandalone")
Packit 423ecb
        return (xmlSAX2IsStandalone(ctx));
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * hasInternalSubset:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 *
Packit 423ecb
 * Does this document has an internal subset
Packit 423ecb
 * DEPRECATED: use xmlSAX2HasInternalSubset()
Packit 423ecb
 *
Packit 423ecb
 * Returns 1 if true
Packit 423ecb
 */
Packit 423ecb
int
Packit 423ecb
hasInternalSubset(void *ctx)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("hasInternalSubset")
Packit 423ecb
        return (xmlSAX2HasInternalSubset(ctx));
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * hasExternalSubset:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 *
Packit 423ecb
 * Does this document has an external subset
Packit 423ecb
 * DEPRECATED: use xmlSAX2HasExternalSubset()
Packit 423ecb
 *
Packit 423ecb
 * Returns 1 if true
Packit 423ecb
 */
Packit 423ecb
int
Packit 423ecb
hasExternalSubset(void *ctx)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("hasExternalSubset")
Packit 423ecb
        return (xmlSAX2HasExternalSubset(ctx));
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * internalSubset:
Packit 423ecb
 * @ctx:  the user data (XML parser context)
Packit 423ecb
 * @name:  the root element name
Packit 423ecb
 * @ExternalID:  the external ID
Packit 423ecb
 * @SystemID:  the SYSTEM ID (e.g. filename or URL)
Packit 423ecb
 *
Packit 423ecb
 * Callback on internal subset declaration.
Packit 423ecb
 * DEPRECATED: use xmlSAX2InternalSubset()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
internalSubset(void *ctx, const xmlChar * name,
Packit 423ecb
               const xmlChar * ExternalID, const xmlChar * SystemID)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("internalSubset")
Packit 423ecb
        xmlSAX2InternalSubset(ctx, name, ExternalID, SystemID);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * externalSubset:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @name:  the root element name
Packit 423ecb
 * @ExternalID:  the external ID
Packit 423ecb
 * @SystemID:  the SYSTEM ID (e.g. filename or URL)
Packit 423ecb
 *
Packit 423ecb
 * Callback on external subset declaration.
Packit 423ecb
 * DEPRECATED: use xmlSAX2ExternalSubset()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
externalSubset(void *ctx, const xmlChar * name,
Packit 423ecb
               const xmlChar * ExternalID, const xmlChar * SystemID)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("externalSubset")
Packit 423ecb
        xmlSAX2ExternalSubset(ctx, name, ExternalID, SystemID);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * resolveEntity:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @publicId: The public ID of the entity
Packit 423ecb
 * @systemId: The system ID of the entity
Packit 423ecb
 *
Packit 423ecb
 * The entity loader, to control the loading of external entities,
Packit 423ecb
 * the application can either:
Packit 423ecb
 *    - override this resolveEntity() callback in the SAX block
Packit 423ecb
 *    - or better use the xmlSetExternalEntityLoader() function to
Packit 423ecb
 *      set up it's own entity resolution routine
Packit 423ecb
 * DEPRECATED: use xmlSAX2ResolveEntity()
Packit 423ecb
 *
Packit 423ecb
 * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
Packit 423ecb
 */
Packit 423ecb
xmlParserInputPtr
Packit 423ecb
resolveEntity(void *ctx, const xmlChar * publicId,
Packit 423ecb
              const xmlChar * systemId)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("resolveEntity")
Packit 423ecb
        return (xmlSAX2ResolveEntity(ctx, publicId, systemId));
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * getEntity:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @name: The entity name
Packit 423ecb
 *
Packit 423ecb
 * Get an entity by name
Packit 423ecb
 * DEPRECATED: use xmlSAX2GetEntity()
Packit 423ecb
 *
Packit 423ecb
 * Returns the xmlEntityPtr if found.
Packit 423ecb
 */
Packit 423ecb
xmlEntityPtr
Packit 423ecb
getEntity(void *ctx, const xmlChar * name)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("getEntity")
Packit 423ecb
        return (xmlSAX2GetEntity(ctx, name));
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * getParameterEntity:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @name: The entity name
Packit 423ecb
 *
Packit 423ecb
 * Get a parameter entity by name
Packit 423ecb
 * DEPRECATED: use xmlSAX2GetParameterEntity()
Packit 423ecb
 *
Packit 423ecb
 * Returns the xmlEntityPtr if found.
Packit 423ecb
 */
Packit 423ecb
xmlEntityPtr
Packit 423ecb
getParameterEntity(void *ctx, const xmlChar * name)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("getParameterEntity")
Packit 423ecb
        return (xmlSAX2GetParameterEntity(ctx, name));
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * entityDecl:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @name:  the entity name
Packit 423ecb
 * @type:  the entity type
Packit 423ecb
 * @publicId: The public ID of the entity
Packit 423ecb
 * @systemId: The system ID of the entity
Packit 423ecb
 * @content: the entity value (without processing).
Packit 423ecb
 *
Packit 423ecb
 * An entity definition has been parsed
Packit 423ecb
 * DEPRECATED: use xmlSAX2EntityDecl()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
entityDecl(void *ctx, const xmlChar * name, int type,
Packit 423ecb
           const xmlChar * publicId, const xmlChar * systemId,
Packit 423ecb
           xmlChar * content)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("entityDecl")
Packit 423ecb
        xmlSAX2EntityDecl(ctx, name, type, publicId, systemId, content);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * attributeDecl:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @elem:  the name of the element
Packit 423ecb
 * @fullname:  the attribute name
Packit 423ecb
 * @type:  the attribute type
Packit 423ecb
 * @def:  the type of default value
Packit 423ecb
 * @defaultValue: the attribute default value
Packit 423ecb
 * @tree:  the tree of enumerated value set
Packit 423ecb
 *
Packit 423ecb
 * An attribute definition has been parsed
Packit 423ecb
 * DEPRECATED: use xmlSAX2AttributeDecl()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
attributeDecl(void *ctx, const xmlChar * elem, const xmlChar * fullname,
Packit 423ecb
              int type, int def, const xmlChar * defaultValue,
Packit 423ecb
              xmlEnumerationPtr tree)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("attributeDecl")
Packit 423ecb
        xmlSAX2AttributeDecl(ctx, elem, fullname, type, def, defaultValue,
Packit 423ecb
                             tree);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * elementDecl:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @name:  the element name
Packit 423ecb
 * @type:  the element type
Packit 423ecb
 * @content: the element value tree
Packit 423ecb
 *
Packit 423ecb
 * An element definition has been parsed
Packit 423ecb
 * DEPRECATED: use xmlSAX2ElementDecl()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
elementDecl(void *ctx, const xmlChar * name, int type,
Packit 423ecb
            xmlElementContentPtr content)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("elementDecl")
Packit 423ecb
        xmlSAX2ElementDecl(ctx, name, type, content);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * notationDecl:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @name: The name of the notation
Packit 423ecb
 * @publicId: The public ID of the entity
Packit 423ecb
 * @systemId: The system ID of the entity
Packit 423ecb
 *
Packit 423ecb
 * What to do when a notation declaration has been parsed.
Packit 423ecb
 * DEPRECATED: use xmlSAX2NotationDecl()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
notationDecl(void *ctx, const xmlChar * name,
Packit 423ecb
             const xmlChar * publicId, const xmlChar * systemId)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("notationDecl")
Packit 423ecb
        xmlSAX2NotationDecl(ctx, name, publicId, systemId);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * unparsedEntityDecl:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @name: The name of the entity
Packit 423ecb
 * @publicId: The public ID of the entity
Packit 423ecb
 * @systemId: The system ID of the entity
Packit 423ecb
 * @notationName: the name of the notation
Packit 423ecb
 *
Packit 423ecb
 * What to do when an unparsed entity declaration is parsed
Packit 423ecb
 * DEPRECATED: use xmlSAX2UnparsedEntityDecl()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
unparsedEntityDecl(void *ctx, const xmlChar * name,
Packit 423ecb
                   const xmlChar * publicId, const xmlChar * systemId,
Packit 423ecb
                   const xmlChar * notationName)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("unparsedEntityDecl")
Packit 423ecb
        xmlSAX2UnparsedEntityDecl(ctx, name, publicId, systemId,
Packit 423ecb
                                  notationName);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * setDocumentLocator:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @loc: A SAX Locator
Packit 423ecb
 *
Packit 423ecb
 * Receive the document locator at startup, actually xmlDefaultSAXLocator
Packit 423ecb
 * Everything is available on the context, so this is useless in our case.
Packit 423ecb
 * DEPRECATED
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
setDocumentLocator(void *ctx ATTRIBUTE_UNUSED,
Packit 423ecb
                   xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("setDocumentLocator")
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * startDocument:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 *
Packit 423ecb
 * called when the document start being processed.
Packit 423ecb
 * DEPRECATED: use xmlSAX2StartDocument()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
startDocument(void *ctx)
Packit 423ecb
{
Packit 423ecb
   /* don't be too painful for glade users */
Packit 423ecb
   /*  DEPRECATED("startDocument") */
Packit 423ecb
        xmlSAX2StartDocument(ctx);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * endDocument:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 *
Packit 423ecb
 * called when the document end has been detected.
Packit 423ecb
 * DEPRECATED: use xmlSAX2EndDocument()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
endDocument(void *ctx)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("endDocument")
Packit 423ecb
        xmlSAX2EndDocument(ctx);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * attribute:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @fullname:  The attribute name, including namespace prefix
Packit 423ecb
 * @value:  The attribute value
Packit 423ecb
 *
Packit 423ecb
 * Handle an attribute that has been read by the parser.
Packit 423ecb
 * The default handling is to convert the attribute into an
Packit 423ecb
 * DOM subtree and past it in a new xmlAttr element added to
Packit 423ecb
 * the element.
Packit 423ecb
 * DEPRECATED: use xmlSAX2Attribute()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
attribute(void *ctx ATTRIBUTE_UNUSED,
Packit 423ecb
          const xmlChar * fullname ATTRIBUTE_UNUSED,
Packit 423ecb
          const xmlChar * value ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("attribute")
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * startElement:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @fullname:  The element name, including namespace prefix
Packit 423ecb
 * @atts:  An array of name/value attributes pairs, NULL terminated
Packit 423ecb
 *
Packit 423ecb
 * called when an opening tag has been processed.
Packit 423ecb
 * DEPRECATED: use xmlSAX2StartElement()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
startElement(void *ctx, const xmlChar * fullname, const xmlChar ** atts)
Packit 423ecb
{
Packit 423ecb
    xmlSAX2StartElement(ctx, fullname, atts);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * endElement:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @name:  The element name
Packit 423ecb
 *
Packit 423ecb
 * called when the end of an element has been detected.
Packit 423ecb
 * DEPRECATED: use xmlSAX2EndElement()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
endElement(void *ctx, const xmlChar * name ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("endElement")
Packit 423ecb
    xmlSAX2EndElement(ctx, name);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * reference:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @name:  The entity name
Packit 423ecb
 *
Packit 423ecb
 * called when an entity reference is detected.
Packit 423ecb
 * DEPRECATED: use xmlSAX2Reference()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
reference(void *ctx, const xmlChar * name)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("reference")
Packit 423ecb
        xmlSAX2Reference(ctx, name);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * characters:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @ch:  a xmlChar string
Packit 423ecb
 * @len: the number of xmlChar
Packit 423ecb
 *
Packit 423ecb
 * receiving some chars from the parser.
Packit 423ecb
 * DEPRECATED: use xmlSAX2Characters()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
characters(void *ctx, const xmlChar * ch, int len)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("characters")
Packit 423ecb
        xmlSAX2Characters(ctx, ch, len);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * ignorableWhitespace:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @ch:  a xmlChar string
Packit 423ecb
 * @len: the number of xmlChar
Packit 423ecb
 *
Packit 423ecb
 * receiving some ignorable whitespaces from the parser.
Packit 423ecb
 * UNUSED: by default the DOM building will use characters
Packit 423ecb
 * DEPRECATED: use xmlSAX2IgnorableWhitespace()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
ignorableWhitespace(void *ctx ATTRIBUTE_UNUSED,
Packit 423ecb
                    const xmlChar * ch ATTRIBUTE_UNUSED,
Packit 423ecb
                    int len ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("ignorableWhitespace")
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * processingInstruction:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @target:  the target name
Packit 423ecb
 * @data: the PI data's
Packit 423ecb
 *
Packit 423ecb
 * A processing instruction has been parsed.
Packit 423ecb
 * DEPRECATED: use xmlSAX2ProcessingInstruction()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
processingInstruction(void *ctx, const xmlChar * target,
Packit 423ecb
                      const xmlChar * data)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("processingInstruction")
Packit 423ecb
        xmlSAX2ProcessingInstruction(ctx, target, data);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * globalNamespace:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @href:  the namespace associated URN
Packit 423ecb
 * @prefix: the namespace prefix
Packit 423ecb
 *
Packit 423ecb
 * An old global namespace has been parsed.
Packit 423ecb
 * DEPRECATED
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
globalNamespace(void *ctx ATTRIBUTE_UNUSED,
Packit 423ecb
                const xmlChar * href ATTRIBUTE_UNUSED,
Packit 423ecb
                const xmlChar * prefix ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("globalNamespace")
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * setNamespace:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @name:  the namespace prefix
Packit 423ecb
 *
Packit 423ecb
 * Set the current element namespace.
Packit 423ecb
 * DEPRECATED
Packit 423ecb
 */
Packit 423ecb
Packit 423ecb
void
Packit 423ecb
setNamespace(void *ctx ATTRIBUTE_UNUSED,
Packit 423ecb
             const xmlChar * name ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("setNamespace")
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * getNamespace:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 *
Packit 423ecb
 * Get the current element namespace.
Packit 423ecb
 * DEPRECATED
Packit 423ecb
 *
Packit 423ecb
 * Returns the xmlNsPtr or NULL if none
Packit 423ecb
 */
Packit 423ecb
Packit 423ecb
xmlNsPtr
Packit 423ecb
getNamespace(void *ctx ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("getNamespace")
Packit 423ecb
        return (NULL);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * checkNamespace:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @namespace: the namespace to check against
Packit 423ecb
 *
Packit 423ecb
 * Check that the current element namespace is the same as the
Packit 423ecb
 * one read upon parsing.
Packit 423ecb
 * DEPRECATED
Packit 423ecb
 *
Packit 423ecb
 * Returns 1 if true 0 otherwise
Packit 423ecb
 */
Packit 423ecb
Packit 423ecb
int
Packit 423ecb
checkNamespace(void *ctx ATTRIBUTE_UNUSED,
Packit 423ecb
               xmlChar * namespace ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("checkNamespace")
Packit 423ecb
        return (0);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * namespaceDecl:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @href:  the namespace associated URN
Packit 423ecb
 * @prefix: the namespace prefix
Packit 423ecb
 *
Packit 423ecb
 * A namespace has been parsed.
Packit 423ecb
 * DEPRECATED
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
namespaceDecl(void *ctx ATTRIBUTE_UNUSED,
Packit 423ecb
              const xmlChar * href ATTRIBUTE_UNUSED,
Packit 423ecb
              const xmlChar * prefix ATTRIBUTE_UNUSED)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("namespaceDecl")
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * comment:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @value:  the comment content
Packit 423ecb
 *
Packit 423ecb
 * A comment has been parsed.
Packit 423ecb
 * DEPRECATED: use xmlSAX2Comment()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
comment(void *ctx, const xmlChar * value)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("comment")
Packit 423ecb
        xmlSAX2Comment(ctx, value);
Packit 423ecb
}
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * cdataBlock:
Packit 423ecb
 * @ctx: the user data (XML parser context)
Packit 423ecb
 * @value:  The pcdata content
Packit 423ecb
 * @len:  the block length
Packit 423ecb
 *
Packit 423ecb
 * called when a pcdata block has been parsed
Packit 423ecb
 * DEPRECATED: use xmlSAX2CDataBlock()
Packit 423ecb
 */
Packit 423ecb
void
Packit 423ecb
cdataBlock(void *ctx, const xmlChar * value, int len)
Packit 423ecb
{
Packit 423ecb
    DEPRECATED("cdataBlock")
Packit 423ecb
        xmlSAX2CDataBlock(ctx, value, len);
Packit 423ecb
}
Packit 423ecb
#define bottom_legacy
Packit 423ecb
#include "elfgcchack.h"
Packit 423ecb
#endif /* LIBXML_LEGACY_ENABLED */
Packit 423ecb