File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / legacy.c
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 19:53:29 2014 UTC (10 years ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, HEAD
libxml2 2.9.1

    1: /*
    2:  * legacy.c: set of deprecated routines, not to be used anymore but
    3:  *           kept purely for ABI compatibility
    4:  *
    5:  * See Copyright for the status of this software.
    6:  *
    7:  * daniel@veillard.com
    8:  */
    9: 
   10: #define IN_LIBXML
   11: #include "libxml.h"
   12: 
   13: #ifdef LIBXML_LEGACY_ENABLED
   14: #include <string.h>
   15: 
   16: #include <libxml/tree.h>
   17: #include <libxml/entities.h>
   18: #include <libxml/SAX.h>
   19: #include <libxml/parserInternals.h>
   20: #include <libxml/HTMLparser.h>
   21: 
   22: void xmlUpgradeOldNs(xmlDocPtr doc);
   23: 
   24: /************************************************************************
   25:  *									*
   26:  *		Deprecated functions kept for compatibility		*
   27:  *									*
   28:  ************************************************************************/
   29: 
   30: #ifdef LIBXML_HTML_ENABLED
   31: xmlChar *htmlDecodeEntities(htmlParserCtxtPtr ctxt, int len, xmlChar end,
   32:                             xmlChar end2, xmlChar end3);
   33: 
   34: /**
   35:  * htmlDecodeEntities:
   36:  * @ctxt:  the parser context
   37:  * @len:  the len to decode (in bytes !), -1 for no size limit
   38:  * @end:  an end marker xmlChar, 0 if none
   39:  * @end2:  an end marker xmlChar, 0 if none
   40:  * @end3:  an end marker xmlChar, 0 if none
   41:  *
   42:  * Substitute the HTML entities by their value
   43:  *
   44:  * DEPRECATED !!!!
   45:  *
   46:  * Returns A newly allocated string with the substitution done. The caller
   47:  *      must deallocate it !
   48:  */
   49: xmlChar *
   50: htmlDecodeEntities(htmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED,
   51:                    int len ATTRIBUTE_UNUSED, xmlChar end ATTRIBUTE_UNUSED,
   52:                    xmlChar end2 ATTRIBUTE_UNUSED,
   53:                    xmlChar end3 ATTRIBUTE_UNUSED)
   54: {
   55:     static int deprecated = 0;
   56: 
   57:     if (!deprecated) {
   58:         xmlGenericError(xmlGenericErrorContext,
   59:                         "htmlDecodeEntities() deprecated function reached\n");
   60:         deprecated = 1;
   61:     }
   62:     return (NULL);
   63: }
   64: #endif
   65: 
   66: /**
   67:  * xmlInitializePredefinedEntities:
   68:  *
   69:  * Set up the predefined entities.
   70:  * Deprecated call
   71:  */
   72: void
   73: xmlInitializePredefinedEntities(void)
   74: {
   75: }
   76: 
   77: /**
   78:  * xmlCleanupPredefinedEntities:
   79:  *
   80:  * Cleanup up the predefined entities table.
   81:  * Deprecated call
   82:  */
   83: void
   84: xmlCleanupPredefinedEntities(void)
   85: {
   86: }
   87: 
   88: static const char *xmlFeaturesList[] = {
   89:     "validate",
   90:     "load subset",
   91:     "keep blanks",
   92:     "disable SAX",
   93:     "fetch external entities",
   94:     "substitute entities",
   95:     "gather line info",
   96:     "user data",
   97:     "is html",
   98:     "is standalone",
   99:     "stop parser",
  100:     "document",
  101:     "is well formed",
  102:     "is valid",
  103:     "SAX block",
  104:     "SAX function internalSubset",
  105:     "SAX function isStandalone",
  106:     "SAX function hasInternalSubset",
  107:     "SAX function hasExternalSubset",
  108:     "SAX function resolveEntity",
  109:     "SAX function getEntity",
  110:     "SAX function entityDecl",
  111:     "SAX function notationDecl",
  112:     "SAX function attributeDecl",
  113:     "SAX function elementDecl",
  114:     "SAX function unparsedEntityDecl",
  115:     "SAX function setDocumentLocator",
  116:     "SAX function startDocument",
  117:     "SAX function endDocument",
  118:     "SAX function startElement",
  119:     "SAX function endElement",
  120:     "SAX function reference",
  121:     "SAX function characters",
  122:     "SAX function ignorableWhitespace",
  123:     "SAX function processingInstruction",
  124:     "SAX function comment",
  125:     "SAX function warning",
  126:     "SAX function error",
  127:     "SAX function fatalError",
  128:     "SAX function getParameterEntity",
  129:     "SAX function cdataBlock",
  130:     "SAX function externalSubset",
  131: };
  132: 
  133: /**
  134:  * xmlGetFeaturesList:
  135:  * @len:  the length of the features name array (input/output)
  136:  * @result:  an array of string to be filled with the features name.
  137:  *
  138:  * Copy at most *@len feature names into the @result array
  139:  *
  140:  * Returns -1 in case or error, or the total number of features,
  141:  *            len is updated with the number of strings copied,
  142:  *            strings must not be deallocated
  143:  */
  144: int
  145: xmlGetFeaturesList(int *len, const char **result)
  146: {
  147:     int ret, i;
  148: 
  149:     ret = sizeof(xmlFeaturesList) / sizeof(xmlFeaturesList[0]);
  150:     if ((len == NULL) || (result == NULL))
  151:         return (ret);
  152:     if ((*len < 0) || (*len >= 1000))
  153:         return (-1);
  154:     if (*len > ret)
  155:         *len = ret;
  156:     for (i = 0; i < *len; i++)
  157:         result[i] = xmlFeaturesList[i];
  158:     return (ret);
  159: }
  160: 
  161: /**
  162:  * xmlGetFeature:
  163:  * @ctxt:  an XML/HTML parser context
  164:  * @name:  the feature name
  165:  * @result:  location to store the result
  166:  *
  167:  * Read the current value of one feature of this parser instance
  168:  *
  169:  * Returns -1 in case or error, 0 otherwise
  170:  */
  171: int
  172: xmlGetFeature(xmlParserCtxtPtr ctxt, const char *name, void *result)
  173: {
  174:     if ((ctxt == NULL) || (name == NULL) || (result == NULL))
  175:         return (-1);
  176: 
  177:     if (!strcmp(name, "validate")) {
  178:         *((int *) result) = ctxt->validate;
  179:     } else if (!strcmp(name, "keep blanks")) {
  180:         *((int *) result) = ctxt->keepBlanks;
  181:     } else if (!strcmp(name, "disable SAX")) {
  182:         *((int *) result) = ctxt->disableSAX;
  183:     } else if (!strcmp(name, "fetch external entities")) {
  184:         *((int *) result) = ctxt->loadsubset;
  185:     } else if (!strcmp(name, "substitute entities")) {
  186:         *((int *) result) = ctxt->replaceEntities;
  187:     } else if (!strcmp(name, "gather line info")) {
  188:         *((int *) result) = ctxt->record_info;
  189:     } else if (!strcmp(name, "user data")) {
  190:         *((void **) result) = ctxt->userData;
  191:     } else if (!strcmp(name, "is html")) {
  192:         *((int *) result) = ctxt->html;
  193:     } else if (!strcmp(name, "is standalone")) {
  194:         *((int *) result) = ctxt->standalone;
  195:     } else if (!strcmp(name, "document")) {
  196:         *((xmlDocPtr *) result) = ctxt->myDoc;
  197:     } else if (!strcmp(name, "is well formed")) {
  198:         *((int *) result) = ctxt->wellFormed;
  199:     } else if (!strcmp(name, "is valid")) {
  200:         *((int *) result) = ctxt->valid;
  201:     } else if (!strcmp(name, "SAX block")) {
  202:         *((xmlSAXHandlerPtr *) result) = ctxt->sax;
  203:     } else if (!strcmp(name, "SAX function internalSubset")) {
  204:         *((internalSubsetSAXFunc *) result) = ctxt->sax->internalSubset;
  205:     } else if (!strcmp(name, "SAX function isStandalone")) {
  206:         *((isStandaloneSAXFunc *) result) = ctxt->sax->isStandalone;
  207:     } else if (!strcmp(name, "SAX function hasInternalSubset")) {
  208:         *((hasInternalSubsetSAXFunc *) result) =
  209:             ctxt->sax->hasInternalSubset;
  210:     } else if (!strcmp(name, "SAX function hasExternalSubset")) {
  211:         *((hasExternalSubsetSAXFunc *) result) =
  212:             ctxt->sax->hasExternalSubset;
  213:     } else if (!strcmp(name, "SAX function resolveEntity")) {
  214:         *((resolveEntitySAXFunc *) result) = ctxt->sax->resolveEntity;
  215:     } else if (!strcmp(name, "SAX function getEntity")) {
  216:         *((getEntitySAXFunc *) result) = ctxt->sax->getEntity;
  217:     } else if (!strcmp(name, "SAX function entityDecl")) {
  218:         *((entityDeclSAXFunc *) result) = ctxt->sax->entityDecl;
  219:     } else if (!strcmp(name, "SAX function notationDecl")) {
  220:         *((notationDeclSAXFunc *) result) = ctxt->sax->notationDecl;
  221:     } else if (!strcmp(name, "SAX function attributeDecl")) {
  222:         *((attributeDeclSAXFunc *) result) = ctxt->sax->attributeDecl;
  223:     } else if (!strcmp(name, "SAX function elementDecl")) {
  224:         *((elementDeclSAXFunc *) result) = ctxt->sax->elementDecl;
  225:     } else if (!strcmp(name, "SAX function unparsedEntityDecl")) {
  226:         *((unparsedEntityDeclSAXFunc *) result) =
  227:             ctxt->sax->unparsedEntityDecl;
  228:     } else if (!strcmp(name, "SAX function setDocumentLocator")) {
  229:         *((setDocumentLocatorSAXFunc *) result) =
  230:             ctxt->sax->setDocumentLocator;
  231:     } else if (!strcmp(name, "SAX function startDocument")) {
  232:         *((startDocumentSAXFunc *) result) = ctxt->sax->startDocument;
  233:     } else if (!strcmp(name, "SAX function endDocument")) {
  234:         *((endDocumentSAXFunc *) result) = ctxt->sax->endDocument;
  235:     } else if (!strcmp(name, "SAX function startElement")) {
  236:         *((startElementSAXFunc *) result) = ctxt->sax->startElement;
  237:     } else if (!strcmp(name, "SAX function endElement")) {
  238:         *((endElementSAXFunc *) result) = ctxt->sax->endElement;
  239:     } else if (!strcmp(name, "SAX function reference")) {
  240:         *((referenceSAXFunc *) result) = ctxt->sax->reference;
  241:     } else if (!strcmp(name, "SAX function characters")) {
  242:         *((charactersSAXFunc *) result) = ctxt->sax->characters;
  243:     } else if (!strcmp(name, "SAX function ignorableWhitespace")) {
  244:         *((ignorableWhitespaceSAXFunc *) result) =
  245:             ctxt->sax->ignorableWhitespace;
  246:     } else if (!strcmp(name, "SAX function processingInstruction")) {
  247:         *((processingInstructionSAXFunc *) result) =
  248:             ctxt->sax->processingInstruction;
  249:     } else if (!strcmp(name, "SAX function comment")) {
  250:         *((commentSAXFunc *) result) = ctxt->sax->comment;
  251:     } else if (!strcmp(name, "SAX function warning")) {
  252:         *((warningSAXFunc *) result) = ctxt->sax->warning;
  253:     } else if (!strcmp(name, "SAX function error")) {
  254:         *((errorSAXFunc *) result) = ctxt->sax->error;
  255:     } else if (!strcmp(name, "SAX function fatalError")) {
  256:         *((fatalErrorSAXFunc *) result) = ctxt->sax->fatalError;
  257:     } else if (!strcmp(name, "SAX function getParameterEntity")) {
  258:         *((getParameterEntitySAXFunc *) result) =
  259:             ctxt->sax->getParameterEntity;
  260:     } else if (!strcmp(name, "SAX function cdataBlock")) {
  261:         *((cdataBlockSAXFunc *) result) = ctxt->sax->cdataBlock;
  262:     } else if (!strcmp(name, "SAX function externalSubset")) {
  263:         *((externalSubsetSAXFunc *) result) = ctxt->sax->externalSubset;
  264:     } else {
  265:         return (-1);
  266:     }
  267:     return (0);
  268: }
  269: 
  270: /**
  271:  * xmlSetFeature:
  272:  * @ctxt:  an XML/HTML parser context
  273:  * @name:  the feature name
  274:  * @value:  pointer to the location of the new value
  275:  *
  276:  * Change the current value of one feature of this parser instance
  277:  *
  278:  * Returns -1 in case or error, 0 otherwise
  279:  */
  280: int
  281: xmlSetFeature(xmlParserCtxtPtr ctxt, const char *name, void *value)
  282: {
  283:     if ((ctxt == NULL) || (name == NULL) || (value == NULL))
  284:         return (-1);
  285: 
  286:     if (!strcmp(name, "validate")) {
  287:         int newvalidate = *((int *) value);
  288: 
  289:         if ((!ctxt->validate) && (newvalidate != 0)) {
  290:             if (ctxt->vctxt.warning == NULL)
  291:                 ctxt->vctxt.warning = xmlParserValidityWarning;
  292:             if (ctxt->vctxt.error == NULL)
  293:                 ctxt->vctxt.error = xmlParserValidityError;
  294:             ctxt->vctxt.nodeMax = 0;
  295:         }
  296:         ctxt->validate = newvalidate;
  297:     } else if (!strcmp(name, "keep blanks")) {
  298:         ctxt->keepBlanks = *((int *) value);
  299:     } else if (!strcmp(name, "disable SAX")) {
  300:         ctxt->disableSAX = *((int *) value);
  301:     } else if (!strcmp(name, "fetch external entities")) {
  302:         ctxt->loadsubset = *((int *) value);
  303:     } else if (!strcmp(name, "substitute entities")) {
  304:         ctxt->replaceEntities = *((int *) value);
  305:     } else if (!strcmp(name, "gather line info")) {
  306:         ctxt->record_info = *((int *) value);
  307:     } else if (!strcmp(name, "user data")) {
  308:         ctxt->userData = *((void **) value);
  309:     } else if (!strcmp(name, "is html")) {
  310:         ctxt->html = *((int *) value);
  311:     } else if (!strcmp(name, "is standalone")) {
  312:         ctxt->standalone = *((int *) value);
  313:     } else if (!strcmp(name, "document")) {
  314:         ctxt->myDoc = *((xmlDocPtr *) value);
  315:     } else if (!strcmp(name, "is well formed")) {
  316:         ctxt->wellFormed = *((int *) value);
  317:     } else if (!strcmp(name, "is valid")) {
  318:         ctxt->valid = *((int *) value);
  319:     } else if (!strcmp(name, "SAX block")) {
  320:         ctxt->sax = *((xmlSAXHandlerPtr *) value);
  321:     } else if (!strcmp(name, "SAX function internalSubset")) {
  322:         ctxt->sax->internalSubset = *((internalSubsetSAXFunc *) value);
  323:     } else if (!strcmp(name, "SAX function isStandalone")) {
  324:         ctxt->sax->isStandalone = *((isStandaloneSAXFunc *) value);
  325:     } else if (!strcmp(name, "SAX function hasInternalSubset")) {
  326:         ctxt->sax->hasInternalSubset =
  327:             *((hasInternalSubsetSAXFunc *) value);
  328:     } else if (!strcmp(name, "SAX function hasExternalSubset")) {
  329:         ctxt->sax->hasExternalSubset =
  330:             *((hasExternalSubsetSAXFunc *) value);
  331:     } else if (!strcmp(name, "SAX function resolveEntity")) {
  332:         ctxt->sax->resolveEntity = *((resolveEntitySAXFunc *) value);
  333:     } else if (!strcmp(name, "SAX function getEntity")) {
  334:         ctxt->sax->getEntity = *((getEntitySAXFunc *) value);
  335:     } else if (!strcmp(name, "SAX function entityDecl")) {
  336:         ctxt->sax->entityDecl = *((entityDeclSAXFunc *) value);
  337:     } else if (!strcmp(name, "SAX function notationDecl")) {
  338:         ctxt->sax->notationDecl = *((notationDeclSAXFunc *) value);
  339:     } else if (!strcmp(name, "SAX function attributeDecl")) {
  340:         ctxt->sax->attributeDecl = *((attributeDeclSAXFunc *) value);
  341:     } else if (!strcmp(name, "SAX function elementDecl")) {
  342:         ctxt->sax->elementDecl = *((elementDeclSAXFunc *) value);
  343:     } else if (!strcmp(name, "SAX function unparsedEntityDecl")) {
  344:         ctxt->sax->unparsedEntityDecl =
  345:             *((unparsedEntityDeclSAXFunc *) value);
  346:     } else if (!strcmp(name, "SAX function setDocumentLocator")) {
  347:         ctxt->sax->setDocumentLocator =
  348:             *((setDocumentLocatorSAXFunc *) value);
  349:     } else if (!strcmp(name, "SAX function startDocument")) {
  350:         ctxt->sax->startDocument = *((startDocumentSAXFunc *) value);
  351:     } else if (!strcmp(name, "SAX function endDocument")) {
  352:         ctxt->sax->endDocument = *((endDocumentSAXFunc *) value);
  353:     } else if (!strcmp(name, "SAX function startElement")) {
  354:         ctxt->sax->startElement = *((startElementSAXFunc *) value);
  355:     } else if (!strcmp(name, "SAX function endElement")) {
  356:         ctxt->sax->endElement = *((endElementSAXFunc *) value);
  357:     } else if (!strcmp(name, "SAX function reference")) {
  358:         ctxt->sax->reference = *((referenceSAXFunc *) value);
  359:     } else if (!strcmp(name, "SAX function characters")) {
  360:         ctxt->sax->characters = *((charactersSAXFunc *) value);
  361:     } else if (!strcmp(name, "SAX function ignorableWhitespace")) {
  362:         ctxt->sax->ignorableWhitespace =
  363:             *((ignorableWhitespaceSAXFunc *) value);
  364:     } else if (!strcmp(name, "SAX function processingInstruction")) {
  365:         ctxt->sax->processingInstruction =
  366:             *((processingInstructionSAXFunc *) value);
  367:     } else if (!strcmp(name, "SAX function comment")) {
  368:         ctxt->sax->comment = *((commentSAXFunc *) value);
  369:     } else if (!strcmp(name, "SAX function warning")) {
  370:         ctxt->sax->warning = *((warningSAXFunc *) value);
  371:     } else if (!strcmp(name, "SAX function error")) {
  372:         ctxt->sax->error = *((errorSAXFunc *) value);
  373:     } else if (!strcmp(name, "SAX function fatalError")) {
  374:         ctxt->sax->fatalError = *((fatalErrorSAXFunc *) value);
  375:     } else if (!strcmp(name, "SAX function getParameterEntity")) {
  376:         ctxt->sax->getParameterEntity =
  377:             *((getParameterEntitySAXFunc *) value);
  378:     } else if (!strcmp(name, "SAX function cdataBlock")) {
  379:         ctxt->sax->cdataBlock = *((cdataBlockSAXFunc *) value);
  380:     } else if (!strcmp(name, "SAX function externalSubset")) {
  381:         ctxt->sax->externalSubset = *((externalSubsetSAXFunc *) value);
  382:     } else {
  383:         return (-1);
  384:     }
  385:     return (0);
  386: }
  387: 
  388: /**
  389:  * xmlDecodeEntities:
  390:  * @ctxt:  the parser context
  391:  * @len:  the len to decode (in bytes !), -1 for no size limit
  392:  * @what:  combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
  393:  * @end:  an end marker xmlChar, 0 if none
  394:  * @end2:  an end marker xmlChar, 0 if none
  395:  * @end3:  an end marker xmlChar, 0 if none
  396:  *
  397:  * This function is deprecated, we now always process entities content
  398:  * through xmlStringDecodeEntities
  399:  *
  400:  * TODO: remove it in next major release.
  401:  *
  402:  * [67] Reference ::= EntityRef | CharRef
  403:  *
  404:  * [69] PEReference ::= '%' Name ';'
  405:  *
  406:  * Returns A newly allocated string with the substitution done. The caller
  407:  *      must deallocate it !
  408:  */
  409: xmlChar *
  410: xmlDecodeEntities(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED,
  411:                   int len ATTRIBUTE_UNUSED, int what ATTRIBUTE_UNUSED,
  412:                   xmlChar end ATTRIBUTE_UNUSED,
  413:                   xmlChar end2 ATTRIBUTE_UNUSED,
  414:                   xmlChar end3 ATTRIBUTE_UNUSED)
  415: {
  416:     static int deprecated = 0;
  417: 
  418:     if (!deprecated) {
  419:         xmlGenericError(xmlGenericErrorContext,
  420:                         "xmlDecodeEntities() deprecated function reached\n");
  421:         deprecated = 1;
  422:     }
  423:     return (NULL);
  424: }
  425: 
  426: /**
  427:  * xmlNamespaceParseNCName:
  428:  * @ctxt:  an XML parser context
  429:  *
  430:  * parse an XML namespace name.
  431:  *
  432:  * TODO: this seems not in use anymore, the namespace handling is done on
  433:  *       top of the SAX interfaces, i.e. not on raw input.
  434:  *
  435:  * [NS 3] NCName ::= (Letter | '_') (NCNameChar)*
  436:  *
  437:  * [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' |
  438:  *                       CombiningChar | Extender
  439:  *
  440:  * Returns the namespace name or NULL
  441:  */
  442: 
  443: xmlChar *
  444: xmlNamespaceParseNCName(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
  445: {
  446:     static int deprecated = 0;
  447: 
  448:     if (!deprecated) {
  449:         xmlGenericError(xmlGenericErrorContext,
  450:                         "xmlNamespaceParseNCName() deprecated function reached\n");
  451:         deprecated = 1;
  452:     }
  453:     return (NULL);
  454: }
  455: 
  456: /**
  457:  * xmlNamespaceParseQName:
  458:  * @ctxt:  an XML parser context
  459:  * @prefix:  a xmlChar **
  460:  *
  461:  * TODO: this seems not in use anymore, the namespace handling is done on
  462:  *       top of the SAX interfaces, i.e. not on raw input.
  463:  *
  464:  * parse an XML qualified name
  465:  *
  466:  * [NS 5] QName ::= (Prefix ':')? LocalPart
  467:  *
  468:  * [NS 6] Prefix ::= NCName
  469:  *
  470:  * [NS 7] LocalPart ::= NCName
  471:  *
  472:  * Returns the local part, and prefix is updated
  473:  *   to get the Prefix if any.
  474:  */
  475: 
  476: xmlChar *
  477: xmlNamespaceParseQName(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED,
  478:                        xmlChar ** prefix ATTRIBUTE_UNUSED)
  479: {
  480: 
  481:     static int deprecated = 0;
  482: 
  483:     if (!deprecated) {
  484:         xmlGenericError(xmlGenericErrorContext,
  485:                         "xmlNamespaceParseQName() deprecated function reached\n");
  486:         deprecated = 1;
  487:     }
  488:     return (NULL);
  489: }
  490: 
  491: /**
  492:  * xmlNamespaceParseNSDef:
  493:  * @ctxt:  an XML parser context
  494:  *
  495:  * parse a namespace prefix declaration
  496:  *
  497:  * TODO: this seems not in use anymore, the namespace handling is done on
  498:  *       top of the SAX interfaces, i.e. not on raw input.
  499:  *
  500:  * [NS 1] NSDef ::= PrefixDef Eq SystemLiteral
  501:  *
  502:  * [NS 2] PrefixDef ::= 'xmlns' (':' NCName)?
  503:  *
  504:  * Returns the namespace name
  505:  */
  506: 
  507: xmlChar *
  508: xmlNamespaceParseNSDef(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
  509: {
  510:     static int deprecated = 0;
  511: 
  512:     if (!deprecated) {
  513:         xmlGenericError(xmlGenericErrorContext,
  514:                         "xmlNamespaceParseNSDef() deprecated function reached\n");
  515:         deprecated = 1;
  516:     }
  517:     return (NULL);
  518: }
  519: 
  520: /**
  521:  * xmlParseQuotedString:
  522:  * @ctxt:  an XML parser context
  523:  *
  524:  * Parse and return a string between quotes or doublequotes
  525:  *
  526:  * TODO: Deprecated, to  be removed at next drop of binary compatibility
  527:  *
  528:  * Returns the string parser or NULL.
  529:  */
  530: xmlChar *
  531: xmlParseQuotedString(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
  532: {
  533:     static int deprecated = 0;
  534: 
  535:     if (!deprecated) {
  536:         xmlGenericError(xmlGenericErrorContext,
  537:                         "xmlParseQuotedString() deprecated function reached\n");
  538:         deprecated = 1;
  539:     }
  540:     return (NULL);
  541: }
  542: 
  543: /**
  544:  * xmlParseNamespace:
  545:  * @ctxt:  an XML parser context
  546:  *
  547:  * xmlParseNamespace: parse specific PI '<?namespace ...' constructs.
  548:  *
  549:  * This is what the older xml-name Working Draft specified, a bunch of
  550:  * other stuff may still rely on it, so support is still here as
  551:  * if it was declared on the root of the Tree:-(
  552:  *
  553:  * TODO: remove from library
  554:  *
  555:  * To be removed at next drop of binary compatibility
  556:  */
  557: 
  558: void
  559: xmlParseNamespace(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
  560: {
  561:     static int deprecated = 0;
  562: 
  563:     if (!deprecated) {
  564:         xmlGenericError(xmlGenericErrorContext,
  565:                         "xmlParseNamespace() deprecated function reached\n");
  566:         deprecated = 1;
  567:     }
  568: }
  569: 
  570: /**
  571:  * xmlScanName:
  572:  * @ctxt:  an XML parser context
  573:  *
  574:  * Trickery: parse an XML name but without consuming the input flow
  575:  * Needed for rollback cases. Used only when parsing entities references.
  576:  *
  577:  * TODO: seems deprecated now, only used in the default part of
  578:  *       xmlParserHandleReference
  579:  *
  580:  * [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
  581:  *                  CombiningChar | Extender
  582:  *
  583:  * [5] Name ::= (Letter | '_' | ':') (NameChar)*
  584:  *
  585:  * [6] Names ::= Name (S Name)*
  586:  *
  587:  * Returns the Name parsed or NULL
  588:  */
  589: 
  590: xmlChar *
  591: xmlScanName(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
  592: {
  593:     static int deprecated = 0;
  594: 
  595:     if (!deprecated) {
  596:         xmlGenericError(xmlGenericErrorContext,
  597:                         "xmlScanName() deprecated function reached\n");
  598:         deprecated = 1;
  599:     }
  600:     return (NULL);
  601: }
  602: 
  603: /**
  604:  * xmlParserHandleReference:
  605:  * @ctxt:  the parser context
  606:  *
  607:  * TODO: Remove, now deprecated ... the test is done directly in the
  608:  *       content parsing
  609:  * routines.
  610:  *
  611:  * [67] Reference ::= EntityRef | CharRef
  612:  *
  613:  * [68] EntityRef ::= '&' Name ';'
  614:  *
  615:  * [ WFC: Entity Declared ]
  616:  * the Name given in the entity reference must match that in an entity
  617:  * declaration, except that well-formed documents need not declare any
  618:  * of the following entities: amp, lt, gt, apos, quot.
  619:  *
  620:  * [ WFC: Parsed Entity ]
  621:  * An entity reference must not contain the name of an unparsed entity
  622:  *
  623:  * [66] CharRef ::= '&#' [0-9]+ ';' |
  624:  *                  '&#x' [0-9a-fA-F]+ ';'
  625:  *
  626:  * A PEReference may have been detected in the current input stream
  627:  * the handling is done accordingly to
  628:  *      http://www.w3.org/TR/REC-xml#entproc
  629:  */
  630: void
  631: xmlParserHandleReference(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
  632: {
  633:     static int deprecated = 0;
  634: 
  635:     if (!deprecated) {
  636:         xmlGenericError(xmlGenericErrorContext,
  637:                         "xmlParserHandleReference() deprecated function reached\n");
  638:         deprecated = 1;
  639:     }
  640: 
  641:     return;
  642: }
  643: 
  644: /**
  645:  * xmlHandleEntity:
  646:  * @ctxt:  an XML parser context
  647:  * @entity:  an XML entity pointer.
  648:  *
  649:  * Default handling of defined entities, when should we define a new input
  650:  * stream ? When do we just handle that as a set of chars ?
  651:  *
  652:  * OBSOLETE: to be removed at some point.
  653:  */
  654: 
  655: void
  656: xmlHandleEntity(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED,
  657:                 xmlEntityPtr entity ATTRIBUTE_UNUSED)
  658: {
  659:     static int deprecated = 0;
  660: 
  661:     if (!deprecated) {
  662:         xmlGenericError(xmlGenericErrorContext,
  663:                         "xmlHandleEntity() deprecated function reached\n");
  664:         deprecated = 1;
  665:     }
  666: }
  667: 
  668: /**
  669:  * xmlNewGlobalNs:
  670:  * @doc:  the document carrying the namespace
  671:  * @href:  the URI associated
  672:  * @prefix:  the prefix for the namespace
  673:  *
  674:  * Creation of a Namespace, the old way using PI and without scoping
  675:  *   DEPRECATED !!!
  676:  * Returns NULL this functionality had been removed
  677:  */
  678: xmlNsPtr
  679: xmlNewGlobalNs(xmlDocPtr doc ATTRIBUTE_UNUSED,
  680:                const xmlChar * href ATTRIBUTE_UNUSED,
  681:                const xmlChar * prefix ATTRIBUTE_UNUSED)
  682: {
  683:     static int deprecated = 0;
  684: 
  685:     if (!deprecated) {
  686:         xmlGenericError(xmlGenericErrorContext,
  687:                         "xmlNewGlobalNs() deprecated function reached\n");
  688:         deprecated = 1;
  689:     }
  690:     return (NULL);
  691: }
  692: 
  693: /**
  694:  * xmlUpgradeOldNs:
  695:  * @doc:  a document pointer
  696:  *
  697:  * Upgrade old style Namespaces (PI) and move them to the root of the document.
  698:  * DEPRECATED
  699:  */
  700: void
  701: xmlUpgradeOldNs(xmlDocPtr doc ATTRIBUTE_UNUSED)
  702: {
  703:     static int deprecated = 0;
  704: 
  705:     if (!deprecated) {
  706:         xmlGenericError(xmlGenericErrorContext,
  707:                         "xmlUpgradeOldNs() deprecated function reached\n");
  708:         deprecated = 1;
  709:     }
  710: }
  711: 
  712: /**
  713:  * xmlEncodeEntities:
  714:  * @doc:  the document containing the string
  715:  * @input:  A string to convert to XML.
  716:  *
  717:  * TODO: remove xmlEncodeEntities, once we are not afraid of breaking binary
  718:  *       compatibility
  719:  *
  720:  * People must migrate their code to xmlEncodeEntitiesReentrant !
  721:  * This routine will issue a warning when encountered.
  722:  *
  723:  * Returns NULL
  724:  */
  725: const xmlChar *
  726: xmlEncodeEntities(xmlDocPtr doc ATTRIBUTE_UNUSED,
  727:                   const xmlChar * input ATTRIBUTE_UNUSED)
  728: {
  729:     static int warning = 1;
  730: 
  731:     if (warning) {
  732:         xmlGenericError(xmlGenericErrorContext,
  733:                         "Deprecated API xmlEncodeEntities() used\n");
  734:         xmlGenericError(xmlGenericErrorContext,
  735:                         "   change code to use xmlEncodeEntitiesReentrant()\n");
  736:         warning = 0;
  737:     }
  738:     return (NULL);
  739: }
  740: 
  741: /************************************************************************
  742:  *									*
  743:  *		Old set of SAXv1 functions				*
  744:  *									*
  745:  ************************************************************************/
  746: static int deprecated_v1_msg = 0;
  747: 
  748: #define DEPRECATED(n)						\
  749:     if (deprecated_v1_msg == 0)					\
  750: 	xmlGenericError(xmlGenericErrorContext,			\
  751: 	  "Use of deprecated SAXv1 function %s\n", n);		\
  752:     deprecated_v1_msg++;
  753: 
  754: /**
  755:  * getPublicId:
  756:  * @ctx: the user data (XML parser context)
  757:  *
  758:  * Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"
  759:  * DEPRECATED: use xmlSAX2GetPublicId()
  760:  *
  761:  * Returns a xmlChar *
  762:  */
  763: const xmlChar *
  764: getPublicId(void *ctx)
  765: {
  766:     DEPRECATED("getPublicId")
  767:         return (xmlSAX2GetPublicId(ctx));
  768: }
  769: 
  770: /**
  771:  * getSystemId:
  772:  * @ctx: the user data (XML parser context)
  773:  *
  774:  * Provides the system ID, basically URL or filename e.g.
  775:  * http://www.sgmlsource.com/dtds/memo.dtd
  776:  * DEPRECATED: use xmlSAX2GetSystemId()
  777:  *
  778:  * Returns a xmlChar *
  779:  */
  780: const xmlChar *
  781: getSystemId(void *ctx)
  782: {
  783:     DEPRECATED("getSystemId")
  784:         return (xmlSAX2GetSystemId(ctx));
  785: }
  786: 
  787: /**
  788:  * getLineNumber:
  789:  * @ctx: the user data (XML parser context)
  790:  *
  791:  * Provide the line number of the current parsing point.
  792:  * DEPRECATED: use xmlSAX2GetLineNumber()
  793:  *
  794:  * Returns an int
  795:  */
  796: int
  797: getLineNumber(void *ctx)
  798: {
  799:     DEPRECATED("getLineNumber")
  800:         return (xmlSAX2GetLineNumber(ctx));
  801: }
  802: 
  803: /**
  804:  * getColumnNumber:
  805:  * @ctx: the user data (XML parser context)
  806:  *
  807:  * Provide the column number of the current parsing point.
  808:  * DEPRECATED: use xmlSAX2GetColumnNumber()
  809:  *
  810:  * Returns an int
  811:  */
  812: int
  813: getColumnNumber(void *ctx)
  814: {
  815:     DEPRECATED("getColumnNumber")
  816:         return (xmlSAX2GetColumnNumber(ctx));
  817: }
  818: 
  819: /**
  820:  * isStandalone:
  821:  * @ctx: the user data (XML parser context)
  822:  *
  823:  * Is this document tagged standalone ?
  824:  * DEPRECATED: use xmlSAX2IsStandalone()
  825:  *
  826:  * Returns 1 if true
  827:  */
  828: int
  829: isStandalone(void *ctx)
  830: {
  831:     DEPRECATED("isStandalone")
  832:         return (xmlSAX2IsStandalone(ctx));
  833: }
  834: 
  835: /**
  836:  * hasInternalSubset:
  837:  * @ctx: the user data (XML parser context)
  838:  *
  839:  * Does this document has an internal subset
  840:  * DEPRECATED: use xmlSAX2HasInternalSubset()
  841:  *
  842:  * Returns 1 if true
  843:  */
  844: int
  845: hasInternalSubset(void *ctx)
  846: {
  847:     DEPRECATED("hasInternalSubset")
  848:         return (xmlSAX2HasInternalSubset(ctx));
  849: }
  850: 
  851: /**
  852:  * hasExternalSubset:
  853:  * @ctx: the user data (XML parser context)
  854:  *
  855:  * Does this document has an external subset
  856:  * DEPRECATED: use xmlSAX2HasExternalSubset()
  857:  *
  858:  * Returns 1 if true
  859:  */
  860: int
  861: hasExternalSubset(void *ctx)
  862: {
  863:     DEPRECATED("hasExternalSubset")
  864:         return (xmlSAX2HasExternalSubset(ctx));
  865: }
  866: 
  867: /**
  868:  * internalSubset:
  869:  * @ctx:  the user data (XML parser context)
  870:  * @name:  the root element name
  871:  * @ExternalID:  the external ID
  872:  * @SystemID:  the SYSTEM ID (e.g. filename or URL)
  873:  *
  874:  * Callback on internal subset declaration.
  875:  * DEPRECATED: use xmlSAX2InternalSubset()
  876:  */
  877: void
  878: internalSubset(void *ctx, const xmlChar * name,
  879:                const xmlChar * ExternalID, const xmlChar * SystemID)
  880: {
  881:     DEPRECATED("internalSubset")
  882:         xmlSAX2InternalSubset(ctx, name, ExternalID, SystemID);
  883: }
  884: 
  885: /**
  886:  * externalSubset:
  887:  * @ctx: the user data (XML parser context)
  888:  * @name:  the root element name
  889:  * @ExternalID:  the external ID
  890:  * @SystemID:  the SYSTEM ID (e.g. filename or URL)
  891:  *
  892:  * Callback on external subset declaration.
  893:  * DEPRECATED: use xmlSAX2ExternalSubset()
  894:  */
  895: void
  896: externalSubset(void *ctx, const xmlChar * name,
  897:                const xmlChar * ExternalID, const xmlChar * SystemID)
  898: {
  899:     DEPRECATED("externalSubset")
  900:         xmlSAX2ExternalSubset(ctx, name, ExternalID, SystemID);
  901: }
  902: 
  903: /**
  904:  * resolveEntity:
  905:  * @ctx: the user data (XML parser context)
  906:  * @publicId: The public ID of the entity
  907:  * @systemId: The system ID of the entity
  908:  *
  909:  * The entity loader, to control the loading of external entities,
  910:  * the application can either:
  911:  *    - override this resolveEntity() callback in the SAX block
  912:  *    - or better use the xmlSetExternalEntityLoader() function to
  913:  *      set up it's own entity resolution routine
  914:  * DEPRECATED: use xmlSAX2ResolveEntity()
  915:  *
  916:  * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
  917:  */
  918: xmlParserInputPtr
  919: resolveEntity(void *ctx, const xmlChar * publicId,
  920:               const xmlChar * systemId)
  921: {
  922:     DEPRECATED("resolveEntity")
  923:         return (xmlSAX2ResolveEntity(ctx, publicId, systemId));
  924: }
  925: 
  926: /**
  927:  * getEntity:
  928:  * @ctx: the user data (XML parser context)
  929:  * @name: The entity name
  930:  *
  931:  * Get an entity by name
  932:  * DEPRECATED: use xmlSAX2GetEntity()
  933:  *
  934:  * Returns the xmlEntityPtr if found.
  935:  */
  936: xmlEntityPtr
  937: getEntity(void *ctx, const xmlChar * name)
  938: {
  939:     DEPRECATED("getEntity")
  940:         return (xmlSAX2GetEntity(ctx, name));
  941: }
  942: 
  943: /**
  944:  * getParameterEntity:
  945:  * @ctx: the user data (XML parser context)
  946:  * @name: The entity name
  947:  *
  948:  * Get a parameter entity by name
  949:  * DEPRECATED: use xmlSAX2GetParameterEntity()
  950:  *
  951:  * Returns the xmlEntityPtr if found.
  952:  */
  953: xmlEntityPtr
  954: getParameterEntity(void *ctx, const xmlChar * name)
  955: {
  956:     DEPRECATED("getParameterEntity")
  957:         return (xmlSAX2GetParameterEntity(ctx, name));
  958: }
  959: 
  960: 
  961: /**
  962:  * entityDecl:
  963:  * @ctx: the user data (XML parser context)
  964:  * @name:  the entity name
  965:  * @type:  the entity type
  966:  * @publicId: The public ID of the entity
  967:  * @systemId: The system ID of the entity
  968:  * @content: the entity value (without processing).
  969:  *
  970:  * An entity definition has been parsed
  971:  * DEPRECATED: use xmlSAX2EntityDecl()
  972:  */
  973: void
  974: entityDecl(void *ctx, const xmlChar * name, int type,
  975:            const xmlChar * publicId, const xmlChar * systemId,
  976:            xmlChar * content)
  977: {
  978:     DEPRECATED("entityDecl")
  979:         xmlSAX2EntityDecl(ctx, name, type, publicId, systemId, content);
  980: }
  981: 
  982: /**
  983:  * attributeDecl:
  984:  * @ctx: the user data (XML parser context)
  985:  * @elem:  the name of the element
  986:  * @fullname:  the attribute name
  987:  * @type:  the attribute type
  988:  * @def:  the type of default value
  989:  * @defaultValue: the attribute default value
  990:  * @tree:  the tree of enumerated value set
  991:  *
  992:  * An attribute definition has been parsed
  993:  * DEPRECATED: use xmlSAX2AttributeDecl()
  994:  */
  995: void
  996: attributeDecl(void *ctx, const xmlChar * elem, const xmlChar * fullname,
  997:               int type, int def, const xmlChar * defaultValue,
  998:               xmlEnumerationPtr tree)
  999: {
 1000:     DEPRECATED("attributeDecl")
 1001:         xmlSAX2AttributeDecl(ctx, elem, fullname, type, def, defaultValue,
 1002:                              tree);
 1003: }
 1004: 
 1005: /**
 1006:  * elementDecl:
 1007:  * @ctx: the user data (XML parser context)
 1008:  * @name:  the element name
 1009:  * @type:  the element type
 1010:  * @content: the element value tree
 1011:  *
 1012:  * An element definition has been parsed
 1013:  * DEPRECATED: use xmlSAX2ElementDecl()
 1014:  */
 1015: void
 1016: elementDecl(void *ctx, const xmlChar * name, int type,
 1017:             xmlElementContentPtr content)
 1018: {
 1019:     DEPRECATED("elementDecl")
 1020:         xmlSAX2ElementDecl(ctx, name, type, content);
 1021: }
 1022: 
 1023: /**
 1024:  * notationDecl:
 1025:  * @ctx: the user data (XML parser context)
 1026:  * @name: The name of the notation
 1027:  * @publicId: The public ID of the entity
 1028:  * @systemId: The system ID of the entity
 1029:  *
 1030:  * What to do when a notation declaration has been parsed.
 1031:  * DEPRECATED: use xmlSAX2NotationDecl()
 1032:  */
 1033: void
 1034: notationDecl(void *ctx, const xmlChar * name,
 1035:              const xmlChar * publicId, const xmlChar * systemId)
 1036: {
 1037:     DEPRECATED("notationDecl")
 1038:         xmlSAX2NotationDecl(ctx, name, publicId, systemId);
 1039: }
 1040: 
 1041: /**
 1042:  * unparsedEntityDecl:
 1043:  * @ctx: the user data (XML parser context)
 1044:  * @name: The name of the entity
 1045:  * @publicId: The public ID of the entity
 1046:  * @systemId: The system ID of the entity
 1047:  * @notationName: the name of the notation
 1048:  *
 1049:  * What to do when an unparsed entity declaration is parsed
 1050:  * DEPRECATED: use xmlSAX2UnparsedEntityDecl()
 1051:  */
 1052: void
 1053: unparsedEntityDecl(void *ctx, const xmlChar * name,
 1054:                    const xmlChar * publicId, const xmlChar * systemId,
 1055:                    const xmlChar * notationName)
 1056: {
 1057:     DEPRECATED("unparsedEntityDecl")
 1058:         xmlSAX2UnparsedEntityDecl(ctx, name, publicId, systemId,
 1059:                                   notationName);
 1060: }
 1061: 
 1062: /**
 1063:  * setDocumentLocator:
 1064:  * @ctx: the user data (XML parser context)
 1065:  * @loc: A SAX Locator
 1066:  *
 1067:  * Receive the document locator at startup, actually xmlDefaultSAXLocator
 1068:  * Everything is available on the context, so this is useless in our case.
 1069:  * DEPRECATED
 1070:  */
 1071: void
 1072: setDocumentLocator(void *ctx ATTRIBUTE_UNUSED,
 1073:                    xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED)
 1074: {
 1075:     DEPRECATED("setDocumentLocator")
 1076: }
 1077: 
 1078: /**
 1079:  * startDocument:
 1080:  * @ctx: the user data (XML parser context)
 1081:  *
 1082:  * called when the document start being processed.
 1083:  * DEPRECATED: use xmlSAX2StartDocument()
 1084:  */
 1085: void
 1086: startDocument(void *ctx)
 1087: {
 1088:    /* don't be too painful for glade users */
 1089:    /*  DEPRECATED("startDocument") */
 1090:         xmlSAX2StartDocument(ctx);
 1091: }
 1092: 
 1093: /**
 1094:  * endDocument:
 1095:  * @ctx: the user data (XML parser context)
 1096:  *
 1097:  * called when the document end has been detected.
 1098:  * DEPRECATED: use xmlSAX2EndDocument()
 1099:  */
 1100: void
 1101: endDocument(void *ctx)
 1102: {
 1103:     DEPRECATED("endDocument")
 1104:         xmlSAX2EndDocument(ctx);
 1105: }
 1106: 
 1107: /**
 1108:  * attribute:
 1109:  * @ctx: the user data (XML parser context)
 1110:  * @fullname:  The attribute name, including namespace prefix
 1111:  * @value:  The attribute value
 1112:  *
 1113:  * Handle an attribute that has been read by the parser.
 1114:  * The default handling is to convert the attribute into an
 1115:  * DOM subtree and past it in a new xmlAttr element added to
 1116:  * the element.
 1117:  * DEPRECATED: use xmlSAX2Attribute()
 1118:  */
 1119: void
 1120: attribute(void *ctx ATTRIBUTE_UNUSED,
 1121:           const xmlChar * fullname ATTRIBUTE_UNUSED,
 1122:           const xmlChar * value ATTRIBUTE_UNUSED)
 1123: {
 1124:     DEPRECATED("attribute")
 1125: }
 1126: 
 1127: /**
 1128:  * startElement:
 1129:  * @ctx: the user data (XML parser context)
 1130:  * @fullname:  The element name, including namespace prefix
 1131:  * @atts:  An array of name/value attributes pairs, NULL terminated
 1132:  *
 1133:  * called when an opening tag has been processed.
 1134:  * DEPRECATED: use xmlSAX2StartElement()
 1135:  */
 1136: void
 1137: startElement(void *ctx, const xmlChar * fullname, const xmlChar ** atts)
 1138: {
 1139:     xmlSAX2StartElement(ctx, fullname, atts);
 1140: }
 1141: 
 1142: /**
 1143:  * endElement:
 1144:  * @ctx: the user data (XML parser context)
 1145:  * @name:  The element name
 1146:  *
 1147:  * called when the end of an element has been detected.
 1148:  * DEPRECATED: use xmlSAX2EndElement()
 1149:  */
 1150: void
 1151: endElement(void *ctx, const xmlChar * name ATTRIBUTE_UNUSED)
 1152: {
 1153:     DEPRECATED("endElement")
 1154:         xmlSAX2EndElement(ctx, name);
 1155: }
 1156: 
 1157: /**
 1158:  * reference:
 1159:  * @ctx: the user data (XML parser context)
 1160:  * @name:  The entity name
 1161:  *
 1162:  * called when an entity reference is detected.
 1163:  * DEPRECATED: use xmlSAX2Reference()
 1164:  */
 1165: void
 1166: reference(void *ctx, const xmlChar * name)
 1167: {
 1168:     DEPRECATED("reference")
 1169:         xmlSAX2Reference(ctx, name);
 1170: }
 1171: 
 1172: /**
 1173:  * characters:
 1174:  * @ctx: the user data (XML parser context)
 1175:  * @ch:  a xmlChar string
 1176:  * @len: the number of xmlChar
 1177:  *
 1178:  * receiving some chars from the parser.
 1179:  * DEPRECATED: use xmlSAX2Characters()
 1180:  */
 1181: void
 1182: characters(void *ctx, const xmlChar * ch, int len)
 1183: {
 1184:     DEPRECATED("characters")
 1185:         xmlSAX2Characters(ctx, ch, len);
 1186: }
 1187: 
 1188: /**
 1189:  * ignorableWhitespace:
 1190:  * @ctx: the user data (XML parser context)
 1191:  * @ch:  a xmlChar string
 1192:  * @len: the number of xmlChar
 1193:  *
 1194:  * receiving some ignorable whitespaces from the parser.
 1195:  * UNUSED: by default the DOM building will use characters
 1196:  * DEPRECATED: use xmlSAX2IgnorableWhitespace()
 1197:  */
 1198: void
 1199: ignorableWhitespace(void *ctx ATTRIBUTE_UNUSED,
 1200:                     const xmlChar * ch ATTRIBUTE_UNUSED,
 1201:                     int len ATTRIBUTE_UNUSED)
 1202: {
 1203:     DEPRECATED("ignorableWhitespace")
 1204: }
 1205: 
 1206: /**
 1207:  * processingInstruction:
 1208:  * @ctx: the user data (XML parser context)
 1209:  * @target:  the target name
 1210:  * @data: the PI data's
 1211:  *
 1212:  * A processing instruction has been parsed.
 1213:  * DEPRECATED: use xmlSAX2ProcessingInstruction()
 1214:  */
 1215: void
 1216: processingInstruction(void *ctx, const xmlChar * target,
 1217:                       const xmlChar * data)
 1218: {
 1219:     DEPRECATED("processingInstruction")
 1220:         xmlSAX2ProcessingInstruction(ctx, target, data);
 1221: }
 1222: 
 1223: /**
 1224:  * globalNamespace:
 1225:  * @ctx: the user data (XML parser context)
 1226:  * @href:  the namespace associated URN
 1227:  * @prefix: the namespace prefix
 1228:  *
 1229:  * An old global namespace has been parsed.
 1230:  * DEPRECATED
 1231:  */
 1232: void
 1233: globalNamespace(void *ctx ATTRIBUTE_UNUSED,
 1234:                 const xmlChar * href ATTRIBUTE_UNUSED,
 1235:                 const xmlChar * prefix ATTRIBUTE_UNUSED)
 1236: {
 1237:     DEPRECATED("globalNamespace")
 1238: }
 1239: 
 1240: /**
 1241:  * setNamespace:
 1242:  * @ctx: the user data (XML parser context)
 1243:  * @name:  the namespace prefix
 1244:  *
 1245:  * Set the current element namespace.
 1246:  * DEPRECATED
 1247:  */
 1248: 
 1249: void
 1250: setNamespace(void *ctx ATTRIBUTE_UNUSED,
 1251:              const xmlChar * name ATTRIBUTE_UNUSED)
 1252: {
 1253:     DEPRECATED("setNamespace")
 1254: }
 1255: 
 1256: /**
 1257:  * getNamespace:
 1258:  * @ctx: the user data (XML parser context)
 1259:  *
 1260:  * Get the current element namespace.
 1261:  * DEPRECATED
 1262:  *
 1263:  * Returns the xmlNsPtr or NULL if none
 1264:  */
 1265: 
 1266: xmlNsPtr
 1267: getNamespace(void *ctx ATTRIBUTE_UNUSED)
 1268: {
 1269:     DEPRECATED("getNamespace")
 1270:         return (NULL);
 1271: }
 1272: 
 1273: /**
 1274:  * checkNamespace:
 1275:  * @ctx: the user data (XML parser context)
 1276:  * @namespace: the namespace to check against
 1277:  *
 1278:  * Check that the current element namespace is the same as the
 1279:  * one read upon parsing.
 1280:  * DEPRECATED
 1281:  *
 1282:  * Returns 1 if true 0 otherwise
 1283:  */
 1284: 
 1285: int
 1286: checkNamespace(void *ctx ATTRIBUTE_UNUSED,
 1287:                xmlChar * namespace ATTRIBUTE_UNUSED)
 1288: {
 1289:     DEPRECATED("checkNamespace")
 1290:         return (0);
 1291: }
 1292: 
 1293: /**
 1294:  * namespaceDecl:
 1295:  * @ctx: the user data (XML parser context)
 1296:  * @href:  the namespace associated URN
 1297:  * @prefix: the namespace prefix
 1298:  *
 1299:  * A namespace has been parsed.
 1300:  * DEPRECATED
 1301:  */
 1302: void
 1303: namespaceDecl(void *ctx ATTRIBUTE_UNUSED,
 1304:               const xmlChar * href ATTRIBUTE_UNUSED,
 1305:               const xmlChar * prefix ATTRIBUTE_UNUSED)
 1306: {
 1307:     DEPRECATED("namespaceDecl")
 1308: }
 1309: 
 1310: /**
 1311:  * comment:
 1312:  * @ctx: the user data (XML parser context)
 1313:  * @value:  the comment content
 1314:  *
 1315:  * A comment has been parsed.
 1316:  * DEPRECATED: use xmlSAX2Comment()
 1317:  */
 1318: void
 1319: comment(void *ctx, const xmlChar * value)
 1320: {
 1321:     DEPRECATED("comment")
 1322:         xmlSAX2Comment(ctx, value);
 1323: }
 1324: 
 1325: /**
 1326:  * cdataBlock:
 1327:  * @ctx: the user data (XML parser context)
 1328:  * @value:  The pcdata content
 1329:  * @len:  the block length
 1330:  *
 1331:  * called when a pcdata block has been parsed
 1332:  * DEPRECATED: use xmlSAX2CDataBlock()
 1333:  */
 1334: void
 1335: cdataBlock(void *ctx, const xmlChar * value, int len)
 1336: {
 1337:     DEPRECATED("cdataBlock")
 1338:         xmlSAX2CDataBlock(ctx, value, len);
 1339: }
 1340: #define bottom_legacy
 1341: #include "elfgcchack.h"
 1342: #endif /* LIBXML_LEGACY_ENABLED */
 1343: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>