File indexing completed on 2025-02-22 10:41:49
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef __XML_PARSER_H__
0011 #define __XML_PARSER_H__
0012
0013
0014 #include <libxml/xmlversion.h>
0015 #define XML_TREE_INTERNALS
0016 #include <libxml/tree.h>
0017 #undef XML_TREE_INTERNALS
0018 #include <libxml/dict.h>
0019 #include <libxml/hash.h>
0020 #include <libxml/valid.h>
0021 #include <libxml/entities.h>
0022 #include <libxml/xmlerror.h>
0023 #include <libxml/xmlstring.h>
0024 #include <libxml/xmlmemory.h>
0025 #include <libxml/encoding.h>
0026 #include <libxml/xmlIO.h>
0027
0028 #include <libxml/SAX2.h>
0029 #include <libxml/threads.h>
0030
0031
0032 #ifdef __cplusplus
0033 extern "C" {
0034 #endif
0035
0036
0037
0038
0039
0040
0041 #define XML_DEFAULT_VERSION "1.0"
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060 typedef void (* xmlParserInputDeallocate)(xmlChar *str);
0061
0062 struct _xmlParserInput {
0063
0064 xmlParserInputBufferPtr buf;
0065
0066 const char *filename;
0067 const char *directory;
0068 const xmlChar *base;
0069 const xmlChar *cur;
0070 const xmlChar *end;
0071 int length;
0072 int line;
0073 int col;
0074 unsigned long consumed;
0075 xmlParserInputDeallocate free;
0076 const xmlChar *encoding;
0077 const xmlChar *version;
0078 int flags;
0079 int id;
0080 unsigned long parentConsumed;
0081 xmlEntityPtr entity;
0082 };
0083
0084
0085
0086
0087
0088
0089
0090
0091 typedef struct _xmlParserNodeInfo xmlParserNodeInfo;
0092 typedef xmlParserNodeInfo *xmlParserNodeInfoPtr;
0093
0094 struct _xmlParserNodeInfo {
0095 const struct _xmlNode* node;
0096
0097 unsigned long begin_pos;
0098 unsigned long begin_line;
0099 unsigned long end_pos;
0100 unsigned long end_line;
0101 };
0102
0103 typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
0104 typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
0105 struct _xmlParserNodeInfoSeq {
0106 unsigned long maximum;
0107 unsigned long length;
0108 xmlParserNodeInfo* buffer;
0109 };
0110
0111
0112
0113
0114
0115
0116
0117 typedef enum {
0118 XML_PARSER_EOF = -1,
0119 XML_PARSER_START = 0,
0120 XML_PARSER_MISC,
0121 XML_PARSER_PI,
0122 XML_PARSER_DTD,
0123 XML_PARSER_PROLOG,
0124 XML_PARSER_COMMENT,
0125 XML_PARSER_START_TAG,
0126 XML_PARSER_CONTENT,
0127 XML_PARSER_CDATA_SECTION,
0128 XML_PARSER_END_TAG,
0129 XML_PARSER_ENTITY_DECL,
0130 XML_PARSER_ENTITY_VALUE,
0131 XML_PARSER_ATTRIBUTE_VALUE,
0132 XML_PARSER_SYSTEM_LITERAL,
0133 XML_PARSER_EPILOG,
0134 XML_PARSER_IGNORE,
0135 XML_PARSER_PUBLIC_LITERAL,
0136 XML_PARSER_XML_DECL
0137 } xmlParserInputState;
0138
0139
0140
0141
0142
0143 #define XML_DETECT_IDS 2
0144 #define XML_COMPLETE_ATTRS 4
0145 #define XML_SKIP_IDS 8
0146
0147
0148
0149
0150
0151
0152
0153 typedef enum {
0154 XML_PARSE_UNKNOWN = 0,
0155 XML_PARSE_DOM = 1,
0156 XML_PARSE_SAX = 2,
0157 XML_PARSE_PUSH_DOM = 3,
0158 XML_PARSE_PUSH_SAX = 4,
0159 XML_PARSE_READER = 5
0160 } xmlParserMode;
0161
0162 typedef struct _xmlStartTag xmlStartTag;
0163 typedef struct _xmlParserNsData xmlParserNsData;
0164 typedef struct _xmlAttrHashBucket xmlAttrHashBucket;
0165
0166
0167
0168
0169
0170
0171
0172
0173
0174
0175
0176
0177
0178 struct _xmlParserCtxt {
0179 struct _xmlSAXHandler *sax;
0180 void *userData;
0181 xmlDocPtr myDoc;
0182 int wellFormed;
0183 int replaceEntities;
0184 const xmlChar *version;
0185 const xmlChar *encoding;
0186 int standalone;
0187 int html;
0188
0189
0190
0191
0192
0193 xmlParserInputPtr input;
0194 int inputNr;
0195 int inputMax;
0196 xmlParserInputPtr *inputTab;
0197
0198
0199 xmlNodePtr node;
0200 int nodeNr;
0201 int nodeMax;
0202 xmlNodePtr *nodeTab;
0203
0204 int record_info;
0205 xmlParserNodeInfoSeq node_seq;
0206
0207 int errNo;
0208
0209 int hasExternalSubset;
0210 int hasPErefs;
0211 int external;
0212
0213 int valid;
0214 int validate;
0215 xmlValidCtxt vctxt;
0216
0217 xmlParserInputState instate;
0218 int token;
0219
0220 char *directory;
0221
0222
0223 const xmlChar *name;
0224 int nameNr;
0225 int nameMax;
0226 const xmlChar * *nameTab;
0227
0228 long nbChars;
0229 long checkIndex;
0230 int keepBlanks;
0231 int disableSAX;
0232 int inSubset;
0233 const xmlChar * intSubName;
0234 xmlChar * extSubURI;
0235 xmlChar * extSubSystem;
0236
0237
0238 int * space;
0239 int spaceNr;
0240 int spaceMax;
0241 int * spaceTab;
0242
0243 int depth;
0244 xmlParserInputPtr entity;
0245 int charset;
0246 int nodelen;
0247 int nodemem;
0248 int pedantic;
0249 void *_private;
0250
0251 int loadsubset;
0252 int linenumbers;
0253 void *catalogs;
0254 int recovery;
0255 int progressive;
0256 xmlDictPtr dict;
0257 const xmlChar * *atts;
0258 int maxatts;
0259 int docdict;
0260
0261
0262
0263
0264 const xmlChar *str_xml;
0265 const xmlChar *str_xmlns;
0266 const xmlChar *str_xml_ns;
0267
0268
0269
0270
0271 int sax2;
0272 int nsNr;
0273 int nsMax;
0274 const xmlChar * *nsTab;
0275 unsigned *attallocs;
0276 xmlStartTag *pushTab;
0277 xmlHashTablePtr attsDefault;
0278 xmlHashTablePtr attsSpecial;
0279 int nsWellFormed;
0280 int options;
0281
0282
0283
0284
0285 int dictNames;
0286 int freeElemsNr;
0287 xmlNodePtr freeElems;
0288 int freeAttrsNr;
0289 xmlAttrPtr freeAttrs;
0290
0291
0292
0293
0294 xmlError lastError;
0295 xmlParserMode parseMode;
0296 unsigned long nbentities;
0297 unsigned long sizeentities;
0298
0299
0300 xmlParserNodeInfo *nodeInfo;
0301 int nodeInfoNr;
0302 int nodeInfoMax;
0303 xmlParserNodeInfo *nodeInfoTab;
0304
0305 int input_id;
0306 unsigned long sizeentcopy;
0307
0308 int endCheckState;
0309 unsigned short nbErrors;
0310 unsigned short nbWarnings;
0311 unsigned maxAmpl;
0312
0313 xmlParserNsData *nsdb;
0314 unsigned attrHashMax;
0315 xmlAttrHashBucket *attrHash;
0316
0317 xmlStructuredErrorFunc errorHandler;
0318 void *errorCtxt;
0319 };
0320
0321
0322
0323
0324
0325
0326 struct _xmlSAXLocator {
0327 const xmlChar *(*getPublicId)(void *ctx);
0328 const xmlChar *(*getSystemId)(void *ctx);
0329 int (*getLineNumber)(void *ctx);
0330 int (*getColumnNumber)(void *ctx);
0331 };
0332
0333
0334
0335
0336
0337
0338
0339
0340
0341
0342
0343
0344
0345
0346
0347
0348
0349
0350
0351
0352
0353
0354
0355 typedef xmlParserInputPtr (*resolveEntitySAXFunc) (void *ctx,
0356 const xmlChar *publicId,
0357 const xmlChar *systemId);
0358
0359
0360
0361
0362
0363
0364
0365
0366
0367 typedef void (*internalSubsetSAXFunc) (void *ctx,
0368 const xmlChar *name,
0369 const xmlChar *ExternalID,
0370 const xmlChar *SystemID);
0371
0372
0373
0374
0375
0376
0377
0378
0379
0380 typedef void (*externalSubsetSAXFunc) (void *ctx,
0381 const xmlChar *name,
0382 const xmlChar *ExternalID,
0383 const xmlChar *SystemID);
0384
0385
0386
0387
0388
0389
0390
0391
0392
0393 typedef xmlEntityPtr (*getEntitySAXFunc) (void *ctx,
0394 const xmlChar *name);
0395
0396
0397
0398
0399
0400
0401
0402
0403
0404 typedef xmlEntityPtr (*getParameterEntitySAXFunc) (void *ctx,
0405 const xmlChar *name);
0406
0407
0408
0409
0410
0411
0412
0413
0414
0415
0416
0417 typedef void (*entityDeclSAXFunc) (void *ctx,
0418 const xmlChar *name,
0419 int type,
0420 const xmlChar *publicId,
0421 const xmlChar *systemId,
0422 xmlChar *content);
0423
0424
0425
0426
0427
0428
0429
0430
0431
0432 typedef void (*notationDeclSAXFunc)(void *ctx,
0433 const xmlChar *name,
0434 const xmlChar *publicId,
0435 const xmlChar *systemId);
0436
0437
0438
0439
0440
0441
0442
0443
0444
0445
0446
0447
0448 typedef void (*attributeDeclSAXFunc)(void *ctx,
0449 const xmlChar *elem,
0450 const xmlChar *fullname,
0451 int type,
0452 int def,
0453 const xmlChar *defaultValue,
0454 xmlEnumerationPtr tree);
0455
0456
0457
0458
0459
0460
0461
0462
0463
0464 typedef void (*elementDeclSAXFunc)(void *ctx,
0465 const xmlChar *name,
0466 int type,
0467 xmlElementContentPtr content);
0468
0469
0470
0471
0472
0473
0474
0475
0476
0477
0478 typedef void (*unparsedEntityDeclSAXFunc)(void *ctx,
0479 const xmlChar *name,
0480 const xmlChar *publicId,
0481 const xmlChar *systemId,
0482 const xmlChar *notationName);
0483
0484
0485
0486
0487
0488
0489
0490
0491 typedef void (*setDocumentLocatorSAXFunc) (void *ctx,
0492 xmlSAXLocatorPtr loc);
0493
0494
0495
0496
0497
0498
0499 typedef void (*startDocumentSAXFunc) (void *ctx);
0500
0501
0502
0503
0504
0505
0506 typedef void (*endDocumentSAXFunc) (void *ctx);
0507
0508
0509
0510
0511
0512
0513
0514
0515 typedef void (*startElementSAXFunc) (void *ctx,
0516 const xmlChar *name,
0517 const xmlChar **atts);
0518
0519
0520
0521
0522
0523
0524
0525 typedef void (*endElementSAXFunc) (void *ctx,
0526 const xmlChar *name);
0527
0528
0529
0530
0531
0532
0533
0534
0535
0536
0537
0538 typedef void (*attributeSAXFunc) (void *ctx,
0539 const xmlChar *name,
0540 const xmlChar *value);
0541
0542
0543
0544
0545
0546
0547
0548 typedef void (*referenceSAXFunc) (void *ctx,
0549 const xmlChar *name);
0550
0551
0552
0553
0554
0555
0556
0557
0558 typedef void (*charactersSAXFunc) (void *ctx,
0559 const xmlChar *ch,
0560 int len);
0561
0562
0563
0564
0565
0566
0567
0568
0569
0570 typedef void (*ignorableWhitespaceSAXFunc) (void *ctx,
0571 const xmlChar *ch,
0572 int len);
0573
0574
0575
0576
0577
0578
0579
0580
0581 typedef void (*processingInstructionSAXFunc) (void *ctx,
0582 const xmlChar *target,
0583 const xmlChar *data);
0584
0585
0586
0587
0588
0589
0590
0591 typedef void (*commentSAXFunc) (void *ctx,
0592 const xmlChar *value);
0593
0594
0595
0596
0597
0598
0599
0600
0601 typedef void (*cdataBlockSAXFunc) (
0602 void *ctx,
0603 const xmlChar *value,
0604 int len);
0605
0606
0607
0608
0609
0610
0611
0612
0613 typedef void (*warningSAXFunc) (void *ctx,
0614 const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
0615
0616
0617
0618
0619
0620
0621
0622
0623 typedef void (*errorSAXFunc) (void *ctx,
0624 const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
0625
0626
0627
0628
0629
0630
0631
0632
0633
0634
0635 typedef void (*fatalErrorSAXFunc) (void *ctx,
0636 const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
0637
0638
0639
0640
0641
0642
0643
0644
0645 typedef int (*isStandaloneSAXFunc) (void *ctx);
0646
0647
0648
0649
0650
0651
0652
0653
0654 typedef int (*hasInternalSubsetSAXFunc) (void *ctx);
0655
0656
0657
0658
0659
0660
0661
0662
0663
0664 typedef int (*hasExternalSubsetSAXFunc) (void *ctx);
0665
0666
0667
0668
0669
0670
0671
0672
0673
0674
0675
0676 #define XML_SAX2_MAGIC 0xDEEDBEAF
0677
0678
0679
0680
0681
0682
0683
0684
0685
0686
0687
0688
0689
0690
0691
0692
0693
0694
0695
0696
0697 typedef void (*startElementNsSAX2Func) (void *ctx,
0698 const xmlChar *localname,
0699 const xmlChar *prefix,
0700 const xmlChar *URI,
0701 int nb_namespaces,
0702 const xmlChar **namespaces,
0703 int nb_attributes,
0704 int nb_defaulted,
0705 const xmlChar **attributes);
0706
0707
0708
0709
0710
0711
0712
0713
0714
0715
0716
0717
0718 typedef void (*endElementNsSAX2Func) (void *ctx,
0719 const xmlChar *localname,
0720 const xmlChar *prefix,
0721 const xmlChar *URI);
0722
0723
0724 struct _xmlSAXHandler {
0725 internalSubsetSAXFunc internalSubset;
0726 isStandaloneSAXFunc isStandalone;
0727 hasInternalSubsetSAXFunc hasInternalSubset;
0728 hasExternalSubsetSAXFunc hasExternalSubset;
0729 resolveEntitySAXFunc resolveEntity;
0730 getEntitySAXFunc getEntity;
0731 entityDeclSAXFunc entityDecl;
0732 notationDeclSAXFunc notationDecl;
0733 attributeDeclSAXFunc attributeDecl;
0734 elementDeclSAXFunc elementDecl;
0735 unparsedEntityDeclSAXFunc unparsedEntityDecl;
0736 setDocumentLocatorSAXFunc setDocumentLocator;
0737 startDocumentSAXFunc startDocument;
0738 endDocumentSAXFunc endDocument;
0739
0740
0741
0742
0743
0744
0745
0746
0747
0748
0749
0750
0751
0752 startElementSAXFunc startElement;
0753 endElementSAXFunc endElement;
0754 referenceSAXFunc reference;
0755 charactersSAXFunc characters;
0756 ignorableWhitespaceSAXFunc ignorableWhitespace;
0757 processingInstructionSAXFunc processingInstruction;
0758 commentSAXFunc comment;
0759 warningSAXFunc warning;
0760 errorSAXFunc error;
0761 fatalErrorSAXFunc fatalError;
0762 getParameterEntitySAXFunc getParameterEntity;
0763 cdataBlockSAXFunc cdataBlock;
0764 externalSubsetSAXFunc externalSubset;
0765
0766
0767
0768
0769 unsigned int initialized;
0770
0771
0772
0773 void *_private;
0774 startElementNsSAX2Func startElementNs;
0775 endElementNsSAX2Func endElementNs;
0776 xmlStructuredErrorFunc serror;
0777 };
0778
0779
0780
0781
0782 typedef struct _xmlSAXHandlerV1 xmlSAXHandlerV1;
0783 typedef xmlSAXHandlerV1 *xmlSAXHandlerV1Ptr;
0784 struct _xmlSAXHandlerV1 {
0785 internalSubsetSAXFunc internalSubset;
0786 isStandaloneSAXFunc isStandalone;
0787 hasInternalSubsetSAXFunc hasInternalSubset;
0788 hasExternalSubsetSAXFunc hasExternalSubset;
0789 resolveEntitySAXFunc resolveEntity;
0790 getEntitySAXFunc getEntity;
0791 entityDeclSAXFunc entityDecl;
0792 notationDeclSAXFunc notationDecl;
0793 attributeDeclSAXFunc attributeDecl;
0794 elementDeclSAXFunc elementDecl;
0795 unparsedEntityDeclSAXFunc unparsedEntityDecl;
0796 setDocumentLocatorSAXFunc setDocumentLocator;
0797 startDocumentSAXFunc startDocument;
0798 endDocumentSAXFunc endDocument;
0799 startElementSAXFunc startElement;
0800 endElementSAXFunc endElement;
0801 referenceSAXFunc reference;
0802 charactersSAXFunc characters;
0803 ignorableWhitespaceSAXFunc ignorableWhitespace;
0804 processingInstructionSAXFunc processingInstruction;
0805 commentSAXFunc comment;
0806 warningSAXFunc warning;
0807 errorSAXFunc error;
0808 fatalErrorSAXFunc fatalError;
0809 getParameterEntitySAXFunc getParameterEntity;
0810 cdataBlockSAXFunc cdataBlock;
0811 externalSubsetSAXFunc externalSubset;
0812 unsigned int initialized;
0813 };
0814
0815
0816
0817
0818
0819
0820
0821
0822
0823
0824
0825
0826 typedef xmlParserInputPtr (*xmlExternalEntityLoader) (const char *URL,
0827 const char *ID,
0828 xmlParserCtxtPtr context);
0829
0830
0831
0832
0833
0834 XMLPUBVAR const char *const xmlParserVersion;
0835 XML_DEPRECATED
0836 XMLPUBVAR const int oldXMLWDcompatibility;
0837 XML_DEPRECATED
0838 XMLPUBVAR const int xmlParserDebugEntities;
0839 XML_DEPRECATED
0840 XMLPUBVAR const xmlSAXLocator xmlDefaultSAXLocator;
0841 #ifdef LIBXML_SAX1_ENABLED
0842 XML_DEPRECATED
0843 XMLPUBVAR const xmlSAXHandlerV1 xmlDefaultSAXHandler;
0844 #endif
0845
0846 #ifdef LIBXML_THREAD_ENABLED
0847
0848 XMLPUBFUN const char *const *__xmlParserVersion(void);
0849 XML_DEPRECATED
0850 XMLPUBFUN const int *__oldXMLWDcompatibility(void);
0851 XML_DEPRECATED
0852 XMLPUBFUN const int *__xmlParserDebugEntities(void);
0853 XML_DEPRECATED
0854 XMLPUBFUN const xmlSAXLocator *__xmlDefaultSAXLocator(void);
0855 #ifdef LIBXML_SAX1_ENABLED
0856 XML_DEPRECATED
0857 XMLPUBFUN const xmlSAXHandlerV1 *__xmlDefaultSAXHandler(void);
0858 #endif
0859 #endif
0860
0861
0862 #define XML_GLOBALS_PARSER_CORE \
0863 XML_OP(xmlDoValidityCheckingDefaultValue, int, XML_DEPRECATED) \
0864 XML_OP(xmlGetWarningsDefaultValue, int, XML_DEPRECATED) \
0865 XML_OP(xmlKeepBlanksDefaultValue, int, XML_DEPRECATED) \
0866 XML_OP(xmlLineNumbersDefaultValue, int, XML_DEPRECATED) \
0867 XML_OP(xmlLoadExtDtdDefaultValue, int, XML_DEPRECATED) \
0868 XML_OP(xmlPedanticParserDefaultValue, int, XML_DEPRECATED) \
0869 XML_OP(xmlSubstituteEntitiesDefaultValue, int, XML_DEPRECATED)
0870
0871 #ifdef LIBXML_OUTPUT_ENABLED
0872 #define XML_GLOBALS_PARSER_OUTPUT \
0873 XML_OP(xmlIndentTreeOutput, int, XML_NO_ATTR) \
0874 XML_OP(xmlTreeIndentString, const char *, XML_NO_ATTR) \
0875 XML_OP(xmlSaveNoEmptyTags, int, XML_NO_ATTR)
0876 #else
0877 #define XML_GLOBALS_PARSER_OUTPUT
0878 #endif
0879
0880 #define XML_GLOBALS_PARSER \
0881 XML_GLOBALS_PARSER_CORE \
0882 XML_GLOBALS_PARSER_OUTPUT
0883
0884 #define XML_OP XML_DECLARE_GLOBAL
0885 XML_GLOBALS_PARSER
0886 #undef XML_OP
0887
0888 #if defined(LIBXML_THREAD_ENABLED) && !defined(XML_GLOBALS_NO_REDEFINITION)
0889 #define xmlDoValidityCheckingDefaultValue \
0890 XML_GLOBAL_MACRO(xmlDoValidityCheckingDefaultValue)
0891 #define xmlGetWarningsDefaultValue \
0892 XML_GLOBAL_MACRO(xmlGetWarningsDefaultValue)
0893 #define xmlKeepBlanksDefaultValue XML_GLOBAL_MACRO(xmlKeepBlanksDefaultValue)
0894 #define xmlLineNumbersDefaultValue \
0895 XML_GLOBAL_MACRO(xmlLineNumbersDefaultValue)
0896 #define xmlLoadExtDtdDefaultValue XML_GLOBAL_MACRO(xmlLoadExtDtdDefaultValue)
0897 #define xmlPedanticParserDefaultValue \
0898 XML_GLOBAL_MACRO(xmlPedanticParserDefaultValue)
0899 #define xmlSubstituteEntitiesDefaultValue \
0900 XML_GLOBAL_MACRO(xmlSubstituteEntitiesDefaultValue)
0901 #ifdef LIBXML_OUTPUT_ENABLED
0902 #define xmlIndentTreeOutput XML_GLOBAL_MACRO(xmlIndentTreeOutput)
0903 #define xmlTreeIndentString XML_GLOBAL_MACRO(xmlTreeIndentString)
0904 #define xmlSaveNoEmptyTags XML_GLOBAL_MACRO(xmlSaveNoEmptyTags)
0905 #endif
0906 #endif
0907
0908
0909
0910
0911
0912 XMLPUBFUN void
0913 xmlInitParser (void);
0914 XMLPUBFUN void
0915 xmlCleanupParser (void);
0916 XML_DEPRECATED
0917 XMLPUBFUN void
0918 xmlInitGlobals (void);
0919 XML_DEPRECATED
0920 XMLPUBFUN void
0921 xmlCleanupGlobals (void);
0922
0923
0924
0925
0926 XML_DEPRECATED
0927 XMLPUBFUN int
0928 xmlParserInputRead (xmlParserInputPtr in,
0929 int len);
0930 XML_DEPRECATED
0931 XMLPUBFUN int
0932 xmlParserInputGrow (xmlParserInputPtr in,
0933 int len);
0934
0935
0936
0937
0938 #ifdef LIBXML_SAX1_ENABLED
0939 XMLPUBFUN xmlDocPtr
0940 xmlParseDoc (const xmlChar *cur);
0941 XMLPUBFUN xmlDocPtr
0942 xmlParseFile (const char *filename);
0943 XMLPUBFUN xmlDocPtr
0944 xmlParseMemory (const char *buffer,
0945 int size);
0946 #endif
0947 XML_DEPRECATED XMLPUBFUN int
0948 xmlSubstituteEntitiesDefault(int val);
0949 XML_DEPRECATED XMLPUBFUN int
0950 xmlThrDefSubstituteEntitiesDefaultValue(int v);
0951 XMLPUBFUN int
0952 xmlKeepBlanksDefault (int val);
0953 XML_DEPRECATED XMLPUBFUN int
0954 xmlThrDefKeepBlanksDefaultValue(int v);
0955 XMLPUBFUN void
0956 xmlStopParser (xmlParserCtxtPtr ctxt);
0957 XML_DEPRECATED XMLPUBFUN int
0958 xmlPedanticParserDefault(int val);
0959 XML_DEPRECATED XMLPUBFUN int
0960 xmlThrDefPedanticParserDefaultValue(int v);
0961 XML_DEPRECATED XMLPUBFUN int
0962 xmlLineNumbersDefault (int val);
0963 XML_DEPRECATED XMLPUBFUN int
0964 xmlThrDefLineNumbersDefaultValue(int v);
0965 XML_DEPRECATED XMLPUBFUN int
0966 xmlThrDefDoValidityCheckingDefaultValue(int v);
0967 XML_DEPRECATED XMLPUBFUN int
0968 xmlThrDefGetWarningsDefaultValue(int v);
0969 XML_DEPRECATED XMLPUBFUN int
0970 xmlThrDefLoadExtDtdDefaultValue(int v);
0971 XML_DEPRECATED XMLPUBFUN int
0972 xmlThrDefParserDebugEntities(int v);
0973
0974 #ifdef LIBXML_SAX1_ENABLED
0975
0976
0977
0978 XML_DEPRECATED
0979 XMLPUBFUN xmlDocPtr
0980 xmlRecoverDoc (const xmlChar *cur);
0981 XML_DEPRECATED
0982 XMLPUBFUN xmlDocPtr
0983 xmlRecoverMemory (const char *buffer,
0984 int size);
0985 XML_DEPRECATED
0986 XMLPUBFUN xmlDocPtr
0987 xmlRecoverFile (const char *filename);
0988 #endif
0989
0990
0991
0992
0993 XMLPUBFUN int
0994 xmlParseDocument (xmlParserCtxtPtr ctxt);
0995 XMLPUBFUN int
0996 xmlParseExtParsedEnt (xmlParserCtxtPtr ctxt);
0997 #ifdef LIBXML_SAX1_ENABLED
0998 XML_DEPRECATED
0999 XMLPUBFUN int
1000 xmlSAXUserParseFile (xmlSAXHandlerPtr sax,
1001 void *user_data,
1002 const char *filename);
1003 XML_DEPRECATED
1004 XMLPUBFUN int
1005 xmlSAXUserParseMemory (xmlSAXHandlerPtr sax,
1006 void *user_data,
1007 const char *buffer,
1008 int size);
1009 XML_DEPRECATED
1010 XMLPUBFUN xmlDocPtr
1011 xmlSAXParseDoc (xmlSAXHandlerPtr sax,
1012 const xmlChar *cur,
1013 int recovery);
1014 XML_DEPRECATED
1015 XMLPUBFUN xmlDocPtr
1016 xmlSAXParseMemory (xmlSAXHandlerPtr sax,
1017 const char *buffer,
1018 int size,
1019 int recovery);
1020 XML_DEPRECATED
1021 XMLPUBFUN xmlDocPtr
1022 xmlSAXParseMemoryWithData (xmlSAXHandlerPtr sax,
1023 const char *buffer,
1024 int size,
1025 int recovery,
1026 void *data);
1027 XML_DEPRECATED
1028 XMLPUBFUN xmlDocPtr
1029 xmlSAXParseFile (xmlSAXHandlerPtr sax,
1030 const char *filename,
1031 int recovery);
1032 XML_DEPRECATED
1033 XMLPUBFUN xmlDocPtr
1034 xmlSAXParseFileWithData (xmlSAXHandlerPtr sax,
1035 const char *filename,
1036 int recovery,
1037 void *data);
1038 XML_DEPRECATED
1039 XMLPUBFUN xmlDocPtr
1040 xmlSAXParseEntity (xmlSAXHandlerPtr sax,
1041 const char *filename);
1042 XML_DEPRECATED
1043 XMLPUBFUN xmlDocPtr
1044 xmlParseEntity (const char *filename);
1045 #endif
1046
1047 #ifdef LIBXML_VALID_ENABLED
1048 XML_DEPRECATED
1049 XMLPUBFUN xmlDtdPtr
1050 xmlSAXParseDTD (xmlSAXHandlerPtr sax,
1051 const xmlChar *ExternalID,
1052 const xmlChar *SystemID);
1053 XMLPUBFUN xmlDtdPtr
1054 xmlParseDTD (const xmlChar *ExternalID,
1055 const xmlChar *SystemID);
1056 XMLPUBFUN xmlDtdPtr
1057 xmlIOParseDTD (xmlSAXHandlerPtr sax,
1058 xmlParserInputBufferPtr input,
1059 xmlCharEncoding enc);
1060 #endif
1061 #ifdef LIBXML_SAX1_ENABLED
1062 XMLPUBFUN int
1063 xmlParseBalancedChunkMemory(xmlDocPtr doc,
1064 xmlSAXHandlerPtr sax,
1065 void *user_data,
1066 int depth,
1067 const xmlChar *string,
1068 xmlNodePtr *lst);
1069 #endif
1070 XMLPUBFUN xmlParserErrors
1071 xmlParseInNodeContext (xmlNodePtr node,
1072 const char *data,
1073 int datalen,
1074 int options,
1075 xmlNodePtr *lst);
1076 #ifdef LIBXML_SAX1_ENABLED
1077 XMLPUBFUN int
1078 xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc,
1079 xmlSAXHandlerPtr sax,
1080 void *user_data,
1081 int depth,
1082 const xmlChar *string,
1083 xmlNodePtr *lst,
1084 int recover);
1085 XML_DEPRECATED
1086 XMLPUBFUN int
1087 xmlParseExternalEntity (xmlDocPtr doc,
1088 xmlSAXHandlerPtr sax,
1089 void *user_data,
1090 int depth,
1091 const xmlChar *URL,
1092 const xmlChar *ID,
1093 xmlNodePtr *lst);
1094 #endif
1095 XMLPUBFUN int
1096 xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx,
1097 const xmlChar *URL,
1098 const xmlChar *ID,
1099 xmlNodePtr *lst);
1100
1101
1102
1103
1104 XMLPUBFUN xmlParserCtxtPtr
1105 xmlNewParserCtxt (void);
1106 XMLPUBFUN xmlParserCtxtPtr
1107 xmlNewSAXParserCtxt (const xmlSAXHandler *sax,
1108 void *userData);
1109 XMLPUBFUN int
1110 xmlInitParserCtxt (xmlParserCtxtPtr ctxt);
1111 XMLPUBFUN void
1112 xmlClearParserCtxt (xmlParserCtxtPtr ctxt);
1113 XMLPUBFUN void
1114 xmlFreeParserCtxt (xmlParserCtxtPtr ctxt);
1115 #ifdef LIBXML_SAX1_ENABLED
1116 XML_DEPRECATED
1117 XMLPUBFUN void
1118 xmlSetupParserForBuffer (xmlParserCtxtPtr ctxt,
1119 const xmlChar* buffer,
1120 const char *filename);
1121 #endif
1122 XMLPUBFUN xmlParserCtxtPtr
1123 xmlCreateDocParserCtxt (const xmlChar *cur);
1124
1125 #ifdef LIBXML_LEGACY_ENABLED
1126
1127
1128
1129 XML_DEPRECATED
1130 XMLPUBFUN int
1131 xmlGetFeaturesList (int *len,
1132 const char **result);
1133 XML_DEPRECATED
1134 XMLPUBFUN int
1135 xmlGetFeature (xmlParserCtxtPtr ctxt,
1136 const char *name,
1137 void *result);
1138 XML_DEPRECATED
1139 XMLPUBFUN int
1140 xmlSetFeature (xmlParserCtxtPtr ctxt,
1141 const char *name,
1142 void *value);
1143 #endif
1144
1145 #ifdef LIBXML_PUSH_ENABLED
1146
1147
1148
1149 XMLPUBFUN xmlParserCtxtPtr
1150 xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
1151 void *user_data,
1152 const char *chunk,
1153 int size,
1154 const char *filename);
1155 XMLPUBFUN int
1156 xmlParseChunk (xmlParserCtxtPtr ctxt,
1157 const char *chunk,
1158 int size,
1159 int terminate);
1160 #endif
1161
1162
1163
1164
1165
1166 XMLPUBFUN xmlParserCtxtPtr
1167 xmlCreateIOParserCtxt (xmlSAXHandlerPtr sax,
1168 void *user_data,
1169 xmlInputReadCallback ioread,
1170 xmlInputCloseCallback ioclose,
1171 void *ioctx,
1172 xmlCharEncoding enc);
1173
1174 XMLPUBFUN xmlParserInputPtr
1175 xmlNewIOInputStream (xmlParserCtxtPtr ctxt,
1176 xmlParserInputBufferPtr input,
1177 xmlCharEncoding enc);
1178
1179
1180
1181
1182 XMLPUBFUN const xmlParserNodeInfo*
1183 xmlParserFindNodeInfo (xmlParserCtxtPtr ctxt,
1184 xmlNodePtr node);
1185 XMLPUBFUN void
1186 xmlInitNodeInfoSeq (xmlParserNodeInfoSeqPtr seq);
1187 XMLPUBFUN void
1188 xmlClearNodeInfoSeq (xmlParserNodeInfoSeqPtr seq);
1189 XMLPUBFUN unsigned long
1190 xmlParserFindNodeInfoIndex(xmlParserNodeInfoSeqPtr seq,
1191 xmlNodePtr node);
1192 XMLPUBFUN void
1193 xmlParserAddNodeInfo (xmlParserCtxtPtr ctxt,
1194 xmlParserNodeInfoPtr info);
1195
1196
1197
1198
1199
1200 XMLPUBFUN void
1201 xmlSetExternalEntityLoader(xmlExternalEntityLoader f);
1202 XMLPUBFUN xmlExternalEntityLoader
1203 xmlGetExternalEntityLoader(void);
1204 XMLPUBFUN xmlParserInputPtr
1205 xmlLoadExternalEntity (const char *URL,
1206 const char *ID,
1207 xmlParserCtxtPtr ctxt);
1208
1209
1210
1211
1212 XMLPUBFUN long
1213 xmlByteConsumed (xmlParserCtxtPtr ctxt);
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224 typedef enum {
1225 XML_PARSE_RECOVER = 1<<0,
1226 XML_PARSE_NOENT = 1<<1,
1227 XML_PARSE_DTDLOAD = 1<<2,
1228 XML_PARSE_DTDATTR = 1<<3,
1229 XML_PARSE_DTDVALID = 1<<4,
1230 XML_PARSE_NOERROR = 1<<5,
1231 XML_PARSE_NOWARNING = 1<<6,
1232 XML_PARSE_PEDANTIC = 1<<7,
1233 XML_PARSE_NOBLANKS = 1<<8,
1234 XML_PARSE_SAX1 = 1<<9,
1235 XML_PARSE_XINCLUDE = 1<<10,
1236 XML_PARSE_NONET = 1<<11,
1237 XML_PARSE_NODICT = 1<<12,
1238 XML_PARSE_NSCLEAN = 1<<13,
1239 XML_PARSE_NOCDATA = 1<<14,
1240 XML_PARSE_NOXINCNODE= 1<<15,
1241 XML_PARSE_COMPACT = 1<<16,
1242
1243
1244 XML_PARSE_OLD10 = 1<<17,
1245 XML_PARSE_NOBASEFIX = 1<<18,
1246 XML_PARSE_HUGE = 1<<19,
1247 XML_PARSE_OLDSAX = 1<<20,
1248 XML_PARSE_IGNORE_ENC= 1<<21,
1249 XML_PARSE_BIG_LINES = 1<<22,
1250 XML_PARSE_NO_XXE = 1<<23
1251 } xmlParserOption;
1252
1253 XMLPUBFUN void
1254 xmlCtxtReset (xmlParserCtxtPtr ctxt);
1255 XMLPUBFUN int
1256 xmlCtxtResetPush (xmlParserCtxtPtr ctxt,
1257 const char *chunk,
1258 int size,
1259 const char *filename,
1260 const char *encoding);
1261 XMLPUBFUN int
1262 xmlCtxtSetOptions (xmlParserCtxtPtr ctxt,
1263 int options);
1264 XMLPUBFUN int
1265 xmlCtxtUseOptions (xmlParserCtxtPtr ctxt,
1266 int options);
1267 XMLPUBFUN void
1268 xmlCtxtSetErrorHandler (xmlParserCtxtPtr ctxt,
1269 xmlStructuredErrorFunc handler,
1270 void *data);
1271 XMLPUBFUN void
1272 xmlCtxtSetMaxAmplification(xmlParserCtxtPtr ctxt,
1273 unsigned maxAmpl);
1274 XMLPUBFUN xmlDocPtr
1275 xmlReadDoc (const xmlChar *cur,
1276 const char *URL,
1277 const char *encoding,
1278 int options);
1279 XMLPUBFUN xmlDocPtr
1280 xmlReadFile (const char *URL,
1281 const char *encoding,
1282 int options);
1283 XMLPUBFUN xmlDocPtr
1284 xmlReadMemory (const char *buffer,
1285 int size,
1286 const char *URL,
1287 const char *encoding,
1288 int options);
1289 XMLPUBFUN xmlDocPtr
1290 xmlReadFd (int fd,
1291 const char *URL,
1292 const char *encoding,
1293 int options);
1294 XMLPUBFUN xmlDocPtr
1295 xmlReadIO (xmlInputReadCallback ioread,
1296 xmlInputCloseCallback ioclose,
1297 void *ioctx,
1298 const char *URL,
1299 const char *encoding,
1300 int options);
1301 XMLPUBFUN xmlDocPtr
1302 xmlCtxtParseDocument (xmlParserCtxtPtr ctxt,
1303 xmlParserInputPtr input);
1304 XMLPUBFUN xmlDocPtr
1305 xmlCtxtReadDoc (xmlParserCtxtPtr ctxt,
1306 const xmlChar *cur,
1307 const char *URL,
1308 const char *encoding,
1309 int options);
1310 XMLPUBFUN xmlDocPtr
1311 xmlCtxtReadFile (xmlParserCtxtPtr ctxt,
1312 const char *filename,
1313 const char *encoding,
1314 int options);
1315 XMLPUBFUN xmlDocPtr
1316 xmlCtxtReadMemory (xmlParserCtxtPtr ctxt,
1317 const char *buffer,
1318 int size,
1319 const char *URL,
1320 const char *encoding,
1321 int options);
1322 XMLPUBFUN xmlDocPtr
1323 xmlCtxtReadFd (xmlParserCtxtPtr ctxt,
1324 int fd,
1325 const char *URL,
1326 const char *encoding,
1327 int options);
1328 XMLPUBFUN xmlDocPtr
1329 xmlCtxtReadIO (xmlParserCtxtPtr ctxt,
1330 xmlInputReadCallback ioread,
1331 xmlInputCloseCallback ioclose,
1332 void *ioctx,
1333 const char *URL,
1334 const char *encoding,
1335 int options);
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347 typedef enum {
1348 XML_WITH_THREAD = 1,
1349 XML_WITH_TREE = 2,
1350 XML_WITH_OUTPUT = 3,
1351 XML_WITH_PUSH = 4,
1352 XML_WITH_READER = 5,
1353 XML_WITH_PATTERN = 6,
1354 XML_WITH_WRITER = 7,
1355 XML_WITH_SAX1 = 8,
1356 XML_WITH_FTP = 9,
1357 XML_WITH_HTTP = 10,
1358 XML_WITH_VALID = 11,
1359 XML_WITH_HTML = 12,
1360 XML_WITH_LEGACY = 13,
1361 XML_WITH_C14N = 14,
1362 XML_WITH_CATALOG = 15,
1363 XML_WITH_XPATH = 16,
1364 XML_WITH_XPTR = 17,
1365 XML_WITH_XINCLUDE = 18,
1366 XML_WITH_ICONV = 19,
1367 XML_WITH_ISO8859X = 20,
1368 XML_WITH_UNICODE = 21,
1369 XML_WITH_REGEXP = 22,
1370 XML_WITH_AUTOMATA = 23,
1371 XML_WITH_EXPR = 24,
1372 XML_WITH_SCHEMAS = 25,
1373 XML_WITH_SCHEMATRON = 26,
1374 XML_WITH_MODULES = 27,
1375 XML_WITH_DEBUG = 28,
1376 XML_WITH_DEBUG_MEM = 29,
1377 XML_WITH_DEBUG_RUN = 30,
1378 XML_WITH_ZLIB = 31,
1379 XML_WITH_ICU = 32,
1380 XML_WITH_LZMA = 33,
1381 XML_WITH_NONE = 99999
1382 } xmlFeature;
1383
1384 XMLPUBFUN int
1385 xmlHasFeature (xmlFeature feature);
1386
1387 #ifdef __cplusplus
1388 }
1389 #endif
1390 #endif