|
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 |
|