Annotation of embedaddon/libxml2/legacy.c, revision 1.1.1.2

1.1       misho       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
1.1.1.2 ! misho     396:  *
1.1       misho     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
1.1.1.2 ! misho     459:  * @prefix:  a xmlChar **
1.1       misho     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
1.1.1.2 ! misho     606:  *
1.1       misho     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
1.1.1.2 ! misho     618:  * of the following entities: amp, lt, gt, apos, quot.
1.1       misho     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
1.1.1.2 ! misho     627:  * the handling is done accordingly to
1.1       misho     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
1.1.1.2 ! misho     696:  *
1.1       misho     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.
1.1.1.2 ! misho     722:  *
1.1       misho     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:  *                                                                     *
1.1.1.2 ! misho     743:  *             Old set of SAXv1 functions                              *
1.1       misho     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)
1.1.1.2 ! misho     964:  * @name:  the entity name
        !           965:  * @type:  the entity type
1.1       misho     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
1.1.1.2 ! misho     986:  * @fullname:  the attribute name
        !           987:  * @type:  the attribute type
1.1       misho     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)
1.1.1.2 ! misho    1008:  * @name:  the element name
        !          1009:  * @type:  the element type
1.1       misho    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:  *
1.1.1.2 ! misho    1162:  * called when an entity reference is detected.
1.1       misho    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>