00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __XML_TREE_H__
00024
00025 #define __XML_TREE_H__
00026
00027
00028
00029 #include <stdio.h>
00030
00031 #include <libxml/xmlversion.h>
00032
00033 #include <libxml/xmlstring.h>
00034
00035
00036
00037 #ifdef __cplusplus
00038
00039 extern "C" {
00040
00041 #endif
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053 typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
00054
00055 typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
00056
00057
00058
00059 typedef struct _xmlOutputBuffer xmlOutputBuffer;
00060
00061 typedef xmlOutputBuffer *xmlOutputBufferPtr;
00062
00063
00064
00065
00066
00067 typedef struct _xmlParserInput xmlParserInput;
00068
00069 typedef xmlParserInput *xmlParserInputPtr;
00070
00071
00072
00073 typedef struct _xmlParserCtxt xmlParserCtxt;
00074
00075 typedef xmlParserCtxt *xmlParserCtxtPtr;
00076
00077
00078
00079 typedef struct _xmlSAXLocator xmlSAXLocator;
00080
00081 typedef xmlSAXLocator *xmlSAXLocatorPtr;
00082
00083
00084
00085 typedef struct _xmlSAXHandler xmlSAXHandler;
00086
00087 typedef xmlSAXHandler *xmlSAXHandlerPtr;
00088
00089
00090
00091
00092
00093 typedef struct _xmlEntity xmlEntity;
00094
00095 typedef xmlEntity *xmlEntityPtr;
00096
00097
00098
00109 #define BASE_BUFFER_SIZE 4096
00110
00111
00112
00125 #define XML_XML_NAMESPACE \
00126
00127 (const xmlChar *) "http://www.w3.org/XML/1998/namespace"
00128
00129
00130
00141 #define XML_XML_ID (const xmlChar *) "xml:id"
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163 typedef enum {
00164
00165 XML_ELEMENT_NODE= 1,
00166
00167 XML_ATTRIBUTE_NODE= 2,
00168
00169 XML_TEXT_NODE= 3,
00170
00171 XML_CDATA_SECTION_NODE= 4,
00172
00173 XML_ENTITY_REF_NODE= 5,
00174
00175 XML_ENTITY_NODE= 6,
00176
00177 XML_PI_NODE= 7,
00178
00179 XML_COMMENT_NODE= 8,
00180
00181 XML_DOCUMENT_NODE= 9,
00182
00183 XML_DOCUMENT_TYPE_NODE= 10,
00184
00185 XML_DOCUMENT_FRAG_NODE= 11,
00186
00187 XML_NOTATION_NODE= 12,
00188
00189 XML_HTML_DOCUMENT_NODE= 13,
00190
00191 XML_DTD_NODE= 14,
00192
00193 XML_ELEMENT_DECL= 15,
00194
00195 XML_ATTRIBUTE_DECL= 16,
00196
00197 XML_ENTITY_DECL= 17,
00198
00199 XML_NAMESPACE_DECL= 18,
00200
00201 XML_XINCLUDE_START= 19,
00202
00203 XML_XINCLUDE_END= 20
00204
00205 #ifdef LIBXML_DOCB_ENABLED
00206
00207 ,XML_DOCB_DOCUMENT_NODE= 21
00208
00209 #endif
00210
00211 } xmlElementType;
00212
00213
00214
00215
00216
00229 typedef struct _xmlNotation xmlNotation;
00230
00231 typedef xmlNotation *xmlNotationPtr;
00232
00233 struct _xmlNotation {
00234
00235 const xmlChar *name;
00236
00237 const xmlChar *PublicID;
00238
00239 const xmlChar *SystemID;
00240
00241 };
00242
00243
00244
00257 typedef enum {
00258
00259 XML_ATTRIBUTE_CDATA = 1,
00260
00261 XML_ATTRIBUTE_ID,
00262
00263 XML_ATTRIBUTE_IDREF ,
00264
00265 XML_ATTRIBUTE_IDREFS,
00266
00267 XML_ATTRIBUTE_ENTITY,
00268
00269 XML_ATTRIBUTE_ENTITIES,
00270
00271 XML_ATTRIBUTE_NMTOKEN,
00272
00273 XML_ATTRIBUTE_NMTOKENS,
00274
00275 XML_ATTRIBUTE_ENUMERATION,
00276
00277 XML_ATTRIBUTE_NOTATION
00278
00279 } xmlAttributeType;
00280
00281
00282
00295 typedef enum {
00296
00297 XML_ATTRIBUTE_NONE = 1,
00298
00299 XML_ATTRIBUTE_REQUIRED,
00300
00301 XML_ATTRIBUTE_IMPLIED,
00302
00303 XML_ATTRIBUTE_FIXED
00304
00305 } xmlAttributeDefault;
00306
00307
00308
00321 typedef struct _xmlEnumeration xmlEnumeration;
00322
00323 typedef xmlEnumeration *xmlEnumerationPtr;
00324
00325 struct _xmlEnumeration {
00326
00327 struct _xmlEnumeration *next;
00328
00329 const xmlChar *name;
00330
00331 };
00332
00333
00334
00347 typedef struct _xmlAttribute xmlAttribute;
00348
00349 typedef xmlAttribute *xmlAttributePtr;
00350
00351 struct _xmlAttribute {
00352
00353 void *_private;
00354
00355 xmlElementType type;
00356
00357 const xmlChar *name;
00358
00359 struct _xmlNode *children;
00360
00361 struct _xmlNode *last;
00362
00363 struct _xmlDtd *parent;
00364
00365 struct _xmlNode *next;
00366
00367 struct _xmlNode *prev;
00368
00369 struct _xmlDoc *doc;
00370
00371
00372
00373 struct _xmlAttribute *nexth;
00374
00375 xmlAttributeType atype;
00376
00377 xmlAttributeDefault def;
00378
00379 const xmlChar *defaultValue;
00380
00381 xmlEnumerationPtr tree;
00382
00383 const xmlChar *prefix;
00384
00385 const xmlChar *elem;
00386
00387 };
00388
00389
00390
00401 typedef enum {
00402
00403 XML_ELEMENT_CONTENT_PCDATA = 1,
00404
00405 XML_ELEMENT_CONTENT_ELEMENT,
00406
00407 XML_ELEMENT_CONTENT_SEQ,
00408
00409 XML_ELEMENT_CONTENT_OR
00410
00411 } xmlElementContentType;
00412
00413
00414
00425 typedef enum {
00426
00427 XML_ELEMENT_CONTENT_ONCE = 1,
00428
00429 XML_ELEMENT_CONTENT_OPT,
00430
00431 XML_ELEMENT_CONTENT_MULT,
00432
00433 XML_ELEMENT_CONTENT_PLUS
00434
00435 } xmlElementContentOccur;
00436
00437
00438
00453 typedef struct _xmlElementContent xmlElementContent;
00454
00455 typedef xmlElementContent *xmlElementContentPtr;
00456
00457 struct _xmlElementContent {
00458
00459 xmlElementContentType type;
00460
00461 xmlElementContentOccur ocur;
00462
00463 const xmlChar *name;
00464
00465 struct _xmlElementContent *c1;
00466
00467 struct _xmlElementContent *c2;
00468
00469 struct _xmlElementContent *parent;
00470
00471 const xmlChar *prefix;
00472
00473 };
00474
00475
00476
00489 typedef enum {
00490
00491 XML_ELEMENT_TYPE_UNDEFINED = 0,
00492
00493 XML_ELEMENT_TYPE_EMPTY = 1,
00494
00495 XML_ELEMENT_TYPE_ANY,
00496
00497 XML_ELEMENT_TYPE_MIXED,
00498
00499 XML_ELEMENT_TYPE_ELEMENT
00500
00501 } xmlElementTypeVal;
00502
00503
00504
00505
00506
00507 #ifdef __cplusplus
00508
00509 }
00510
00511 #endif
00512
00513 #include <libxml/xmlregexp.h>
00514
00515 #ifdef __cplusplus
00516
00517 extern "C" {
00518
00519 #endif
00520
00521
00522
00535 typedef struct _xmlElement xmlElement;
00536
00537 typedef xmlElement *xmlElementPtr;
00538
00539 struct _xmlElement {
00540
00541 void *_private;
00542
00543 xmlElementType type;
00544
00545 const xmlChar *name;
00546
00547 struct _xmlNode *children;
00548
00549 struct _xmlNode *last;
00550
00551 struct _xmlDtd *parent;
00552
00553 struct _xmlNode *next;
00554
00555 struct _xmlNode *prev;
00556
00557 struct _xmlDoc *doc;
00558
00559
00560
00561 xmlElementTypeVal etype;
00562
00563 xmlElementContentPtr content;
00564
00565 xmlAttributePtr attributes;
00566
00567 const xmlChar *prefix;
00568
00569 #ifdef LIBXML_REGEXP_ENABLED
00570
00571 xmlRegexpPtr contModel;
00572
00573 #else
00574
00575 void *contModel;
00576
00577 #endif
00578
00579 };
00580
00581
00582
00583
00584
00595 #define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL
00596
00597 typedef xmlElementType xmlNsType;
00598
00599
00600
00621 typedef struct _xmlNs xmlNs;
00622
00623 typedef xmlNs *xmlNsPtr;
00624
00625 struct _xmlNs {
00626
00627 struct _xmlNs *next;
00628
00629 xmlNsType type;
00630
00631 const xmlChar *href;
00632
00633 const xmlChar *prefix;
00634
00635 void *_private;
00636
00637 };
00638
00639
00640
00653 typedef struct _xmlDtd xmlDtd;
00654
00655 typedef xmlDtd *xmlDtdPtr;
00656
00657 struct _xmlDtd {
00658
00659 void *_private;
00660
00661 xmlElementType type;
00662
00663 const xmlChar *name;
00664
00665 struct _xmlNode *children;
00666
00667 struct _xmlNode *last;
00668
00669 struct _xmlDoc *parent;
00670
00671 struct _xmlNode *next;
00672
00673 struct _xmlNode *prev;
00674
00675 struct _xmlDoc *doc;
00676
00677
00678
00679
00680
00681 void *notations;
00682
00683 void *elements;
00684
00685 void *attributes;
00686
00687 void *entities;
00688
00689 const xmlChar *ExternalID;
00690
00691 const xmlChar *SystemID;
00692
00693 void *pentities;
00694
00695 };
00696
00697
00698
00709 typedef struct _xmlAttr xmlAttr;
00710
00711 typedef xmlAttr *xmlAttrPtr;
00712
00713 struct _xmlAttr {
00714
00715 void *_private;
00716
00717 xmlElementType type;
00718
00719 const xmlChar *name;
00720
00721 struct _xmlNode *children;
00722
00723 struct _xmlNode *last;
00724
00725 struct _xmlNode *parent;
00726
00727 struct _xmlAttr *next;
00728
00729 struct _xmlAttr *prev;
00730
00731 struct _xmlDoc *doc;
00732
00733 xmlNs *ns;
00734
00735 xmlAttributeType atype;
00736
00737 void *psvi;
00738
00739 };
00740
00741
00742
00755 typedef struct _xmlID xmlID;
00756
00757 typedef xmlID *xmlIDPtr;
00758
00759 struct _xmlID {
00760
00761 struct _xmlID *next;
00762
00763 const xmlChar *value;
00764
00765 xmlAttrPtr attr;
00766
00767 const xmlChar *name;
00768
00769 int lineno;
00770
00771 struct _xmlDoc *doc;
00772
00773 };
00774
00775
00776
00789 typedef struct _xmlRef xmlRef;
00790
00791 typedef xmlRef *xmlRefPtr;
00792
00793 struct _xmlRef {
00794
00795 struct _xmlRef *next;
00796
00797 const xmlChar *value;
00798
00799 xmlAttrPtr attr;
00800
00801 const xmlChar *name;
00802
00803 int lineno;
00804
00805 };
00806
00807
00808
00823 typedef enum {
00824
00825 XML_BUFFER_ALLOC_DOUBLEIT,
00826
00827 XML_BUFFER_ALLOC_EXACT,
00828
00829 XML_BUFFER_ALLOC_IMMUTABLE
00830
00831 } xmlBufferAllocationScheme;
00832
00833
00834
00845 typedef struct _xmlBuffer xmlBuffer;
00846
00847 typedef xmlBuffer *xmlBufferPtr;
00848
00849 struct _xmlBuffer {
00850
00851 xmlChar *content;
00852
00853 unsigned int use;
00854
00855 unsigned int size;
00856
00857 xmlBufferAllocationScheme alloc;
00858
00859 };
00860
00861
00862
00873 typedef struct _xmlNode xmlNode;
00874
00875 typedef xmlNode *xmlNodePtr;
00876
00877 struct _xmlNode {
00878
00879 void *_private;
00880
00881 xmlElementType type;
00882
00883 const xmlChar *name;
00884
00885 struct _xmlNode *children;
00886
00887 struct _xmlNode *last;
00888
00889 struct _xmlNode *parent;
00890
00891 struct _xmlNode *next;
00892
00893 struct _xmlNode *prev;
00894
00895 struct _xmlDoc *doc;
00896
00897
00898
00899
00900
00901 xmlNs *ns;
00902
00903 xmlChar *content;
00904
00905 struct _xmlAttr *properties;
00906
00907 xmlNs *nsDef;
00908
00909 void *psvi;
00910
00911 unsigned short line;
00912
00913 unsigned short extra;
00914
00915 };
00916
00917
00918
00929 #define XML_GET_CONTENT(n) \
00930
00931 ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)
00932
00933
00934
00945 #define XML_GET_LINE(n) \
00946
00947 (xmlGetLineNo(n))
00948
00949
00950
00951
00952
00963 typedef struct _xmlDoc xmlDoc;
00964
00965 typedef xmlDoc *xmlDocPtr;
00966
00967 struct _xmlDoc {
00968
00969 void *_private;
00970
00971 xmlElementType type;
00972
00973 char *name;
00974
00975 struct _xmlNode *children;
00976
00977 struct _xmlNode *last;
00978
00979 struct _xmlNode *parent;
00980
00981 struct _xmlNode *next;
00982
00983 struct _xmlNode *prev;
00984
00985 struct _xmlDoc *doc;
00986
00987
00988
00989
00990
00991 int compression;
00992
00993 int standalone;
00994
00995 struct _xmlDtd *intSubset;
00996
00997 struct _xmlDtd *extSubset;
00998
00999 struct _xmlNs *oldNs;
01000
01001 const xmlChar *version;
01002
01003 const xmlChar *encoding;
01004
01005 void *ids;
01006
01007 void *refs;
01008
01009 const xmlChar *URL;
01010
01011 int charset;
01012
01013
01014
01015 struct _xmlDict *dict;
01016
01017 void *psvi;
01018
01019 };
01020
01021
01022
01035 #ifndef xmlChildrenNode
01036
01037 #define xmlChildrenNode children
01038
01039 #endif
01040
01041
01042
01055 #ifndef xmlRootNode
01056
01057 #define xmlRootNode children
01058
01059 #endif
01060
01061
01062
01063
01064
01065
01066
01067
01068
01069
01070
01071
01072
01073
01074
01075
01076
01077 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
01078
01079 XMLPUBFUN int XMLCALL
01080
01081 xmlValidateNCName (const xmlChar *value,
01082
01083 int space);
01084
01085 #endif
01086
01087
01088
01089 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
01090
01091 XMLPUBFUN int XMLCALL
01092
01093 xmlValidateQName (const xmlChar *value,
01094
01095 int space);
01096
01097 XMLPUBFUN int XMLCALL
01098
01099 xmlValidateName (const xmlChar *value,
01100
01101 int space);
01102
01103 XMLPUBFUN int XMLCALL
01104
01105 xmlValidateNMToken (const xmlChar *value,
01106
01107 int space);
01108
01109 #endif
01110
01111
01112
01113 XMLPUBFUN xmlChar * XMLCALL
01114
01115 xmlBuildQName (const xmlChar *ncname,
01116
01117 const xmlChar *prefix,
01118
01119 xmlChar *memory,
01120
01121 int len);
01122
01123 XMLPUBFUN xmlChar * XMLCALL
01124
01125 xmlSplitQName2 (const xmlChar *name,
01126
01127 xmlChar **prefix);
01128
01129 XMLPUBFUN const xmlChar * XMLCALL
01130
01131 xmlSplitQName3 (const xmlChar *name,
01132
01133 int *len);
01134
01135
01136
01137
01138
01139
01140
01141
01142
01143
01144
01145 XMLPUBFUN void XMLCALL
01146
01147 xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
01148
01149 XMLPUBFUN xmlBufferAllocationScheme XMLCALL
01150
01151 xmlGetBufferAllocationScheme(void);
01152
01153
01154
01155 XMLPUBFUN xmlBufferPtr XMLCALL
01156
01157 xmlBufferCreate (void);
01158
01159 XMLPUBFUN xmlBufferPtr XMLCALL
01160
01161 xmlBufferCreateSize (size_t size);
01162
01163 XMLPUBFUN xmlBufferPtr XMLCALL
01164
01165 xmlBufferCreateStatic (void *mem,
01166
01167 size_t size);
01168
01169 XMLPUBFUN int XMLCALL
01170
01171 xmlBufferResize (xmlBufferPtr buf,
01172
01173 unsigned int size);
01174
01175 XMLPUBFUN void XMLCALL
01176
01177 xmlBufferFree (xmlBufferPtr buf);
01178
01179 XMLPUBFUN int XMLCALL
01180
01181 xmlBufferDump (FILE *file,
01182
01183 xmlBufferPtr buf);
01184
01185 XMLPUBFUN int XMLCALL
01186
01187 xmlBufferAdd (xmlBufferPtr buf,
01188
01189 const xmlChar *str,
01190
01191 int len);
01192
01193 XMLPUBFUN int XMLCALL
01194
01195 xmlBufferAddHead (xmlBufferPtr buf,
01196
01197 const xmlChar *str,
01198
01199 int len);
01200
01201 XMLPUBFUN int XMLCALL
01202
01203 xmlBufferCat (xmlBufferPtr buf,
01204
01205 const xmlChar *str);
01206
01207 XMLPUBFUN int XMLCALL
01208
01209 xmlBufferCCat (xmlBufferPtr buf,
01210
01211 const char *str);
01212
01213 XMLPUBFUN int XMLCALL
01214
01215 xmlBufferShrink (xmlBufferPtr buf,
01216
01217 unsigned int len);
01218
01219 XMLPUBFUN int XMLCALL
01220
01221 xmlBufferGrow (xmlBufferPtr buf,
01222
01223 unsigned int len);
01224
01225 XMLPUBFUN void XMLCALL
01226
01227 xmlBufferEmpty (xmlBufferPtr buf);
01228
01229 XMLPUBFUN const xmlChar* XMLCALL
01230
01231 xmlBufferContent (const xmlBufferPtr buf);
01232
01233 XMLPUBFUN void XMLCALL
01234
01235 xmlBufferSetAllocationScheme(xmlBufferPtr buf,
01236
01237 xmlBufferAllocationScheme scheme);
01238
01239 XMLPUBFUN int XMLCALL
01240
01241 xmlBufferLength (const xmlBufferPtr buf);
01242
01243
01244
01245
01246
01247
01248
01249
01250
01251 XMLPUBFUN xmlDtdPtr XMLCALL
01252
01253 xmlCreateIntSubset (xmlDocPtr doc,
01254
01255 const xmlChar *name,
01256
01257 const xmlChar *ExternalID,
01258
01259 const xmlChar *SystemID);
01260
01261 XMLPUBFUN xmlDtdPtr XMLCALL
01262
01263 xmlNewDtd (xmlDocPtr doc,
01264
01265 const xmlChar *name,
01266
01267 const xmlChar *ExternalID,
01268
01269 const xmlChar *SystemID);
01270
01271 XMLPUBFUN xmlDtdPtr XMLCALL
01272
01273 xmlGetIntSubset (xmlDocPtr doc);
01274
01275 XMLPUBFUN void XMLCALL
01276
01277 xmlFreeDtd (xmlDtdPtr cur);
01278
01279 #ifdef LIBXML_LEGACY_ENABLED
01280
01281 XMLPUBFUN xmlNsPtr XMLCALL
01282
01283 xmlNewGlobalNs (xmlDocPtr doc,
01284
01285 const xmlChar *href,
01286
01287 const xmlChar *prefix);
01288
01289 #endif
01290
01291 XMLPUBFUN xmlNsPtr XMLCALL
01292
01293 xmlNewNs (xmlNodePtr node,
01294
01295 const xmlChar *href,
01296
01297 const xmlChar *prefix);
01298
01299 XMLPUBFUN void XMLCALL
01300
01301 xmlFreeNs (xmlNsPtr cur);
01302
01303 XMLPUBFUN void XMLCALL
01304
01305 xmlFreeNsList (xmlNsPtr cur);
01306
01307 XMLPUBFUN xmlDocPtr XMLCALL
01308
01309 xmlNewDoc (const xmlChar *version);
01310
01311 XMLPUBFUN void XMLCALL
01312
01313 xmlFreeDoc (xmlDocPtr cur);
01314
01315 XMLPUBFUN xmlAttrPtr XMLCALL
01316
01317 xmlNewDocProp (xmlDocPtr doc,
01318
01319 const xmlChar *name,
01320
01321 const xmlChar *value);
01322
01323 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
01324
01325 defined(LIBXML_SCHEMAS_ENABLED)
01326
01327 XMLPUBFUN xmlAttrPtr XMLCALL
01328
01329 xmlNewProp (xmlNodePtr node,
01330
01331 const xmlChar *name,
01332
01333 const xmlChar *value);
01334
01335 #endif
01336
01337 XMLPUBFUN xmlAttrPtr XMLCALL
01338
01339 xmlNewNsProp (xmlNodePtr node,
01340
01341 xmlNsPtr ns,
01342
01343 const xmlChar *name,
01344
01345 const xmlChar *value);
01346
01347 XMLPUBFUN xmlAttrPtr XMLCALL
01348
01349 xmlNewNsPropEatName (xmlNodePtr node,
01350
01351 xmlNsPtr ns,
01352
01353 xmlChar *name,
01354
01355 const xmlChar *value);
01356
01357 XMLPUBFUN void XMLCALL
01358
01359 xmlFreePropList (xmlAttrPtr cur);
01360
01361 XMLPUBFUN void XMLCALL
01362
01363 xmlFreeProp (xmlAttrPtr cur);
01364
01365 XMLPUBFUN xmlAttrPtr XMLCALL
01366
01367 xmlCopyProp (xmlNodePtr target,
01368
01369 xmlAttrPtr cur);
01370
01371 XMLPUBFUN xmlAttrPtr XMLCALL
01372
01373 xmlCopyPropList (xmlNodePtr target,
01374
01375 xmlAttrPtr cur);
01376
01377 #ifdef LIBXML_TREE_ENABLED
01378
01379 XMLPUBFUN xmlDtdPtr XMLCALL
01380
01381 xmlCopyDtd (xmlDtdPtr dtd);
01382
01383 #endif
01384
01385 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
01386
01387 XMLPUBFUN xmlDocPtr XMLCALL
01388
01389 xmlCopyDoc (xmlDocPtr doc,
01390
01391 int recursive);
01392
01393 #endif
01394
01395
01396
01397
01398
01399
01400
01401 XMLPUBFUN xmlNodePtr XMLCALL
01402
01403 xmlNewDocNode (xmlDocPtr doc,
01404
01405 xmlNsPtr ns,
01406
01407 const xmlChar *name,
01408
01409 const xmlChar *content);
01410
01411 XMLPUBFUN xmlNodePtr XMLCALL
01412
01413 xmlNewDocNodeEatName (xmlDocPtr doc,
01414
01415 xmlNsPtr ns,
01416
01417 xmlChar *name,
01418
01419 const xmlChar *content);
01420
01421 XMLPUBFUN xmlNodePtr XMLCALL
01422
01423 xmlNewNode (xmlNsPtr ns,
01424
01425 const xmlChar *name);
01426
01427 XMLPUBFUN xmlNodePtr XMLCALL
01428
01429 xmlNewNodeEatName (xmlNsPtr ns,
01430
01431 xmlChar *name);
01432
01433 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
01434
01435 XMLPUBFUN xmlNodePtr XMLCALL
01436
01437 xmlNewChild (xmlNodePtr parent,
01438
01439 xmlNsPtr ns,
01440
01441 const xmlChar *name,
01442
01443 const xmlChar *content);
01444
01445 #endif
01446
01447 XMLPUBFUN xmlNodePtr XMLCALL
01448
01449 xmlNewDocText (xmlDocPtr doc,
01450
01451 const xmlChar *content);
01452
01453 XMLPUBFUN xmlNodePtr XMLCALL
01454
01455 xmlNewText (const xmlChar *content);
01456
01457 XMLPUBFUN xmlNodePtr XMLCALL
01458
01459 xmlNewDocPI (xmlDocPtr doc,
01460
01461 const xmlChar *name,
01462
01463 const xmlChar *content);
01464
01465 XMLPUBFUN xmlNodePtr XMLCALL
01466
01467 xmlNewPI (const xmlChar *name,
01468
01469 const xmlChar *content);
01470
01471 XMLPUBFUN xmlNodePtr XMLCALL
01472
01473 xmlNewDocTextLen (xmlDocPtr doc,
01474
01475 const xmlChar *content,
01476
01477 int len);
01478
01479 XMLPUBFUN xmlNodePtr XMLCALL
01480
01481 xmlNewTextLen (const xmlChar *content,
01482
01483 int len);
01484
01485 XMLPUBFUN xmlNodePtr XMLCALL
01486
01487 xmlNewDocComment (xmlDocPtr doc,
01488
01489 const xmlChar *content);
01490
01491 XMLPUBFUN xmlNodePtr XMLCALL
01492
01493 xmlNewComment (const xmlChar *content);
01494
01495 XMLPUBFUN xmlNodePtr XMLCALL
01496
01497 xmlNewCDataBlock (xmlDocPtr doc,
01498
01499 const xmlChar *content,
01500
01501 int len);
01502
01503 XMLPUBFUN xmlNodePtr XMLCALL
01504
01505 xmlNewCharRef (xmlDocPtr doc,
01506
01507 const xmlChar *name);
01508
01509 XMLPUBFUN xmlNodePtr XMLCALL
01510
01511 xmlNewReference (xmlDocPtr doc,
01512
01513 const xmlChar *name);
01514
01515 XMLPUBFUN xmlNodePtr XMLCALL
01516
01517 xmlCopyNode (const xmlNodePtr node,
01518
01519 int recursive);
01520
01521 XMLPUBFUN xmlNodePtr XMLCALL
01522
01523 xmlDocCopyNode (const xmlNodePtr node,
01524
01525 xmlDocPtr doc,
01526
01527 int recursive);
01528
01529 XMLPUBFUN xmlNodePtr XMLCALL
01530
01531 xmlDocCopyNodeList (xmlDocPtr doc,
01532
01533 const xmlNodePtr node);
01534
01535 XMLPUBFUN xmlNodePtr XMLCALL
01536
01537 xmlCopyNodeList (const xmlNodePtr node);
01538
01539 #ifdef LIBXML_TREE_ENABLED
01540
01541 XMLPUBFUN xmlNodePtr XMLCALL
01542
01543 xmlNewTextChild (xmlNodePtr parent,
01544
01545 xmlNsPtr ns,
01546
01547 const xmlChar *name,
01548
01549 const xmlChar *content);
01550
01551 XMLPUBFUN xmlNodePtr XMLCALL
01552
01553 xmlNewDocRawNode (xmlDocPtr doc,
01554
01555 xmlNsPtr ns,
01556
01557 const xmlChar *name,
01558
01559 const xmlChar *content);
01560
01561 XMLPUBFUN xmlNodePtr XMLCALL
01562
01563 xmlNewDocFragment (xmlDocPtr doc);
01564
01565 #endif
01566
01567
01568
01569
01570
01571
01572
01573
01574
01575 XMLPUBFUN long XMLCALL
01576
01577 xmlGetLineNo (xmlNodePtr node);
01578
01579 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
01580
01581 XMLPUBFUN xmlChar * XMLCALL
01582
01583 xmlGetNodePath (xmlNodePtr node);
01584
01585 #endif
01586
01587 XMLPUBFUN xmlNodePtr XMLCALL
01588
01589 xmlDocGetRootElement (xmlDocPtr doc);
01590
01591 XMLPUBFUN xmlNodePtr XMLCALL
01592
01593 xmlGetLastChild (xmlNodePtr parent);
01594
01595 XMLPUBFUN int XMLCALL
01596
01597 xmlNodeIsText (xmlNodePtr node);
01598
01599 XMLPUBFUN int XMLCALL
01600
01601 xmlIsBlankNode (xmlNodePtr node);
01602
01603
01604
01605
01606
01607
01608
01609
01610
01611 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
01612
01613 XMLPUBFUN xmlNodePtr XMLCALL
01614
01615 xmlDocSetRootElement (xmlDocPtr doc,
01616
01617 xmlNodePtr root);
01618
01619 #endif
01620
01621 #ifdef LIBXML_TREE_ENABLED
01622
01623 XMLPUBFUN void XMLCALL
01624
01625 xmlNodeSetName (xmlNodePtr cur,
01626
01627 const xmlChar *name);
01628
01629 #endif
01630
01631 XMLPUBFUN xmlNodePtr XMLCALL
01632
01633 xmlAddChild (xmlNodePtr parent,
01634
01635 xmlNodePtr cur);
01636
01637 XMLPUBFUN xmlNodePtr XMLCALL
01638
01639 xmlAddChildList (xmlNodePtr parent,
01640
01641 xmlNodePtr cur);
01642
01643 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
01644
01645 XMLPUBFUN xmlNodePtr XMLCALL
01646
01647 xmlReplaceNode (xmlNodePtr old,
01648
01649 xmlNodePtr cur);
01650
01651 #endif
01652
01653 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
01654
01655 defined(LIBXML_SCHEMAS_ENABLED)
01656
01657 XMLPUBFUN xmlNodePtr XMLCALL
01658
01659 xmlAddPrevSibling (xmlNodePtr cur,
01660
01661 xmlNodePtr elem);
01662
01663 #endif
01664
01665 XMLPUBFUN xmlNodePtr XMLCALL
01666
01667 xmlAddSibling (xmlNodePtr cur,
01668
01669 xmlNodePtr elem);
01670
01671 XMLPUBFUN xmlNodePtr XMLCALL
01672
01673 xmlAddNextSibling (xmlNodePtr cur,
01674
01675 xmlNodePtr elem);
01676
01677 XMLPUBFUN void XMLCALL
01678
01679 xmlUnlinkNode (xmlNodePtr cur);
01680
01681 XMLPUBFUN xmlNodePtr XMLCALL
01682
01683 xmlTextMerge (xmlNodePtr first,
01684
01685 xmlNodePtr second);
01686
01687 XMLPUBFUN int XMLCALL
01688
01689 xmlTextConcat (xmlNodePtr node,
01690
01691 const xmlChar *content,
01692
01693 int len);
01694
01695 XMLPUBFUN void XMLCALL
01696
01697 xmlFreeNodeList (xmlNodePtr cur);
01698
01699 XMLPUBFUN void XMLCALL
01700
01701 xmlFreeNode (xmlNodePtr cur);
01702
01703 XMLPUBFUN void XMLCALL
01704
01705 xmlSetTreeDoc (xmlNodePtr tree,
01706
01707 xmlDocPtr doc);
01708
01709 XMLPUBFUN void XMLCALL
01710
01711 xmlSetListDoc (xmlNodePtr list,
01712
01713 xmlDocPtr doc);
01714
01715
01716
01717
01718
01719
01720
01721 XMLPUBFUN xmlNsPtr XMLCALL
01722
01723 xmlSearchNs (xmlDocPtr doc,
01724
01725 xmlNodePtr node,
01726
01727 const xmlChar *nameSpace);
01728
01729 XMLPUBFUN xmlNsPtr XMLCALL
01730
01731 xmlSearchNsByHref (xmlDocPtr doc,
01732
01733 xmlNodePtr node,
01734
01735 const xmlChar *href);
01736
01737 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED)
01738
01739 XMLPUBFUN xmlNsPtr * XMLCALL
01740
01741 xmlGetNsList (xmlDocPtr doc,
01742
01743 xmlNodePtr node);
01744
01745 #endif
01746
01747
01748
01749 XMLPUBFUN void XMLCALL
01750
01751 xmlSetNs (xmlNodePtr node,
01752
01753 xmlNsPtr ns);
01754
01755 XMLPUBFUN xmlNsPtr XMLCALL
01756
01757 xmlCopyNamespace (xmlNsPtr cur);
01758
01759 XMLPUBFUN xmlNsPtr XMLCALL
01760
01761 xmlCopyNamespaceList (xmlNsPtr cur);
01762
01763
01764
01765
01766
01767
01768
01769
01770
01771 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
01772
01773 XMLPUBFUN xmlAttrPtr XMLCALL
01774
01775 xmlSetProp (xmlNodePtr node,
01776
01777 const xmlChar *name,
01778
01779 const xmlChar *value);
01780
01781 XMLPUBFUN xmlAttrPtr XMLCALL
01782
01783 xmlSetNsProp (xmlNodePtr node,
01784
01785 xmlNsPtr ns,
01786
01787 const xmlChar *name,
01788
01789 const xmlChar *value);
01790
01791 #endif
01792
01793 XMLPUBFUN xmlChar * XMLCALL
01794
01795 xmlGetNoNsProp (xmlNodePtr node,
01796
01797 const xmlChar *name);
01798
01799 XMLPUBFUN xmlChar * XMLCALL
01800
01801 xmlGetProp (xmlNodePtr node,
01802
01803 const xmlChar *name);
01804
01805 XMLPUBFUN xmlAttrPtr XMLCALL
01806
01807 xmlHasProp (xmlNodePtr node,
01808
01809 const xmlChar *name);
01810
01811 XMLPUBFUN xmlAttrPtr XMLCALL
01812
01813 xmlHasNsProp (xmlNodePtr node,
01814
01815 const xmlChar *name,
01816
01817 const xmlChar *nameSpace);
01818
01819 XMLPUBFUN xmlChar * XMLCALL
01820
01821 xmlGetNsProp (xmlNodePtr node,
01822
01823 const xmlChar *name,
01824
01825 const xmlChar *nameSpace);
01826
01827 XMLPUBFUN xmlNodePtr XMLCALL
01828
01829 xmlStringGetNodeList (xmlDocPtr doc,
01830
01831 const xmlChar *value);
01832
01833 XMLPUBFUN xmlNodePtr XMLCALL
01834
01835 xmlStringLenGetNodeList (xmlDocPtr doc,
01836
01837 const xmlChar *value,
01838
01839 int len);
01840
01841 XMLPUBFUN xmlChar * XMLCALL
01842
01843 xmlNodeListGetString (xmlDocPtr doc,
01844
01845 xmlNodePtr list,
01846
01847 int inLine);
01848
01849 #ifdef LIBXML_TREE_ENABLED
01850
01851 XMLPUBFUN xmlChar * XMLCALL
01852
01853 xmlNodeListGetRawString (xmlDocPtr doc,
01854
01855 xmlNodePtr list,
01856
01857 int inLine);
01858
01859 #endif
01860
01861 XMLPUBFUN void XMLCALL
01862
01863 xmlNodeSetContent (xmlNodePtr cur,
01864
01865 const xmlChar *content);
01866
01867 #ifdef LIBXML_TREE_ENABLED
01868
01869 XMLPUBFUN void XMLCALL
01870
01871 xmlNodeSetContentLen (xmlNodePtr cur,
01872
01873 const xmlChar *content,
01874
01875 int len);
01876
01877 #endif
01878
01879 XMLPUBFUN void XMLCALL
01880
01881 xmlNodeAddContent (xmlNodePtr cur,
01882
01883 const xmlChar *content);
01884
01885 XMLPUBFUN void XMLCALL
01886
01887 xmlNodeAddContentLen (xmlNodePtr cur,
01888
01889 const xmlChar *content,
01890
01891 int len);
01892
01893 XMLPUBFUN xmlChar * XMLCALL
01894
01895 xmlNodeGetContent (xmlNodePtr cur);
01896
01897 XMLPUBFUN int XMLCALL
01898
01899 xmlNodeBufGetContent (xmlBufferPtr buffer,
01900
01901 xmlNodePtr cur);
01902
01903 XMLPUBFUN xmlChar * XMLCALL
01904
01905 xmlNodeGetLang (xmlNodePtr cur);
01906
01907 XMLPUBFUN int XMLCALL
01908
01909 xmlNodeGetSpacePreserve (xmlNodePtr cur);
01910
01911 #ifdef LIBXML_TREE_ENABLED
01912
01913 XMLPUBFUN void XMLCALL
01914
01915 xmlNodeSetLang (xmlNodePtr cur,
01916
01917 const xmlChar *lang);
01918
01919 XMLPUBFUN void XMLCALL
01920
01921 xmlNodeSetSpacePreserve (xmlNodePtr cur,
01922
01923 int val);
01924
01925 #endif
01926
01927 XMLPUBFUN xmlChar * XMLCALL
01928
01929 xmlNodeGetBase (xmlDocPtr doc,
01930
01931 xmlNodePtr cur);
01932
01933 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
01934
01935 XMLPUBFUN void XMLCALL
01936
01937 xmlNodeSetBase (xmlNodePtr cur,
01938
01939 const xmlChar *uri);
01940
01941 #endif
01942
01943
01944
01945
01946
01947
01948
01949
01950
01951 #ifdef LIBXML_TREE_ENABLED
01952
01953 XMLPUBFUN int XMLCALL
01954
01955 xmlRemoveProp (xmlAttrPtr cur);
01956
01957 #endif
01958
01959 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
01960
01961 XMLPUBFUN int XMLCALL
01962
01963 xmlUnsetNsProp (xmlNodePtr node,
01964
01965 xmlNsPtr ns,
01966
01967 const xmlChar *name);
01968
01969 XMLPUBFUN int XMLCALL
01970
01971 xmlUnsetProp (xmlNodePtr node,
01972
01973 const xmlChar *name);
01974
01975 #endif
01976
01977
01978
01979
01980
01981
01982
01983
01984
01985 XMLPUBFUN void XMLCALL
01986
01987 xmlBufferWriteCHAR (xmlBufferPtr buf,
01988
01989 const xmlChar *string);
01990
01991 XMLPUBFUN void XMLCALL
01992
01993 xmlBufferWriteChar (xmlBufferPtr buf,
01994
01995 const char *string);
01996
01997 XMLPUBFUN void XMLCALL
01998
01999 xmlBufferWriteQuotedString(xmlBufferPtr buf,
02000
02001 const xmlChar *string);
02002
02003
02004
02005 #ifdef LIBXML_OUTPUT_ENABLED
02006
02007 XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf,
02008
02009 xmlDocPtr doc,
02010
02011 xmlAttrPtr attr,
02012
02013 const xmlChar *string);
02014
02015 #endif
02016
02017
02018
02019 #ifdef LIBXML_TREE_ENABLED
02020
02021
02022
02023
02024
02025
02026
02027 XMLPUBFUN int XMLCALL
02028
02029 xmlReconciliateNs (xmlDocPtr doc,
02030
02031 xmlNodePtr tree);
02032
02033 #endif
02034
02035
02036
02037 #ifdef LIBXML_OUTPUT_ENABLED
02038
02039
02040
02041
02042
02043
02044
02045 XMLPUBFUN void XMLCALL
02046
02047 xmlDocDumpFormatMemory (xmlDocPtr cur,
02048
02049 xmlChar **mem,
02050
02051 int *size,
02052
02053 int format);
02054
02055 XMLPUBFUN void XMLCALL
02056
02057 xmlDocDumpMemory (xmlDocPtr cur,
02058
02059 xmlChar **mem,
02060
02061 int *size);
02062
02063 XMLPUBFUN void XMLCALL
02064
02065 xmlDocDumpMemoryEnc (xmlDocPtr out_doc,
02066
02067 xmlChar **doc_txt_ptr,
02068
02069 int * doc_txt_len,
02070
02071 const char *txt_encoding);
02072
02073 XMLPUBFUN void XMLCALL
02074
02075 xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc,
02076
02077 xmlChar **doc_txt_ptr,
02078
02079 int * doc_txt_len,
02080
02081 const char *txt_encoding,
02082
02083 int format);
02084
02085 XMLPUBFUN int XMLCALL
02086
02087 xmlDocFormatDump (FILE *f,
02088
02089 xmlDocPtr cur,
02090
02091 int format);
02092
02093 XMLPUBFUN int XMLCALL
02094
02095 xmlDocDump (FILE *f,
02096
02097 xmlDocPtr cur);
02098
02099 XMLPUBFUN void XMLCALL
02100
02101 xmlElemDump (FILE *f,
02102
02103 xmlDocPtr doc,
02104
02105 xmlNodePtr cur);
02106
02107 XMLPUBFUN int XMLCALL
02108
02109 xmlSaveFile (const char *filename,
02110
02111 xmlDocPtr cur);
02112
02113 XMLPUBFUN int XMLCALL
02114
02115 xmlSaveFormatFile (const char *filename,
02116
02117 xmlDocPtr cur,
02118
02119 int format);
02120
02121 XMLPUBFUN int XMLCALL
02122
02123 xmlNodeDump (xmlBufferPtr buf,
02124
02125 xmlDocPtr doc,
02126
02127 xmlNodePtr cur,
02128
02129 int level,
02130
02131 int format);
02132
02133
02134
02135 XMLPUBFUN int XMLCALL
02136
02137 xmlSaveFileTo (xmlOutputBufferPtr buf,
02138
02139 xmlDocPtr cur,
02140
02141 const char *encoding);
02142
02143 XMLPUBFUN int XMLCALL
02144
02145 xmlSaveFormatFileTo (xmlOutputBufferPtr buf,
02146
02147 xmlDocPtr cur,
02148
02149 const char *encoding,
02150
02151 int format);
02152
02153 XMLPUBFUN void XMLCALL
02154
02155 xmlNodeDumpOutput (xmlOutputBufferPtr buf,
02156
02157 xmlDocPtr doc,
02158
02159 xmlNodePtr cur,
02160
02161 int level,
02162
02163 int format,
02164
02165 const char *encoding);
02166
02167
02168
02169 XMLPUBFUN int XMLCALL
02170
02171 xmlSaveFormatFileEnc (const char *filename,
02172
02173 xmlDocPtr cur,
02174
02175 const char *encoding,
02176
02177 int format);
02178
02179
02180
02181 XMLPUBFUN int XMLCALL
02182
02183 xmlSaveFileEnc (const char *filename,
02184
02185 xmlDocPtr cur,
02186
02187 const char *encoding);
02188
02189
02190
02191 #endif
02192
02193
02194
02195
02196
02197
02198
02199 XMLPUBFUN int XMLCALL
02200
02201 xmlIsXHTML (const xmlChar *systemID,
02202
02203 const xmlChar *publicID);
02204
02205
02206
02207
02208
02209
02210
02211
02212
02213 XMLPUBFUN int XMLCALL
02214
02215 xmlGetDocCompressMode (xmlDocPtr doc);
02216
02217 XMLPUBFUN void XMLCALL
02218
02219 xmlSetDocCompressMode (xmlDocPtr doc,
02220
02221 int mode);
02222
02223 XMLPUBFUN int XMLCALL
02224
02225 xmlGetCompressMode (void);
02226
02227 XMLPUBFUN void XMLCALL
02228
02229 xmlSetCompressMode (int mode);
02230
02231
02232
02233 #ifdef __cplusplus
02234
02235 }
02236
02237 #endif
02238
02239 #ifndef __XML_PARSER_H__
02240
02241 #include <libxml/xmlmemory.h>
02242
02243 #endif
02244
02245
02246
02247 #endif
02248
02249
02250