Imported Upstream version 2.9.1
[platform/upstream/libxml2.git] / python / libxml2class.py
1 #
2 # Functions from module HTMLparser
3 #
4
5 def htmlCreateMemoryParserCtxt(buffer, size):
6     """Create a parser context for an HTML in-memory document. """
7     ret = libxml2mod.htmlCreateMemoryParserCtxt(buffer, size)
8     if ret is None:raise parserError('htmlCreateMemoryParserCtxt() failed')
9     return parserCtxt(_obj=ret)
10
11 def htmlHandleOmittedElem(val):
12     """Set and return the previous value for handling HTML omitted
13        tags. """
14     ret = libxml2mod.htmlHandleOmittedElem(val)
15     return ret
16
17 def htmlIsScriptAttribute(name):
18     """Check if an attribute is of content type Script """
19     ret = libxml2mod.htmlIsScriptAttribute(name)
20     return ret
21
22 def htmlNewParserCtxt():
23     """Allocate and initialize a new parser context. """
24     ret = libxml2mod.htmlNewParserCtxt()
25     if ret is None:raise parserError('htmlNewParserCtxt() failed')
26     return parserCtxt(_obj=ret)
27
28 def htmlParseDoc(cur, encoding):
29     """parse an HTML in-memory document and build a tree. """
30     ret = libxml2mod.htmlParseDoc(cur, encoding)
31     if ret is None:raise parserError('htmlParseDoc() failed')
32     return xmlDoc(_obj=ret)
33
34 def htmlParseFile(filename, encoding):
35     """parse an HTML file and build a tree. Automatic support for
36       ZLIB/Compress compressed document is provided by default if
37        found at compile-time. """
38     ret = libxml2mod.htmlParseFile(filename, encoding)
39     if ret is None:raise parserError('htmlParseFile() failed')
40     return xmlDoc(_obj=ret)
41
42 def htmlReadDoc(cur, URL, encoding, options):
43     """parse an XML in-memory document and build a tree. """
44     ret = libxml2mod.htmlReadDoc(cur, URL, encoding, options)
45     if ret is None:raise treeError('htmlReadDoc() failed')
46     return xmlDoc(_obj=ret)
47
48 def htmlReadFd(fd, URL, encoding, options):
49     """parse an XML from a file descriptor and build a tree. """
50     ret = libxml2mod.htmlReadFd(fd, URL, encoding, options)
51     if ret is None:raise treeError('htmlReadFd() failed')
52     return xmlDoc(_obj=ret)
53
54 def htmlReadFile(filename, encoding, options):
55     """parse an XML file from the filesystem or the network. """
56     ret = libxml2mod.htmlReadFile(filename, encoding, options)
57     if ret is None:raise treeError('htmlReadFile() failed')
58     return xmlDoc(_obj=ret)
59
60 def htmlReadMemory(buffer, size, URL, encoding, options):
61     """parse an XML in-memory document and build a tree. """
62     ret = libxml2mod.htmlReadMemory(buffer, size, URL, encoding, options)
63     if ret is None:raise treeError('htmlReadMemory() failed')
64     return xmlDoc(_obj=ret)
65
66 #
67 # Functions from module HTMLtree
68 #
69
70 def htmlIsBooleanAttr(name):
71     """Determine if a given attribute is a boolean attribute. """
72     ret = libxml2mod.htmlIsBooleanAttr(name)
73     return ret
74
75 def htmlNewDoc(URI, ExternalID):
76     """Creates a new HTML document """
77     ret = libxml2mod.htmlNewDoc(URI, ExternalID)
78     if ret is None:raise treeError('htmlNewDoc() failed')
79     return xmlDoc(_obj=ret)
80
81 def htmlNewDocNoDtD(URI, ExternalID):
82     """Creates a new HTML document without a DTD node if @URI and
83        @ExternalID are None """
84     ret = libxml2mod.htmlNewDocNoDtD(URI, ExternalID)
85     if ret is None:raise treeError('htmlNewDocNoDtD() failed')
86     return xmlDoc(_obj=ret)
87
88 #
89 # Functions from module SAX2
90 #
91
92 def SAXDefaultVersion(version):
93     """Set the default version of SAX used globally by the
94       library. By default, during initialization the default is
95       set to 2. Note that it is generally a better coding style
96       to use xmlSAXVersion() to set up the version explicitly for
97        a given parsing context. """
98     ret = libxml2mod.xmlSAXDefaultVersion(version)
99     return ret
100
101 def defaultSAXHandlerInit():
102     """Initialize the default SAX2 handler """
103     libxml2mod.xmlDefaultSAXHandlerInit()
104
105 def docbDefaultSAXHandlerInit():
106     """Initialize the default SAX handler """
107     libxml2mod.docbDefaultSAXHandlerInit()
108
109 def htmlDefaultSAXHandlerInit():
110     """Initialize the default SAX handler """
111     libxml2mod.htmlDefaultSAXHandlerInit()
112
113 #
114 # Functions from module catalog
115 #
116
117 def catalogAdd(type, orig, replace):
118     """Add an entry in the catalog, it may overwrite existing but
119       different entries. If called before any other catalog
120       routine, allows to override the default shared catalog put
121        in place by xmlInitializeCatalog(); """
122     ret = libxml2mod.xmlCatalogAdd(type, orig, replace)
123     return ret
124
125 def catalogCleanup():
126     """Free up all the memory associated with catalogs """
127     libxml2mod.xmlCatalogCleanup()
128
129 def catalogConvert():
130     """Convert all the SGML catalog entries as XML ones """
131     ret = libxml2mod.xmlCatalogConvert()
132     return ret
133
134 def catalogDump(out):
135     """Dump all the global catalog content to the given file. """
136     if out is not None: out.flush()
137     libxml2mod.xmlCatalogDump(out)
138
139 def catalogGetPublic(pubID):
140     """Try to lookup the catalog reference associated to a public
141        ID DEPRECATED, use xmlCatalogResolvePublic() """
142     ret = libxml2mod.xmlCatalogGetPublic(pubID)
143     return ret
144
145 def catalogGetSystem(sysID):
146     """Try to lookup the catalog reference associated to a system
147        ID DEPRECATED, use xmlCatalogResolveSystem() """
148     ret = libxml2mod.xmlCatalogGetSystem(sysID)
149     return ret
150
151 def catalogRemove(value):
152     """Remove an entry from the catalog """
153     ret = libxml2mod.xmlCatalogRemove(value)
154     return ret
155
156 def catalogResolve(pubID, sysID):
157     """Do a complete resolution lookup of an External Identifier """
158     ret = libxml2mod.xmlCatalogResolve(pubID, sysID)
159     return ret
160
161 def catalogResolvePublic(pubID):
162     """Try to lookup the catalog reference associated to a public
163        ID """
164     ret = libxml2mod.xmlCatalogResolvePublic(pubID)
165     return ret
166
167 def catalogResolveSystem(sysID):
168     """Try to lookup the catalog resource for a system ID """
169     ret = libxml2mod.xmlCatalogResolveSystem(sysID)
170     return ret
171
172 def catalogResolveURI(URI):
173     """Do a complete resolution lookup of an URI """
174     ret = libxml2mod.xmlCatalogResolveURI(URI)
175     return ret
176
177 def catalogSetDebug(level):
178     """Used to set the debug level for catalog operation, 0
179        disable debugging, 1 enable it """
180     ret = libxml2mod.xmlCatalogSetDebug(level)
181     return ret
182
183 def initializeCatalog():
184     """Do the catalog initialization. this function is not thread
185       safe, catalog initialization should preferably be done once
186        at startup """
187     libxml2mod.xmlInitializeCatalog()
188
189 def loadACatalog(filename):
190     """Load the catalog and build the associated data structures.
191       This can be either an XML Catalog or an SGML Catalog It
192       will recurse in SGML CATALOG entries. On the other hand XML
193        Catalogs are not handled recursively. """
194     ret = libxml2mod.xmlLoadACatalog(filename)
195     if ret is None:raise treeError('xmlLoadACatalog() failed')
196     return catalog(_obj=ret)
197
198 def loadCatalog(filename):
199     """Load the catalog and makes its definitions effective for
200       the default external entity loader. It will recurse in SGML
201       CATALOG entries. this function is not thread safe, catalog
202        initialization should preferably be done once at startup """
203     ret = libxml2mod.xmlLoadCatalog(filename)
204     return ret
205
206 def loadCatalogs(pathss):
207     """Load the catalogs and makes their definitions effective for
208       the default external entity loader. this function is not
209       thread safe, catalog initialization should preferably be
210        done once at startup """
211     libxml2mod.xmlLoadCatalogs(pathss)
212
213 def loadSGMLSuperCatalog(filename):
214     """Load an SGML super catalog. It won't expand CATALOG or
215       DELEGATE references. This is only needed for manipulating
216       SGML Super Catalogs like adding and removing CATALOG or
217        DELEGATE entries. """
218     ret = libxml2mod.xmlLoadSGMLSuperCatalog(filename)
219     if ret is None:raise treeError('xmlLoadSGMLSuperCatalog() failed')
220     return catalog(_obj=ret)
221
222 def newCatalog(sgml):
223     """create a new Catalog. """
224     ret = libxml2mod.xmlNewCatalog(sgml)
225     if ret is None:raise treeError('xmlNewCatalog() failed')
226     return catalog(_obj=ret)
227
228 def parseCatalogFile(filename):
229     """parse an XML file and build a tree. It's like
230        xmlParseFile() except it bypass all catalog lookups. """
231     ret = libxml2mod.xmlParseCatalogFile(filename)
232     if ret is None:raise parserError('xmlParseCatalogFile() failed')
233     return xmlDoc(_obj=ret)
234
235 #
236 # Functions from module chvalid
237 #
238
239 def isBaseChar(ch):
240     """This function is DEPRECATED. Use xmlIsBaseChar_ch or
241        xmlIsBaseCharQ instead """
242     ret = libxml2mod.xmlIsBaseChar(ch)
243     return ret
244
245 def isBlank(ch):
246     """This function is DEPRECATED. Use xmlIsBlank_ch or
247        xmlIsBlankQ instead """
248     ret = libxml2mod.xmlIsBlank(ch)
249     return ret
250
251 def isChar(ch):
252     """This function is DEPRECATED. Use xmlIsChar_ch or xmlIsCharQ
253        instead """
254     ret = libxml2mod.xmlIsChar(ch)
255     return ret
256
257 def isCombining(ch):
258     """This function is DEPRECATED. Use xmlIsCombiningQ instead """
259     ret = libxml2mod.xmlIsCombining(ch)
260     return ret
261
262 def isDigit(ch):
263     """This function is DEPRECATED. Use xmlIsDigit_ch or
264        xmlIsDigitQ instead """
265     ret = libxml2mod.xmlIsDigit(ch)
266     return ret
267
268 def isExtender(ch):
269     """This function is DEPRECATED. Use xmlIsExtender_ch or
270        xmlIsExtenderQ instead """
271     ret = libxml2mod.xmlIsExtender(ch)
272     return ret
273
274 def isIdeographic(ch):
275     """This function is DEPRECATED. Use xmlIsIdeographicQ instead """
276     ret = libxml2mod.xmlIsIdeographic(ch)
277     return ret
278
279 def isPubidChar(ch):
280     """This function is DEPRECATED. Use xmlIsPubidChar_ch or
281        xmlIsPubidCharQ instead """
282     ret = libxml2mod.xmlIsPubidChar(ch)
283     return ret
284
285 #
286 # Functions from module debugXML
287 #
288
289 def boolToText(boolval):
290     """Convenient way to turn bool into text """
291     ret = libxml2mod.xmlBoolToText(boolval)
292     return ret
293
294 def debugDumpString(output, str):
295     """Dumps informations about the string, shorten it if necessary """
296     if output is not None: output.flush()
297     libxml2mod.xmlDebugDumpString(output, str)
298
299 def shellPrintXPathError(errorType, arg):
300     """Print the xpath error to libxml default error channel """
301     libxml2mod.xmlShellPrintXPathError(errorType, arg)
302
303 #
304 # Functions from module dict
305 #
306
307 def dictCleanup():
308     """Free the dictionary mutex. Do not call unless sure the
309        library is not in use anymore ! """
310     libxml2mod.xmlDictCleanup()
311
312 def initializeDict():
313     """Do the dictionary mutex initialization. this function is
314        deprecated """
315     ret = libxml2mod.xmlInitializeDict()
316     return ret
317
318 #
319 # Functions from module encoding
320 #
321
322 def addEncodingAlias(name, alias):
323     """Registers an alias @alias for an encoding named @name.
324        Existing alias will be overwritten. """
325     ret = libxml2mod.xmlAddEncodingAlias(name, alias)
326     return ret
327
328 def cleanupCharEncodingHandlers():
329     """Cleanup the memory allocated for the char encoding support,
330        it unregisters all the encoding handlers and the aliases. """
331     libxml2mod.xmlCleanupCharEncodingHandlers()
332
333 def cleanupEncodingAliases():
334     """Unregisters all aliases """
335     libxml2mod.xmlCleanupEncodingAliases()
336
337 def delEncodingAlias(alias):
338     """Unregisters an encoding alias @alias """
339     ret = libxml2mod.xmlDelEncodingAlias(alias)
340     return ret
341
342 def encodingAlias(alias):
343     """Lookup an encoding name for the given alias. """
344     ret = libxml2mod.xmlGetEncodingAlias(alias)
345     return ret
346
347 def initCharEncodingHandlers():
348     """Initialize the char encoding support, it registers the
349       default encoding supported. NOTE: while public, this
350       function usually doesn't need to be called in normal
351        processing. """
352     libxml2mod.xmlInitCharEncodingHandlers()
353
354 #
355 # Functions from module entities
356 #
357
358 def cleanupPredefinedEntities():
359     """Cleanup up the predefined entities table. Deprecated call """
360     libxml2mod.xmlCleanupPredefinedEntities()
361
362 def initializePredefinedEntities():
363     """Set up the predefined entities. Deprecated call """
364     libxml2mod.xmlInitializePredefinedEntities()
365
366 def predefinedEntity(name):
367     """Check whether this name is an predefined entity. """
368     ret = libxml2mod.xmlGetPredefinedEntity(name)
369     if ret is None:raise treeError('xmlGetPredefinedEntity() failed')
370     return xmlEntity(_obj=ret)
371
372 #
373 # Functions from module globals
374 #
375
376 def cleanupGlobals():
377     """Additional cleanup for multi-threading """
378     libxml2mod.xmlCleanupGlobals()
379
380 def initGlobals():
381     """Additional initialisation for multi-threading """
382     libxml2mod.xmlInitGlobals()
383
384 def thrDefDefaultBufferSize(v):
385     ret = libxml2mod.xmlThrDefDefaultBufferSize(v)
386     return ret
387
388 def thrDefDoValidityCheckingDefaultValue(v):
389     ret = libxml2mod.xmlThrDefDoValidityCheckingDefaultValue(v)
390     return ret
391
392 def thrDefGetWarningsDefaultValue(v):
393     ret = libxml2mod.xmlThrDefGetWarningsDefaultValue(v)
394     return ret
395
396 def thrDefIndentTreeOutput(v):
397     ret = libxml2mod.xmlThrDefIndentTreeOutput(v)
398     return ret
399
400 def thrDefKeepBlanksDefaultValue(v):
401     ret = libxml2mod.xmlThrDefKeepBlanksDefaultValue(v)
402     return ret
403
404 def thrDefLineNumbersDefaultValue(v):
405     ret = libxml2mod.xmlThrDefLineNumbersDefaultValue(v)
406     return ret
407
408 def thrDefLoadExtDtdDefaultValue(v):
409     ret = libxml2mod.xmlThrDefLoadExtDtdDefaultValue(v)
410     return ret
411
412 def thrDefParserDebugEntities(v):
413     ret = libxml2mod.xmlThrDefParserDebugEntities(v)
414     return ret
415
416 def thrDefPedanticParserDefaultValue(v):
417     ret = libxml2mod.xmlThrDefPedanticParserDefaultValue(v)
418     return ret
419
420 def thrDefSaveNoEmptyTags(v):
421     ret = libxml2mod.xmlThrDefSaveNoEmptyTags(v)
422     return ret
423
424 def thrDefSubstituteEntitiesDefaultValue(v):
425     ret = libxml2mod.xmlThrDefSubstituteEntitiesDefaultValue(v)
426     return ret
427
428 def thrDefTreeIndentString(v):
429     ret = libxml2mod.xmlThrDefTreeIndentString(v)
430     return ret
431
432 #
433 # Functions from module nanoftp
434 #
435
436 def nanoFTPCleanup():
437     """Cleanup the FTP protocol layer. This cleanup proxy
438        informations. """
439     libxml2mod.xmlNanoFTPCleanup()
440
441 def nanoFTPInit():
442     """Initialize the FTP protocol layer. Currently it just checks
443        for proxy informations, and get the hostname """
444     libxml2mod.xmlNanoFTPInit()
445
446 def nanoFTPProxy(host, port, user, passwd, type):
447     """Setup the FTP proxy informations. This can also be done by
448       using ftp_proxy ftp_proxy_user and ftp_proxy_password
449        environment variables. """
450     libxml2mod.xmlNanoFTPProxy(host, port, user, passwd, type)
451
452 def nanoFTPScanProxy(URL):
453     """(Re)Initialize the FTP Proxy context by parsing the URL and
454       finding the protocol host port it indicates. Should be like
455       ftp://myproxy/ or ftp://myproxy:3128/ A None URL cleans up
456        proxy informations. """
457     libxml2mod.xmlNanoFTPScanProxy(URL)
458
459 #
460 # Functions from module nanohttp
461 #
462
463 def nanoHTTPCleanup():
464     """Cleanup the HTTP protocol layer. """
465     libxml2mod.xmlNanoHTTPCleanup()
466
467 def nanoHTTPInit():
468     """Initialize the HTTP protocol layer. Currently it just
469        checks for proxy informations """
470     libxml2mod.xmlNanoHTTPInit()
471
472 def nanoHTTPScanProxy(URL):
473     """(Re)Initialize the HTTP Proxy context by parsing the URL
474       and finding the protocol host port it indicates. Should be
475       like http://myproxy/ or http://myproxy:3128/ A None URL
476        cleans up proxy informations. """
477     libxml2mod.xmlNanoHTTPScanProxy(URL)
478
479 #
480 # Functions from module parser
481 #
482
483 def createDocParserCtxt(cur):
484     """Creates a parser context for an XML in-memory document. """
485     ret = libxml2mod.xmlCreateDocParserCtxt(cur)
486     if ret is None:raise parserError('xmlCreateDocParserCtxt() failed')
487     return parserCtxt(_obj=ret)
488
489 def initParser():
490     """Initialization function for the XML parser. This is not
491       reentrant. Call once before processing in case of use in
492        multithreaded programs. """
493     libxml2mod.xmlInitParser()
494
495 def keepBlanksDefault(val):
496     """Set and return the previous value for default blanks text
497       nodes support. The 1.x version of the parser used an
498       heuristic to try to detect ignorable white spaces. As a
499       result the SAX callback was generating
500       xmlSAX2IgnorableWhitespace() callbacks instead of
501       characters() one, and when using the DOM output text nodes
502       containing those blanks were not generated. The 2.x and
503       later version will switch to the XML standard way and
504       ignorableWhitespace() are only generated when running the
505       parser in validating mode and when the current element
506       doesn't allow CDATA or mixed content. This function is
507       provided as a way to force the standard behavior on 1.X
508       libs and to switch back to the old mode for compatibility
509       when running 1.X client code on 2.X . Upgrade of 1.X code
510       should be done by using xmlIsBlankNode() commodity function
511       to detect the "empty" nodes generated. This value also
512       affect autogeneration of indentation when saving code if
513        blanks sections are kept, indentation is not generated. """
514     ret = libxml2mod.xmlKeepBlanksDefault(val)
515     return ret
516
517 def lineNumbersDefault(val):
518     """Set and return the previous value for enabling line numbers
519       in elements contents. This may break on old application and
520        is turned off by default. """
521     ret = libxml2mod.xmlLineNumbersDefault(val)
522     return ret
523
524 def newParserCtxt():
525     """Allocate and initialize a new parser context. """
526     ret = libxml2mod.xmlNewParserCtxt()
527     if ret is None:raise parserError('xmlNewParserCtxt() failed')
528     return parserCtxt(_obj=ret)
529
530 def parseDTD(ExternalID, SystemID):
531     """Load and parse an external subset. """
532     ret = libxml2mod.xmlParseDTD(ExternalID, SystemID)
533     if ret is None:raise parserError('xmlParseDTD() failed')
534     return xmlDtd(_obj=ret)
535
536 def parseDoc(cur):
537     """parse an XML in-memory document and build a tree. """
538     ret = libxml2mod.xmlParseDoc(cur)
539     if ret is None:raise parserError('xmlParseDoc() failed')
540     return xmlDoc(_obj=ret)
541
542 def parseEntity(filename):
543     """parse an XML external entity out of context and build a
544       tree.  [78] extParsedEnt ::= TextDecl? content  This
545        correspond to a "Well Balanced" chunk """
546     ret = libxml2mod.xmlParseEntity(filename)
547     if ret is None:raise parserError('xmlParseEntity() failed')
548     return xmlDoc(_obj=ret)
549
550 def parseFile(filename):
551     """parse an XML file and build a tree. Automatic support for
552       ZLIB/Compress compressed document is provided by default if
553        found at compile-time. """
554     ret = libxml2mod.xmlParseFile(filename)
555     if ret is None:raise parserError('xmlParseFile() failed')
556     return xmlDoc(_obj=ret)
557
558 def parseMemory(buffer, size):
559     """parse an XML in-memory block and build a tree. """
560     ret = libxml2mod.xmlParseMemory(buffer, size)
561     if ret is None:raise parserError('xmlParseMemory() failed')
562     return xmlDoc(_obj=ret)
563
564 def pedanticParserDefault(val):
565     """Set and return the previous value for enabling pedantic
566        warnings. """
567     ret = libxml2mod.xmlPedanticParserDefault(val)
568     return ret
569
570 def readDoc(cur, URL, encoding, options):
571     """parse an XML in-memory document and build a tree. """
572     ret = libxml2mod.xmlReadDoc(cur, URL, encoding, options)
573     if ret is None:raise treeError('xmlReadDoc() failed')
574     return xmlDoc(_obj=ret)
575
576 def readFd(fd, URL, encoding, options):
577     """parse an XML from a file descriptor and build a tree. NOTE
578       that the file descriptor will not be closed when the reader
579        is closed or reset. """
580     ret = libxml2mod.xmlReadFd(fd, URL, encoding, options)
581     if ret is None:raise treeError('xmlReadFd() failed')
582     return xmlDoc(_obj=ret)
583
584 def readFile(filename, encoding, options):
585     """parse an XML file from the filesystem or the network. """
586     ret = libxml2mod.xmlReadFile(filename, encoding, options)
587     if ret is None:raise treeError('xmlReadFile() failed')
588     return xmlDoc(_obj=ret)
589
590 def readMemory(buffer, size, URL, encoding, options):
591     """parse an XML in-memory document and build a tree. """
592     ret = libxml2mod.xmlReadMemory(buffer, size, URL, encoding, options)
593     if ret is None:raise treeError('xmlReadMemory() failed')
594     return xmlDoc(_obj=ret)
595
596 def recoverDoc(cur):
597     """parse an XML in-memory document and build a tree. In the
598       case the document is not Well Formed, a attempt to build a
599        tree is tried anyway """
600     ret = libxml2mod.xmlRecoverDoc(cur)
601     if ret is None:raise treeError('xmlRecoverDoc() failed')
602     return xmlDoc(_obj=ret)
603
604 def recoverFile(filename):
605     """parse an XML file and build a tree. Automatic support for
606       ZLIB/Compress compressed document is provided by default if
607       found at compile-time. In the case the document is not Well
608        Formed, it attempts to build a tree anyway """
609     ret = libxml2mod.xmlRecoverFile(filename)
610     if ret is None:raise treeError('xmlRecoverFile() failed')
611     return xmlDoc(_obj=ret)
612
613 def recoverMemory(buffer, size):
614     """parse an XML in-memory block and build a tree. In the case
615       the document is not Well Formed, an attempt to build a tree
616        is tried anyway """
617     ret = libxml2mod.xmlRecoverMemory(buffer, size)
618     if ret is None:raise treeError('xmlRecoverMemory() failed')
619     return xmlDoc(_obj=ret)
620
621 def substituteEntitiesDefault(val):
622     """Set and return the previous value for default entity
623       support. Initially the parser always keep entity references
624       instead of substituting entity values in the output. This
625       function has to be used to change the default parser
626       behavior SAX::substituteEntities() has to be used for
627        changing that on a file by file basis. """
628     ret = libxml2mod.xmlSubstituteEntitiesDefault(val)
629     return ret
630
631 #
632 # Functions from module parserInternals
633 #
634
635 def checkLanguageID(lang):
636     """Checks that the value conforms to the LanguageID
637       production:  NOTE: this is somewhat deprecated, those
638       productions were removed from the XML Second edition.  [33]
639       LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::=
640       ISO639Code |  IanaCode |  UserCode [35] ISO639Code ::=
641       ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' |
642       'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-'
643       ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+  The
644       current REC reference the sucessors of RFC 1766, currently
645       5646  http://www.rfc-editor.org/rfc/rfc5646.txt langtag    
646       = language ["-" script] ["-" region] *("-" variant) *("-"
647       extension) ["-" privateuse] language      = 2*3ALPHA       
648       ; shortest ISO 639 code ["-" extlang]       ; sometimes
649       followed by ; extended language subtags / 4ALPHA           
650       ; or reserved for future use / 5*8ALPHA            ; or
651       registered language subtag  extlang       = 3ALPHA         
652       ; selected ISO 639 codes *2("-" 3ALPHA)      ; permanently
653       reserved  script        = 4ALPHA              ; ISO 15924
654       code  region        = 2ALPHA              ; ISO 3166-1 code
655       / 3DIGIT              ; UN M.49 code  variant       =
656       5*8alphanum         ; registered variants / (DIGIT
657       3alphanum)  extension     = singleton 1*("-" (2*8alphanum))
658       ; Single alphanumerics ; "x" reserved for private use
659       singleton     = DIGIT               ; 0 - 9 / %x41-57      
660       ; A - W / %x59-5A             ; Y - Z / %x61-77            
661       ; a - w / %x79-7A             ; y - z  it sounds right to
662       still allow Irregular i-xxx IANA and user codes too The
663       parser below doesn't try to cope with extension or
664       privateuse that could be added but that's not interoperable
665        anyway """
666     ret = libxml2mod.xmlCheckLanguageID(lang)
667     return ret
668
669 def copyChar(len, out, val):
670     """append the char value in the array """
671     ret = libxml2mod.xmlCopyChar(len, out, val)
672     return ret
673
674 def copyCharMultiByte(out, val):
675     """append the char value in the array """
676     ret = libxml2mod.xmlCopyCharMultiByte(out, val)
677     return ret
678
679 def createEntityParserCtxt(URL, ID, base):
680     """Create a parser context for an external entity Automatic
681       support for ZLIB/Compress compressed document is provided
682        by default if found at compile-time. """
683     ret = libxml2mod.xmlCreateEntityParserCtxt(URL, ID, base)
684     if ret is None:raise parserError('xmlCreateEntityParserCtxt() failed')
685     return parserCtxt(_obj=ret)
686
687 def createFileParserCtxt(filename):
688     """Create a parser context for a file content. Automatic
689       support for ZLIB/Compress compressed document is provided
690        by default if found at compile-time. """
691     ret = libxml2mod.xmlCreateFileParserCtxt(filename)
692     if ret is None:raise parserError('xmlCreateFileParserCtxt() failed')
693     return parserCtxt(_obj=ret)
694
695 def createMemoryParserCtxt(buffer, size):
696     """Create a parser context for an XML in-memory document. """
697     ret = libxml2mod.xmlCreateMemoryParserCtxt(buffer, size)
698     if ret is None:raise parserError('xmlCreateMemoryParserCtxt() failed')
699     return parserCtxt(_obj=ret)
700
701 def createURLParserCtxt(filename, options):
702     """Create a parser context for a file or URL content.
703       Automatic support for ZLIB/Compress compressed document is
704       provided by default if found at compile-time and for file
705        accesses """
706     ret = libxml2mod.xmlCreateURLParserCtxt(filename, options)
707     if ret is None:raise parserError('xmlCreateURLParserCtxt() failed')
708     return parserCtxt(_obj=ret)
709
710 def htmlCreateFileParserCtxt(filename, encoding):
711     """Create a parser context for a file content. Automatic
712       support for ZLIB/Compress compressed document is provided
713        by default if found at compile-time. """
714     ret = libxml2mod.htmlCreateFileParserCtxt(filename, encoding)
715     if ret is None:raise parserError('htmlCreateFileParserCtxt() failed')
716     return parserCtxt(_obj=ret)
717
718 def htmlInitAutoClose():
719     """Initialize the htmlStartCloseIndex for fast lookup of
720       closing tags names. This is not reentrant. Call
721       xmlInitParser() once before processing in case of use in
722        multithreaded programs. """
723     libxml2mod.htmlInitAutoClose()
724
725 def isLetter(c):
726     """Check whether the character is allowed by the production
727        [84] Letter ::= BaseChar | Ideographic """
728     ret = libxml2mod.xmlIsLetter(c)
729     return ret
730
731 def namePop(ctxt):
732     """Pops the top element name from the name stack """
733     if ctxt is None: ctxt__o = None
734     else: ctxt__o = ctxt._o
735     ret = libxml2mod.namePop(ctxt__o)
736     return ret
737
738 def namePush(ctxt, value):
739     """Pushes a new element name on top of the name stack """
740     if ctxt is None: ctxt__o = None
741     else: ctxt__o = ctxt._o
742     ret = libxml2mod.namePush(ctxt__o, value)
743     return ret
744
745 def nodePop(ctxt):
746     """Pops the top element node from the node stack """
747     if ctxt is None: ctxt__o = None
748     else: ctxt__o = ctxt._o
749     ret = libxml2mod.nodePop(ctxt__o)
750     if ret is None:raise treeError('nodePop() failed')
751     return xmlNode(_obj=ret)
752
753 def nodePush(ctxt, value):
754     """Pushes a new element node on top of the node stack """
755     if ctxt is None: ctxt__o = None
756     else: ctxt__o = ctxt._o
757     if value is None: value__o = None
758     else: value__o = value._o
759     ret = libxml2mod.nodePush(ctxt__o, value__o)
760     return ret
761
762 #
763 # Functions from module python
764 #
765
766 def SAXParseFile(SAX, URI, recover):
767     """Interface to parse an XML file or resource pointed by an
768        URI to build an event flow to the SAX object """
769     libxml2mod.xmlSAXParseFile(SAX, URI, recover)
770
771 def createInputBuffer(file, encoding):
772     """Create a libxml2 input buffer from a Python file """
773     ret = libxml2mod.xmlCreateInputBuffer(file, encoding)
774     if ret is None:raise treeError('xmlCreateInputBuffer() failed')
775     return inputBuffer(_obj=ret)
776
777 def createOutputBuffer(file, encoding):
778     """Create a libxml2 output buffer from a Python file """
779     ret = libxml2mod.xmlCreateOutputBuffer(file, encoding)
780     if ret is None:raise treeError('xmlCreateOutputBuffer() failed')
781     return outputBuffer(_obj=ret)
782
783 def createPushParser(SAX, chunk, size, URI):
784     """Create a progressive XML parser context to build either an
785       event flow if the SAX object is not None, or a DOM tree
786        otherwise. """
787     ret = libxml2mod.xmlCreatePushParser(SAX, chunk, size, URI)
788     if ret is None:raise parserError('xmlCreatePushParser() failed')
789     return parserCtxt(_obj=ret)
790
791 def debugMemory(activate):
792     """Switch on the generation of line number for elements nodes.
793       Also returns the number of bytes allocated and not freed by
794        libxml2 since memory debugging was switched on. """
795     ret = libxml2mod.xmlDebugMemory(activate)
796     return ret
797
798 def dumpMemory():
799     """dump the memory allocated in the file .memdump """
800     libxml2mod.xmlDumpMemory()
801
802 def htmlCreatePushParser(SAX, chunk, size, URI):
803     """Create a progressive HTML parser context to build either an
804       event flow if the SAX object is not None, or a DOM tree
805        otherwise. """
806     ret = libxml2mod.htmlCreatePushParser(SAX, chunk, size, URI)
807     if ret is None:raise parserError('htmlCreatePushParser() failed')
808     return parserCtxt(_obj=ret)
809
810 def htmlSAXParseFile(SAX, URI, encoding):
811     """Interface to parse an HTML file or resource pointed by an
812        URI to build an event flow to the SAX object """
813     libxml2mod.htmlSAXParseFile(SAX, URI, encoding)
814
815 def memoryUsed():
816     """Returns the total amount of memory allocated by libxml2 """
817     ret = libxml2mod.xmlMemoryUsed()
818     return ret
819
820 def newNode(name):
821     """Create a new Node """
822     ret = libxml2mod.xmlNewNode(name)
823     if ret is None:raise treeError('xmlNewNode() failed')
824     return xmlNode(_obj=ret)
825
826 def pythonCleanupParser():
827     """Cleanup function for the XML library. It tries to reclaim
828       all parsing related global memory allocated for the library
829       processing. It doesn't deallocate any document related
830       memory. Calling this function should not prevent reusing
831       the library but one should call xmlCleanupParser() only
832       when the process has finished using the library or XML
833        document built with it. """
834     libxml2mod.xmlPythonCleanupParser()
835
836 def setEntityLoader(resolver):
837     """Set the entity resolver as a python function """
838     ret = libxml2mod.xmlSetEntityLoader(resolver)
839     return ret
840
841 #
842 # Functions from module relaxng
843 #
844
845 def relaxNGCleanupTypes():
846     """Cleanup the default Schemas type library associated to
847        RelaxNG """
848     libxml2mod.xmlRelaxNGCleanupTypes()
849
850 def relaxNGInitTypes():
851     """Initilize the default type libraries. """
852     ret = libxml2mod.xmlRelaxNGInitTypes()
853     return ret
854
855 def relaxNGNewMemParserCtxt(buffer, size):
856     """Create an XML RelaxNGs parse context for that memory buffer
857        expected to contain an XML RelaxNGs file. """
858     ret = libxml2mod.xmlRelaxNGNewMemParserCtxt(buffer, size)
859     if ret is None:raise parserError('xmlRelaxNGNewMemParserCtxt() failed')
860     return relaxNgParserCtxt(_obj=ret)
861
862 def relaxNGNewParserCtxt(URL):
863     """Create an XML RelaxNGs parse context for that file/resource
864        expected to contain an XML RelaxNGs file. """
865     ret = libxml2mod.xmlRelaxNGNewParserCtxt(URL)
866     if ret is None:raise parserError('xmlRelaxNGNewParserCtxt() failed')
867     return relaxNgParserCtxt(_obj=ret)
868
869 #
870 # Functions from module tree
871 #
872
873 def buildQName(ncname, prefix, memory, len):
874     """Builds the QName @prefix:@ncname in @memory if there is
875       enough space and prefix is not None nor empty, otherwise
876       allocate a new string. If prefix is None or empty it
877        returns ncname. """
878     ret = libxml2mod.xmlBuildQName(ncname, prefix, memory, len)
879     return ret
880
881 def compressMode():
882     """get the default compression mode used, ZLIB based. """
883     ret = libxml2mod.xmlGetCompressMode()
884     return ret
885
886 def isXHTML(systemID, publicID):
887     """Try to find if the document correspond to an XHTML DTD """
888     ret = libxml2mod.xmlIsXHTML(systemID, publicID)
889     return ret
890
891 def newComment(content):
892     """Creation of a new node containing a comment. """
893     ret = libxml2mod.xmlNewComment(content)
894     if ret is None:raise treeError('xmlNewComment() failed')
895     return xmlNode(_obj=ret)
896
897 def newDoc(version):
898     """Creates a new XML document """
899     ret = libxml2mod.xmlNewDoc(version)
900     if ret is None:raise treeError('xmlNewDoc() failed')
901     return xmlDoc(_obj=ret)
902
903 def newPI(name, content):
904     """Creation of a processing instruction element. Use
905        xmlDocNewPI preferably to get string interning """
906     ret = libxml2mod.xmlNewPI(name, content)
907     if ret is None:raise treeError('xmlNewPI() failed')
908     return xmlNode(_obj=ret)
909
910 def newText(content):
911     """Creation of a new text node. """
912     ret = libxml2mod.xmlNewText(content)
913     if ret is None:raise treeError('xmlNewText() failed')
914     return xmlNode(_obj=ret)
915
916 def newTextLen(content, len):
917     """Creation of a new text node with an extra parameter for the
918        content's length """
919     ret = libxml2mod.xmlNewTextLen(content, len)
920     if ret is None:raise treeError('xmlNewTextLen() failed')
921     return xmlNode(_obj=ret)
922
923 def setCompressMode(mode):
924     """set the default compression mode used, ZLIB based Correct
925        values: 0 (uncompressed) to 9 (max compression) """
926     libxml2mod.xmlSetCompressMode(mode)
927
928 def validateNCName(value, space):
929     """Check that a value conforms to the lexical space of NCName """
930     ret = libxml2mod.xmlValidateNCName(value, space)
931     return ret
932
933 def validateNMToken(value, space):
934     """Check that a value conforms to the lexical space of NMToken """
935     ret = libxml2mod.xmlValidateNMToken(value, space)
936     return ret
937
938 def validateName(value, space):
939     """Check that a value conforms to the lexical space of Name """
940     ret = libxml2mod.xmlValidateName(value, space)
941     return ret
942
943 def validateQName(value, space):
944     """Check that a value conforms to the lexical space of QName """
945     ret = libxml2mod.xmlValidateQName(value, space)
946     return ret
947
948 #
949 # Functions from module uri
950 #
951
952 def URIEscape(str):
953     """Escaping routine, does not do validity checks ! It will try
954       to escape the chars needing this, but this is heuristic
955        based it's impossible to be sure. """
956     ret = libxml2mod.xmlURIEscape(str)
957     return ret
958
959 def URIEscapeStr(str, list):
960     """This routine escapes a string to hex, ignoring reserved
961        characters (a-z) and the characters in the exception list. """
962     ret = libxml2mod.xmlURIEscapeStr(str, list)
963     return ret
964
965 def URIUnescapeString(str, len, target):
966     """Unescaping routine, but does not check that the string is
967       an URI. The output is a direct unsigned char translation of
968       %XX values (no encoding) Note that the length of the result
969        can only be smaller or same size as the input string. """
970     ret = libxml2mod.xmlURIUnescapeString(str, len, target)
971     return ret
972
973 def buildRelativeURI(URI, base):
974     """Expresses the URI of the reference in terms relative to the
975       base.  Some examples of this operation include: base =
976       "http://site1.com/docs/book1.html" URI input               
977       URI returned docs/pic1.gif                    pic1.gif
978       docs/img/pic1.gif                img/pic1.gif img/pic1.gif 
979       ../img/pic1.gif http://site1.com/docs/pic1.gif   pic1.gif
980       http://site2.com/docs/pic1.gif  
981       http://site2.com/docs/pic1.gif  base = "docs/book1.html"
982       URI input                        URI returned docs/pic1.gif
983       pic1.gif docs/img/pic1.gif                img/pic1.gif
984       img/pic1.gif                     ../img/pic1.gif
985       http://site1.com/docs/pic1.gif  
986       http://site1.com/docs/pic1.gif   Note: if the URI reference
987       is really wierd or complicated, it may be worthwhile to
988       first convert it into a "nice" one by calling xmlBuildURI
989       (using 'base') before calling this routine, since this
990       routine (for reasonable efficiency) assumes URI has already
991        been through some validation. """
992     ret = libxml2mod.xmlBuildRelativeURI(URI, base)
993     return ret
994
995 def buildURI(URI, base):
996     """Computes he final URI of the reference done by checking
997       that the given URI is valid, and building the final URI
998       using the base URI. This is processed according to section
999       5.2 of the RFC 2396  5.2. Resolving Relative References to
1000        Absolute Form """
1001     ret = libxml2mod.xmlBuildURI(URI, base)
1002     return ret
1003
1004 def canonicPath(path):
1005     """Constructs a canonic path from the specified path. """
1006     ret = libxml2mod.xmlCanonicPath(path)
1007     return ret
1008
1009 def createURI():
1010     """Simply creates an empty xmlURI """
1011     ret = libxml2mod.xmlCreateURI()
1012     if ret is None:raise uriError('xmlCreateURI() failed')
1013     return URI(_obj=ret)
1014
1015 def normalizeURIPath(path):
1016     """Applies the 5 normalization steps to a path string--that
1017       is, RFC 2396 Section 5.2, steps 6.c through 6.g. 
1018       Normalization occurs directly on the string, no new
1019        allocation is done """
1020     ret = libxml2mod.xmlNormalizeURIPath(path)
1021     return ret
1022
1023 def parseURI(str):
1024     """Parse an URI based on RFC 3986  URI-reference = [
1025        absoluteURI | relativeURI ] [ "#" fragment ] """
1026     ret = libxml2mod.xmlParseURI(str)
1027     if ret is None:raise uriError('xmlParseURI() failed')
1028     return URI(_obj=ret)
1029
1030 def parseURIRaw(str, raw):
1031     """Parse an URI but allows to keep intact the original
1032        fragments.  URI-reference = URI / relative-ref """
1033     ret = libxml2mod.xmlParseURIRaw(str, raw)
1034     if ret is None:raise uriError('xmlParseURIRaw() failed')
1035     return URI(_obj=ret)
1036
1037 def pathToURI(path):
1038     """Constructs an URI expressing the existing path """
1039     ret = libxml2mod.xmlPathToURI(path)
1040     return ret
1041
1042 #
1043 # Functions from module valid
1044 #
1045
1046 def newValidCtxt():
1047     """Allocate a validation context structure. """
1048     ret = libxml2mod.xmlNewValidCtxt()
1049     if ret is None:raise treeError('xmlNewValidCtxt() failed')
1050     return ValidCtxt(_obj=ret)
1051
1052 def validateNameValue(value):
1053     """Validate that the given value match Name production """
1054     ret = libxml2mod.xmlValidateNameValue(value)
1055     return ret
1056
1057 def validateNamesValue(value):
1058     """Validate that the given value match Names production """
1059     ret = libxml2mod.xmlValidateNamesValue(value)
1060     return ret
1061
1062 def validateNmtokenValue(value):
1063     """Validate that the given value match Nmtoken production  [
1064        VC: Name Token ] """
1065     ret = libxml2mod.xmlValidateNmtokenValue(value)
1066     return ret
1067
1068 def validateNmtokensValue(value):
1069     """Validate that the given value match Nmtokens production  [
1070        VC: Name Token ] """
1071     ret = libxml2mod.xmlValidateNmtokensValue(value)
1072     return ret
1073
1074 #
1075 # Functions from module xmlIO
1076 #
1077
1078 def checkFilename(path):
1079     """function checks to see if @path is a valid source (file,
1080       socket...) for XML.  if stat is not available on the target
1081        machine, """
1082     ret = libxml2mod.xmlCheckFilename(path)
1083     return ret
1084
1085 def cleanupInputCallbacks():
1086     """clears the entire input callback table. this includes the
1087        compiled-in I/O. """
1088     libxml2mod.xmlCleanupInputCallbacks()
1089
1090 def cleanupOutputCallbacks():
1091     """clears the entire output callback table. this includes the
1092        compiled-in I/O callbacks. """
1093     libxml2mod.xmlCleanupOutputCallbacks()
1094
1095 def fileMatch(filename):
1096     """input from FILE * """
1097     ret = libxml2mod.xmlFileMatch(filename)
1098     return ret
1099
1100 def iOFTPMatch(filename):
1101     """check if the URI matches an FTP one """
1102     ret = libxml2mod.xmlIOFTPMatch(filename)
1103     return ret
1104
1105 def iOHTTPMatch(filename):
1106     """check if the URI matches an HTTP one """
1107     ret = libxml2mod.xmlIOHTTPMatch(filename)
1108     return ret
1109
1110 def normalizeWindowsPath(path):
1111     """This function is obsolete. Please see xmlURIFromPath in
1112        uri.c for a better solution. """
1113     ret = libxml2mod.xmlNormalizeWindowsPath(path)
1114     return ret
1115
1116 def parserGetDirectory(filename):
1117     """lookup the directory for that file """
1118     ret = libxml2mod.xmlParserGetDirectory(filename)
1119     return ret
1120
1121 def registerDefaultInputCallbacks():
1122     """Registers the default compiled-in I/O handlers. """
1123     libxml2mod.xmlRegisterDefaultInputCallbacks()
1124
1125 def registerDefaultOutputCallbacks():
1126     """Registers the default compiled-in I/O handlers. """
1127     libxml2mod.xmlRegisterDefaultOutputCallbacks()
1128
1129 def registerHTTPPostCallbacks():
1130     """By default, libxml submits HTTP output requests using the
1131       "PUT" method. Calling this method changes the HTTP output
1132        method to use the "POST" method instead. """
1133     libxml2mod.xmlRegisterHTTPPostCallbacks()
1134
1135 #
1136 # Functions from module xmlerror
1137 #
1138
1139 def lastError():
1140     """Get the last global error registered. This is per thread if
1141        compiled with thread support. """
1142     ret = libxml2mod.xmlGetLastError()
1143     if ret is None:raise treeError('xmlGetLastError() failed')
1144     return Error(_obj=ret)
1145
1146 def resetLastError():
1147     """Cleanup the last global error registered. For parsing error
1148        this does not change the well-formedness result. """
1149     libxml2mod.xmlResetLastError()
1150
1151 #
1152 # Functions from module xmlreader
1153 #
1154
1155 def newTextReaderFilename(URI):
1156     """Create an xmlTextReader structure fed with the resource at
1157        @URI """
1158     ret = libxml2mod.xmlNewTextReaderFilename(URI)
1159     if ret is None:raise treeError('xmlNewTextReaderFilename() failed')
1160     return xmlTextReader(_obj=ret)
1161
1162 def readerForDoc(cur, URL, encoding, options):
1163     """Create an xmltextReader for an XML in-memory document. The
1164       parsing flags @options are a combination of xmlParserOption. """
1165     ret = libxml2mod.xmlReaderForDoc(cur, URL, encoding, options)
1166     if ret is None:raise treeError('xmlReaderForDoc() failed')
1167     return xmlTextReader(_obj=ret)
1168
1169 def readerForFd(fd, URL, encoding, options):
1170     """Create an xmltextReader for an XML from a file descriptor.
1171       The parsing flags @options are a combination of
1172       xmlParserOption. NOTE that the file descriptor will not be
1173        closed when the reader is closed or reset. """
1174     ret = libxml2mod.xmlReaderForFd(fd, URL, encoding, options)
1175     if ret is None:raise treeError('xmlReaderForFd() failed')
1176     return xmlTextReader(_obj=ret)
1177
1178 def readerForFile(filename, encoding, options):
1179     """parse an XML file from the filesystem or the network. The
1180       parsing flags @options are a combination of xmlParserOption. """
1181     ret = libxml2mod.xmlReaderForFile(filename, encoding, options)
1182     if ret is None:raise treeError('xmlReaderForFile() failed')
1183     return xmlTextReader(_obj=ret)
1184
1185 def readerForMemory(buffer, size, URL, encoding, options):
1186     """Create an xmltextReader for an XML in-memory document. The
1187       parsing flags @options are a combination of xmlParserOption. """
1188     ret = libxml2mod.xmlReaderForMemory(buffer, size, URL, encoding, options)
1189     if ret is None:raise treeError('xmlReaderForMemory() failed')
1190     return xmlTextReader(_obj=ret)
1191
1192 #
1193 # Functions from module xmlregexp
1194 #
1195
1196 def regexpCompile(regexp):
1197     """Parses a regular expression conforming to XML Schemas Part
1198       2 Datatype Appendix F and builds an automata suitable for
1199        testing strings against that regular expression """
1200     ret = libxml2mod.xmlRegexpCompile(regexp)
1201     if ret is None:raise treeError('xmlRegexpCompile() failed')
1202     return xmlReg(_obj=ret)
1203
1204 #
1205 # Functions from module xmlschemas
1206 #
1207
1208 def schemaNewMemParserCtxt(buffer, size):
1209     """Create an XML Schemas parse context for that memory buffer
1210        expected to contain an XML Schemas file. """
1211     ret = libxml2mod.xmlSchemaNewMemParserCtxt(buffer, size)
1212     if ret is None:raise parserError('xmlSchemaNewMemParserCtxt() failed')
1213     return SchemaParserCtxt(_obj=ret)
1214
1215 def schemaNewParserCtxt(URL):
1216     """Create an XML Schemas parse context for that file/resource
1217        expected to contain an XML Schemas file. """
1218     ret = libxml2mod.xmlSchemaNewParserCtxt(URL)
1219     if ret is None:raise parserError('xmlSchemaNewParserCtxt() failed')
1220     return SchemaParserCtxt(_obj=ret)
1221
1222 #
1223 # Functions from module xmlschemastypes
1224 #
1225
1226 def schemaCleanupTypes():
1227     """Cleanup the default XML Schemas type library """
1228     libxml2mod.xmlSchemaCleanupTypes()
1229
1230 def schemaCollapseString(value):
1231     """Removes and normalize white spaces in the string """
1232     ret = libxml2mod.xmlSchemaCollapseString(value)
1233     return ret
1234
1235 def schemaInitTypes():
1236     """Initialize the default XML Schemas type library """
1237     libxml2mod.xmlSchemaInitTypes()
1238
1239 def schemaWhiteSpaceReplace(value):
1240     """Replaces 0xd, 0x9 and 0xa with a space. """
1241     ret = libxml2mod.xmlSchemaWhiteSpaceReplace(value)
1242     return ret
1243
1244 #
1245 # Functions from module xmlstring
1246 #
1247
1248 def UTF8Charcmp(utf1, utf2):
1249     """compares the two UCS4 values """
1250     ret = libxml2mod.xmlUTF8Charcmp(utf1, utf2)
1251     return ret
1252
1253 def UTF8Size(utf):
1254     """calculates the internal size of a UTF8 character """
1255     ret = libxml2mod.xmlUTF8Size(utf)
1256     return ret
1257
1258 def UTF8Strlen(utf):
1259     """compute the length of an UTF8 string, it doesn't do a full
1260        UTF8 checking of the content of the string. """
1261     ret = libxml2mod.xmlUTF8Strlen(utf)
1262     return ret
1263
1264 def UTF8Strloc(utf, utfchar):
1265     """a function to provide the relative location of a UTF8 char """
1266     ret = libxml2mod.xmlUTF8Strloc(utf, utfchar)
1267     return ret
1268
1269 def UTF8Strndup(utf, len):
1270     """a strndup for array of UTF8's """
1271     ret = libxml2mod.xmlUTF8Strndup(utf, len)
1272     return ret
1273
1274 def UTF8Strpos(utf, pos):
1275     """a function to provide the equivalent of fetching a
1276        character from a string array """
1277     ret = libxml2mod.xmlUTF8Strpos(utf, pos)
1278     return ret
1279
1280 def UTF8Strsize(utf, len):
1281     """storage size of an UTF8 string the behaviour is not
1282        garanteed if the input string is not UTF-8 """
1283     ret = libxml2mod.xmlUTF8Strsize(utf, len)
1284     return ret
1285
1286 def UTF8Strsub(utf, start, len):
1287     """Create a substring from a given UTF-8 string Note: 
1288        positions are given in units of UTF-8 chars """
1289     ret = libxml2mod.xmlUTF8Strsub(utf, start, len)
1290     return ret
1291
1292 def checkUTF8(utf):
1293     """Checks @utf for being valid UTF-8. @utf is assumed to be
1294       null-terminated. This function is not super-strict, as it
1295       will allow longer UTF-8 sequences than necessary. Note that
1296       Java is capable of producing these sequences if provoked.
1297       Also note, this routine checks for the 4-byte maximum size,
1298        but does not check for 0x10ffff maximum value. """
1299     ret = libxml2mod.xmlCheckUTF8(utf)
1300     return ret
1301
1302 #
1303 # Functions from module xmlunicode
1304 #
1305
1306 def uCSIsAegeanNumbers(code):
1307     """Check whether the character is part of AegeanNumbers UCS
1308        Block """
1309     ret = libxml2mod.xmlUCSIsAegeanNumbers(code)
1310     return ret
1311
1312 def uCSIsAlphabeticPresentationForms(code):
1313     """Check whether the character is part of
1314        AlphabeticPresentationForms UCS Block """
1315     ret = libxml2mod.xmlUCSIsAlphabeticPresentationForms(code)
1316     return ret
1317
1318 def uCSIsArabic(code):
1319     """Check whether the character is part of Arabic UCS Block """
1320     ret = libxml2mod.xmlUCSIsArabic(code)
1321     return ret
1322
1323 def uCSIsArabicPresentationFormsA(code):
1324     """Check whether the character is part of
1325        ArabicPresentationForms-A UCS Block """
1326     ret = libxml2mod.xmlUCSIsArabicPresentationFormsA(code)
1327     return ret
1328
1329 def uCSIsArabicPresentationFormsB(code):
1330     """Check whether the character is part of
1331        ArabicPresentationForms-B UCS Block """
1332     ret = libxml2mod.xmlUCSIsArabicPresentationFormsB(code)
1333     return ret
1334
1335 def uCSIsArmenian(code):
1336     """Check whether the character is part of Armenian UCS Block """
1337     ret = libxml2mod.xmlUCSIsArmenian(code)
1338     return ret
1339
1340 def uCSIsArrows(code):
1341     """Check whether the character is part of Arrows UCS Block """
1342     ret = libxml2mod.xmlUCSIsArrows(code)
1343     return ret
1344
1345 def uCSIsBasicLatin(code):
1346     """Check whether the character is part of BasicLatin UCS Block """
1347     ret = libxml2mod.xmlUCSIsBasicLatin(code)
1348     return ret
1349
1350 def uCSIsBengali(code):
1351     """Check whether the character is part of Bengali UCS Block """
1352     ret = libxml2mod.xmlUCSIsBengali(code)
1353     return ret
1354
1355 def uCSIsBlock(code, block):
1356     """Check whether the character is part of the UCS Block """
1357     ret = libxml2mod.xmlUCSIsBlock(code, block)
1358     return ret
1359
1360 def uCSIsBlockElements(code):
1361     """Check whether the character is part of BlockElements UCS
1362        Block """
1363     ret = libxml2mod.xmlUCSIsBlockElements(code)
1364     return ret
1365
1366 def uCSIsBopomofo(code):
1367     """Check whether the character is part of Bopomofo UCS Block """
1368     ret = libxml2mod.xmlUCSIsBopomofo(code)
1369     return ret
1370
1371 def uCSIsBopomofoExtended(code):
1372     """Check whether the character is part of BopomofoExtended UCS
1373        Block """
1374     ret = libxml2mod.xmlUCSIsBopomofoExtended(code)
1375     return ret
1376
1377 def uCSIsBoxDrawing(code):
1378     """Check whether the character is part of BoxDrawing UCS Block """
1379     ret = libxml2mod.xmlUCSIsBoxDrawing(code)
1380     return ret
1381
1382 def uCSIsBraillePatterns(code):
1383     """Check whether the character is part of BraillePatterns UCS
1384        Block """
1385     ret = libxml2mod.xmlUCSIsBraillePatterns(code)
1386     return ret
1387
1388 def uCSIsBuhid(code):
1389     """Check whether the character is part of Buhid UCS Block """
1390     ret = libxml2mod.xmlUCSIsBuhid(code)
1391     return ret
1392
1393 def uCSIsByzantineMusicalSymbols(code):
1394     """Check whether the character is part of
1395        ByzantineMusicalSymbols UCS Block """
1396     ret = libxml2mod.xmlUCSIsByzantineMusicalSymbols(code)
1397     return ret
1398
1399 def uCSIsCJKCompatibility(code):
1400     """Check whether the character is part of CJKCompatibility UCS
1401        Block """
1402     ret = libxml2mod.xmlUCSIsCJKCompatibility(code)
1403     return ret
1404
1405 def uCSIsCJKCompatibilityForms(code):
1406     """Check whether the character is part of
1407        CJKCompatibilityForms UCS Block """
1408     ret = libxml2mod.xmlUCSIsCJKCompatibilityForms(code)
1409     return ret
1410
1411 def uCSIsCJKCompatibilityIdeographs(code):
1412     """Check whether the character is part of
1413        CJKCompatibilityIdeographs UCS Block """
1414     ret = libxml2mod.xmlUCSIsCJKCompatibilityIdeographs(code)
1415     return ret
1416
1417 def uCSIsCJKCompatibilityIdeographsSupplement(code):
1418     """Check whether the character is part of
1419        CJKCompatibilityIdeographsSupplement UCS Block """
1420     ret = libxml2mod.xmlUCSIsCJKCompatibilityIdeographsSupplement(code)
1421     return ret
1422
1423 def uCSIsCJKRadicalsSupplement(code):
1424     """Check whether the character is part of
1425        CJKRadicalsSupplement UCS Block """
1426     ret = libxml2mod.xmlUCSIsCJKRadicalsSupplement(code)
1427     return ret
1428
1429 def uCSIsCJKSymbolsandPunctuation(code):
1430     """Check whether the character is part of
1431        CJKSymbolsandPunctuation UCS Block """
1432     ret = libxml2mod.xmlUCSIsCJKSymbolsandPunctuation(code)
1433     return ret
1434
1435 def uCSIsCJKUnifiedIdeographs(code):
1436     """Check whether the character is part of CJKUnifiedIdeographs
1437        UCS Block """
1438     ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographs(code)
1439     return ret
1440
1441 def uCSIsCJKUnifiedIdeographsExtensionA(code):
1442     """Check whether the character is part of
1443        CJKUnifiedIdeographsExtensionA UCS Block """
1444     ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographsExtensionA(code)
1445     return ret
1446
1447 def uCSIsCJKUnifiedIdeographsExtensionB(code):
1448     """Check whether the character is part of
1449        CJKUnifiedIdeographsExtensionB UCS Block """
1450     ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographsExtensionB(code)
1451     return ret
1452
1453 def uCSIsCat(code, cat):
1454     """Check whether the character is part of the UCS Category """
1455     ret = libxml2mod.xmlUCSIsCat(code, cat)
1456     return ret
1457
1458 def uCSIsCatC(code):
1459     """Check whether the character is part of C UCS Category """
1460     ret = libxml2mod.xmlUCSIsCatC(code)
1461     return ret
1462
1463 def uCSIsCatCc(code):
1464     """Check whether the character is part of Cc UCS Category """
1465     ret = libxml2mod.xmlUCSIsCatCc(code)
1466     return ret
1467
1468 def uCSIsCatCf(code):
1469     """Check whether the character is part of Cf UCS Category """
1470     ret = libxml2mod.xmlUCSIsCatCf(code)
1471     return ret
1472
1473 def uCSIsCatCo(code):
1474     """Check whether the character is part of Co UCS Category """
1475     ret = libxml2mod.xmlUCSIsCatCo(code)
1476     return ret
1477
1478 def uCSIsCatCs(code):
1479     """Check whether the character is part of Cs UCS Category """
1480     ret = libxml2mod.xmlUCSIsCatCs(code)
1481     return ret
1482
1483 def uCSIsCatL(code):
1484     """Check whether the character is part of L UCS Category """
1485     ret = libxml2mod.xmlUCSIsCatL(code)
1486     return ret
1487
1488 def uCSIsCatLl(code):
1489     """Check whether the character is part of Ll UCS Category """
1490     ret = libxml2mod.xmlUCSIsCatLl(code)
1491     return ret
1492
1493 def uCSIsCatLm(code):
1494     """Check whether the character is part of Lm UCS Category """
1495     ret = libxml2mod.xmlUCSIsCatLm(code)
1496     return ret
1497
1498 def uCSIsCatLo(code):
1499     """Check whether the character is part of Lo UCS Category """
1500     ret = libxml2mod.xmlUCSIsCatLo(code)
1501     return ret
1502
1503 def uCSIsCatLt(code):
1504     """Check whether the character is part of Lt UCS Category """
1505     ret = libxml2mod.xmlUCSIsCatLt(code)
1506     return ret
1507
1508 def uCSIsCatLu(code):
1509     """Check whether the character is part of Lu UCS Category """
1510     ret = libxml2mod.xmlUCSIsCatLu(code)
1511     return ret
1512
1513 def uCSIsCatM(code):
1514     """Check whether the character is part of M UCS Category """
1515     ret = libxml2mod.xmlUCSIsCatM(code)
1516     return ret
1517
1518 def uCSIsCatMc(code):
1519     """Check whether the character is part of Mc UCS Category """
1520     ret = libxml2mod.xmlUCSIsCatMc(code)
1521     return ret
1522
1523 def uCSIsCatMe(code):
1524     """Check whether the character is part of Me UCS Category """
1525     ret = libxml2mod.xmlUCSIsCatMe(code)
1526     return ret
1527
1528 def uCSIsCatMn(code):
1529     """Check whether the character is part of Mn UCS Category """
1530     ret = libxml2mod.xmlUCSIsCatMn(code)
1531     return ret
1532
1533 def uCSIsCatN(code):
1534     """Check whether the character is part of N UCS Category """
1535     ret = libxml2mod.xmlUCSIsCatN(code)
1536     return ret
1537
1538 def uCSIsCatNd(code):
1539     """Check whether the character is part of Nd UCS Category """
1540     ret = libxml2mod.xmlUCSIsCatNd(code)
1541     return ret
1542
1543 def uCSIsCatNl(code):
1544     """Check whether the character is part of Nl UCS Category """
1545     ret = libxml2mod.xmlUCSIsCatNl(code)
1546     return ret
1547
1548 def uCSIsCatNo(code):
1549     """Check whether the character is part of No UCS Category """
1550     ret = libxml2mod.xmlUCSIsCatNo(code)
1551     return ret
1552
1553 def uCSIsCatP(code):
1554     """Check whether the character is part of P UCS Category """
1555     ret = libxml2mod.xmlUCSIsCatP(code)
1556     return ret
1557
1558 def uCSIsCatPc(code):
1559     """Check whether the character is part of Pc UCS Category """
1560     ret = libxml2mod.xmlUCSIsCatPc(code)
1561     return ret
1562
1563 def uCSIsCatPd(code):
1564     """Check whether the character is part of Pd UCS Category """
1565     ret = libxml2mod.xmlUCSIsCatPd(code)
1566     return ret
1567
1568 def uCSIsCatPe(code):
1569     """Check whether the character is part of Pe UCS Category """
1570     ret = libxml2mod.xmlUCSIsCatPe(code)
1571     return ret
1572
1573 def uCSIsCatPf(code):
1574     """Check whether the character is part of Pf UCS Category """
1575     ret = libxml2mod.xmlUCSIsCatPf(code)
1576     return ret
1577
1578 def uCSIsCatPi(code):
1579     """Check whether the character is part of Pi UCS Category """
1580     ret = libxml2mod.xmlUCSIsCatPi(code)
1581     return ret
1582
1583 def uCSIsCatPo(code):
1584     """Check whether the character is part of Po UCS Category """
1585     ret = libxml2mod.xmlUCSIsCatPo(code)
1586     return ret
1587
1588 def uCSIsCatPs(code):
1589     """Check whether the character is part of Ps UCS Category """
1590     ret = libxml2mod.xmlUCSIsCatPs(code)
1591     return ret
1592
1593 def uCSIsCatS(code):
1594     """Check whether the character is part of S UCS Category """
1595     ret = libxml2mod.xmlUCSIsCatS(code)
1596     return ret
1597
1598 def uCSIsCatSc(code):
1599     """Check whether the character is part of Sc UCS Category """
1600     ret = libxml2mod.xmlUCSIsCatSc(code)
1601     return ret
1602
1603 def uCSIsCatSk(code):
1604     """Check whether the character is part of Sk UCS Category """
1605     ret = libxml2mod.xmlUCSIsCatSk(code)
1606     return ret
1607
1608 def uCSIsCatSm(code):
1609     """Check whether the character is part of Sm UCS Category """
1610     ret = libxml2mod.xmlUCSIsCatSm(code)
1611     return ret
1612
1613 def uCSIsCatSo(code):
1614     """Check whether the character is part of So UCS Category """
1615     ret = libxml2mod.xmlUCSIsCatSo(code)
1616     return ret
1617
1618 def uCSIsCatZ(code):
1619     """Check whether the character is part of Z UCS Category """
1620     ret = libxml2mod.xmlUCSIsCatZ(code)
1621     return ret
1622
1623 def uCSIsCatZl(code):
1624     """Check whether the character is part of Zl UCS Category """
1625     ret = libxml2mod.xmlUCSIsCatZl(code)
1626     return ret
1627
1628 def uCSIsCatZp(code):
1629     """Check whether the character is part of Zp UCS Category """
1630     ret = libxml2mod.xmlUCSIsCatZp(code)
1631     return ret
1632
1633 def uCSIsCatZs(code):
1634     """Check whether the character is part of Zs UCS Category """
1635     ret = libxml2mod.xmlUCSIsCatZs(code)
1636     return ret
1637
1638 def uCSIsCherokee(code):
1639     """Check whether the character is part of Cherokee UCS Block """
1640     ret = libxml2mod.xmlUCSIsCherokee(code)
1641     return ret
1642
1643 def uCSIsCombiningDiacriticalMarks(code):
1644     """Check whether the character is part of
1645        CombiningDiacriticalMarks UCS Block """
1646     ret = libxml2mod.xmlUCSIsCombiningDiacriticalMarks(code)
1647     return ret
1648
1649 def uCSIsCombiningDiacriticalMarksforSymbols(code):
1650     """Check whether the character is part of
1651        CombiningDiacriticalMarksforSymbols UCS Block """
1652     ret = libxml2mod.xmlUCSIsCombiningDiacriticalMarksforSymbols(code)
1653     return ret
1654
1655 def uCSIsCombiningHalfMarks(code):
1656     """Check whether the character is part of CombiningHalfMarks
1657        UCS Block """
1658     ret = libxml2mod.xmlUCSIsCombiningHalfMarks(code)
1659     return ret
1660
1661 def uCSIsCombiningMarksforSymbols(code):
1662     """Check whether the character is part of
1663        CombiningMarksforSymbols UCS Block """
1664     ret = libxml2mod.xmlUCSIsCombiningMarksforSymbols(code)
1665     return ret
1666
1667 def uCSIsControlPictures(code):
1668     """Check whether the character is part of ControlPictures UCS
1669        Block """
1670     ret = libxml2mod.xmlUCSIsControlPictures(code)
1671     return ret
1672
1673 def uCSIsCurrencySymbols(code):
1674     """Check whether the character is part of CurrencySymbols UCS
1675        Block """
1676     ret = libxml2mod.xmlUCSIsCurrencySymbols(code)
1677     return ret
1678
1679 def uCSIsCypriotSyllabary(code):
1680     """Check whether the character is part of CypriotSyllabary UCS
1681        Block """
1682     ret = libxml2mod.xmlUCSIsCypriotSyllabary(code)
1683     return ret
1684
1685 def uCSIsCyrillic(code):
1686     """Check whether the character is part of Cyrillic UCS Block """
1687     ret = libxml2mod.xmlUCSIsCyrillic(code)
1688     return ret
1689
1690 def uCSIsCyrillicSupplement(code):
1691     """Check whether the character is part of CyrillicSupplement
1692        UCS Block """
1693     ret = libxml2mod.xmlUCSIsCyrillicSupplement(code)
1694     return ret
1695
1696 def uCSIsDeseret(code):
1697     """Check whether the character is part of Deseret UCS Block """
1698     ret = libxml2mod.xmlUCSIsDeseret(code)
1699     return ret
1700
1701 def uCSIsDevanagari(code):
1702     """Check whether the character is part of Devanagari UCS Block """
1703     ret = libxml2mod.xmlUCSIsDevanagari(code)
1704     return ret
1705
1706 def uCSIsDingbats(code):
1707     """Check whether the character is part of Dingbats UCS Block """
1708     ret = libxml2mod.xmlUCSIsDingbats(code)
1709     return ret
1710
1711 def uCSIsEnclosedAlphanumerics(code):
1712     """Check whether the character is part of
1713        EnclosedAlphanumerics UCS Block """
1714     ret = libxml2mod.xmlUCSIsEnclosedAlphanumerics(code)
1715     return ret
1716
1717 def uCSIsEnclosedCJKLettersandMonths(code):
1718     """Check whether the character is part of
1719        EnclosedCJKLettersandMonths UCS Block """
1720     ret = libxml2mod.xmlUCSIsEnclosedCJKLettersandMonths(code)
1721     return ret
1722
1723 def uCSIsEthiopic(code):
1724     """Check whether the character is part of Ethiopic UCS Block """
1725     ret = libxml2mod.xmlUCSIsEthiopic(code)
1726     return ret
1727
1728 def uCSIsGeneralPunctuation(code):
1729     """Check whether the character is part of GeneralPunctuation
1730        UCS Block """
1731     ret = libxml2mod.xmlUCSIsGeneralPunctuation(code)
1732     return ret
1733
1734 def uCSIsGeometricShapes(code):
1735     """Check whether the character is part of GeometricShapes UCS
1736        Block """
1737     ret = libxml2mod.xmlUCSIsGeometricShapes(code)
1738     return ret
1739
1740 def uCSIsGeorgian(code):
1741     """Check whether the character is part of Georgian UCS Block """
1742     ret = libxml2mod.xmlUCSIsGeorgian(code)
1743     return ret
1744
1745 def uCSIsGothic(code):
1746     """Check whether the character is part of Gothic UCS Block """
1747     ret = libxml2mod.xmlUCSIsGothic(code)
1748     return ret
1749
1750 def uCSIsGreek(code):
1751     """Check whether the character is part of Greek UCS Block """
1752     ret = libxml2mod.xmlUCSIsGreek(code)
1753     return ret
1754
1755 def uCSIsGreekExtended(code):
1756     """Check whether the character is part of GreekExtended UCS
1757        Block """
1758     ret = libxml2mod.xmlUCSIsGreekExtended(code)
1759     return ret
1760
1761 def uCSIsGreekandCoptic(code):
1762     """Check whether the character is part of GreekandCoptic UCS
1763        Block """
1764     ret = libxml2mod.xmlUCSIsGreekandCoptic(code)
1765     return ret
1766
1767 def uCSIsGujarati(code):
1768     """Check whether the character is part of Gujarati UCS Block """
1769     ret = libxml2mod.xmlUCSIsGujarati(code)
1770     return ret
1771
1772 def uCSIsGurmukhi(code):
1773     """Check whether the character is part of Gurmukhi UCS Block """
1774     ret = libxml2mod.xmlUCSIsGurmukhi(code)
1775     return ret
1776
1777 def uCSIsHalfwidthandFullwidthForms(code):
1778     """Check whether the character is part of
1779        HalfwidthandFullwidthForms UCS Block """
1780     ret = libxml2mod.xmlUCSIsHalfwidthandFullwidthForms(code)
1781     return ret
1782
1783 def uCSIsHangulCompatibilityJamo(code):
1784     """Check whether the character is part of
1785        HangulCompatibilityJamo UCS Block """
1786     ret = libxml2mod.xmlUCSIsHangulCompatibilityJamo(code)
1787     return ret
1788
1789 def uCSIsHangulJamo(code):
1790     """Check whether the character is part of HangulJamo UCS Block """
1791     ret = libxml2mod.xmlUCSIsHangulJamo(code)
1792     return ret
1793
1794 def uCSIsHangulSyllables(code):
1795     """Check whether the character is part of HangulSyllables UCS
1796        Block """
1797     ret = libxml2mod.xmlUCSIsHangulSyllables(code)
1798     return ret
1799
1800 def uCSIsHanunoo(code):
1801     """Check whether the character is part of Hanunoo UCS Block """
1802     ret = libxml2mod.xmlUCSIsHanunoo(code)
1803     return ret
1804
1805 def uCSIsHebrew(code):
1806     """Check whether the character is part of Hebrew UCS Block """
1807     ret = libxml2mod.xmlUCSIsHebrew(code)
1808     return ret
1809
1810 def uCSIsHighPrivateUseSurrogates(code):
1811     """Check whether the character is part of
1812        HighPrivateUseSurrogates UCS Block """
1813     ret = libxml2mod.xmlUCSIsHighPrivateUseSurrogates(code)
1814     return ret
1815
1816 def uCSIsHighSurrogates(code):
1817     """Check whether the character is part of HighSurrogates UCS
1818        Block """
1819     ret = libxml2mod.xmlUCSIsHighSurrogates(code)
1820     return ret
1821
1822 def uCSIsHiragana(code):
1823     """Check whether the character is part of Hiragana UCS Block """
1824     ret = libxml2mod.xmlUCSIsHiragana(code)
1825     return ret
1826
1827 def uCSIsIPAExtensions(code):
1828     """Check whether the character is part of IPAExtensions UCS
1829        Block """
1830     ret = libxml2mod.xmlUCSIsIPAExtensions(code)
1831     return ret
1832
1833 def uCSIsIdeographicDescriptionCharacters(code):
1834     """Check whether the character is part of
1835        IdeographicDescriptionCharacters UCS Block """
1836     ret = libxml2mod.xmlUCSIsIdeographicDescriptionCharacters(code)
1837     return ret
1838
1839 def uCSIsKanbun(code):
1840     """Check whether the character is part of Kanbun UCS Block """
1841     ret = libxml2mod.xmlUCSIsKanbun(code)
1842     return ret
1843
1844 def uCSIsKangxiRadicals(code):
1845     """Check whether the character is part of KangxiRadicals UCS
1846        Block """
1847     ret = libxml2mod.xmlUCSIsKangxiRadicals(code)
1848     return ret
1849
1850 def uCSIsKannada(code):
1851     """Check whether the character is part of Kannada UCS Block """
1852     ret = libxml2mod.xmlUCSIsKannada(code)
1853     return ret
1854
1855 def uCSIsKatakana(code):
1856     """Check whether the character is part of Katakana UCS Block """
1857     ret = libxml2mod.xmlUCSIsKatakana(code)
1858     return ret
1859
1860 def uCSIsKatakanaPhoneticExtensions(code):
1861     """Check whether the character is part of
1862        KatakanaPhoneticExtensions UCS Block """
1863     ret = libxml2mod.xmlUCSIsKatakanaPhoneticExtensions(code)
1864     return ret
1865
1866 def uCSIsKhmer(code):
1867     """Check whether the character is part of Khmer UCS Block """
1868     ret = libxml2mod.xmlUCSIsKhmer(code)
1869     return ret
1870
1871 def uCSIsKhmerSymbols(code):
1872     """Check whether the character is part of KhmerSymbols UCS
1873        Block """
1874     ret = libxml2mod.xmlUCSIsKhmerSymbols(code)
1875     return ret
1876
1877 def uCSIsLao(code):
1878     """Check whether the character is part of Lao UCS Block """
1879     ret = libxml2mod.xmlUCSIsLao(code)
1880     return ret
1881
1882 def uCSIsLatin1Supplement(code):
1883     """Check whether the character is part of Latin-1Supplement
1884        UCS Block """
1885     ret = libxml2mod.xmlUCSIsLatin1Supplement(code)
1886     return ret
1887
1888 def uCSIsLatinExtendedA(code):
1889     """Check whether the character is part of LatinExtended-A UCS
1890        Block """
1891     ret = libxml2mod.xmlUCSIsLatinExtendedA(code)
1892     return ret
1893
1894 def uCSIsLatinExtendedAdditional(code):
1895     """Check whether the character is part of
1896        LatinExtendedAdditional UCS Block """
1897     ret = libxml2mod.xmlUCSIsLatinExtendedAdditional(code)
1898     return ret
1899
1900 def uCSIsLatinExtendedB(code):
1901     """Check whether the character is part of LatinExtended-B UCS
1902        Block """
1903     ret = libxml2mod.xmlUCSIsLatinExtendedB(code)
1904     return ret
1905
1906 def uCSIsLetterlikeSymbols(code):
1907     """Check whether the character is part of LetterlikeSymbols
1908        UCS Block """
1909     ret = libxml2mod.xmlUCSIsLetterlikeSymbols(code)
1910     return ret
1911
1912 def uCSIsLimbu(code):
1913     """Check whether the character is part of Limbu UCS Block """
1914     ret = libxml2mod.xmlUCSIsLimbu(code)
1915     return ret
1916
1917 def uCSIsLinearBIdeograms(code):
1918     """Check whether the character is part of LinearBIdeograms UCS
1919        Block """
1920     ret = libxml2mod.xmlUCSIsLinearBIdeograms(code)
1921     return ret
1922
1923 def uCSIsLinearBSyllabary(code):
1924     """Check whether the character is part of LinearBSyllabary UCS
1925        Block """
1926     ret = libxml2mod.xmlUCSIsLinearBSyllabary(code)
1927     return ret
1928
1929 def uCSIsLowSurrogates(code):
1930     """Check whether the character is part of LowSurrogates UCS
1931        Block """
1932     ret = libxml2mod.xmlUCSIsLowSurrogates(code)
1933     return ret
1934
1935 def uCSIsMalayalam(code):
1936     """Check whether the character is part of Malayalam UCS Block """
1937     ret = libxml2mod.xmlUCSIsMalayalam(code)
1938     return ret
1939
1940 def uCSIsMathematicalAlphanumericSymbols(code):
1941     """Check whether the character is part of
1942        MathematicalAlphanumericSymbols UCS Block """
1943     ret = libxml2mod.xmlUCSIsMathematicalAlphanumericSymbols(code)
1944     return ret
1945
1946 def uCSIsMathematicalOperators(code):
1947     """Check whether the character is part of
1948        MathematicalOperators UCS Block """
1949     ret = libxml2mod.xmlUCSIsMathematicalOperators(code)
1950     return ret
1951
1952 def uCSIsMiscellaneousMathematicalSymbolsA(code):
1953     """Check whether the character is part of
1954        MiscellaneousMathematicalSymbols-A UCS Block """
1955     ret = libxml2mod.xmlUCSIsMiscellaneousMathematicalSymbolsA(code)
1956     return ret
1957
1958 def uCSIsMiscellaneousMathematicalSymbolsB(code):
1959     """Check whether the character is part of
1960        MiscellaneousMathematicalSymbols-B UCS Block """
1961     ret = libxml2mod.xmlUCSIsMiscellaneousMathematicalSymbolsB(code)
1962     return ret
1963
1964 def uCSIsMiscellaneousSymbols(code):
1965     """Check whether the character is part of MiscellaneousSymbols
1966        UCS Block """
1967     ret = libxml2mod.xmlUCSIsMiscellaneousSymbols(code)
1968     return ret
1969
1970 def uCSIsMiscellaneousSymbolsandArrows(code):
1971     """Check whether the character is part of
1972        MiscellaneousSymbolsandArrows UCS Block """
1973     ret = libxml2mod.xmlUCSIsMiscellaneousSymbolsandArrows(code)
1974     return ret
1975
1976 def uCSIsMiscellaneousTechnical(code):
1977     """Check whether the character is part of
1978        MiscellaneousTechnical UCS Block """
1979     ret = libxml2mod.xmlUCSIsMiscellaneousTechnical(code)
1980     return ret
1981
1982 def uCSIsMongolian(code):
1983     """Check whether the character is part of Mongolian UCS Block """
1984     ret = libxml2mod.xmlUCSIsMongolian(code)
1985     return ret
1986
1987 def uCSIsMusicalSymbols(code):
1988     """Check whether the character is part of MusicalSymbols UCS
1989        Block """
1990     ret = libxml2mod.xmlUCSIsMusicalSymbols(code)
1991     return ret
1992
1993 def uCSIsMyanmar(code):
1994     """Check whether the character is part of Myanmar UCS Block """
1995     ret = libxml2mod.xmlUCSIsMyanmar(code)
1996     return ret
1997
1998 def uCSIsNumberForms(code):
1999     """Check whether the character is part of NumberForms UCS Block """
2000     ret = libxml2mod.xmlUCSIsNumberForms(code)
2001     return ret
2002
2003 def uCSIsOgham(code):
2004     """Check whether the character is part of Ogham UCS Block """
2005     ret = libxml2mod.xmlUCSIsOgham(code)
2006     return ret
2007
2008 def uCSIsOldItalic(code):
2009     """Check whether the character is part of OldItalic UCS Block """
2010     ret = libxml2mod.xmlUCSIsOldItalic(code)
2011     return ret
2012
2013 def uCSIsOpticalCharacterRecognition(code):
2014     """Check whether the character is part of
2015        OpticalCharacterRecognition UCS Block """
2016     ret = libxml2mod.xmlUCSIsOpticalCharacterRecognition(code)
2017     return ret
2018
2019 def uCSIsOriya(code):
2020     """Check whether the character is part of Oriya UCS Block """
2021     ret = libxml2mod.xmlUCSIsOriya(code)
2022     return ret
2023
2024 def uCSIsOsmanya(code):
2025     """Check whether the character is part of Osmanya UCS Block """
2026     ret = libxml2mod.xmlUCSIsOsmanya(code)
2027     return ret
2028
2029 def uCSIsPhoneticExtensions(code):
2030     """Check whether the character is part of PhoneticExtensions
2031        UCS Block """
2032     ret = libxml2mod.xmlUCSIsPhoneticExtensions(code)
2033     return ret
2034
2035 def uCSIsPrivateUse(code):
2036     """Check whether the character is part of PrivateUse UCS Block """
2037     ret = libxml2mod.xmlUCSIsPrivateUse(code)
2038     return ret
2039
2040 def uCSIsPrivateUseArea(code):
2041     """Check whether the character is part of PrivateUseArea UCS
2042        Block """
2043     ret = libxml2mod.xmlUCSIsPrivateUseArea(code)
2044     return ret
2045
2046 def uCSIsRunic(code):
2047     """Check whether the character is part of Runic UCS Block """
2048     ret = libxml2mod.xmlUCSIsRunic(code)
2049     return ret
2050
2051 def uCSIsShavian(code):
2052     """Check whether the character is part of Shavian UCS Block """
2053     ret = libxml2mod.xmlUCSIsShavian(code)
2054     return ret
2055
2056 def uCSIsSinhala(code):
2057     """Check whether the character is part of Sinhala UCS Block """
2058     ret = libxml2mod.xmlUCSIsSinhala(code)
2059     return ret
2060
2061 def uCSIsSmallFormVariants(code):
2062     """Check whether the character is part of SmallFormVariants
2063        UCS Block """
2064     ret = libxml2mod.xmlUCSIsSmallFormVariants(code)
2065     return ret
2066
2067 def uCSIsSpacingModifierLetters(code):
2068     """Check whether the character is part of
2069        SpacingModifierLetters UCS Block """
2070     ret = libxml2mod.xmlUCSIsSpacingModifierLetters(code)
2071     return ret
2072
2073 def uCSIsSpecials(code):
2074     """Check whether the character is part of Specials UCS Block """
2075     ret = libxml2mod.xmlUCSIsSpecials(code)
2076     return ret
2077
2078 def uCSIsSuperscriptsandSubscripts(code):
2079     """Check whether the character is part of
2080        SuperscriptsandSubscripts UCS Block """
2081     ret = libxml2mod.xmlUCSIsSuperscriptsandSubscripts(code)
2082     return ret
2083
2084 def uCSIsSupplementalArrowsA(code):
2085     """Check whether the character is part of SupplementalArrows-A
2086        UCS Block """
2087     ret = libxml2mod.xmlUCSIsSupplementalArrowsA(code)
2088     return ret
2089
2090 def uCSIsSupplementalArrowsB(code):
2091     """Check whether the character is part of SupplementalArrows-B
2092        UCS Block """
2093     ret = libxml2mod.xmlUCSIsSupplementalArrowsB(code)
2094     return ret
2095
2096 def uCSIsSupplementalMathematicalOperators(code):
2097     """Check whether the character is part of
2098        SupplementalMathematicalOperators UCS Block """
2099     ret = libxml2mod.xmlUCSIsSupplementalMathematicalOperators(code)
2100     return ret
2101
2102 def uCSIsSupplementaryPrivateUseAreaA(code):
2103     """Check whether the character is part of
2104        SupplementaryPrivateUseArea-A UCS Block """
2105     ret = libxml2mod.xmlUCSIsSupplementaryPrivateUseAreaA(code)
2106     return ret
2107
2108 def uCSIsSupplementaryPrivateUseAreaB(code):
2109     """Check whether the character is part of
2110        SupplementaryPrivateUseArea-B UCS Block """
2111     ret = libxml2mod.xmlUCSIsSupplementaryPrivateUseAreaB(code)
2112     return ret
2113
2114 def uCSIsSyriac(code):
2115     """Check whether the character is part of Syriac UCS Block """
2116     ret = libxml2mod.xmlUCSIsSyriac(code)
2117     return ret
2118
2119 def uCSIsTagalog(code):
2120     """Check whether the character is part of Tagalog UCS Block """
2121     ret = libxml2mod.xmlUCSIsTagalog(code)
2122     return ret
2123
2124 def uCSIsTagbanwa(code):
2125     """Check whether the character is part of Tagbanwa UCS Block """
2126     ret = libxml2mod.xmlUCSIsTagbanwa(code)
2127     return ret
2128
2129 def uCSIsTags(code):
2130     """Check whether the character is part of Tags UCS Block """
2131     ret = libxml2mod.xmlUCSIsTags(code)
2132     return ret
2133
2134 def uCSIsTaiLe(code):
2135     """Check whether the character is part of TaiLe UCS Block """
2136     ret = libxml2mod.xmlUCSIsTaiLe(code)
2137     return ret
2138
2139 def uCSIsTaiXuanJingSymbols(code):
2140     """Check whether the character is part of TaiXuanJingSymbols
2141        UCS Block """
2142     ret = libxml2mod.xmlUCSIsTaiXuanJingSymbols(code)
2143     return ret
2144
2145 def uCSIsTamil(code):
2146     """Check whether the character is part of Tamil UCS Block """
2147     ret = libxml2mod.xmlUCSIsTamil(code)
2148     return ret
2149
2150 def uCSIsTelugu(code):
2151     """Check whether the character is part of Telugu UCS Block """
2152     ret = libxml2mod.xmlUCSIsTelugu(code)
2153     return ret
2154
2155 def uCSIsThaana(code):
2156     """Check whether the character is part of Thaana UCS Block """
2157     ret = libxml2mod.xmlUCSIsThaana(code)
2158     return ret
2159
2160 def uCSIsThai(code):
2161     """Check whether the character is part of Thai UCS Block """
2162     ret = libxml2mod.xmlUCSIsThai(code)
2163     return ret
2164
2165 def uCSIsTibetan(code):
2166     """Check whether the character is part of Tibetan UCS Block """
2167     ret = libxml2mod.xmlUCSIsTibetan(code)
2168     return ret
2169
2170 def uCSIsUgaritic(code):
2171     """Check whether the character is part of Ugaritic UCS Block """
2172     ret = libxml2mod.xmlUCSIsUgaritic(code)
2173     return ret
2174
2175 def uCSIsUnifiedCanadianAboriginalSyllabics(code):
2176     """Check whether the character is part of
2177        UnifiedCanadianAboriginalSyllabics UCS Block """
2178     ret = libxml2mod.xmlUCSIsUnifiedCanadianAboriginalSyllabics(code)
2179     return ret
2180
2181 def uCSIsVariationSelectors(code):
2182     """Check whether the character is part of VariationSelectors
2183        UCS Block """
2184     ret = libxml2mod.xmlUCSIsVariationSelectors(code)
2185     return ret
2186
2187 def uCSIsVariationSelectorsSupplement(code):
2188     """Check whether the character is part of
2189        VariationSelectorsSupplement UCS Block """
2190     ret = libxml2mod.xmlUCSIsVariationSelectorsSupplement(code)
2191     return ret
2192
2193 def uCSIsYiRadicals(code):
2194     """Check whether the character is part of YiRadicals UCS Block """
2195     ret = libxml2mod.xmlUCSIsYiRadicals(code)
2196     return ret
2197
2198 def uCSIsYiSyllables(code):
2199     """Check whether the character is part of YiSyllables UCS Block """
2200     ret = libxml2mod.xmlUCSIsYiSyllables(code)
2201     return ret
2202
2203 def uCSIsYijingHexagramSymbols(code):
2204     """Check whether the character is part of
2205        YijingHexagramSymbols UCS Block """
2206     ret = libxml2mod.xmlUCSIsYijingHexagramSymbols(code)
2207     return ret
2208
2209 #
2210 # Functions from module xmlversion
2211 #
2212
2213 def checkVersion(version):
2214     """check the compiled lib version against the include one.
2215        This can warn or immediately kill the application """
2216     libxml2mod.xmlCheckVersion(version)
2217
2218 #
2219 # Functions from module xpathInternals
2220 #
2221
2222 def valuePop(ctxt):
2223     """Pops the top XPath object from the value stack """
2224     if ctxt is None: ctxt__o = None
2225     else: ctxt__o = ctxt._o
2226     ret = libxml2mod.valuePop(ctxt__o)
2227     return ret
2228
2229 class xmlNode(xmlCore):
2230     def __init__(self, _obj=None):
2231         if checkWrapper(_obj) != 0:            raise TypeError('xmlNode got a wrong wrapper object type')
2232         self._o = _obj
2233         xmlCore.__init__(self, _obj=_obj)
2234
2235     def __repr__(self):
2236         return "<xmlNode (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
2237
2238     # accessors for xmlNode
2239     def ns(self):
2240         """Get the namespace of a node """
2241         ret = libxml2mod.xmlNodeGetNs(self._o)
2242         if ret is None:return None
2243         __tmp = xmlNs(_obj=ret)
2244         return __tmp
2245
2246     def nsDefs(self):
2247         """Get the namespace of a node """
2248         ret = libxml2mod.xmlNodeGetNsDefs(self._o)
2249         if ret is None:return None
2250         __tmp = xmlNs(_obj=ret)
2251         return __tmp
2252
2253     #
2254     # xmlNode functions from module debugXML
2255     #
2256
2257     def debugDumpNode(self, output, depth):
2258         """Dumps debug information for the element node, it is
2259            recursive """
2260         libxml2mod.xmlDebugDumpNode(output, self._o, depth)
2261
2262     def debugDumpNodeList(self, output, depth):
2263         """Dumps debug information for the list of element node, it is
2264            recursive """
2265         libxml2mod.xmlDebugDumpNodeList(output, self._o, depth)
2266
2267     def debugDumpOneNode(self, output, depth):
2268         """Dumps debug information for the element node, it is not
2269            recursive """
2270         libxml2mod.xmlDebugDumpOneNode(output, self._o, depth)
2271
2272     def lsCountNode(self):
2273         """Count the children of @node. """
2274         ret = libxml2mod.xmlLsCountNode(self._o)
2275         return ret
2276
2277     def lsOneNode(self, output):
2278         """Dump to @output the type and name of @node. """
2279         libxml2mod.xmlLsOneNode(output, self._o)
2280
2281     def shellPrintNode(self):
2282         """Print node to the output FILE """
2283         libxml2mod.xmlShellPrintNode(self._o)
2284
2285     #
2286     # xmlNode functions from module tree
2287     #
2288
2289     def addChild(self, cur):
2290         """Add a new node to @parent, at the end of the child (or
2291           property) list merging adjacent TEXT nodes (in which case
2292           @cur is freed) If the new node is ATTRIBUTE, it is added
2293           into properties instead of children. If there is an
2294            attribute with equal name, it is first destroyed. """
2295         if cur is None: cur__o = None
2296         else: cur__o = cur._o
2297         ret = libxml2mod.xmlAddChild(self._o, cur__o)
2298         if ret is None:raise treeError('xmlAddChild() failed')
2299         __tmp = xmlNode(_obj=ret)
2300         return __tmp
2301
2302     def addChildList(self, cur):
2303         """Add a list of node at the end of the child list of the
2304            parent merging adjacent TEXT nodes (@cur may be freed) """
2305         if cur is None: cur__o = None
2306         else: cur__o = cur._o
2307         ret = libxml2mod.xmlAddChildList(self._o, cur__o)
2308         if ret is None:raise treeError('xmlAddChildList() failed')
2309         __tmp = xmlNode(_obj=ret)
2310         return __tmp
2311
2312     def addContent(self, content):
2313         """Append the extra substring to the node content. NOTE: In
2314           contrast to xmlNodeSetContent(), @content is supposed to be
2315           raw text, so unescaped XML special chars are allowed,
2316            entity references are not supported. """
2317         libxml2mod.xmlNodeAddContent(self._o, content)
2318
2319     def addContentLen(self, content, len):
2320         """Append the extra substring to the node content. NOTE: In
2321           contrast to xmlNodeSetContentLen(), @content is supposed to
2322           be raw text, so unescaped XML special chars are allowed,
2323            entity references are not supported. """
2324         libxml2mod.xmlNodeAddContentLen(self._o, content, len)
2325
2326     def addNextSibling(self, elem):
2327         """Add a new node @elem as the next sibling of @cur If the new
2328           node was already inserted in a document it is first
2329           unlinked from its existing context. As a result of text
2330           merging @elem may be freed. If the new node is ATTRIBUTE,
2331           it is added into properties instead of children. If there
2332            is an attribute with equal name, it is first destroyed. """
2333         if elem is None: elem__o = None
2334         else: elem__o = elem._o
2335         ret = libxml2mod.xmlAddNextSibling(self._o, elem__o)
2336         if ret is None:raise treeError('xmlAddNextSibling() failed')
2337         __tmp = xmlNode(_obj=ret)
2338         return __tmp
2339
2340     def addPrevSibling(self, elem):
2341         """Add a new node @elem as the previous sibling of @cur
2342           merging adjacent TEXT nodes (@elem may be freed) If the new
2343           node was already inserted in a document it is first
2344           unlinked from its existing context. If the new node is
2345           ATTRIBUTE, it is added into properties instead of children.
2346           If there is an attribute with equal name, it is first
2347            destroyed. """
2348         if elem is None: elem__o = None
2349         else: elem__o = elem._o
2350         ret = libxml2mod.xmlAddPrevSibling(self._o, elem__o)
2351         if ret is None:raise treeError('xmlAddPrevSibling() failed')
2352         __tmp = xmlNode(_obj=ret)
2353         return __tmp
2354
2355     def addSibling(self, elem):
2356         """Add a new element @elem to the list of siblings of @cur
2357           merging adjacent TEXT nodes (@elem may be freed) If the new
2358           element was already inserted in a document it is first
2359            unlinked from its existing context. """
2360         if elem is None: elem__o = None
2361         else: elem__o = elem._o
2362         ret = libxml2mod.xmlAddSibling(self._o, elem__o)
2363         if ret is None:raise treeError('xmlAddSibling() failed')
2364         __tmp = xmlNode(_obj=ret)
2365         return __tmp
2366
2367     def copyNode(self, extended):
2368         """Do a copy of the node. """
2369         ret = libxml2mod.xmlCopyNode(self._o, extended)
2370         if ret is None:raise treeError('xmlCopyNode() failed')
2371         __tmp = xmlNode(_obj=ret)
2372         return __tmp
2373
2374     def copyNodeList(self):
2375         """Do a recursive copy of the node list. Use
2376           xmlDocCopyNodeList() if possible to ensure string interning. """
2377         ret = libxml2mod.xmlCopyNodeList(self._o)
2378         if ret is None:raise treeError('xmlCopyNodeList() failed')
2379         __tmp = xmlNode(_obj=ret)
2380         return __tmp
2381
2382     def copyProp(self, cur):
2383         """Do a copy of the attribute. """
2384         if cur is None: cur__o = None
2385         else: cur__o = cur._o
2386         ret = libxml2mod.xmlCopyProp(self._o, cur__o)
2387         if ret is None:raise treeError('xmlCopyProp() failed')
2388         __tmp = xmlAttr(_obj=ret)
2389         return __tmp
2390
2391     def copyPropList(self, cur):
2392         """Do a copy of an attribute list. """
2393         if cur is None: cur__o = None
2394         else: cur__o = cur._o
2395         ret = libxml2mod.xmlCopyPropList(self._o, cur__o)
2396         if ret is None:raise treeError('xmlCopyPropList() failed')
2397         __tmp = xmlAttr(_obj=ret)
2398         return __tmp
2399
2400     def docCopyNode(self, doc, extended):
2401         """Do a copy of the node to a given document. """
2402         if doc is None: doc__o = None
2403         else: doc__o = doc._o
2404         ret = libxml2mod.xmlDocCopyNode(self._o, doc__o, extended)
2405         if ret is None:raise treeError('xmlDocCopyNode() failed')
2406         __tmp = xmlNode(_obj=ret)
2407         return __tmp
2408
2409     def docCopyNodeList(self, doc):
2410         """Do a recursive copy of the node list. """
2411         if doc is None: doc__o = None
2412         else: doc__o = doc._o
2413         ret = libxml2mod.xmlDocCopyNodeList(doc__o, self._o)
2414         if ret is None:raise treeError('xmlDocCopyNodeList() failed')
2415         __tmp = xmlNode(_obj=ret)
2416         return __tmp
2417
2418     def docSetRootElement(self, doc):
2419         """Set the root element of the document (doc->children is a
2420            list containing possibly comments, PIs, etc ...). """
2421         if doc is None: doc__o = None
2422         else: doc__o = doc._o
2423         ret = libxml2mod.xmlDocSetRootElement(doc__o, self._o)
2424         if ret is None:return None
2425         __tmp = xmlNode(_obj=ret)
2426         return __tmp
2427
2428     def firstElementChild(self):
2429         """Finds the first child node of that element which is a
2430           Element node Note the handling of entities references is
2431           different than in the W3C DOM element traversal spec since
2432           we don't have back reference from entities content to
2433            entities references. """
2434         ret = libxml2mod.xmlFirstElementChild(self._o)
2435         if ret is None:return None
2436         __tmp = xmlNode(_obj=ret)
2437         return __tmp
2438
2439     def freeNode(self):
2440         """Free a node, this is a recursive behaviour, all the
2441           children are freed too. This doesn't unlink the child from
2442            the list, use xmlUnlinkNode() first. """
2443         libxml2mod.xmlFreeNode(self._o)
2444
2445     def freeNodeList(self):
2446         """Free a node and all its siblings, this is a recursive
2447            behaviour, all the children are freed too. """
2448         libxml2mod.xmlFreeNodeList(self._o)
2449
2450     def getBase(self, doc):
2451         """Searches for the BASE URL. The code should work on both XML
2452           and HTML document even if base mechanisms are completely
2453           different. It returns the base as defined in RFC 2396
2454           sections 5.1.1. Base URI within Document Content and 5.1.2.
2455           Base URI from the Encapsulating Entity However it does not
2456            return the document base (5.1.3), use doc->URL in this case """
2457         if doc is None: doc__o = None
2458         else: doc__o = doc._o
2459         ret = libxml2mod.xmlNodeGetBase(doc__o, self._o)
2460         return ret
2461
2462     def getContent(self):
2463         """Read the value of a node, this can be either the text
2464           carried directly by this node if it's a TEXT node or the
2465           aggregate string of the values carried by this node child's
2466            (TEXT and ENTITY_REF). Entity references are substituted. """
2467         ret = libxml2mod.xmlNodeGetContent(self._o)
2468         return ret
2469
2470     def getLang(self):
2471         """Searches the language of a node, i.e. the values of the
2472           xml:lang attribute or the one carried by the nearest
2473            ancestor. """
2474         ret = libxml2mod.xmlNodeGetLang(self._o)
2475         return ret
2476
2477     def getSpacePreserve(self):
2478         """Searches the space preserving behaviour of a node, i.e. the
2479           values of the xml:space attribute or the one carried by the
2480            nearest ancestor. """
2481         ret = libxml2mod.xmlNodeGetSpacePreserve(self._o)
2482         return ret
2483
2484     def hasNsProp(self, name, nameSpace):
2485         """Search for an attribute associated to a node This attribute
2486           has to be anchored in the namespace specified. This does
2487           the entity substitution. This function looks in DTD
2488           attribute declaration for #FIXED or default declaration
2489           values unless DTD use has been turned off. Note that a
2490            namespace of None indicates to use the default namespace. """
2491         ret = libxml2mod.xmlHasNsProp(self._o, name, nameSpace)
2492         if ret is None:return None
2493         __tmp = xmlAttr(_obj=ret)
2494         return __tmp
2495
2496     def hasProp(self, name):
2497         """Search an attribute associated to a node This function also
2498           looks in DTD attribute declaration for #FIXED or default
2499            declaration values unless DTD use has been turned off. """
2500         ret = libxml2mod.xmlHasProp(self._o, name)
2501         if ret is None:return None
2502         __tmp = xmlAttr(_obj=ret)
2503         return __tmp
2504
2505     def isBlankNode(self):
2506         """Checks whether this node is an empty or whitespace only
2507            (and possibly ignorable) text-node. """
2508         ret = libxml2mod.xmlIsBlankNode(self._o)
2509         return ret
2510
2511     def isText(self):
2512         """Is this node a Text node ? """
2513         ret = libxml2mod.xmlNodeIsText(self._o)
2514         return ret
2515
2516     def lastChild(self):
2517         """Search the last child of a node. """
2518         ret = libxml2mod.xmlGetLastChild(self._o)
2519         if ret is None:raise treeError('xmlGetLastChild() failed')
2520         __tmp = xmlNode(_obj=ret)
2521         return __tmp
2522
2523     def lastElementChild(self):
2524         """Finds the last child node of that element which is a
2525           Element node Note the handling of entities references is
2526           different than in the W3C DOM element traversal spec since
2527           we don't have back reference from entities content to
2528            entities references. """
2529         ret = libxml2mod.xmlLastElementChild(self._o)
2530         if ret is None:return None
2531         __tmp = xmlNode(_obj=ret)
2532         return __tmp
2533
2534     def lineNo(self):
2535         """Get line number of @node. Try to override the limitation of
2536           lines being store in 16 bits ints if XML_PARSE_BIG_LINES
2537            parser option was used """
2538         ret = libxml2mod.xmlGetLineNo(self._o)
2539         return ret
2540
2541     def listGetRawString(self, doc, inLine):
2542         """Builds the string equivalent to the text contained in the
2543           Node list made of TEXTs and ENTITY_REFs, contrary to
2544           xmlNodeListGetString() this function doesn't do any
2545            character encoding handling. """
2546         if doc is None: doc__o = None
2547         else: doc__o = doc._o
2548         ret = libxml2mod.xmlNodeListGetRawString(doc__o, self._o, inLine)
2549         return ret
2550
2551     def listGetString(self, doc, inLine):
2552         """Build the string equivalent to the text contained in the
2553            Node list made of TEXTs and ENTITY_REFs """
2554         if doc is None: doc__o = None
2555         else: doc__o = doc._o
2556         ret = libxml2mod.xmlNodeListGetString(doc__o, self._o, inLine)
2557         return ret
2558
2559     def newChild(self, ns, name, content):
2560         """Creation of a new child element, added at the end of
2561           @parent children list. @ns and @content parameters are
2562           optional (None). If @ns is None, the newly created element
2563           inherits the namespace of @parent. If @content is non None,
2564           a child list containing the TEXTs and ENTITY_REFs node will
2565           be created. NOTE: @content is supposed to be a piece of XML
2566           CDATA, so it allows entity references. XML special chars
2567           must be escaped first by using
2568           xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should
2569            be used. """
2570         if ns is None: ns__o = None
2571         else: ns__o = ns._o
2572         ret = libxml2mod.xmlNewChild(self._o, ns__o, name, content)
2573         if ret is None:raise treeError('xmlNewChild() failed')
2574         __tmp = xmlNode(_obj=ret)
2575         return __tmp
2576
2577     def newNs(self, href, prefix):
2578         """Creation of a new Namespace. This function will refuse to
2579           create a namespace with a similar prefix than an existing
2580           one present on this node. We use href==None in the case of
2581            an element creation where the namespace was not defined. """
2582         ret = libxml2mod.xmlNewNs(self._o, href, prefix)
2583         if ret is None:raise treeError('xmlNewNs() failed')
2584         __tmp = xmlNs(_obj=ret)
2585         return __tmp
2586
2587     def newNsProp(self, ns, name, value):
2588         """Create a new property tagged with a namespace and carried
2589            by a node. """
2590         if ns is None: ns__o = None
2591         else: ns__o = ns._o
2592         ret = libxml2mod.xmlNewNsProp(self._o, ns__o, name, value)
2593         if ret is None:raise treeError('xmlNewNsProp() failed')
2594         __tmp = xmlAttr(_obj=ret)
2595         return __tmp
2596
2597     def newNsPropEatName(self, ns, name, value):
2598         """Create a new property tagged with a namespace and carried
2599            by a node. """
2600         if ns is None: ns__o = None
2601         else: ns__o = ns._o
2602         ret = libxml2mod.xmlNewNsPropEatName(self._o, ns__o, name, value)
2603         if ret is None:raise treeError('xmlNewNsPropEatName() failed')
2604         __tmp = xmlAttr(_obj=ret)
2605         return __tmp
2606
2607     def newProp(self, name, value):
2608         """Create a new property carried by a node. """
2609         ret = libxml2mod.xmlNewProp(self._o, name, value)
2610         if ret is None:raise treeError('xmlNewProp() failed')
2611         __tmp = xmlAttr(_obj=ret)
2612         return __tmp
2613
2614     def newTextChild(self, ns, name, content):
2615         """Creation of a new child element, added at the end of
2616           @parent children list. @ns and @content parameters are
2617           optional (None). If @ns is None, the newly created element
2618           inherits the namespace of @parent. If @content is non None,
2619           a child TEXT node will be created containing the string
2620           @content. NOTE: Use xmlNewChild() if @content will contain
2621           entities that need to be preserved. Use this function,
2622           xmlNewTextChild(), if you need to ensure that reserved XML
2623           chars that might appear in @content, such as the ampersand,
2624           greater-than or less-than signs, are automatically replaced
2625            by their XML escaped entity representations. """
2626         if ns is None: ns__o = None
2627         else: ns__o = ns._o
2628         ret = libxml2mod.xmlNewTextChild(self._o, ns__o, name, content)
2629         if ret is None:raise treeError('xmlNewTextChild() failed')
2630         __tmp = xmlNode(_obj=ret)
2631         return __tmp
2632
2633     def nextElementSibling(self):
2634         """Finds the first closest next sibling of the node which is
2635           an element node. Note the handling of entities references
2636           is different than in the W3C DOM element traversal spec
2637           since we don't have back reference from entities content to
2638            entities references. """
2639         ret = libxml2mod.xmlNextElementSibling(self._o)
2640         if ret is None:return None
2641         __tmp = xmlNode(_obj=ret)
2642         return __tmp
2643
2644     def noNsProp(self, name):
2645         """Search and get the value of an attribute associated to a
2646           node This does the entity substitution. This function looks
2647           in DTD attribute declaration for #FIXED or default
2648           declaration values unless DTD use has been turned off. This
2649           function is similar to xmlGetProp except it will accept
2650            only an attribute in no namespace. """
2651         ret = libxml2mod.xmlGetNoNsProp(self._o, name)
2652         return ret
2653
2654     def nodePath(self):
2655         """Build a structure based Path for the given node """
2656         ret = libxml2mod.xmlGetNodePath(self._o)
2657         return ret
2658
2659     def nsProp(self, name, nameSpace):
2660         """Search and get the value of an attribute associated to a
2661           node This attribute has to be anchored in the namespace
2662           specified. This does the entity substitution. This function
2663           looks in DTD attribute declaration for #FIXED or default
2664            declaration values unless DTD use has been turned off. """
2665         ret = libxml2mod.xmlGetNsProp(self._o, name, nameSpace)
2666         return ret
2667
2668     def previousElementSibling(self):
2669         """Finds the first closest previous sibling of the node which
2670           is an element node. Note the handling of entities
2671           references is different than in the W3C DOM element
2672           traversal spec since we don't have back reference from
2673            entities content to entities references. """
2674         ret = libxml2mod.xmlPreviousElementSibling(self._o)
2675         if ret is None:return None
2676         __tmp = xmlNode(_obj=ret)
2677         return __tmp
2678
2679     def prop(self, name):
2680         """Search and get the value of an attribute associated to a
2681           node This does the entity substitution. This function looks
2682           in DTD attribute declaration for #FIXED or default
2683           declaration values unless DTD use has been turned off.
2684           NOTE: this function acts independently of namespaces
2685           associated to the attribute. Use xmlGetNsProp() or
2686            xmlGetNoNsProp() for namespace aware processing. """
2687         ret = libxml2mod.xmlGetProp(self._o, name)
2688         return ret
2689
2690     def reconciliateNs(self, doc):
2691         """This function checks that all the namespaces declared
2692           within the given tree are properly declared. This is needed
2693           for example after Copy or Cut and then paste operations.
2694           The subtree may still hold pointers to namespace
2695           declarations outside the subtree or invalid/masked. As much
2696           as possible the function try to reuse the existing
2697           namespaces found in the new environment. If not possible
2698           the new namespaces are redeclared on @tree at the top of
2699            the given subtree. """
2700         if doc is None: doc__o = None
2701         else: doc__o = doc._o
2702         ret = libxml2mod.xmlReconciliateNs(doc__o, self._o)
2703         return ret
2704
2705     def replaceNode(self, cur):
2706         """Unlink the old node from its current context, prune the new
2707           one at the same place. If @cur was already inserted in a
2708            document it is first unlinked from its existing context. """
2709         if cur is None: cur__o = None
2710         else: cur__o = cur._o
2711         ret = libxml2mod.xmlReplaceNode(self._o, cur__o)
2712         if ret is None:raise treeError('xmlReplaceNode() failed')
2713         __tmp = xmlNode(_obj=ret)
2714         return __tmp
2715
2716     def searchNs(self, doc, nameSpace):
2717         """Search a Ns registered under a given name space for a
2718           document. recurse on the parents until it finds the defined
2719           namespace or return None otherwise. @nameSpace can be None,
2720           this is a search for the default namespace. We don't allow
2721           to cross entities boundaries. If you don't declare the
2722           namespace within those you will be in troubles !!! A
2723            warning is generated to cover this case. """
2724         if doc is None: doc__o = None
2725         else: doc__o = doc._o
2726         ret = libxml2mod.xmlSearchNs(doc__o, self._o, nameSpace)
2727         if ret is None:raise treeError('xmlSearchNs() failed')
2728         __tmp = xmlNs(_obj=ret)
2729         return __tmp
2730
2731     def searchNsByHref(self, doc, href):
2732         """Search a Ns aliasing a given URI. Recurse on the parents
2733           until it finds the defined namespace or return None
2734            otherwise. """
2735         if doc is None: doc__o = None
2736         else: doc__o = doc._o
2737         ret = libxml2mod.xmlSearchNsByHref(doc__o, self._o, href)
2738         if ret is None:raise treeError('xmlSearchNsByHref() failed')
2739         __tmp = xmlNs(_obj=ret)
2740         return __tmp
2741
2742     def setBase(self, uri):
2743         """Set (or reset) the base URI of a node, i.e. the value of
2744            the xml:base attribute. """
2745         libxml2mod.xmlNodeSetBase(self._o, uri)
2746
2747     def setContent(self, content):
2748         """Replace the content of a node. NOTE: @content is supposed
2749           to be a piece of XML CDATA, so it allows entity references,
2750           but XML special chars need to be escaped first by using
2751            xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars(). """
2752         libxml2mod.xmlNodeSetContent(self._o, content)
2753
2754     def setContentLen(self, content, len):
2755         """Replace the content of a node. NOTE: @content is supposed
2756           to be a piece of XML CDATA, so it allows entity references,
2757           but XML special chars need to be escaped first by using
2758            xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars(). """
2759         libxml2mod.xmlNodeSetContentLen(self._o, content, len)
2760
2761     def setLang(self, lang):
2762         """Set the language of a node, i.e. the values of the xml:lang
2763            attribute. """
2764         libxml2mod.xmlNodeSetLang(self._o, lang)
2765
2766     def setListDoc(self, doc):
2767         """update all nodes in the list to point to the right document """
2768         if doc is None: doc__o = None
2769         else: doc__o = doc._o
2770         libxml2mod.xmlSetListDoc(self._o, doc__o)
2771
2772     def setName(self, name):
2773         """Set (or reset) the name of a node. """
2774         libxml2mod.xmlNodeSetName(self._o, name)
2775
2776     def setNs(self, ns):
2777         """Associate a namespace to a node, a posteriori. """
2778         if ns is None: ns__o = None
2779         else: ns__o = ns._o
2780         libxml2mod.xmlSetNs(self._o, ns__o)
2781
2782     def setNsProp(self, ns, name, value):
2783         """Set (or reset) an attribute carried by a node. The ns
2784            structure must be in scope, this is not checked """
2785         if ns is None: ns__o = None
2786         else: ns__o = ns._o
2787         ret = libxml2mod.xmlSetNsProp(self._o, ns__o, name, value)
2788         if ret is None:raise treeError('xmlSetNsProp() failed')
2789         __tmp = xmlAttr(_obj=ret)
2790         return __tmp
2791
2792     def setProp(self, name, value):
2793         """Set (or reset) an attribute carried by a node. If @name has
2794           a prefix, then the corresponding namespace-binding will be
2795           used, if in scope; it is an error it there's no such
2796            ns-binding for the prefix in scope. """
2797         ret = libxml2mod.xmlSetProp(self._o, name, value)
2798         if ret is None:raise treeError('xmlSetProp() failed')
2799         __tmp = xmlAttr(_obj=ret)
2800         return __tmp
2801
2802     def setSpacePreserve(self, val):
2803         """Set (or reset) the space preserving behaviour of a node,
2804            i.e. the value of the xml:space attribute. """
2805         libxml2mod.xmlNodeSetSpacePreserve(self._o, val)
2806
2807     def setTreeDoc(self, doc):
2808         """update all nodes under the tree to point to the right
2809            document """
2810         if doc is None: doc__o = None
2811         else: doc__o = doc._o
2812         libxml2mod.xmlSetTreeDoc(self._o, doc__o)
2813
2814     def textConcat(self, content, len):
2815         """Concat the given string at the end of the existing node
2816            content """
2817         ret = libxml2mod.xmlTextConcat(self._o, content, len)
2818         return ret
2819
2820     def textMerge(self, second):
2821         """Merge two text nodes into one """
2822         if second is None: second__o = None
2823         else: second__o = second._o
2824         ret = libxml2mod.xmlTextMerge(self._o, second__o)
2825         if ret is None:raise treeError('xmlTextMerge() failed')
2826         __tmp = xmlNode(_obj=ret)
2827         return __tmp
2828
2829     def unlinkNode(self):
2830         """Unlink a node from it's current context, the node is not
2831           freed If one need to free the node, use xmlFreeNode()
2832           routine after the unlink to discard it. Note that namespace
2833           nodes can't be unlinked as they do not have pointer to
2834            their parent. """
2835         libxml2mod.xmlUnlinkNode(self._o)
2836
2837     def unsetNsProp(self, ns, name):
2838         """Remove an attribute carried by a node. """
2839         if ns is None: ns__o = None
2840         else: ns__o = ns._o
2841         ret = libxml2mod.xmlUnsetNsProp(self._o, ns__o, name)
2842         return ret
2843
2844     def unsetProp(self, name):
2845         """Remove an attribute carried by a node. This handles only
2846            attributes in no namespace. """
2847         ret = libxml2mod.xmlUnsetProp(self._o, name)
2848         return ret
2849
2850     #
2851     # xmlNode functions from module valid
2852     #
2853
2854     def isID(self, doc, attr):
2855         """Determine whether an attribute is of type ID. In case we
2856           have DTD(s) then this is done if DTD loading has been
2857           requested. In the case of HTML documents parsed with the
2858            HTML parser, then ID detection is done systematically. """
2859         if doc is None: doc__o = None
2860         else: doc__o = doc._o
2861         if attr is None: attr__o = None
2862         else: attr__o = attr._o
2863         ret = libxml2mod.xmlIsID(doc__o, self._o, attr__o)
2864         return ret
2865
2866     def isRef(self, doc, attr):
2867         """Determine whether an attribute is of type Ref. In case we
2868           have DTD(s) then this is simple, otherwise we use an
2869            heuristic: name Ref (upper or lowercase). """
2870         if doc is None: doc__o = None
2871         else: doc__o = doc._o
2872         if attr is None: attr__o = None
2873         else: attr__o = attr._o
2874         ret = libxml2mod.xmlIsRef(doc__o, self._o, attr__o)
2875         return ret
2876
2877     def validNormalizeAttributeValue(self, doc, name, value):
2878         """Does the validation related extra step of the normalization
2879           of attribute values:  If the declared value is not CDATA,
2880           then the XML processor must further process the normalized
2881           attribute value by discarding any leading and trailing
2882           space (#x20) characters, and by replacing sequences of
2883            space (#x20) characters by single space (#x20) character. """
2884         if doc is None: doc__o = None
2885         else: doc__o = doc._o
2886         ret = libxml2mod.xmlValidNormalizeAttributeValue(doc__o, self._o, name, value)
2887         return ret
2888
2889     #
2890     # xmlNode functions from module xinclude
2891     #
2892
2893     def xincludeProcessTree(self):
2894         """Implement the XInclude substitution for the given subtree """
2895         ret = libxml2mod.xmlXIncludeProcessTree(self._o)
2896         return ret
2897
2898     def xincludeProcessTreeFlags(self, flags):
2899         """Implement the XInclude substitution for the given subtree """
2900         ret = libxml2mod.xmlXIncludeProcessTreeFlags(self._o, flags)
2901         return ret
2902
2903     #
2904     # xmlNode functions from module xmlschemas
2905     #
2906
2907     def schemaValidateOneElement(self, ctxt):
2908         """Validate a branch of a tree, starting with the given @elem. """
2909         if ctxt is None: ctxt__o = None
2910         else: ctxt__o = ctxt._o
2911         ret = libxml2mod.xmlSchemaValidateOneElement(ctxt__o, self._o)
2912         return ret
2913
2914     #
2915     # xmlNode functions from module xpath
2916     #
2917
2918     def xpathCastNodeToNumber(self):
2919         """Converts a node to its number value """
2920         ret = libxml2mod.xmlXPathCastNodeToNumber(self._o)
2921         return ret
2922
2923     def xpathCastNodeToString(self):
2924         """Converts a node to its string value. """
2925         ret = libxml2mod.xmlXPathCastNodeToString(self._o)
2926         return ret
2927
2928     def xpathCmpNodes(self, node2):
2929         """Compare two nodes w.r.t document order """
2930         if node2 is None: node2__o = None
2931         else: node2__o = node2._o
2932         ret = libxml2mod.xmlXPathCmpNodes(self._o, node2__o)
2933         return ret
2934
2935     def xpathNodeEval(self, str, ctx):
2936         """Evaluate the XPath Location Path in the given context. The
2937           node 'node' is set as the context node. The context node is
2938            not restored. """
2939         if ctx is None: ctx__o = None
2940         else: ctx__o = ctx._o
2941         ret = libxml2mod.xmlXPathNodeEval(self._o, str, ctx__o)
2942         if ret is None:raise xpathError('xmlXPathNodeEval() failed')
2943         return xpathObjectRet(ret)
2944
2945     #
2946     # xmlNode functions from module xpathInternals
2947     #
2948
2949     def xpathNewNodeSet(self):
2950         """Create a new xmlXPathObjectPtr of type NodeSet and
2951            initialize it with the single Node @val """
2952         ret = libxml2mod.xmlXPathNewNodeSet(self._o)
2953         if ret is None:raise xpathError('xmlXPathNewNodeSet() failed')
2954         return xpathObjectRet(ret)
2955
2956     def xpathNewValueTree(self):
2957         """Create a new xmlXPathObjectPtr of type Value Tree (XSLT)
2958            and initialize it with the tree root @val """
2959         ret = libxml2mod.xmlXPathNewValueTree(self._o)
2960         if ret is None:raise xpathError('xmlXPathNewValueTree() failed')
2961         return xpathObjectRet(ret)
2962
2963     def xpathNextAncestor(self, ctxt):
2964         """Traversal function for the "ancestor" direction the
2965           ancestor axis contains the ancestors of the context node;
2966           the ancestors of the context node consist of the parent of
2967           context node and the parent's parent and so on; the nodes
2968           are ordered in reverse document order; thus the parent is
2969           the first node on the axis, and the parent's parent is the
2970            second node on the axis """
2971         if ctxt is None: ctxt__o = None
2972         else: ctxt__o = ctxt._o
2973         ret = libxml2mod.xmlXPathNextAncestor(ctxt__o, self._o)
2974         if ret is None:raise xpathError('xmlXPathNextAncestor() failed')
2975         __tmp = xmlNode(_obj=ret)
2976         return __tmp
2977
2978     def xpathNextAncestorOrSelf(self, ctxt):
2979         """Traversal function for the "ancestor-or-self" direction he
2980           ancestor-or-self axis contains the context node and
2981           ancestors of the context node in reverse document order;
2982           thus the context node is the first node on the axis, and
2983           the context node's parent the second; parent here is
2984            defined the same as with the parent axis. """
2985         if ctxt is None: ctxt__o = None
2986         else: ctxt__o = ctxt._o
2987         ret = libxml2mod.xmlXPathNextAncestorOrSelf(ctxt__o, self._o)
2988         if ret is None:raise xpathError('xmlXPathNextAncestorOrSelf() failed')
2989         __tmp = xmlNode(_obj=ret)
2990         return __tmp
2991
2992     def xpathNextAttribute(self, ctxt):
2993         """Traversal function for the "attribute" direction TODO:
2994            support DTD inherited default attributes """
2995         if ctxt is None: ctxt__o = None
2996         else: ctxt__o = ctxt._o
2997         ret = libxml2mod.xmlXPathNextAttribute(ctxt__o, self._o)
2998         if ret is None:raise xpathError('xmlXPathNextAttribute() failed')
2999         __tmp = xmlNode(_obj=ret)
3000         return __tmp
3001
3002     def xpathNextChild(self, ctxt):
3003         """Traversal function for the "child" direction The child axis
3004           contains the children of the context node in document order. """
3005         if ctxt is None: ctxt__o = None
3006         else: ctxt__o = ctxt._o
3007         ret = libxml2mod.xmlXPathNextChild(ctxt__o, self._o)
3008         if ret is None:raise xpathError('xmlXPathNextChild() failed')
3009         __tmp = xmlNode(_obj=ret)
3010         return __tmp
3011
3012     def xpathNextDescendant(self, ctxt):
3013         """Traversal function for the "descendant" direction the
3014           descendant axis contains the descendants of the context
3015           node in document order; a descendant is a child or a child
3016            of a child and so on. """
3017         if ctxt is None: ctxt__o = None
3018         else: ctxt__o = ctxt._o
3019         ret = libxml2mod.xmlXPathNextDescendant(ctxt__o, self._o)
3020         if ret is None:raise xpathError('xmlXPathNextDescendant() failed')
3021         __tmp = xmlNode(_obj=ret)
3022         return __tmp
3023
3024     def xpathNextDescendantOrSelf(self, ctxt):
3025         """Traversal function for the "descendant-or-self" direction
3026           the descendant-or-self axis contains the context node and
3027           the descendants of the context node in document order; thus
3028           the context node is the first node on the axis, and the
3029           first child of the context node is the second node on the
3030            axis """
3031         if ctxt is None: ctxt__o = None
3032         else: ctxt__o = ctxt._o
3033         ret = libxml2mod.xmlXPathNextDescendantOrSelf(ctxt__o, self._o)
3034         if ret is None:raise xpathError('xmlXPathNextDescendantOrSelf() failed')
3035         __tmp = xmlNode(_obj=ret)
3036         return __tmp
3037
3038     def xpathNextFollowing(self, ctxt):
3039         """Traversal function for the "following" direction The
3040           following axis contains all nodes in the same document as
3041           the context node that are after the context node in
3042           document order, excluding any descendants and excluding
3043           attribute nodes and namespace nodes; the nodes are ordered
3044            in document order """
3045         if ctxt is None: ctxt__o = None
3046         else: ctxt__o = ctxt._o
3047         ret = libxml2mod.xmlXPathNextFollowing(ctxt__o, self._o)
3048         if ret is None:raise xpathError('xmlXPathNextFollowing() failed')
3049         __tmp = xmlNode(_obj=ret)
3050         return __tmp
3051
3052     def xpathNextFollowingSibling(self, ctxt):
3053         """Traversal function for the "following-sibling" direction
3054           The following-sibling axis contains the following siblings
3055            of the context node in document order. """
3056         if ctxt is None: ctxt__o = None
3057         else: ctxt__o = ctxt._o
3058         ret = libxml2mod.xmlXPathNextFollowingSibling(ctxt__o, self._o)
3059         if ret is None:raise xpathError('xmlXPathNextFollowingSibling() failed')
3060         __tmp = xmlNode(_obj=ret)
3061         return __tmp
3062
3063     def xpathNextNamespace(self, ctxt):
3064         """Traversal function for the "namespace" direction the
3065           namespace axis contains the namespace nodes of the context
3066           node; the order of nodes on this axis is
3067           implementation-defined; the axis will be empty unless the
3068           context node is an element  We keep the XML namespace node
3069            at the end of the list. """
3070         if ctxt is None: ctxt__o = None
3071         else: ctxt__o = ctxt._o
3072         ret = libxml2mod.xmlXPathNextNamespace(ctxt__o, self._o)
3073         if ret is None:raise xpathError('xmlXPathNextNamespace() failed')
3074         __tmp = xmlNode(_obj=ret)
3075         return __tmp
3076
3077     def xpathNextParent(self, ctxt):
3078         """Traversal function for the "parent" direction The parent
3079           axis contains the parent of the context node, if there is
3080            one. """
3081         if ctxt is None: ctxt__o = None
3082         else: ctxt__o = ctxt._o
3083         ret = libxml2mod.xmlXPathNextParent(ctxt__o, self._o)
3084         if ret is None:raise xpathError('xmlXPathNextParent() failed')
3085         __tmp = xmlNode(_obj=ret)
3086         return __tmp
3087
3088     def xpathNextPreceding(self, ctxt):
3089         """Traversal function for the "preceding" direction the
3090           preceding axis contains all nodes in the same document as
3091           the context node that are before the context node in
3092           document order, excluding any ancestors and excluding
3093           attribute nodes and namespace nodes; the nodes are ordered
3094            in reverse document order """
3095         if ctxt is None: ctxt__o = None
3096         else: ctxt__o = ctxt._o
3097         ret = libxml2mod.xmlXPathNextPreceding(ctxt__o, self._o)
3098         if ret is None:raise xpathError('xmlXPathNextPreceding() failed')
3099         __tmp = xmlNode(_obj=ret)
3100         return __tmp
3101
3102     def xpathNextPrecedingSibling(self, ctxt):
3103         """Traversal function for the "preceding-sibling" direction
3104           The preceding-sibling axis contains the preceding siblings
3105           of the context node in reverse document order; the first
3106           preceding sibling is first on the axis; the sibling
3107            preceding that node is the second on the axis and so on. """
3108         if ctxt is None: ctxt__o = None
3109         else: ctxt__o = ctxt._o
3110         ret = libxml2mod.xmlXPathNextPrecedingSibling(ctxt__o, self._o)
3111         if ret is None:raise xpathError('xmlXPathNextPrecedingSibling() failed')
3112         __tmp = xmlNode(_obj=ret)
3113         return __tmp
3114
3115     def xpathNextSelf(self, ctxt):
3116         """Traversal function for the "self" direction The self axis
3117            contains just the context node itself """
3118         if ctxt is None: ctxt__o = None
3119         else: ctxt__o = ctxt._o
3120         ret = libxml2mod.xmlXPathNextSelf(ctxt__o, self._o)
3121         if ret is None:raise xpathError('xmlXPathNextSelf() failed')
3122         __tmp = xmlNode(_obj=ret)
3123         return __tmp
3124
3125     #
3126     # xmlNode functions from module xpointer
3127     #
3128
3129     def xpointerNewCollapsedRange(self):
3130         """Create a new xmlXPathObjectPtr of type range using a single
3131            nodes """
3132         ret = libxml2mod.xmlXPtrNewCollapsedRange(self._o)
3133         if ret is None:raise treeError('xmlXPtrNewCollapsedRange() failed')
3134         return xpathObjectRet(ret)
3135
3136     def xpointerNewContext(self, doc, origin):
3137         """Create a new XPointer context """
3138         if doc is None: doc__o = None
3139         else: doc__o = doc._o
3140         if origin is None: origin__o = None
3141         else: origin__o = origin._o
3142         ret = libxml2mod.xmlXPtrNewContext(doc__o, self._o, origin__o)
3143         if ret is None:raise treeError('xmlXPtrNewContext() failed')
3144         __tmp = xpathContext(_obj=ret)
3145         return __tmp
3146
3147     def xpointerNewLocationSetNodes(self, end):
3148         """Create a new xmlXPathObjectPtr of type LocationSet and
3149           initialize it with the single range made of the two nodes
3150            @start and @end """
3151         if end is None: end__o = None
3152         else: end__o = end._o
3153         ret = libxml2mod.xmlXPtrNewLocationSetNodes(self._o, end__o)
3154         if ret is None:raise treeError('xmlXPtrNewLocationSetNodes() failed')
3155         return xpathObjectRet(ret)
3156
3157     def xpointerNewRange(self, startindex, end, endindex):
3158         """Create a new xmlXPathObjectPtr of type range """
3159         if end is None: end__o = None
3160         else: end__o = end._o
3161         ret = libxml2mod.xmlXPtrNewRange(self._o, startindex, end__o, endindex)
3162         if ret is None:raise treeError('xmlXPtrNewRange() failed')
3163         return xpathObjectRet(ret)
3164
3165     def xpointerNewRangeNodes(self, end):
3166         """Create a new xmlXPathObjectPtr of type range using 2 nodes """
3167         if end is None: end__o = None
3168         else: end__o = end._o
3169         ret = libxml2mod.xmlXPtrNewRangeNodes(self._o, end__o)
3170         if ret is None:raise treeError('xmlXPtrNewRangeNodes() failed')
3171         return xpathObjectRet(ret)
3172
3173 class xmlDoc(xmlNode):
3174     def __init__(self, _obj=None):
3175         if checkWrapper(_obj) != 0:            raise TypeError('xmlDoc got a wrong wrapper object type')
3176         self._o = _obj
3177         xmlNode.__init__(self, _obj=_obj)
3178
3179     def __repr__(self):
3180         return "<xmlDoc (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
3181
3182     #
3183     # xmlDoc functions from module HTMLparser
3184     #
3185
3186     def htmlAutoCloseTag(self, name, elem):
3187         """The HTML DTD allows a tag to implicitly close other tags.
3188           The list is kept in htmlStartClose array. This function
3189           checks if the element or one of it's children would
3190            autoclose the given tag. """
3191         ret = libxml2mod.htmlAutoCloseTag(self._o, name, elem)
3192         return ret
3193
3194     def htmlIsAutoClosed(self, elem):
3195         """The HTML DTD allows a tag to implicitly close other tags.
3196           The list is kept in htmlStartClose array. This function
3197            checks if a tag is autoclosed by one of it's child """
3198         ret = libxml2mod.htmlIsAutoClosed(self._o, elem)
3199         return ret
3200
3201     #
3202     # xmlDoc functions from module HTMLtree
3203     #
3204
3205     def htmlDocContentDumpFormatOutput(self, buf, encoding, format):
3206         """Dump an HTML document. """
3207         if buf is None: buf__o = None
3208         else: buf__o = buf._o
3209         libxml2mod.htmlDocContentDumpFormatOutput(buf__o, self._o, encoding, format)
3210
3211     def htmlDocContentDumpOutput(self, buf, encoding):
3212         """Dump an HTML document. Formating return/spaces are added. """
3213         if buf is None: buf__o = None
3214         else: buf__o = buf._o
3215         libxml2mod.htmlDocContentDumpOutput(buf__o, self._o, encoding)
3216
3217     def htmlDocDump(self, f):
3218         """Dump an HTML document to an open FILE. """
3219         ret = libxml2mod.htmlDocDump(f, self._o)
3220         return ret
3221
3222     def htmlGetMetaEncoding(self):
3223         """Encoding definition lookup in the Meta tags """
3224         ret = libxml2mod.htmlGetMetaEncoding(self._o)
3225         return ret
3226
3227     def htmlNodeDumpFile(self, out, cur):
3228         """Dump an HTML node, recursive behaviour,children are printed
3229            too, and formatting returns are added. """
3230         if cur is None: cur__o = None
3231         else: cur__o = cur._o
3232         libxml2mod.htmlNodeDumpFile(out, self._o, cur__o)
3233
3234     def htmlNodeDumpFileFormat(self, out, cur, encoding, format):
3235         """Dump an HTML node, recursive behaviour,children are printed
3236           too.  TODO: if encoding == None try to save in the doc
3237            encoding """
3238         if cur is None: cur__o = None
3239         else: cur__o = cur._o
3240         ret = libxml2mod.htmlNodeDumpFileFormat(out, self._o, cur__o, encoding, format)
3241         return ret
3242
3243     def htmlNodeDumpFormatOutput(self, buf, cur, encoding, format):
3244         """Dump an HTML node, recursive behaviour,children are printed
3245            too. """
3246         if buf is None: buf__o = None
3247         else: buf__o = buf._o
3248         if cur is None: cur__o = None
3249         else: cur__o = cur._o
3250         libxml2mod.htmlNodeDumpFormatOutput(buf__o, self._o, cur__o, encoding, format)
3251
3252     def htmlNodeDumpOutput(self, buf, cur, encoding):
3253         """Dump an HTML node, recursive behaviour,children are printed
3254            too, and formatting returns/spaces are added. """
3255         if buf is None: buf__o = None
3256         else: buf__o = buf._o
3257         if cur is None: cur__o = None
3258         else: cur__o = cur._o
3259         libxml2mod.htmlNodeDumpOutput(buf__o, self._o, cur__o, encoding)
3260
3261     def htmlSaveFile(self, filename):
3262         """Dump an HTML document to a file. If @filename is "-" the
3263            stdout file is used. """
3264         ret = libxml2mod.htmlSaveFile(filename, self._o)
3265         return ret
3266
3267     def htmlSaveFileEnc(self, filename, encoding):
3268         """Dump an HTML document to a file using a given encoding and
3269            formatting returns/spaces are added. """
3270         ret = libxml2mod.htmlSaveFileEnc(filename, self._o, encoding)
3271         return ret
3272
3273     def htmlSaveFileFormat(self, filename, encoding, format):
3274         """Dump an HTML document to a file using a given encoding. """
3275         ret = libxml2mod.htmlSaveFileFormat(filename, self._o, encoding, format)
3276         return ret
3277
3278     def htmlSetMetaEncoding(self, encoding):
3279         """Sets the current encoding in the Meta tags NOTE: this will
3280           not change the document content encoding, just the META
3281            flag associated. """
3282         ret = libxml2mod.htmlSetMetaEncoding(self._o, encoding)
3283         return ret
3284
3285     #
3286     # xmlDoc functions from module debugXML
3287     #
3288
3289     def debugCheckDocument(self, output):
3290         """Check the document for potential content problems, and
3291            output the errors to @output """
3292         ret = libxml2mod.xmlDebugCheckDocument(output, self._o)
3293         return ret
3294
3295     def debugDumpDocument(self, output):
3296         """Dumps debug information for the document, it's recursive """
3297         libxml2mod.xmlDebugDumpDocument(output, self._o)
3298
3299     def debugDumpDocumentHead(self, output):
3300         """Dumps debug information cncerning the document, not
3301            recursive """
3302         libxml2mod.xmlDebugDumpDocumentHead(output, self._o)
3303
3304     def debugDumpEntities(self, output):
3305         """Dumps debug information for all the entities in use by the
3306            document """
3307         libxml2mod.xmlDebugDumpEntities(output, self._o)
3308
3309     #
3310     # xmlDoc functions from module entities
3311     #
3312
3313     def addDocEntity(self, name, type, ExternalID, SystemID, content):
3314         """Register a new entity for this document. """
3315         ret = libxml2mod.xmlAddDocEntity(self._o, name, type, ExternalID, SystemID, content)
3316         if ret is None:raise treeError('xmlAddDocEntity() failed')
3317         __tmp = xmlEntity(_obj=ret)
3318         return __tmp
3319
3320     def addDtdEntity(self, name, type, ExternalID, SystemID, content):
3321         """Register a new entity for this document DTD external subset. """
3322         ret = libxml2mod.xmlAddDtdEntity(self._o, name, type, ExternalID, SystemID, content)
3323         if ret is None:raise treeError('xmlAddDtdEntity() failed')
3324         __tmp = xmlEntity(_obj=ret)
3325         return __tmp
3326
3327     def docEntity(self, name):
3328         """Do an entity lookup in the document entity hash table and """
3329         ret = libxml2mod.xmlGetDocEntity(self._o, name)
3330         if ret is None:raise treeError('xmlGetDocEntity() failed')
3331         __tmp = xmlEntity(_obj=ret)
3332         return __tmp
3333
3334     def dtdEntity(self, name):
3335         """Do an entity lookup in the DTD entity hash table and """
3336         ret = libxml2mod.xmlGetDtdEntity(self._o, name)
3337         if ret is None:raise treeError('xmlGetDtdEntity() failed')
3338         __tmp = xmlEntity(_obj=ret)
3339         return __tmp
3340
3341     def encodeEntities(self, input):
3342         """TODO: remove xmlEncodeEntities, once we are not afraid of
3343           breaking binary compatibility  People must migrate their
3344           code to xmlEncodeEntitiesReentrant ! This routine will
3345            issue a warning when encountered. """
3346         ret = libxml2mod.xmlEncodeEntities(self._o, input)
3347         return ret
3348
3349     def encodeEntitiesReentrant(self, input):
3350         """Do a global encoding of a string, replacing the predefined
3351           entities and non ASCII values with their entities and
3352           CharRef counterparts. Contrary to xmlEncodeEntities, this
3353            routine is reentrant, and result must be deallocated. """
3354         ret = libxml2mod.xmlEncodeEntitiesReentrant(self._o, input)
3355         return ret
3356
3357     def encodeSpecialChars(self, input):
3358         """Do a global encoding of a string, replacing the predefined
3359           entities this routine is reentrant, and result must be
3360            deallocated. """
3361         ret = libxml2mod.xmlEncodeSpecialChars(self._o, input)
3362         return ret
3363
3364     def newEntity(self, name, type, ExternalID, SystemID, content):
3365         """Create a new entity, this differs from xmlAddDocEntity()
3366           that if the document is None or has no internal subset
3367           defined, then an unlinked entity structure will be
3368           returned, it is then the responsability of the caller to
3369           link it to the document later or free it when not needed
3370            anymore. """
3371         ret = libxml2mod.xmlNewEntity(self._o, name, type, ExternalID, SystemID, content)
3372         if ret is None:raise treeError('xmlNewEntity() failed')
3373         __tmp = xmlEntity(_obj=ret)
3374         return __tmp
3375
3376     def parameterEntity(self, name):
3377         """Do an entity lookup in the internal and external subsets and """
3378         ret = libxml2mod.xmlGetParameterEntity(self._o, name)
3379         if ret is None:raise treeError('xmlGetParameterEntity() failed')
3380         __tmp = xmlEntity(_obj=ret)
3381         return __tmp
3382
3383     #
3384     # xmlDoc functions from module relaxng
3385     #
3386
3387     def relaxNGNewDocParserCtxt(self):
3388         """Create an XML RelaxNGs parser context for that document.
3389           Note: since the process of compiling a RelaxNG schemas
3390           modifies the document, the @doc parameter is duplicated
3391            internally. """
3392         ret = libxml2mod.xmlRelaxNGNewDocParserCtxt(self._o)
3393         if ret is None:raise parserError('xmlRelaxNGNewDocParserCtxt() failed')
3394         __tmp = relaxNgParserCtxt(_obj=ret)
3395         return __tmp
3396
3397     def relaxNGValidateDoc(self, ctxt):
3398         """Validate a document tree in memory. """
3399         if ctxt is None: ctxt__o = None
3400         else: ctxt__o = ctxt._o
3401         ret = libxml2mod.xmlRelaxNGValidateDoc(ctxt__o, self._o)
3402         return ret
3403
3404     def relaxNGValidateFullElement(self, ctxt, elem):
3405         """Validate a full subtree when
3406           xmlRelaxNGValidatePushElement() returned 0 and the content
3407            of the node has been expanded. """
3408         if ctxt is None: ctxt__o = None
3409         else: ctxt__o = ctxt._o
3410         if elem is None: elem__o = None
3411         else: elem__o = elem._o
3412         ret = libxml2mod.xmlRelaxNGValidateFullElement(ctxt__o, self._o, elem__o)
3413         return ret
3414
3415     def relaxNGValidatePopElement(self, ctxt, elem):
3416         """Pop the element end from the RelaxNG validation stack. """
3417         if ctxt is None: ctxt__o = None
3418         else: ctxt__o = ctxt._o
3419         if elem is None: elem__o = None
3420         else: elem__o = elem._o
3421         ret = libxml2mod.xmlRelaxNGValidatePopElement(ctxt__o, self._o, elem__o)
3422         return ret
3423
3424     def relaxNGValidatePushElement(self, ctxt, elem):
3425         """Push a new element start on the RelaxNG validation stack. """
3426         if ctxt is None: ctxt__o = None
3427         else: ctxt__o = ctxt._o
3428         if elem is None: elem__o = None
3429         else: elem__o = elem._o
3430         ret = libxml2mod.xmlRelaxNGValidatePushElement(ctxt__o, self._o, elem__o)
3431         return ret
3432
3433     #
3434     # xmlDoc functions from module tree
3435     #
3436
3437     def copyDoc(self, recursive):
3438         """Do a copy of the document info. If recursive, the content
3439           tree will be copied too as well as DTD, namespaces and
3440            entities. """
3441         ret = libxml2mod.xmlCopyDoc(self._o, recursive)
3442         if ret is None:raise treeError('xmlCopyDoc() failed')
3443         __tmp = xmlDoc(_obj=ret)
3444         return __tmp
3445
3446     def copyNode(self, node, extended):
3447         """Do a copy of the node to a given document. """
3448         if node is None: node__o = None
3449         else: node__o = node._o
3450         ret = libxml2mod.xmlDocCopyNode(node__o, self._o, extended)
3451         if ret is None:raise treeError('xmlDocCopyNode() failed')
3452         __tmp = xmlNode(_obj=ret)
3453         return __tmp
3454
3455     def copyNodeList(self, node):
3456         """Do a recursive copy of the node list. """
3457         if node is None: node__o = None
3458         else: node__o = node._o
3459         ret = libxml2mod.xmlDocCopyNodeList(self._o, node__o)
3460         if ret is None:raise treeError('xmlDocCopyNodeList() failed')
3461         __tmp = xmlNode(_obj=ret)
3462         return __tmp
3463
3464     def createIntSubset(self, name, ExternalID, SystemID):
3465         """Create the internal subset of a document """
3466         ret = libxml2mod.xmlCreateIntSubset(self._o, name, ExternalID, SystemID)
3467         if ret is None:raise treeError('xmlCreateIntSubset() failed')
3468         __tmp = xmlDtd(_obj=ret)
3469         return __tmp
3470
3471     def docCompressMode(self):
3472         """get the compression ratio for a document, ZLIB based """
3473         ret = libxml2mod.xmlGetDocCompressMode(self._o)
3474         return ret
3475
3476     def dump(self, f):
3477         """Dump an XML document to an open FILE. """
3478         ret = libxml2mod.xmlDocDump(f, self._o)
3479         return ret
3480
3481     def elemDump(self, f, cur):
3482         """Dump an XML/HTML node, recursive behaviour, children are
3483            printed too. """
3484         if cur is None: cur__o = None
3485         else: cur__o = cur._o
3486         libxml2mod.xmlElemDump(f, self._o, cur__o)
3487
3488     def formatDump(self, f, format):
3489         """Dump an XML document to an open FILE. """
3490         ret = libxml2mod.xmlDocFormatDump(f, self._o, format)
3491         return ret
3492
3493     def freeDoc(self):
3494         """Free up all the structures used by a document, tree
3495            included. """
3496         libxml2mod.xmlFreeDoc(self._o)
3497
3498     def getRootElement(self):
3499         """Get the root element of the document (doc->children is a
3500            list containing possibly comments, PIs, etc ...). """
3501         ret = libxml2mod.xmlDocGetRootElement(self._o)
3502         if ret is None:raise treeError('xmlDocGetRootElement() failed')
3503         __tmp = xmlNode(_obj=ret)
3504         return __tmp
3505
3506     def intSubset(self):
3507         """Get the internal subset of a document """
3508         ret = libxml2mod.xmlGetIntSubset(self._o)
3509         if ret is None:raise treeError('xmlGetIntSubset() failed')
3510         __tmp = xmlDtd(_obj=ret)
3511         return __tmp
3512
3513     def newCDataBlock(self, content, len):
3514         """Creation of a new node containing a CDATA block. """
3515         ret = libxml2mod.xmlNewCDataBlock(self._o, content, len)
3516         if ret is None:raise treeError('xmlNewCDataBlock() failed')
3517         __tmp = xmlNode(_obj=ret)
3518         return __tmp
3519
3520     def newCharRef(self, name):
3521         """Creation of a new character reference node. """
3522         ret = libxml2mod.xmlNewCharRef(self._o, name)
3523         if ret is None:raise treeError('xmlNewCharRef() failed')
3524         __tmp = xmlNode(_obj=ret)
3525         return __tmp
3526
3527     def newDocComment(self, content):
3528         """Creation of a new node containing a comment within a
3529            document. """
3530         ret = libxml2mod.xmlNewDocComment(self._o, content)
3531         if ret is None:raise treeError('xmlNewDocComment() failed')
3532         __tmp = xmlNode(_obj=ret)
3533         return __tmp
3534
3535     def newDocFragment(self):
3536         """Creation of a new Fragment node. """
3537         ret = libxml2mod.xmlNewDocFragment(self._o)
3538         if ret is None:raise treeError('xmlNewDocFragment() failed')
3539         __tmp = xmlNode(_obj=ret)
3540         return __tmp
3541
3542     def newDocNode(self, ns, name, content):
3543         """Creation of a new node element within a document. @ns and
3544           @content are optional (None). NOTE: @content is supposed to
3545           be a piece of XML CDATA, so it allow entities references,
3546           but XML special chars need to be escaped first by using
3547           xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you
3548            don't need entities support. """
3549         if ns is None: ns__o = None
3550         else: ns__o = ns._o
3551         ret = libxml2mod.xmlNewDocNode(self._o, ns__o, name, content)
3552         if ret is None:raise treeError('xmlNewDocNode() failed')
3553         __tmp = xmlNode(_obj=ret)
3554         return __tmp
3555
3556     def newDocNodeEatName(self, ns, name, content):
3557         """Creation of a new node element within a document. @ns and
3558           @content are optional (None). NOTE: @content is supposed to
3559           be a piece of XML CDATA, so it allow entities references,
3560           but XML special chars need to be escaped first by using
3561           xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you
3562            don't need entities support. """
3563         if ns is None: ns__o = None
3564         else: ns__o = ns._o
3565         ret = libxml2mod.xmlNewDocNodeEatName(self._o, ns__o, name, content)
3566         if ret is None:raise treeError('xmlNewDocNodeEatName() failed')
3567         __tmp = xmlNode(_obj=ret)
3568         return __tmp
3569
3570     def newDocPI(self, name, content):
3571         """Creation of a processing instruction element. """
3572         ret = libxml2mod.xmlNewDocPI(self._o, name, content)
3573         if ret is None:raise treeError('xmlNewDocPI() failed')
3574         __tmp = xmlNode(_obj=ret)
3575         return __tmp
3576
3577     def newDocProp(self, name, value):
3578         """Create a new property carried by a document. """
3579         ret = libxml2mod.xmlNewDocProp(self._o, name, value)
3580         if ret is None:raise treeError('xmlNewDocProp() failed')
3581         __tmp = xmlAttr(_obj=ret)
3582         return __tmp
3583
3584     def newDocRawNode(self, ns, name, content):
3585         """Creation of a new node element within a document. @ns and
3586            @content are optional (None). """
3587         if ns is None: ns__o = None
3588         else: ns__o = ns._o
3589         ret = libxml2mod.xmlNewDocRawNode(self._o, ns__o, name, content)
3590         if ret is None:raise treeError('xmlNewDocRawNode() failed')
3591         __tmp = xmlNode(_obj=ret)
3592         return __tmp
3593
3594     def newDocText(self, content):
3595         """Creation of a new text node within a document. """
3596         ret = libxml2mod.xmlNewDocText(self._o, content)
3597         if ret is None:raise treeError('xmlNewDocText() failed')
3598         __tmp = xmlNode(_obj=ret)
3599         return __tmp
3600
3601     def newDocTextLen(self, content, len):
3602         """Creation of a new text node with an extra content length
3603            parameter. The text node pertain to a given document. """
3604         ret = libxml2mod.xmlNewDocTextLen(self._o, content, len)
3605         if ret is None:raise treeError('xmlNewDocTextLen() failed')
3606         __tmp = xmlNode(_obj=ret)
3607         return __tmp
3608
3609     def newDtd(self, name, ExternalID, SystemID):
3610         """Creation of a new DTD for the external subset. To create an
3611            internal subset, use xmlCreateIntSubset(). """
3612         ret = libxml2mod.xmlNewDtd(self._o, name, ExternalID, SystemID)
3613         if ret is None:raise treeError('xmlNewDtd() failed')
3614         __tmp = xmlDtd(_obj=ret)
3615         return __tmp
3616
3617     def newGlobalNs(self, href, prefix):
3618         """Creation of a Namespace, the old way using PI and without
3619            scoping DEPRECATED !!! """
3620         ret = libxml2mod.xmlNewGlobalNs(self._o, href, prefix)
3621         if ret is None:raise treeError('xmlNewGlobalNs() failed')
3622         __tmp = xmlNs(_obj=ret)
3623         return __tmp
3624
3625     def newReference(self, name):
3626         """Creation of a new reference node. """
3627         ret = libxml2mod.xmlNewReference(self._o, name)
3628         if ret is None:raise treeError('xmlNewReference() failed')
3629         __tmp = xmlNode(_obj=ret)
3630         return __tmp
3631
3632     def nodeDumpOutput(self, buf, cur, level, format, encoding):
3633         """Dump an XML node, recursive behaviour, children are printed
3634           too. Note that @format = 1 provide node indenting only if
3635           xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was
3636            called """
3637         if buf is None: buf__o = None
3638         else: buf__o = buf._o
3639         if cur is None: cur__o = None
3640         else: cur__o = cur._o
3641         libxml2mod.xmlNodeDumpOutput(buf__o, self._o, cur__o, level, format, encoding)
3642
3643     def nodeGetBase(self, cur):
3644         """Searches for the BASE URL. The code should work on both XML
3645           and HTML document even if base mechanisms are completely
3646           different. It returns the base as defined in RFC 2396
3647           sections 5.1.1. Base URI within Document Content and 5.1.2.
3648           Base URI from the Encapsulating Entity However it does not
3649            return the document base (5.1.3), use doc->URL in this case """
3650         if cur is None: cur__o = None
3651         else: cur__o = cur._o
3652         ret = libxml2mod.xmlNodeGetBase(self._o, cur__o)
3653         return ret
3654
3655     def nodeListGetRawString(self, list, inLine):
3656         """Builds the string equivalent to the text contained in the
3657           Node list made of TEXTs and ENTITY_REFs, contrary to
3658           xmlNodeListGetString() this function doesn't do any
3659            character encoding handling. """
3660         if list is None: list__o = None
3661         else: list__o = list._o
3662         ret = libxml2mod.xmlNodeListGetRawString(self._o, list__o, inLine)
3663         return ret
3664
3665     def nodeListGetString(self, list, inLine):
3666         """Build the string equivalent to the text contained in the
3667            Node list made of TEXTs and ENTITY_REFs """
3668         if list is None: list__o = None
3669         else: list__o = list._o
3670         ret = libxml2mod.xmlNodeListGetString(self._o, list__o, inLine)
3671         return ret
3672
3673     def reconciliateNs(self, tree):
3674         """This function checks that all the namespaces declared
3675           within the given tree are properly declared. This is needed
3676           for example after Copy or Cut and then paste operations.
3677           The subtree may still hold pointers to namespace
3678           declarations outside the subtree or invalid/masked. As much
3679           as possible the function try to reuse the existing
3680           namespaces found in the new environment. If not possible
3681           the new namespaces are redeclared on @tree at the top of
3682            the given subtree. """
3683         if tree is None: tree__o = None
3684         else: tree__o = tree._o
3685         ret = libxml2mod.xmlReconciliateNs(self._o, tree__o)
3686         return ret
3687
3688     def saveFile(self, filename):
3689         """Dump an XML document to a file. Will use compression if
3690           compiled in and enabled. If @filename is "-" the stdout
3691            file is used. """
3692         ret = libxml2mod.xmlSaveFile(filename, self._o)
3693         return ret
3694
3695     def saveFileEnc(self, filename, encoding):
3696         """Dump an XML document, converting it to the given encoding """
3697         ret = libxml2mod.xmlSaveFileEnc(filename, self._o, encoding)
3698         return ret
3699
3700     def saveFileTo(self, buf, encoding):
3701         """Dump an XML document to an I/O buffer. Warning ! This call
3702           xmlOutputBufferClose() on buf which is not available after
3703            this call. """
3704         if buf is None: buf__o = None
3705         else: buf__o = buf._o
3706         ret = libxml2mod.xmlSaveFileTo(buf__o, self._o, encoding)
3707         return ret
3708
3709     def saveFormatFile(self, filename, format):
3710         """Dump an XML document to a file. Will use compression if
3711           compiled in and enabled. If @filename is "-" the stdout
3712           file is used. If @format is set then the document will be
3713           indented on output. Note that @format = 1 provide node
3714           indenting only if xmlIndentTreeOutput = 1 or
3715            xmlKeepBlanksDefault(0) was called """
3716         ret = libxml2mod.xmlSaveFormatFile(filename, self._o, format)
3717         return ret
3718
3719     def saveFormatFileEnc(self, filename, encoding, format):
3720         """Dump an XML document to a file or an URL. """
3721         ret = libxml2mod.xmlSaveFormatFileEnc(filename, self._o, encoding, format)
3722         return ret
3723
3724     def saveFormatFileTo(self, buf, encoding, format):
3725         """Dump an XML document to an I/O buffer. Warning ! This call
3726           xmlOutputBufferClose() on buf which is not available after
3727            this call. """
3728         if buf is None: buf__o = None
3729         else: buf__o = buf._o
3730         ret = libxml2mod.xmlSaveFormatFileTo(buf__o, self._o, encoding, format)
3731         return ret
3732
3733     def searchNs(self, node, nameSpace):
3734         """Search a Ns registered under a given name space for a
3735           document. recurse on the parents until it finds the defined
3736           namespace or return None otherwise. @nameSpace can be None,
3737           this is a search for the default namespace. We don't allow
3738           to cross entities boundaries. If you don't declare the
3739           namespace within those you will be in troubles !!! A
3740            warning is generated to cover this case. """
3741         if node is None: node__o = None
3742         else: node__o = node._o
3743         ret = libxml2mod.xmlSearchNs(self._o, node__o, nameSpace)
3744         if ret is None:raise treeError('xmlSearchNs() failed')
3745         __tmp = xmlNs(_obj=ret)
3746         return __tmp
3747
3748     def searchNsByHref(self, node, href):
3749         """Search a Ns aliasing a given URI. Recurse on the parents
3750           until it finds the defined namespace or return None
3751            otherwise. """
3752         if node is None: node__o = None
3753         else: node__o = node._o
3754         ret = libxml2mod.xmlSearchNsByHref(self._o, node__o, href)
3755         if ret is None:raise treeError('xmlSearchNsByHref() failed')
3756         __tmp = xmlNs(_obj=ret)
3757         return __tmp
3758
3759     def setDocCompressMode(self, mode):
3760         """set the compression ratio for a document, ZLIB based
3761            Correct values: 0 (uncompressed) to 9 (max compression) """
3762         libxml2mod.xmlSetDocCompressMode(self._o, mode)
3763
3764     def setListDoc(self, list):
3765         """update all nodes in the list to point to the right document """
3766         if list is None: list__o = None
3767         else: list__o = list._o
3768         libxml2mod.xmlSetListDoc(list__o, self._o)
3769
3770     def setRootElement(self, root):
3771         """Set the root element of the document (doc->children is a
3772            list containing possibly comments, PIs, etc ...). """
3773         if root is None: root__o = None
3774         else: root__o = root._o
3775         ret = libxml2mod.xmlDocSetRootElement(self._o, root__o)
3776         if ret is None:return None
3777         __tmp = xmlNode(_obj=ret)
3778         return __tmp
3779
3780     def setTreeDoc(self, tree):
3781         """update all nodes under the tree to point to the right
3782            document """
3783         if tree is None: tree__o = None
3784         else: tree__o = tree._o
3785         libxml2mod.xmlSetTreeDoc(tree__o, self._o)
3786
3787     def stringGetNodeList(self, value):
3788         """Parse the value string and build the node list associated.
3789            Should produce a flat tree with only TEXTs and ENTITY_REFs. """
3790         ret = libxml2mod.xmlStringGetNodeList(self._o, value)
3791         if ret is None:raise treeError('xmlStringGetNodeList() failed')
3792         __tmp = xmlNode(_obj=ret)
3793         return __tmp
3794
3795     def stringLenGetNodeList(self, value, len):
3796         """Parse the value string and build the node list associated.
3797            Should produce a flat tree with only TEXTs and ENTITY_REFs. """
3798         ret = libxml2mod.xmlStringLenGetNodeList(self._o, value, len)
3799         if ret is None:raise treeError('xmlStringLenGetNodeList() failed')
3800         __tmp = xmlNode(_obj=ret)
3801         return __tmp
3802
3803     #
3804     # xmlDoc functions from module valid
3805     #
3806
3807     def ID(self, ID):
3808         """Search the attribute declaring the given ID """
3809         ret = libxml2mod.xmlGetID(self._o, ID)
3810         if ret is None:raise treeError('xmlGetID() failed')
3811         __tmp = xmlAttr(_obj=ret)
3812         return __tmp
3813
3814     def isID(self, elem, attr):
3815         """Determine whether an attribute is of type ID. In case we
3816           have DTD(s) then this is done if DTD loading has been
3817           requested. In the case of HTML documents parsed with the
3818            HTML parser, then ID detection is done systematically. """
3819         if elem is None: elem__o = None
3820         else: elem__o = elem._o
3821         if attr is None: attr__o = None
3822         else: attr__o = attr._o
3823         ret = libxml2mod.xmlIsID(self._o, elem__o, attr__o)
3824         return ret
3825
3826     def isMixedElement(self, name):
3827         """Search in the DtDs whether an element accept Mixed content
3828            (or ANY) basically if it is supposed to accept text childs """
3829         ret = libxml2mod.xmlIsMixedElement(self._o, name)
3830         return ret
3831
3832     def isRef(self, elem, attr):
3833         """Determine whether an attribute is of type Ref. In case we
3834           have DTD(s) then this is simple, otherwise we use an
3835            heuristic: name Ref (upper or lowercase). """
3836         if elem is None: elem__o = None
3837         else: elem__o = elem._o
3838         if attr is None: attr__o = None
3839         else: attr__o = attr._o
3840         ret = libxml2mod.xmlIsRef(self._o, elem__o, attr__o)
3841         return ret
3842
3843     def removeID(self, attr):
3844         """Remove the given attribute from the ID table maintained
3845            internally. """
3846         if attr is None: attr__o = None
3847         else: attr__o = attr._o
3848         ret = libxml2mod.xmlRemoveID(self._o, attr__o)
3849         return ret
3850
3851     def removeRef(self, attr):
3852         """Remove the given attribute from the Ref table maintained
3853            internally. """
3854         if attr is None: attr__o = None
3855         else: attr__o = attr._o
3856         ret = libxml2mod.xmlRemoveRef(self._o, attr__o)
3857         return ret
3858
3859     def validCtxtNormalizeAttributeValue(self, ctxt, elem, name, value):
3860         """Does the validation related extra step of the normalization
3861           of attribute values:  If the declared value is not CDATA,
3862           then the XML processor must further process the normalized
3863           attribute value by discarding any leading and trailing
3864           space (#x20) characters, and by replacing sequences of
3865           space (#x20) characters by single space (#x20) character. 
3866           Also  check VC: Standalone Document Declaration in P32, and
3867            update ctxt->valid accordingly """
3868         if ctxt is None: ctxt__o = None
3869         else: ctxt__o = ctxt._o
3870         if elem is None: elem__o = None
3871         else: elem__o = elem._o
3872         ret = libxml2mod.xmlValidCtxtNormalizeAttributeValue(ctxt__o, self._o, elem__o, name, value)
3873         return ret
3874
3875     def validNormalizeAttributeValue(self, elem, name, value):
3876         """Does the validation related extra step of the normalization
3877           of attribute values:  If the declared value is not CDATA,
3878           then the XML processor must further process the normalized
3879           attribute value by discarding any leading and trailing
3880           space (#x20) characters, and by replacing sequences of
3881            space (#x20) characters by single space (#x20) character. """
3882         if elem is None: elem__o = None
3883         else: elem__o = elem._o
3884         ret = libxml2mod.xmlValidNormalizeAttributeValue(self._o, elem__o, name, value)
3885         return ret
3886
3887     def validateDocument(self, ctxt):
3888         """Try to validate the document instance  basically it does
3889           the all the checks described by the XML Rec i.e. validates
3890           the internal and external subset (if present) and validate
3891            the document tree. """
3892         if ctxt is None: ctxt__o = None
3893         else: ctxt__o = ctxt._o
3894         ret = libxml2mod.xmlValidateDocument(ctxt__o, self._o)
3895         return ret
3896
3897     def validateDocumentFinal(self, ctxt):
3898         """Does the final step for the document validation once all
3899           the incremental validation steps have been completed 
3900           basically it does the following checks described by the XML
3901           Rec  Check all the IDREF/IDREFS attributes definition for
3902            validity """
3903         if ctxt is None: ctxt__o = None
3904         else: ctxt__o = ctxt._o
3905         ret = libxml2mod.xmlValidateDocumentFinal(ctxt__o, self._o)
3906         return ret
3907
3908     def validateDtd(self, ctxt, dtd):
3909         """Try to validate the document against the dtd instance 
3910           Basically it does check all the definitions in the DtD.
3911           Note the the internal subset (if present) is de-coupled
3912           (i.e. not used), which could give problems if ID or IDREF
3913            is present. """
3914         if ctxt is None: ctxt__o = None
3915         else: ctxt__o = ctxt._o
3916         if dtd is None: dtd__o = None
3917         else: dtd__o = dtd._o
3918         ret = libxml2mod.xmlValidateDtd(ctxt__o, self._o, dtd__o)
3919         return ret
3920
3921     def validateDtdFinal(self, ctxt):
3922         """Does the final step for the dtds validation once all the
3923           subsets have been parsed  basically it does the following
3924           checks described by the XML Rec - check that ENTITY and
3925           ENTITIES type attributes default or possible values matches
3926           one of the defined entities. - check that NOTATION type
3927           attributes default or possible values matches one of the
3928            defined notations. """
3929         if ctxt is None: ctxt__o = None
3930         else: ctxt__o = ctxt._o
3931         ret = libxml2mod.xmlValidateDtdFinal(ctxt__o, self._o)
3932         return ret
3933
3934     def validateElement(self, ctxt, elem):
3935         """Try to validate the subtree under an element """
3936         if ctxt is None: ctxt__o = None
3937         else: ctxt__o = ctxt._o
3938         if elem is None: elem__o = None
3939         else: elem__o = elem._o
3940         ret = libxml2mod.xmlValidateElement(ctxt__o, self._o, elem__o)
3941         return ret
3942
3943     def validateNotationUse(self, ctxt, notationName):
3944         """Validate that the given name match a notation declaration.
3945            - [ VC: Notation Declared ] """
3946         if ctxt is None: ctxt__o = None
3947         else: ctxt__o = ctxt._o
3948         ret = libxml2mod.xmlValidateNotationUse(ctxt__o, self._o, notationName)
3949         return ret
3950
3951     def validateOneAttribute(self, ctxt, elem, attr, value):
3952         """Try to validate a single attribute for an element basically
3953           it does the following checks as described by the XML-1.0
3954           recommendation: - [ VC: Attribute Value Type ] - [ VC:
3955           Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC:
3956           Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity
3957           Name ] - [ VC: Notation Attributes ]  The ID/IDREF
3958            uniqueness and matching are done separately """
3959         if ctxt is None: ctxt__o = None
3960         else: ctxt__o = ctxt._o
3961         if elem is None: elem__o = None
3962         else: elem__o = elem._o
3963         if attr is None: attr__o = None
3964         else: attr__o = attr._o
3965         ret = libxml2mod.xmlValidateOneAttribute(ctxt__o, self._o, elem__o, attr__o, value)
3966         return ret
3967
3968     def validateOneElement(self, ctxt, elem):
3969         """Try to validate a single element and it's attributes,
3970           basically it does the following checks as described by the
3971           XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC:
3972           Required Attribute ] Then call xmlValidateOneAttribute()
3973           for each attribute present.  The ID/IDREF checkings are
3974            done separately """
3975         if ctxt is None: ctxt__o = None
3976         else: ctxt__o = ctxt._o
3977         if elem is None: elem__o = None
3978         else: elem__o = elem._o
3979         ret = libxml2mod.xmlValidateOneElement(ctxt__o, self._o, elem__o)
3980         return ret
3981
3982     def validateOneNamespace(self, ctxt, elem, prefix, ns, value):
3983         """Try to validate a single namespace declaration for an
3984           element basically it does the following checks as described
3985           by the XML-1.0 recommendation: - [ VC: Attribute Value Type
3986           ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] -
3987           [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC:
3988           Entity Name ] - [ VC: Notation Attributes ]  The ID/IDREF
3989            uniqueness and matching are done separately """
3990         if ctxt is None: ctxt__o = None
3991         else: ctxt__o = ctxt._o
3992         if elem is None: elem__o = None
3993         else: elem__o = elem._o
3994         if ns is None: ns__o = None
3995         else: ns__o = ns._o
3996         ret = libxml2mod.xmlValidateOneNamespace(ctxt__o, self._o, elem__o, prefix, ns__o, value)
3997         return ret
3998
3999     def validatePopElement(self, ctxt, elem, qname):
4000         """Pop the element end from the validation stack. """
4001         if ctxt is None: ctxt__o = None
4002         else: ctxt__o = ctxt._o
4003         if elem is None: elem__o = None
4004         else: elem__o = elem._o
4005         ret = libxml2mod.xmlValidatePopElement(ctxt__o, self._o, elem__o, qname)
4006         return ret
4007
4008     def validatePushElement(self, ctxt, elem, qname):
4009         """Push a new element start on the validation stack. """
4010         if ctxt is None: ctxt__o = None
4011         else: ctxt__o = ctxt._o
4012         if elem is None: elem__o = None
4013         else: elem__o = elem._o
4014         ret = libxml2mod.xmlValidatePushElement(ctxt__o, self._o, elem__o, qname)
4015         return ret
4016
4017     def validateRoot(self, ctxt):
4018         """Try to validate a the root element basically it does the
4019           following check as described by the XML-1.0 recommendation:
4020           - [ VC: Root Element Type ] it doesn't try to recurse or
4021            apply other check to the element """
4022         if ctxt is None: ctxt__o = None
4023         else: ctxt__o = ctxt._o
4024         ret = libxml2mod.xmlValidateRoot(ctxt__o, self._o)
4025         return ret
4026
4027     #
4028     # xmlDoc functions from module xinclude
4029     #
4030
4031     def xincludeProcess(self):
4032         """Implement the XInclude substitution on the XML document @doc """
4033         ret = libxml2mod.xmlXIncludeProcess(self._o)
4034         return ret
4035
4036     def xincludeProcessFlags(self, flags):
4037         """Implement the XInclude substitution on the XML document @doc """
4038         ret = libxml2mod.xmlXIncludeProcessFlags(self._o, flags)
4039         return ret
4040
4041     #
4042     # xmlDoc functions from module xmlreader
4043     #
4044
4045     def NewWalker(self, reader):
4046         """Setup an xmltextReader to parse a preparsed XML document.
4047            This reuses the existing @reader xmlTextReader. """
4048         if reader is None: reader__o = None
4049         else: reader__o = reader._o
4050         ret = libxml2mod.xmlReaderNewWalker(reader__o, self._o)
4051         return ret
4052
4053     def readerWalker(self):
4054         """Create an xmltextReader for a preparsed document. """
4055         ret = libxml2mod.xmlReaderWalker(self._o)
4056         if ret is None:raise treeError('xmlReaderWalker() failed')
4057         __tmp = xmlTextReader(_obj=ret)
4058         return __tmp
4059
4060     #
4061     # xmlDoc functions from module xmlschemas
4062     #
4063
4064     def schemaNewDocParserCtxt(self):
4065         """Create an XML Schemas parse context for that document. NB.
4066            The document may be modified during the parsing process. """
4067         ret = libxml2mod.xmlSchemaNewDocParserCtxt(self._o)
4068         if ret is None:raise parserError('xmlSchemaNewDocParserCtxt() failed')
4069         __tmp = SchemaParserCtxt(_obj=ret)
4070         return __tmp
4071
4072     def schemaValidateDoc(self, ctxt):
4073         """Validate a document tree in memory. """
4074         if ctxt is None: ctxt__o = None
4075         else: ctxt__o = ctxt._o
4076         ret = libxml2mod.xmlSchemaValidateDoc(ctxt__o, self._o)
4077         return ret
4078
4079     #
4080     # xmlDoc functions from module xpath
4081     #
4082
4083     def xpathNewContext(self):
4084         """Create a new xmlXPathContext """
4085         ret = libxml2mod.xmlXPathNewContext(self._o)
4086         if ret is None:raise xpathError('xmlXPathNewContext() failed')
4087         __tmp = xpathContext(_obj=ret)
4088         return __tmp
4089
4090     def xpathOrderDocElems(self):
4091         """Call this routine to speed up XPath computation on static
4092           documents. This stamps all the element nodes with the
4093           document order Like for line information, the order is kept
4094           in the element->content field, the value stored is actually
4095           - the node number (starting at -1) to be able to
4096            differentiate from line numbers. """
4097         ret = libxml2mod.xmlXPathOrderDocElems(self._o)
4098         return ret
4099
4100     #
4101     # xmlDoc functions from module xpointer
4102     #
4103
4104     def xpointerNewContext(self, here, origin):
4105         """Create a new XPointer context """
4106         if here is None: here__o = None
4107         else: here__o = here._o
4108         if origin is None: origin__o = None
4109         else: origin__o = origin._o
4110         ret = libxml2mod.xmlXPtrNewContext(self._o, here__o, origin__o)
4111         if ret is None:raise treeError('xmlXPtrNewContext() failed')
4112         __tmp = xpathContext(_obj=ret)
4113         return __tmp
4114
4115 class parserCtxt(parserCtxtCore):
4116     def __init__(self, _obj=None):
4117         self._o = _obj
4118         parserCtxtCore.__init__(self, _obj=_obj)
4119
4120     def __del__(self):
4121         if self._o != None:
4122             libxml2mod.xmlFreeParserCtxt(self._o)
4123         self._o = None
4124
4125     # accessors for parserCtxt
4126     def doc(self):
4127         """Get the document tree from a parser context. """
4128         ret = libxml2mod.xmlParserGetDoc(self._o)
4129         if ret is None:raise parserError('xmlParserGetDoc() failed')
4130         __tmp = xmlDoc(_obj=ret)
4131         return __tmp
4132
4133     def isValid(self):
4134         """Get the validity information from a parser context. """
4135         ret = libxml2mod.xmlParserGetIsValid(self._o)
4136         return ret
4137
4138     def lineNumbers(self, linenumbers):
4139         """Switch on the generation of line number for elements nodes. """
4140         libxml2mod.xmlParserSetLineNumbers(self._o, linenumbers)
4141
4142     def loadSubset(self, loadsubset):
4143         """Switch the parser to load the DTD without validating. """
4144         libxml2mod.xmlParserSetLoadSubset(self._o, loadsubset)
4145
4146     def pedantic(self, pedantic):
4147         """Switch the parser to be pedantic. """
4148         libxml2mod.xmlParserSetPedantic(self._o, pedantic)
4149
4150     def replaceEntities(self, replaceEntities):
4151         """Switch the parser to replace entities. """
4152         libxml2mod.xmlParserSetReplaceEntities(self._o, replaceEntities)
4153
4154     def validate(self, validate):
4155         """Switch the parser to validation mode. """
4156         libxml2mod.xmlParserSetValidate(self._o, validate)
4157
4158     def wellFormed(self):
4159         """Get the well formed information from a parser context. """
4160         ret = libxml2mod.xmlParserGetWellFormed(self._o)
4161         return ret
4162
4163     #
4164     # parserCtxt functions from module HTMLparser
4165     #
4166
4167     def htmlCtxtReadDoc(self, cur, URL, encoding, options):
4168         """parse an XML in-memory document and build a tree. This
4169            reuses the existing @ctxt parser context """
4170         ret = libxml2mod.htmlCtxtReadDoc(self._o, cur, URL, encoding, options)
4171         if ret is None:raise treeError('htmlCtxtReadDoc() failed')
4172         __tmp = xmlDoc(_obj=ret)
4173         return __tmp
4174
4175     def htmlCtxtReadFd(self, fd, URL, encoding, options):
4176         """parse an XML from a file descriptor and build a tree. This
4177            reuses the existing @ctxt parser context """
4178         ret = libxml2mod.htmlCtxtReadFd(self._o, fd, URL, encoding, options)
4179         if ret is None:raise treeError('htmlCtxtReadFd() failed')
4180         __tmp = xmlDoc(_obj=ret)
4181         return __tmp
4182
4183     def htmlCtxtReadFile(self, filename, encoding, options):
4184         """parse an XML file from the filesystem or the network. This
4185            reuses the existing @ctxt parser context """
4186         ret = libxml2mod.htmlCtxtReadFile(self._o, filename, encoding, options)
4187         if ret is None:raise treeError('htmlCtxtReadFile() failed')
4188         __tmp = xmlDoc(_obj=ret)
4189         return __tmp
4190
4191     def htmlCtxtReadMemory(self, buffer, size, URL, encoding, options):
4192         """parse an XML in-memory document and build a tree. This
4193            reuses the existing @ctxt parser context """
4194         ret = libxml2mod.htmlCtxtReadMemory(self._o, buffer, size, URL, encoding, options)
4195         if ret is None:raise treeError('htmlCtxtReadMemory() failed')
4196         __tmp = xmlDoc(_obj=ret)
4197         return __tmp
4198
4199     def htmlCtxtReset(self):
4200         """Reset a parser context """
4201         libxml2mod.htmlCtxtReset(self._o)
4202
4203     def htmlCtxtUseOptions(self, options):
4204         """Applies the options to the parser context """
4205         ret = libxml2mod.htmlCtxtUseOptions(self._o, options)
4206         return ret
4207
4208     def htmlFreeParserCtxt(self):
4209         """Free all the memory used by a parser context. However the
4210            parsed document in ctxt->myDoc is not freed. """
4211         libxml2mod.htmlFreeParserCtxt(self._o)
4212
4213     def htmlParseCharRef(self):
4214         """parse Reference declarations  [66] CharRef ::= '&#' [0-9]+
4215            ';' | '&#x' [0-9a-fA-F]+ ';' """
4216         ret = libxml2mod.htmlParseCharRef(self._o)
4217         return ret
4218
4219     def htmlParseChunk(self, chunk, size, terminate):
4220         """Parse a Chunk of memory """
4221         ret = libxml2mod.htmlParseChunk(self._o, chunk, size, terminate)
4222         return ret
4223
4224     def htmlParseDocument(self):
4225         """parse an HTML document (and build a tree if using the
4226            standard SAX interface). """
4227         ret = libxml2mod.htmlParseDocument(self._o)
4228         return ret
4229
4230     def htmlParseElement(self):
4231         """parse an HTML element, this is highly recursive this is
4232           kept for compatibility with previous code versions  [39]
4233           element ::= EmptyElemTag | STag content ETag  [41]
4234            Attribute ::= Name Eq AttValue """
4235         libxml2mod.htmlParseElement(self._o)
4236
4237     #
4238     # parserCtxt functions from module parser
4239     #
4240
4241     def byteConsumed(self):
4242         """This function provides the current index of the parser
4243           relative to the start of the current entity. This function
4244           is computed in bytes from the beginning starting at zero
4245           and finishing at the size in byte of the file if parsing a
4246           file. The function is of constant cost if the input is
4247            UTF-8 but can be costly if run on non-UTF-8 input. """
4248         ret = libxml2mod.xmlByteConsumed(self._o)
4249         return ret
4250
4251     def clearParserCtxt(self):
4252         """Clear (release owned resources) and reinitialize a parser
4253            context """
4254         libxml2mod.xmlClearParserCtxt(self._o)
4255
4256     def ctxtReadDoc(self, cur, URL, encoding, options):
4257         """parse an XML in-memory document and build a tree. This
4258            reuses the existing @ctxt parser context """
4259         ret = libxml2mod.xmlCtxtReadDoc(self._o, cur, URL, encoding, options)
4260         if ret is None:raise treeError('xmlCtxtReadDoc() failed')
4261         __tmp = xmlDoc(_obj=ret)
4262         return __tmp
4263
4264     def ctxtReadFd(self, fd, URL, encoding, options):
4265         """parse an XML from a file descriptor and build a tree. This
4266           reuses the existing @ctxt parser context NOTE that the file
4267           descriptor will not be closed when the reader is closed or
4268            reset. """
4269         ret = libxml2mod.xmlCtxtReadFd(self._o, fd, URL, encoding, options)
4270         if ret is None:raise treeError('xmlCtxtReadFd() failed')
4271         __tmp = xmlDoc(_obj=ret)
4272         return __tmp
4273
4274     def ctxtReadFile(self, filename, encoding, options):
4275         """parse an XML file from the filesystem or the network. This
4276            reuses the existing @ctxt parser context """
4277         ret = libxml2mod.xmlCtxtReadFile(self._o, filename, encoding, options)
4278         if ret is None:raise treeError('xmlCtxtReadFile() failed')
4279         __tmp = xmlDoc(_obj=ret)
4280         return __tmp
4281
4282     def ctxtReadMemory(self, buffer, size, URL, encoding, options):
4283         """parse an XML in-memory document and build a tree. This
4284            reuses the existing @ctxt parser context """
4285         ret = libxml2mod.xmlCtxtReadMemory(self._o, buffer, size, URL, encoding, options)
4286         if ret is None:raise treeError('xmlCtxtReadMemory() failed')
4287         __tmp = xmlDoc(_obj=ret)
4288         return __tmp
4289
4290     def ctxtReset(self):
4291         """Reset a parser context """
4292         libxml2mod.xmlCtxtReset(self._o)
4293
4294     def ctxtResetPush(self, chunk, size, filename, encoding):
4295         """Reset a push parser context """
4296         ret = libxml2mod.xmlCtxtResetPush(self._o, chunk, size, filename, encoding)
4297         return ret
4298
4299     def ctxtUseOptions(self, options):
4300         """Applies the options to the parser context """
4301         ret = libxml2mod.xmlCtxtUseOptions(self._o, options)
4302         return ret
4303
4304     def initParserCtxt(self):
4305         """Initialize a parser context """
4306         ret = libxml2mod.xmlInitParserCtxt(self._o)
4307         return ret
4308
4309     def parseChunk(self, chunk, size, terminate):
4310         """Parse a Chunk of memory """
4311         ret = libxml2mod.xmlParseChunk(self._o, chunk, size, terminate)
4312         return ret
4313
4314     def parseDocument(self):
4315         """parse an XML document (and build a tree if using the
4316           standard SAX interface).  [1] document ::= prolog element
4317            Misc*  [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)? """
4318         ret = libxml2mod.xmlParseDocument(self._o)
4319         return ret
4320
4321     def parseExtParsedEnt(self):
4322         """parse a general parsed entity An external general parsed
4323           entity is well-formed if it matches the production labeled
4324            extParsedEnt.  [78] extParsedEnt ::= TextDecl? content """
4325         ret = libxml2mod.xmlParseExtParsedEnt(self._o)
4326         return ret
4327
4328     def setupParserForBuffer(self, buffer, filename):
4329         """Setup the parser context to parse a new buffer; Clears any
4330           prior contents from the parser context. The buffer
4331           parameter must not be None, but the filename parameter can
4332            be """
4333         libxml2mod.xmlSetupParserForBuffer(self._o, buffer, filename)
4334
4335     def stopParser(self):
4336         """Blocks further parser processing """
4337         libxml2mod.xmlStopParser(self._o)
4338
4339     #
4340     # parserCtxt functions from module parserInternals
4341     #
4342
4343     def decodeEntities(self, len, what, end, end2, end3):
4344         """This function is deprecated, we now always process entities
4345           content through xmlStringDecodeEntities  TODO: remove it in
4346           next major release.  [67] Reference ::= EntityRef | CharRef
4347             [69] PEReference ::= '%' Name ';' """
4348         ret = libxml2mod.xmlDecodeEntities(self._o, len, what, end, end2, end3)
4349         return ret
4350
4351     def handleEntity(self, entity):
4352         """Default handling of defined entities, when should we define
4353           a new input stream ? When do we just handle that as a set
4354            of chars ?  OBSOLETE: to be removed at some point. """
4355         if entity is None: entity__o = None
4356         else: entity__o = entity._o
4357         libxml2mod.xmlHandleEntity(self._o, entity__o)
4358
4359     def namespaceParseNCName(self):
4360         """parse an XML namespace name.  TODO: this seems not in use
4361           anymore, the namespace handling is done on top of the SAX
4362           interfaces, i.e. not on raw input.  [NS 3] NCName ::=
4363           (Letter | '_') (NCNameChar)*  [NS 4] NCNameChar ::= Letter
4364            | Digit | '.' | '-' | '_' | CombiningChar | Extender """
4365         ret = libxml2mod.xmlNamespaceParseNCName(self._o)
4366         return ret
4367
4368     def namespaceParseNSDef(self):
4369         """parse a namespace prefix declaration  TODO: this seems not
4370           in use anymore, the namespace handling is done on top of
4371           the SAX interfaces, i.e. not on raw input.  [NS 1] NSDef
4372           ::= PrefixDef Eq SystemLiteral  [NS 2] PrefixDef ::=
4373            'xmlns' (':' NCName)? """
4374         ret = libxml2mod.xmlNamespaceParseNSDef(self._o)
4375         return ret
4376
4377     def nextChar(self):
4378         """Skip to the next char input char. """
4379         libxml2mod.xmlNextChar(self._o)
4380
4381     def parseAttValue(self):
4382         """parse a value for an attribute Note: the parser won't do
4383           substitution of entities here, this will be handled later
4384           in xmlStringGetNodeList  [10] AttValue ::= '"' ([^<&"] |
4385           Reference)* '"' | "'" ([^<&'] | Reference)* "'"  3.3.3
4386           Attribute-Value Normalization: Before the value of an
4387           attribute is passed to the application or checked for
4388           validity, the XML processor must normalize it as follows: -
4389           a character reference is processed by appending the
4390           referenced character to the attribute value - an entity
4391           reference is processed by recursively processing the
4392           replacement text of the entity - a whitespace character
4393           (#x20, #xD, #xA, #x9) is processed by appending #x20 to the
4394           normalized value, except that only a single #x20 is
4395           appended for a "#xD#xA" sequence that is part of an
4396           external parsed entity or the literal entity value of an
4397           internal parsed entity - other characters are processed by
4398           appending them to the normalized value If the declared
4399           value is not CDATA, then the XML processor must further
4400           process the normalized attribute value by discarding any
4401           leading and trailing space (#x20) characters, and by
4402           replacing sequences of space (#x20) characters by a single
4403           space (#x20) character. All attributes for which no
4404           declaration has been read should be treated by a
4405            non-validating parser as if declared CDATA. """
4406         ret = libxml2mod.xmlParseAttValue(self._o)
4407         return ret
4408
4409     def parseAttributeListDecl(self):
4410         """: parse the Attribute list def for an element  [52]
4411           AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>'  [53]
4412            AttDef ::= S Name S AttType S DefaultDecl """
4413         libxml2mod.xmlParseAttributeListDecl(self._o)
4414
4415     def parseCDSect(self):
4416         """Parse escaped pure raw content.  [18] CDSect ::= CDStart
4417           CData CDEnd  [19] CDStart ::= '<![CDATA['  [20] Data ::=
4418            (Char* - (Char* ']]>' Char*))  [21] CDEnd ::= ']]>' """
4419         libxml2mod.xmlParseCDSect(self._o)
4420
4421     def parseCharData(self, cdata):
4422         """parse a CharData section. if we are within a CDATA section
4423           ']]>' marks an end of section.  The right angle bracket (>)
4424           may be represented using the string "&gt;", and must, for
4425           compatibility, be escaped using "&gt;" or a character
4426           reference when it appears in the string "]]>" in content,
4427           when that string is not marking the end of a CDATA section.
4428             [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*) """
4429         libxml2mod.xmlParseCharData(self._o, cdata)
4430
4431     def parseCharRef(self):
4432         """parse Reference declarations  [66] CharRef ::= '&#' [0-9]+
4433           ';' | '&#x' [0-9a-fA-F]+ ';'  [ WFC: Legal Character ]
4434           Characters referred to using character references must
4435            match the production for Char. """
4436         ret = libxml2mod.xmlParseCharRef(self._o)
4437         return ret
4438
4439     def parseComment(self):
4440         """Skip an XML (SGML) comment <!-- .... --> The spec says that
4441           "For compatibility, the string "--" (double-hyphen) must
4442           not occur within comments. "  [15] Comment ::= '<!--'
4443            ((Char - '-') | ('-' (Char - '-')))* '-->' """
4444         libxml2mod.xmlParseComment(self._o)
4445
4446     def parseContent(self):
4447         """Parse a content:  [43] content ::= (element | CharData |
4448            Reference | CDSect | PI | Comment)* """
4449         libxml2mod.xmlParseContent(self._o)
4450
4451     def parseDocTypeDecl(self):
4452         """parse a DOCTYPE declaration  [28] doctypedecl ::=
4453           '<!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdecl |
4454           PEReference | S)* ']' S?)? '>'  [ VC: Root Element Type ]
4455           The Name in the document type declaration must match the
4456            element type of the root element. """
4457         libxml2mod.xmlParseDocTypeDecl(self._o)
4458
4459     def parseElement(self):
4460         """parse an XML element, this is highly recursive  [39]
4461           element ::= EmptyElemTag | STag content ETag  [ WFC:
4462           Element Type Match ] The Name in an element's end-tag must
4463            match the element type in the start-tag. """
4464         libxml2mod.xmlParseElement(self._o)
4465
4466     def parseElementDecl(self):
4467         """parse an Element declaration.  [45] elementdecl ::=
4468           '<!ELEMENT' S Name S contentspec S? '>'  [ VC: Unique
4469           Element Type Declaration ] No element type may be declared
4470            more than once """
4471         ret = libxml2mod.xmlParseElementDecl(self._o)
4472         return ret
4473
4474     def parseEncName(self):
4475         """parse the XML encoding name  [81] EncName ::= [A-Za-z]
4476            ([A-Za-z0-9._] | '-')* """
4477         ret = libxml2mod.xmlParseEncName(self._o)
4478         return ret
4479
4480     def parseEncodingDecl(self):
4481         """parse the XML encoding declaration  [80] EncodingDecl ::= S
4482           'encoding' Eq ('"' EncName '"' |  "'" EncName "'")  this
4483            setups the conversion filters. """
4484         ret = libxml2mod.xmlParseEncodingDecl(self._o)
4485         return ret
4486
4487     def parseEndTag(self):
4488         """parse an end of tag  [42] ETag ::= '</' Name S? '>'  With
4489            namespace  [NS 9] ETag ::= '</' QName S? '>' """
4490         libxml2mod.xmlParseEndTag(self._o)
4491
4492     def parseEntityDecl(self):
4493         """parse <!ENTITY declarations  [70] EntityDecl ::= GEDecl |
4494           PEDecl  [71] GEDecl ::= '<!ENTITY' S Name S EntityDef S?
4495           '>'  [72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>'
4496           [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?) 
4497           [74] PEDef ::= EntityValue | ExternalID  [76] NDataDecl ::=
4498           S 'NDATA' S Name  [ VC: Notation Declared ] The Name must
4499            match the declared name of a notation. """
4500         libxml2mod.xmlParseEntityDecl(self._o)
4501
4502     def parseEntityRef(self):
4503         """parse ENTITY references declarations  [68] EntityRef ::=
4504           '&' Name ';'  [ WFC: Entity Declared ] In a document
4505           without any DTD, a document with only an internal DTD
4506           subset which contains no parameter entity references, or a
4507           document with "standalone='yes'", the Name given in the
4508           entity reference must match that in an entity declaration,
4509           except that well-formed documents need not declare any of
4510           the following entities: amp, lt, gt, apos, quot.  The
4511           declaration of a parameter entity must precede any
4512           reference to it.  Similarly, the declaration of a general
4513           entity must precede any reference to it which appears in a
4514           default value in an attribute-list declaration. Note that
4515           if entities are declared in the external subset or in
4516           external parameter entities, a non-validating processor is
4517           not obligated to read and process their declarations; for
4518           such documents, the rule that an entity must be declared is
4519           a well-formedness constraint only if standalone='yes'.  [
4520           WFC: Parsed Entity ] An entity reference must not contain
4521            the name of an unparsed entity """
4522         ret = libxml2mod.xmlParseEntityRef(self._o)
4523         if ret is None:raise parserError('xmlParseEntityRef() failed')
4524         __tmp = xmlEntity(_obj=ret)
4525         return __tmp
4526
4527     def parseExternalSubset(self, ExternalID, SystemID):
4528         """parse Markup declarations from an external subset  [30]
4529           extSubset ::= textDecl? extSubsetDecl  [31] extSubsetDecl
4530            ::= (markupdecl | conditionalSect | PEReference | S) * """
4531         libxml2mod.xmlParseExternalSubset(self._o, ExternalID, SystemID)
4532
4533     def parseMarkupDecl(self):
4534         """parse Markup declarations  [29] markupdecl ::= elementdecl
4535           | AttlistDecl | EntityDecl | NotationDecl | PI | Comment  [
4536           VC: Proper Declaration/PE Nesting ] Parameter-entity
4537           replacement text must be properly nested with markup
4538           declarations. That is to say, if either the first character
4539           or the last character of a markup declaration (markupdecl
4540           above) is contained in the replacement text for a
4541           parameter-entity reference, both must be contained in the
4542           same replacement text.  [ WFC: PEs in Internal Subset ] In
4543           the internal DTD subset, parameter-entity references can
4544           occur only where markup declarations can occur, not within
4545           markup declarations. (This does not apply to references
4546           that occur in external parameter entities or to the
4547            external subset.) """
4548         libxml2mod.xmlParseMarkupDecl(self._o)
4549
4550     def parseMisc(self):
4551         """parse an XML Misc* optional field.  [27] Misc ::= Comment |
4552            PI |  S """
4553         libxml2mod.xmlParseMisc(self._o)
4554
4555     def parseName(self):
4556         """parse an XML name.  [4] NameChar ::= Letter | Digit | '.' |
4557           '-' | '_' | ':' | CombiningChar | Extender  [5] Name ::=
4558           (Letter | '_' | ':') (NameChar)*  [6] Names ::= Name (#x20
4559            Name)* """
4560         ret = libxml2mod.xmlParseName(self._o)
4561         return ret
4562
4563     def parseNamespace(self):
4564         """xmlParseNamespace: parse specific PI '<?namespace ...'
4565           constructs.  This is what the older xml-name Working Draft
4566           specified, a bunch of other stuff may still rely on it, so
4567           support is still here as if it was declared on the root of
4568           the Tree:-(  TODO: remove from library  To be removed at
4569            next drop of binary compatibility """
4570         libxml2mod.xmlParseNamespace(self._o)
4571
4572     def parseNmtoken(self):
4573         """parse an XML Nmtoken.  [7] Nmtoken ::= (NameChar)+  [8]
4574            Nmtokens ::= Nmtoken (#x20 Nmtoken)* """
4575         ret = libxml2mod.xmlParseNmtoken(self._o)
4576         return ret
4577
4578     def parseNotationDecl(self):
4579         """parse a notation declaration  [82] NotationDecl ::=
4580           '<!NOTATION' S Name S (ExternalID |  PublicID) S? '>' 
4581           Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral
4582           'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S
4583            SystemLiteral  See the NOTE on xmlParseExternalID(). """
4584         libxml2mod.xmlParseNotationDecl(self._o)
4585
4586     def parsePEReference(self):
4587         """parse PEReference declarations The entity content is
4588           handled directly by pushing it's content as a new input
4589           stream.  [69] PEReference ::= '%' Name ';'  [ WFC: No
4590           Recursion ] A parsed entity must not contain a recursive
4591           reference to itself, either directly or indirectly.  [ WFC:
4592           Entity Declared ] In a document without any DTD, a document
4593           with only an internal DTD subset which contains no
4594           parameter entity references, or a document with
4595           "standalone='yes'", ...  ... The declaration of a parameter
4596           entity must precede any reference to it...  [ VC: Entity
4597           Declared ] In a document with an external subset or
4598           external parameter entities with "standalone='no'", ... 
4599           ... The declaration of a parameter entity must precede any
4600           reference to it...  [ WFC: In DTD ] Parameter-entity
4601           references may only appear in the DTD. NOTE: misleading but
4602            this is handled. """
4603         libxml2mod.xmlParsePEReference(self._o)
4604
4605     def parsePI(self):
4606         """parse an XML Processing Instruction.  [16] PI ::= '<?'
4607           PITarget (S (Char* - (Char* '?>' Char*)))? '?>'  The
4608            processing is transfered to SAX once parsed. """
4609         libxml2mod.xmlParsePI(self._o)
4610
4611     def parsePITarget(self):
4612         """parse the name of a PI  [17] PITarget ::= Name - (('X' |
4613            'x') ('M' | 'm') ('L' | 'l')) """
4614         ret = libxml2mod.xmlParsePITarget(self._o)
4615         return ret
4616
4617     def parsePubidLiteral(self):
4618         """parse an XML public literal  [12] PubidLiteral ::= '"'
4619            PubidChar* '"' | "'" (PubidChar - "'")* "'" """
4620         ret = libxml2mod.xmlParsePubidLiteral(self._o)
4621         return ret
4622
4623     def parseQuotedString(self):
4624         """Parse and return a string between quotes or doublequotes 
4625           TODO: Deprecated, to  be removed at next drop of binary
4626            compatibility """
4627         ret = libxml2mod.xmlParseQuotedString(self._o)
4628         return ret
4629
4630     def parseReference(self):
4631         """parse and handle entity references in content, depending on
4632           the SAX interface, this may end-up in a call to character()
4633           if this is a CharRef, a predefined entity, if there is no
4634           reference() callback. or if the parser was asked to switch
4635            to that mode.  [67] Reference ::= EntityRef | CharRef """
4636         libxml2mod.xmlParseReference(self._o)
4637
4638     def parseSDDecl(self):
4639         """parse the XML standalone declaration  [32] SDDecl ::= S
4640           'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' |
4641           'no')'"'))  [ VC: Standalone Document Declaration ] TODO
4642           The standalone document declaration must have the value
4643           "no" if any external markup declarations contain
4644           declarations of: - attributes with default values, if
4645           elements to which these attributes apply appear in the
4646           document without specifications of values for these
4647           attributes, or - entities (other than amp, lt, gt, apos,
4648           quot), if references to those entities appear in the
4649           document, or - attributes with values subject to
4650           normalization, where the attribute appears in the document
4651           with a value which will change as a result of
4652           normalization, or - element types with element content, if
4653           white space occurs directly within any instance of those
4654            types. """
4655         ret = libxml2mod.xmlParseSDDecl(self._o)
4656         return ret
4657
4658     def parseStartTag(self):
4659         """parse a start of tag either for rule element or
4660           EmptyElement. In both case we don't parse the tag closing
4661           chars.  [40] STag ::= '<' Name (S Attribute)* S? '>'  [
4662           WFC: Unique Att Spec ] No attribute name may appear more
4663           than once in the same start-tag or empty-element tag.  [44]
4664           EmptyElemTag ::= '<' Name (S Attribute)* S? '/>'  [ WFC:
4665           Unique Att Spec ] No attribute name may appear more than
4666           once in the same start-tag or empty-element tag.  With
4667           namespace:  [NS 8] STag ::= '<' QName (S Attribute)* S? '>'
4668             [NS 10] EmptyElement ::= '<' QName (S Attribute)* S? '/>' """
4669         ret = libxml2mod.xmlParseStartTag(self._o)
4670         return ret
4671
4672     def parseSystemLiteral(self):
4673         """parse an XML Literal  [11] SystemLiteral ::= ('"' [^"]*
4674            '"') | ("'" [^']* "'") """
4675         ret = libxml2mod.xmlParseSystemLiteral(self._o)
4676         return ret
4677
4678     def parseTextDecl(self):
4679         """parse an XML declaration header for external entities  [77]
4680            TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>' """
4681         libxml2mod.xmlParseTextDecl(self._o)
4682
4683     def parseVersionInfo(self):
4684         """parse the XML version.  [24] VersionInfo ::= S 'version' Eq
4685            (' VersionNum ' | " VersionNum ")  [25] Eq ::= S? '=' S? """
4686         ret = libxml2mod.xmlParseVersionInfo(self._o)
4687         return ret
4688
4689     def parseVersionNum(self):
4690         """parse the XML version value.  [26] VersionNum ::= '1.'
4691            [0-9]+  In practice allow [0-9].[0-9]+ at that level """
4692         ret = libxml2mod.xmlParseVersionNum(self._o)
4693         return ret
4694
4695     def parseXMLDecl(self):
4696         """parse an XML declaration header  [23] XMLDecl ::= '<?xml'
4697            VersionInfo EncodingDecl? SDDecl? S? '?>' """
4698         libxml2mod.xmlParseXMLDecl(self._o)
4699
4700     def parserHandlePEReference(self):
4701         """[69] PEReference ::= '%' Name ';'  [ WFC: No Recursion ] A
4702           parsed entity must not contain a recursive reference to
4703           itself, either directly or indirectly.  [ WFC: Entity
4704           Declared ] In a document without any DTD, a document with
4705           only an internal DTD subset which contains no parameter
4706           entity references, or a document with "standalone='yes'",
4707           ...  ... The declaration of a parameter entity must precede
4708           any reference to it...  [ VC: Entity Declared ] In a
4709           document with an external subset or external parameter
4710           entities with "standalone='no'", ...  ... The declaration
4711           of a parameter entity must precede any reference to it... 
4712           [ WFC: In DTD ] Parameter-entity references may only appear
4713           in the DTD. NOTE: misleading but this is handled.  A
4714           PEReference may have been detected in the current input
4715           stream the handling is done accordingly to
4716           http://www.w3.org/TR/REC-xml#entproc i.e. - Included in
4717           literal in entity values - Included as Parameter Entity
4718            reference within DTDs """
4719         libxml2mod.xmlParserHandlePEReference(self._o)
4720
4721     def parserHandleReference(self):
4722         """TODO: Remove, now deprecated ... the test is done directly
4723           in the content parsing routines.  [67] Reference ::=
4724           EntityRef | CharRef  [68] EntityRef ::= '&' Name ';'  [
4725           WFC: Entity Declared ] the Name given in the entity
4726           reference must match that in an entity declaration, except
4727           that well-formed documents need not declare any of the
4728           following entities: amp, lt, gt, apos, quot.  [ WFC: Parsed
4729           Entity ] An entity reference must not contain the name of
4730           an unparsed entity  [66] CharRef ::= '&#' [0-9]+ ';' |
4731           '&#x' [0-9a-fA-F]+ ';'  A PEReference may have been
4732           detected in the current input stream the handling is done
4733            accordingly to http://www.w3.org/TR/REC-xml#entproc """
4734         libxml2mod.xmlParserHandleReference(self._o)
4735
4736     def popInput(self):
4737         """xmlPopInput: the current input pointed by ctxt->input came
4738            to an end pop it and return the next char. """
4739         ret = libxml2mod.xmlPopInput(self._o)
4740         return ret
4741
4742     def scanName(self):
4743         """Trickery: parse an XML name but without consuming the input
4744           flow Needed for rollback cases. Used only when parsing
4745           entities references.  TODO: seems deprecated now, only used
4746           in the default part of xmlParserHandleReference  [4]
4747           NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
4748           CombiningChar | Extender  [5] Name ::= (Letter | '_' | ':')
4749            (NameChar)*  [6] Names ::= Name (S Name)* """
4750         ret = libxml2mod.xmlScanName(self._o)
4751         return ret
4752
4753     def skipBlankChars(self):
4754         """skip all blanks character found at that point in the input
4755           streams. It pops up finished entities in the process if
4756            allowable at that point. """
4757         ret = libxml2mod.xmlSkipBlankChars(self._o)
4758         return ret
4759
4760     def stringDecodeEntities(self, str, what, end, end2, end3):
4761         """Takes a entity string content and process to do the
4762           adequate substitutions.  [67] Reference ::= EntityRef |
4763            CharRef  [69] PEReference ::= '%' Name ';' """
4764         ret = libxml2mod.xmlStringDecodeEntities(self._o, str, what, end, end2, end3)
4765         return ret
4766
4767     def stringLenDecodeEntities(self, str, len, what, end, end2, end3):
4768         """Takes a entity string content and process to do the
4769           adequate substitutions.  [67] Reference ::= EntityRef |
4770            CharRef  [69] PEReference ::= '%' Name ';' """
4771         ret = libxml2mod.xmlStringLenDecodeEntities(self._o, str, len, what, end, end2, end3)
4772         return ret
4773
4774 class xmlAttr(xmlNode):
4775     def __init__(self, _obj=None):
4776         if checkWrapper(_obj) != 0:            raise TypeError('xmlAttr got a wrong wrapper object type')
4777         self._o = _obj
4778         xmlNode.__init__(self, _obj=_obj)
4779
4780     def __repr__(self):
4781         return "<xmlAttr (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
4782
4783     #
4784     # xmlAttr functions from module debugXML
4785     #
4786
4787     def debugDumpAttr(self, output, depth):
4788         """Dumps debug information for the attribute """
4789         libxml2mod.xmlDebugDumpAttr(output, self._o, depth)
4790
4791     def debugDumpAttrList(self, output, depth):
4792         """Dumps debug information for the attribute list """
4793         libxml2mod.xmlDebugDumpAttrList(output, self._o, depth)
4794
4795     #
4796     # xmlAttr functions from module tree
4797     #
4798
4799     def copyProp(self, target):
4800         """Do a copy of the attribute. """
4801         if target is None: target__o = None
4802         else: target__o = target._o
4803         ret = libxml2mod.xmlCopyProp(target__o, self._o)
4804         if ret is None:raise treeError('xmlCopyProp() failed')
4805         __tmp = xmlAttr(_obj=ret)
4806         return __tmp
4807
4808     def copyPropList(self, target):
4809         """Do a copy of an attribute list. """
4810         if target is None: target__o = None
4811         else: target__o = target._o
4812         ret = libxml2mod.xmlCopyPropList(target__o, self._o)
4813         if ret is None:raise treeError('xmlCopyPropList() failed')
4814         __tmp = xmlAttr(_obj=ret)
4815         return __tmp
4816
4817     def freeProp(self):
4818         """Free one attribute, all the content is freed too """
4819         libxml2mod.xmlFreeProp(self._o)
4820
4821     def freePropList(self):
4822         """Free a property and all its siblings, all the children are
4823            freed too. """
4824         libxml2mod.xmlFreePropList(self._o)
4825
4826     def removeProp(self):
4827         """Unlink and free one attribute, all the content is freed too
4828            Note this doesn't work for namespace definition attributes """
4829         ret = libxml2mod.xmlRemoveProp(self._o)
4830         return ret
4831
4832     #
4833     # xmlAttr functions from module valid
4834     #
4835
4836     def removeID(self, doc):
4837         """Remove the given attribute from the ID table maintained
4838            internally. """
4839         if doc is None: doc__o = None
4840         else: doc__o = doc._o
4841         ret = libxml2mod.xmlRemoveID(doc__o, self._o)
4842         return ret
4843
4844     def removeRef(self, doc):
4845         """Remove the given attribute from the Ref table maintained
4846            internally. """
4847         if doc is None: doc__o = None
4848         else: doc__o = doc._o
4849         ret = libxml2mod.xmlRemoveRef(doc__o, self._o)
4850         return ret
4851
4852 class xmlAttribute(xmlNode):
4853     def __init__(self, _obj=None):
4854         if checkWrapper(_obj) != 0:            raise TypeError('xmlAttribute got a wrong wrapper object type')
4855         self._o = _obj
4856         xmlNode.__init__(self, _obj=_obj)
4857
4858     def __repr__(self):
4859         return "<xmlAttribute (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
4860
4861 class catalog:
4862     def __init__(self, _obj=None):
4863         if _obj != None:self._o = _obj;return
4864         self._o = None
4865
4866     def __del__(self):
4867         if self._o != None:
4868             libxml2mod.xmlFreeCatalog(self._o)
4869         self._o = None
4870
4871     #
4872     # catalog functions from module catalog
4873     #
4874
4875     def add(self, type, orig, replace):
4876         """Add an entry in the catalog, it may overwrite existing but
4877            different entries. """
4878         ret = libxml2mod.xmlACatalogAdd(self._o, type, orig, replace)
4879         return ret
4880
4881     def catalogIsEmpty(self):
4882         """Check is a catalog is empty """
4883         ret = libxml2mod.xmlCatalogIsEmpty(self._o)
4884         return ret
4885
4886     def convertSGMLCatalog(self):
4887         """Convert all the SGML catalog entries as XML ones """
4888         ret = libxml2mod.xmlConvertSGMLCatalog(self._o)
4889         return ret
4890
4891     def dump(self, out):
4892         """Dump the given catalog to the given file. """
4893         libxml2mod.xmlACatalogDump(self._o, out)
4894
4895     def remove(self, value):
4896         """Remove an entry from the catalog """
4897         ret = libxml2mod.xmlACatalogRemove(self._o, value)
4898         return ret
4899
4900     def resolve(self, pubID, sysID):
4901         """Do a complete resolution lookup of an External Identifier """
4902         ret = libxml2mod.xmlACatalogResolve(self._o, pubID, sysID)
4903         return ret
4904
4905     def resolvePublic(self, pubID):
4906         """Try to lookup the catalog local reference associated to a
4907            public ID in that catalog """
4908         ret = libxml2mod.xmlACatalogResolvePublic(self._o, pubID)
4909         return ret
4910
4911     def resolveSystem(self, sysID):
4912         """Try to lookup the catalog resource for a system ID """
4913         ret = libxml2mod.xmlACatalogResolveSystem(self._o, sysID)
4914         return ret
4915
4916     def resolveURI(self, URI):
4917         """Do a complete resolution lookup of an URI """
4918         ret = libxml2mod.xmlACatalogResolveURI(self._o, URI)
4919         return ret
4920
4921 class xmlDtd(xmlNode):
4922     def __init__(self, _obj=None):
4923         if checkWrapper(_obj) != 0:            raise TypeError('xmlDtd got a wrong wrapper object type')
4924         self._o = _obj
4925         xmlNode.__init__(self, _obj=_obj)
4926
4927     def __repr__(self):
4928         return "<xmlDtd (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
4929
4930     #
4931     # xmlDtd functions from module debugXML
4932     #
4933
4934     def debugDumpDTD(self, output):
4935         """Dumps debug information for the DTD """
4936         libxml2mod.xmlDebugDumpDTD(output, self._o)
4937
4938     #
4939     # xmlDtd functions from module tree
4940     #
4941
4942     def copyDtd(self):
4943         """Do a copy of the dtd. """
4944         ret = libxml2mod.xmlCopyDtd(self._o)
4945         if ret is None:raise treeError('xmlCopyDtd() failed')
4946         __tmp = xmlDtd(_obj=ret)
4947         return __tmp
4948
4949     def freeDtd(self):
4950         """Free a DTD structure. """
4951         libxml2mod.xmlFreeDtd(self._o)
4952
4953     #
4954     # xmlDtd functions from module valid
4955     #
4956
4957     def dtdAttrDesc(self, elem, name):
4958         """Search the DTD for the description of this attribute on
4959            this element. """
4960         ret = libxml2mod.xmlGetDtdAttrDesc(self._o, elem, name)
4961         if ret is None:raise treeError('xmlGetDtdAttrDesc() failed')
4962         __tmp = xmlAttribute(_obj=ret)
4963         return __tmp
4964
4965     def dtdElementDesc(self, name):
4966         """Search the DTD for the description of this element """
4967         ret = libxml2mod.xmlGetDtdElementDesc(self._o, name)
4968         if ret is None:raise treeError('xmlGetDtdElementDesc() failed')
4969         __tmp = xmlElement(_obj=ret)
4970         return __tmp
4971
4972     def dtdQAttrDesc(self, elem, name, prefix):
4973         """Search the DTD for the description of this qualified
4974            attribute on this element. """
4975         ret = libxml2mod.xmlGetDtdQAttrDesc(self._o, elem, name, prefix)
4976         if ret is None:raise treeError('xmlGetDtdQAttrDesc() failed')
4977         __tmp = xmlAttribute(_obj=ret)
4978         return __tmp
4979
4980     def dtdQElementDesc(self, name, prefix):
4981         """Search the DTD for the description of this element """
4982         ret = libxml2mod.xmlGetDtdQElementDesc(self._o, name, prefix)
4983         if ret is None:raise treeError('xmlGetDtdQElementDesc() failed')
4984         __tmp = xmlElement(_obj=ret)
4985         return __tmp
4986
4987 class xmlElement(xmlNode):
4988     def __init__(self, _obj=None):
4989         if checkWrapper(_obj) != 0:            raise TypeError('xmlElement got a wrong wrapper object type')
4990         self._o = _obj
4991         xmlNode.__init__(self, _obj=_obj)
4992
4993     def __repr__(self):
4994         return "<xmlElement (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
4995
4996 class xmlEntity(xmlNode):
4997     def __init__(self, _obj=None):
4998         if checkWrapper(_obj) != 0:            raise TypeError('xmlEntity got a wrong wrapper object type')
4999         self._o = _obj
5000         xmlNode.__init__(self, _obj=_obj)
5001
5002     def __repr__(self):
5003         return "<xmlEntity (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
5004
5005     #
5006     # xmlEntity functions from module parserInternals
5007     #
5008
5009     def handleEntity(self, ctxt):
5010         """Default handling of defined entities, when should we define
5011           a new input stream ? When do we just handle that as a set
5012            of chars ?  OBSOLETE: to be removed at some point. """
5013         if ctxt is None: ctxt__o = None
5014         else: ctxt__o = ctxt._o
5015         libxml2mod.xmlHandleEntity(ctxt__o, self._o)
5016
5017 class Error:
5018     def __init__(self, _obj=None):
5019         if _obj != None:self._o = _obj;return
5020         self._o = None
5021
5022     # accessors for Error
5023     def code(self):
5024         """The error code, e.g. an xmlParserError """
5025         ret = libxml2mod.xmlErrorGetCode(self._o)
5026         return ret
5027
5028     def domain(self):
5029         """What part of the library raised this error """
5030         ret = libxml2mod.xmlErrorGetDomain(self._o)
5031         return ret
5032
5033     def file(self):
5034         """the filename """
5035         ret = libxml2mod.xmlErrorGetFile(self._o)
5036         return ret
5037
5038     def level(self):
5039         """how consequent is the error """
5040         ret = libxml2mod.xmlErrorGetLevel(self._o)
5041         return ret
5042
5043     def line(self):
5044         """the line number if available """
5045         ret = libxml2mod.xmlErrorGetLine(self._o)
5046         return ret
5047
5048     def message(self):
5049         """human-readable informative error message """
5050         ret = libxml2mod.xmlErrorGetMessage(self._o)
5051         return ret
5052
5053     #
5054     # Error functions from module xmlerror
5055     #
5056
5057     def copyError(self, to):
5058         """Save the original error to the new place. """
5059         if to is None: to__o = None
5060         else: to__o = to._o
5061         ret = libxml2mod.xmlCopyError(self._o, to__o)
5062         return ret
5063
5064     def resetError(self):
5065         """Cleanup the error. """
5066         libxml2mod.xmlResetError(self._o)
5067
5068 class xmlNs(xmlNode):
5069     def __init__(self, _obj=None):
5070         if checkWrapper(_obj) != 0:            raise TypeError('xmlNs got a wrong wrapper object type')
5071         self._o = _obj
5072         xmlNode.__init__(self, _obj=_obj)
5073
5074     def __repr__(self):
5075         return "<xmlNs (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
5076
5077     #
5078     # xmlNs functions from module tree
5079     #
5080
5081     def copyNamespace(self):
5082         """Do a copy of the namespace. """
5083         ret = libxml2mod.xmlCopyNamespace(self._o)
5084         if ret is None:raise treeError('xmlCopyNamespace() failed')
5085         __tmp = xmlNs(_obj=ret)
5086         return __tmp
5087
5088     def copyNamespaceList(self):
5089         """Do a copy of an namespace list. """
5090         ret = libxml2mod.xmlCopyNamespaceList(self._o)
5091         if ret is None:raise treeError('xmlCopyNamespaceList() failed')
5092         __tmp = xmlNs(_obj=ret)
5093         return __tmp
5094
5095     def freeNs(self):
5096         """Free up the structures associated to a namespace """
5097         libxml2mod.xmlFreeNs(self._o)
5098
5099     def freeNsList(self):
5100         """Free up all the structures associated to the chained
5101            namespaces. """
5102         libxml2mod.xmlFreeNsList(self._o)
5103
5104     def newChild(self, parent, name, content):
5105         """Creation of a new child element, added at the end of
5106           @parent children list. @ns and @content parameters are
5107           optional (None). If @ns is None, the newly created element
5108           inherits the namespace of @parent. If @content is non None,
5109           a child list containing the TEXTs and ENTITY_REFs node will
5110           be created. NOTE: @content is supposed to be a piece of XML
5111           CDATA, so it allows entity references. XML special chars
5112           must be escaped first by using
5113           xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should
5114            be used. """
5115         if parent is None: parent__o = None
5116         else: parent__o = parent._o
5117         ret = libxml2mod.xmlNewChild(parent__o, self._o, name, content)
5118         if ret is None:raise treeError('xmlNewChild() failed')
5119         __tmp = xmlNode(_obj=ret)
5120         return __tmp
5121
5122     def newDocNode(self, doc, name, content):
5123         """Creation of a new node element within a document. @ns and
5124           @content are optional (None). NOTE: @content is supposed to
5125           be a piece of XML CDATA, so it allow entities references,
5126           but XML special chars need to be escaped first by using
5127           xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you
5128            don't need entities support. """
5129         if doc is None: doc__o = None
5130         else: doc__o = doc._o
5131         ret = libxml2mod.xmlNewDocNode(doc__o, self._o, name, content)
5132         if ret is None:raise treeError('xmlNewDocNode() failed')
5133         __tmp = xmlNode(_obj=ret)
5134         return __tmp
5135
5136     def newDocNodeEatName(self, doc, name, content):
5137         """Creation of a new node element within a document. @ns and
5138           @content are optional (None). NOTE: @content is supposed to
5139           be a piece of XML CDATA, so it allow entities references,
5140           but XML special chars need to be escaped first by using
5141           xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you
5142            don't need entities support. """
5143         if doc is None: doc__o = None
5144         else: doc__o = doc._o
5145         ret = libxml2mod.xmlNewDocNodeEatName(doc__o, self._o, name, content)
5146         if ret is None:raise treeError('xmlNewDocNodeEatName() failed')
5147         __tmp = xmlNode(_obj=ret)
5148         return __tmp
5149
5150     def newDocRawNode(self, doc, name, content):
5151         """Creation of a new node element within a document. @ns and
5152            @content are optional (None). """
5153         if doc is None: doc__o = None
5154         else: doc__o = doc._o
5155         ret = libxml2mod.xmlNewDocRawNode(doc__o, self._o, name, content)
5156         if ret is None:raise treeError('xmlNewDocRawNode() failed')
5157         __tmp = xmlNode(_obj=ret)
5158         return __tmp
5159
5160     def newNodeEatName(self, name):
5161         """Creation of a new node element. @ns is optional (None). """
5162         ret = libxml2mod.xmlNewNodeEatName(self._o, name)
5163         if ret is None:raise treeError('xmlNewNodeEatName() failed')
5164         __tmp = xmlNode(_obj=ret)
5165         return __tmp
5166
5167     def newNsProp(self, node, name, value):
5168         """Create a new property tagged with a namespace and carried
5169            by a node. """
5170         if node is None: node__o = None
5171         else: node__o = node._o
5172         ret = libxml2mod.xmlNewNsProp(node__o, self._o, name, value)
5173         if ret is None:raise treeError('xmlNewNsProp() failed')
5174         __tmp = xmlAttr(_obj=ret)
5175         return __tmp
5176
5177     def newNsPropEatName(self, node, name, value):
5178         """Create a new property tagged with a namespace and carried
5179            by a node. """
5180         if node is None: node__o = None
5181         else: node__o = node._o
5182         ret = libxml2mod.xmlNewNsPropEatName(node__o, self._o, name, value)
5183         if ret is None:raise treeError('xmlNewNsPropEatName() failed')
5184         __tmp = xmlAttr(_obj=ret)
5185         return __tmp
5186
5187     def newTextChild(self, parent, name, content):
5188         """Creation of a new child element, added at the end of
5189           @parent children list. @ns and @content parameters are
5190           optional (None). If @ns is None, the newly created element
5191           inherits the namespace of @parent. If @content is non None,
5192           a child TEXT node will be created containing the string
5193           @content. NOTE: Use xmlNewChild() if @content will contain
5194           entities that need to be preserved. Use this function,
5195           xmlNewTextChild(), if you need to ensure that reserved XML
5196           chars that might appear in @content, such as the ampersand,
5197           greater-than or less-than signs, are automatically replaced
5198            by their XML escaped entity representations. """
5199         if parent is None: parent__o = None
5200         else: parent__o = parent._o
5201         ret = libxml2mod.xmlNewTextChild(parent__o, self._o, name, content)
5202         if ret is None:raise treeError('xmlNewTextChild() failed')
5203         __tmp = xmlNode(_obj=ret)
5204         return __tmp
5205
5206     def setNs(self, node):
5207         """Associate a namespace to a node, a posteriori. """
5208         if node is None: node__o = None
5209         else: node__o = node._o
5210         libxml2mod.xmlSetNs(node__o, self._o)
5211
5212     def setNsProp(self, node, name, value):
5213         """Set (or reset) an attribute carried by a node. The ns
5214            structure must be in scope, this is not checked """
5215         if node is None: node__o = None
5216         else: node__o = node._o
5217         ret = libxml2mod.xmlSetNsProp(node__o, self._o, name, value)
5218         if ret is None:raise treeError('xmlSetNsProp() failed')
5219         __tmp = xmlAttr(_obj=ret)
5220         return __tmp
5221
5222     def unsetNsProp(self, node, name):
5223         """Remove an attribute carried by a node. """
5224         if node is None: node__o = None
5225         else: node__o = node._o
5226         ret = libxml2mod.xmlUnsetNsProp(node__o, self._o, name)
5227         return ret
5228
5229     #
5230     # xmlNs functions from module xpathInternals
5231     #
5232
5233     def xpathNodeSetFreeNs(self):
5234         """Namespace nodes in libxml don't match the XPath semantic.
5235           In a node set the namespace nodes are duplicated and the
5236           next pointer is set to the parent node in the XPath
5237            semantic. Check if such a node needs to be freed """
5238         libxml2mod.xmlXPathNodeSetFreeNs(self._o)
5239
5240 class outputBuffer(ioWriteWrapper):
5241     def __init__(self, _obj=None):
5242         self._o = _obj
5243         ioWriteWrapper.__init__(self, _obj=_obj)
5244
5245     #
5246     # outputBuffer functions from module HTMLtree
5247     #
5248
5249     def htmlDocContentDumpFormatOutput(self, cur, encoding, format):
5250         """Dump an HTML document. """
5251         if cur is None: cur__o = None
5252         else: cur__o = cur._o
5253         libxml2mod.htmlDocContentDumpFormatOutput(self._o, cur__o, encoding, format)
5254
5255     def htmlDocContentDumpOutput(self, cur, encoding):
5256         """Dump an HTML document. Formating return/spaces are added. """
5257         if cur is None: cur__o = None
5258         else: cur__o = cur._o
5259         libxml2mod.htmlDocContentDumpOutput(self._o, cur__o, encoding)
5260
5261     def htmlNodeDumpFormatOutput(self, doc, cur, encoding, format):
5262         """Dump an HTML node, recursive behaviour,children are printed
5263            too. """
5264         if doc is None: doc__o = None
5265         else: doc__o = doc._o
5266         if cur is None: cur__o = None
5267         else: cur__o = cur._o
5268         libxml2mod.htmlNodeDumpFormatOutput(self._o, doc__o, cur__o, encoding, format)
5269
5270     def htmlNodeDumpOutput(self, doc, cur, encoding):
5271         """Dump an HTML node, recursive behaviour,children are printed
5272            too, and formatting returns/spaces are added. """
5273         if doc is None: doc__o = None
5274         else: doc__o = doc._o
5275         if cur is None: cur__o = None
5276         else: cur__o = cur._o
5277         libxml2mod.htmlNodeDumpOutput(self._o, doc__o, cur__o, encoding)
5278
5279     #
5280     # outputBuffer functions from module tree
5281     #
5282
5283     def nodeDumpOutput(self, doc, cur, level, format, encoding):
5284         """Dump an XML node, recursive behaviour, children are printed
5285           too. Note that @format = 1 provide node indenting only if
5286           xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was
5287            called """
5288         if doc is None: doc__o = None
5289         else: doc__o = doc._o
5290         if cur is None: cur__o = None
5291         else: cur__o = cur._o
5292         libxml2mod.xmlNodeDumpOutput(self._o, doc__o, cur__o, level, format, encoding)
5293
5294     def saveFileTo(self, cur, encoding):
5295         """Dump an XML document to an I/O buffer. Warning ! This call
5296           xmlOutputBufferClose() on buf which is not available after
5297            this call. """
5298         if cur is None: cur__o = None
5299         else: cur__o = cur._o
5300         ret = libxml2mod.xmlSaveFileTo(self._o, cur__o, encoding)
5301         return ret
5302
5303     def saveFormatFileTo(self, cur, encoding, format):
5304         """Dump an XML document to an I/O buffer. Warning ! This call
5305           xmlOutputBufferClose() on buf which is not available after
5306            this call. """
5307         if cur is None: cur__o = None
5308         else: cur__o = cur._o
5309         ret = libxml2mod.xmlSaveFormatFileTo(self._o, cur__o, encoding, format)
5310         return ret
5311
5312     #
5313     # outputBuffer functions from module xmlIO
5314     #
5315
5316     def getContent(self):
5317         """Gives a pointer to the data currently held in the output
5318            buffer """
5319         ret = libxml2mod.xmlOutputBufferGetContent(self._o)
5320         return ret
5321
5322     def write(self, len, buf):
5323         """Write the content of the array in the output I/O buffer
5324           This routine handle the I18N transcoding from internal
5325           UTF-8 The buffer is lossless, i.e. will store in case of
5326            partial or delayed writes. """
5327         ret = libxml2mod.xmlOutputBufferWrite(self._o, len, buf)
5328         return ret
5329
5330     def writeString(self, str):
5331         """Write the content of the string in the output I/O buffer
5332           This routine handle the I18N transcoding from internal
5333           UTF-8 The buffer is lossless, i.e. will store in case of
5334            partial or delayed writes. """
5335         ret = libxml2mod.xmlOutputBufferWriteString(self._o, str)
5336         return ret
5337
5338 class inputBuffer(ioReadWrapper):
5339     def __init__(self, _obj=None):
5340         self._o = _obj
5341         ioReadWrapper.__init__(self, _obj=_obj)
5342
5343     def __del__(self):
5344         if self._o != None:
5345             libxml2mod.xmlFreeParserInputBuffer(self._o)
5346         self._o = None
5347
5348     #
5349     # inputBuffer functions from module xmlIO
5350     #
5351
5352     def grow(self, len):
5353         """Grow up the content of the input buffer, the old data are
5354           preserved This routine handle the I18N transcoding to
5355           internal UTF-8 This routine is used when operating the
5356           parser in normal (pull) mode  TODO: one should be able to
5357           remove one extra copy by copying directly onto in->buffer
5358            or in->raw """
5359         ret = libxml2mod.xmlParserInputBufferGrow(self._o, len)
5360         return ret
5361
5362     def push(self, len, buf):
5363         """Push the content of the arry in the input buffer This
5364           routine handle the I18N transcoding to internal UTF-8 This
5365           is used when operating the parser in progressive (push)
5366            mode. """
5367         ret = libxml2mod.xmlParserInputBufferPush(self._o, len, buf)
5368         return ret
5369
5370     def read(self, len):
5371         """Refresh the content of the input buffer, the old data are
5372           considered consumed This routine handle the I18N
5373            transcoding to internal UTF-8 """
5374         ret = libxml2mod.xmlParserInputBufferRead(self._o, len)
5375         return ret
5376
5377     #
5378     # inputBuffer functions from module xmlreader
5379     #
5380
5381     def Setup(self, reader, URL, encoding, options):
5382         """Setup an XML reader with new options """
5383         if reader is None: reader__o = None
5384         else: reader__o = reader._o
5385         ret = libxml2mod.xmlTextReaderSetup(reader__o, self._o, URL, encoding, options)
5386         return ret
5387
5388     def newTextReader(self, URI):
5389         """Create an xmlTextReader structure fed with @input """
5390         ret = libxml2mod.xmlNewTextReader(self._o, URI)
5391         if ret is None:raise treeError('xmlNewTextReader() failed')
5392         __tmp = xmlTextReader(_obj=ret)
5393         __tmp.input = self
5394         return __tmp
5395
5396 class xmlReg:
5397     def __init__(self, _obj=None):
5398         if _obj != None:self._o = _obj;return
5399         self._o = None
5400
5401     def __del__(self):
5402         if self._o != None:
5403             libxml2mod.xmlRegFreeRegexp(self._o)
5404         self._o = None
5405
5406     #
5407     # xmlReg functions from module xmlregexp
5408     #
5409
5410     def regexpExec(self, content):
5411         """Check if the regular expression generates the value """
5412         ret = libxml2mod.xmlRegexpExec(self._o, content)
5413         return ret
5414
5415     def regexpIsDeterminist(self):
5416         """Check if the regular expression is determinist """
5417         ret = libxml2mod.xmlRegexpIsDeterminist(self._o)
5418         return ret
5419
5420     def regexpPrint(self, output):
5421         """Print the content of the compiled regular expression """
5422         libxml2mod.xmlRegexpPrint(output, self._o)
5423
5424 class relaxNgParserCtxt:
5425     def __init__(self, _obj=None):
5426         if _obj != None:self._o = _obj;return
5427         self._o = None
5428
5429     def __del__(self):
5430         if self._o != None:
5431             libxml2mod.xmlRelaxNGFreeParserCtxt(self._o)
5432         self._o = None
5433
5434     #
5435     # relaxNgParserCtxt functions from module relaxng
5436     #
5437
5438     def relaxNGParse(self):
5439         """parse a schema definition resource and build an internal
5440            XML Shema struture which can be used to validate instances. """
5441         ret = libxml2mod.xmlRelaxNGParse(self._o)
5442         if ret is None:raise parserError('xmlRelaxNGParse() failed')
5443         __tmp = relaxNgSchema(_obj=ret)
5444         return __tmp
5445
5446     def relaxParserSetFlag(self, flags):
5447         """Semi private function used to pass informations to a parser
5448            context which are a combination of xmlRelaxNGParserFlag . """
5449         ret = libxml2mod.xmlRelaxParserSetFlag(self._o, flags)
5450         return ret
5451
5452 class relaxNgSchema:
5453     def __init__(self, _obj=None):
5454         if _obj != None:self._o = _obj;return
5455         self._o = None
5456
5457     def __del__(self):
5458         if self._o != None:
5459             libxml2mod.xmlRelaxNGFree(self._o)
5460         self._o = None
5461
5462     #
5463     # relaxNgSchema functions from module relaxng
5464     #
5465
5466     def relaxNGDump(self, output):
5467         """Dump a RelaxNG structure back """
5468         libxml2mod.xmlRelaxNGDump(output, self._o)
5469
5470     def relaxNGDumpTree(self, output):
5471         """Dump the transformed RelaxNG tree. """
5472         libxml2mod.xmlRelaxNGDumpTree(output, self._o)
5473
5474     def relaxNGNewValidCtxt(self):
5475         """Create an XML RelaxNGs validation context based on the
5476            given schema """
5477         ret = libxml2mod.xmlRelaxNGNewValidCtxt(self._o)
5478         if ret is None:raise treeError('xmlRelaxNGNewValidCtxt() failed')
5479         __tmp = relaxNgValidCtxt(_obj=ret)
5480         __tmp.schema = self
5481         return __tmp
5482
5483     #
5484     # relaxNgSchema functions from module xmlreader
5485     #
5486
5487     def RelaxNGSetSchema(self, reader):
5488         """Use RelaxNG to validate the document as it is processed.
5489           Activation is only possible before the first Read(). if
5490           @schema is None, then RelaxNG validation is desactivated. @
5491           The @schema should not be freed until the reader is
5492            deallocated or its use has been deactivated. """
5493         if reader is None: reader__o = None
5494         else: reader__o = reader._o
5495         ret = libxml2mod.xmlTextReaderRelaxNGSetSchema(reader__o, self._o)
5496         return ret
5497
5498 class relaxNgValidCtxt(relaxNgValidCtxtCore):
5499     def __init__(self, _obj=None):
5500         self.schema = None
5501         self._o = _obj
5502         relaxNgValidCtxtCore.__init__(self, _obj=_obj)
5503
5504     def __del__(self):
5505         if self._o != None:
5506             libxml2mod.xmlRelaxNGFreeValidCtxt(self._o)
5507         self._o = None
5508
5509     #
5510     # relaxNgValidCtxt functions from module relaxng
5511     #
5512
5513     def relaxNGValidateDoc(self, doc):
5514         """Validate a document tree in memory. """
5515         if doc is None: doc__o = None
5516         else: doc__o = doc._o
5517         ret = libxml2mod.xmlRelaxNGValidateDoc(self._o, doc__o)
5518         return ret
5519
5520     def relaxNGValidateFullElement(self, doc, elem):
5521         """Validate a full subtree when
5522           xmlRelaxNGValidatePushElement() returned 0 and the content
5523            of the node has been expanded. """
5524         if doc is None: doc__o = None
5525         else: doc__o = doc._o
5526         if elem is None: elem__o = None
5527         else: elem__o = elem._o
5528         ret = libxml2mod.xmlRelaxNGValidateFullElement(self._o, doc__o, elem__o)
5529         return ret
5530
5531     def relaxNGValidatePopElement(self, doc, elem):
5532         """Pop the element end from the RelaxNG validation stack. """
5533         if doc is None: doc__o = None
5534         else: doc__o = doc._o
5535         if elem is None: elem__o = None
5536         else: elem__o = elem._o
5537         ret = libxml2mod.xmlRelaxNGValidatePopElement(self._o, doc__o, elem__o)
5538         return ret
5539
5540     def relaxNGValidatePushCData(self, data, len):
5541         """check the CData parsed for validation in the current stack """
5542         ret = libxml2mod.xmlRelaxNGValidatePushCData(self._o, data, len)
5543         return ret
5544
5545     def relaxNGValidatePushElement(self, doc, elem):
5546         """Push a new element start on the RelaxNG validation stack. """
5547         if doc is None: doc__o = None
5548         else: doc__o = doc._o
5549         if elem is None: elem__o = None
5550         else: elem__o = elem._o
5551         ret = libxml2mod.xmlRelaxNGValidatePushElement(self._o, doc__o, elem__o)
5552         return ret
5553
5554     #
5555     # relaxNgValidCtxt functions from module xmlreader
5556     #
5557
5558     def RelaxNGValidateCtxt(self, reader, options):
5559         """Use RelaxNG schema context to validate the document as it
5560           is processed. Activation is only possible before the first
5561           Read(). If @ctxt is None, then RelaxNG schema validation is
5562            deactivated. """
5563         if reader is None: reader__o = None
5564         else: reader__o = reader._o
5565         ret = libxml2mod.xmlTextReaderRelaxNGValidateCtxt(reader__o, self._o, options)
5566         return ret
5567
5568 class SchemaParserCtxt:
5569     def __init__(self, _obj=None):
5570         if _obj != None:self._o = _obj;return
5571         self._o = None
5572
5573     def __del__(self):
5574         if self._o != None:
5575             libxml2mod.xmlSchemaFreeParserCtxt(self._o)
5576         self._o = None
5577
5578     #
5579     # SchemaParserCtxt functions from module xmlschemas
5580     #
5581
5582     def schemaParse(self):
5583         """parse a schema definition resource and build an internal
5584            XML Shema struture which can be used to validate instances. """
5585         ret = libxml2mod.xmlSchemaParse(self._o)
5586         if ret is None:raise parserError('xmlSchemaParse() failed')
5587         __tmp = Schema(_obj=ret)
5588         return __tmp
5589
5590 class Schema:
5591     def __init__(self, _obj=None):
5592         if _obj != None:self._o = _obj;return
5593         self._o = None
5594
5595     def __del__(self):
5596         if self._o != None:
5597             libxml2mod.xmlSchemaFree(self._o)
5598         self._o = None
5599
5600     #
5601     # Schema functions from module xmlreader
5602     #
5603
5604     def SetSchema(self, reader):
5605         """Use XSD Schema to validate the document as it is processed.
5606           Activation is only possible before the first Read(). if
5607           @schema is None, then Schema validation is desactivated. @
5608           The @schema should not be freed until the reader is
5609            deallocated or its use has been deactivated. """
5610         if reader is None: reader__o = None
5611         else: reader__o = reader._o
5612         ret = libxml2mod.xmlTextReaderSetSchema(reader__o, self._o)
5613         return ret
5614
5615     #
5616     # Schema functions from module xmlschemas
5617     #
5618
5619     def schemaDump(self, output):
5620         """Dump a Schema structure. """
5621         libxml2mod.xmlSchemaDump(output, self._o)
5622
5623     def schemaNewValidCtxt(self):
5624         """Create an XML Schemas validation context based on the given
5625            schema. """
5626         ret = libxml2mod.xmlSchemaNewValidCtxt(self._o)
5627         if ret is None:raise treeError('xmlSchemaNewValidCtxt() failed')
5628         __tmp = SchemaValidCtxt(_obj=ret)
5629         __tmp.schema = self
5630         return __tmp
5631
5632 class SchemaValidCtxt(SchemaValidCtxtCore):
5633     def __init__(self, _obj=None):
5634         self.schema = None
5635         self._o = _obj
5636         SchemaValidCtxtCore.__init__(self, _obj=_obj)
5637
5638     def __del__(self):
5639         if self._o != None:
5640             libxml2mod.xmlSchemaFreeValidCtxt(self._o)
5641         self._o = None
5642
5643     #
5644     # SchemaValidCtxt functions from module xmlreader
5645     #
5646
5647     def SchemaValidateCtxt(self, reader, options):
5648         """Use W3C XSD schema context to validate the document as it
5649           is processed. Activation is only possible before the first
5650           Read(). If @ctxt is None, then XML Schema validation is
5651            deactivated. """
5652         if reader is None: reader__o = None
5653         else: reader__o = reader._o
5654         ret = libxml2mod.xmlTextReaderSchemaValidateCtxt(reader__o, self._o, options)
5655         return ret
5656
5657     #
5658     # SchemaValidCtxt functions from module xmlschemas
5659     #
5660
5661     def schemaIsValid(self):
5662         """Check if any error was detected during validation. """
5663         ret = libxml2mod.xmlSchemaIsValid(self._o)
5664         return ret
5665
5666     def schemaSetValidOptions(self, options):
5667         """Sets the options to be used during the validation. """
5668         ret = libxml2mod.xmlSchemaSetValidOptions(self._o, options)
5669         return ret
5670
5671     def schemaValidCtxtGetOptions(self):
5672         """Get the validation context options. """
5673         ret = libxml2mod.xmlSchemaValidCtxtGetOptions(self._o)
5674         return ret
5675
5676     def schemaValidCtxtGetParserCtxt(self):
5677         """allow access to the parser context of the schema validation
5678            context """
5679         ret = libxml2mod.xmlSchemaValidCtxtGetParserCtxt(self._o)
5680         if ret is None:raise parserError('xmlSchemaValidCtxtGetParserCtxt() failed')
5681         __tmp = parserCtxt(_obj=ret)
5682         return __tmp
5683
5684     def schemaValidateDoc(self, doc):
5685         """Validate a document tree in memory. """
5686         if doc is None: doc__o = None
5687         else: doc__o = doc._o
5688         ret = libxml2mod.xmlSchemaValidateDoc(self._o, doc__o)
5689         return ret
5690
5691     def schemaValidateFile(self, filename, options):
5692         """Do a schemas validation of the given resource, it will use
5693            the SAX streamable validation internally. """
5694         ret = libxml2mod.xmlSchemaValidateFile(self._o, filename, options)
5695         return ret
5696
5697     def schemaValidateOneElement(self, elem):
5698         """Validate a branch of a tree, starting with the given @elem. """
5699         if elem is None: elem__o = None
5700         else: elem__o = elem._o
5701         ret = libxml2mod.xmlSchemaValidateOneElement(self._o, elem__o)
5702         return ret
5703
5704     def schemaValidateSetFilename(self, filename):
5705         """Workaround to provide file error reporting information when
5706            this is not provided by current APIs """
5707         libxml2mod.xmlSchemaValidateSetFilename(self._o, filename)
5708
5709 class xmlTextReaderLocator:
5710     def __init__(self, _obj=None):
5711         if _obj != None:self._o = _obj;return
5712         self._o = None
5713
5714     #
5715     # xmlTextReaderLocator functions from module xmlreader
5716     #
5717
5718     def BaseURI(self):
5719         """Obtain the base URI for the given locator. """
5720         ret = libxml2mod.xmlTextReaderLocatorBaseURI(self._o)
5721         return ret
5722
5723     def LineNumber(self):
5724         """Obtain the line number for the given locator. """
5725         ret = libxml2mod.xmlTextReaderLocatorLineNumber(self._o)
5726         return ret
5727
5728 class xmlTextReader(xmlTextReaderCore):
5729     def __init__(self, _obj=None):
5730         self.input = None
5731         self._o = _obj
5732         xmlTextReaderCore.__init__(self, _obj=_obj)
5733
5734     def __del__(self):
5735         if self._o != None:
5736             libxml2mod.xmlFreeTextReader(self._o)
5737         self._o = None
5738
5739     #
5740     # xmlTextReader functions from module xmlreader
5741     #
5742
5743     def AttributeCount(self):
5744         """Provides the number of attributes of the current node """
5745         ret = libxml2mod.xmlTextReaderAttributeCount(self._o)
5746         return ret
5747
5748     def BaseUri(self):
5749         """The base URI of the node. """
5750         ret = libxml2mod.xmlTextReaderConstBaseUri(self._o)
5751         return ret
5752
5753     def ByteConsumed(self):
5754         """This function provides the current index of the parser used
5755           by the reader, relative to the start of the current entity.
5756           This function actually just wraps a call to
5757           xmlBytesConsumed() for the parser context associated with
5758            the reader. See xmlBytesConsumed() for more information. """
5759         ret = libxml2mod.xmlTextReaderByteConsumed(self._o)
5760         return ret
5761
5762     def Close(self):
5763         """This method releases any resources allocated by the current
5764           instance changes the state to Closed and close any
5765            underlying input. """
5766         ret = libxml2mod.xmlTextReaderClose(self._o)
5767         return ret
5768
5769     def CurrentDoc(self):
5770         """Hacking interface allowing to get the xmlDocPtr
5771           correponding to the current document being accessed by the
5772           xmlTextReader. NOTE: as a result of this call, the reader
5773           will not destroy the associated XML document and calling
5774           xmlFreeDoc() on the result is needed once the reader
5775            parsing has finished. """
5776         ret = libxml2mod.xmlTextReaderCurrentDoc(self._o)
5777         if ret is None:raise treeError('xmlTextReaderCurrentDoc() failed')
5778         __tmp = xmlDoc(_obj=ret)
5779         return __tmp
5780
5781     def CurrentNode(self):
5782         """Hacking interface allowing to get the xmlNodePtr
5783           correponding to the current node being accessed by the
5784           xmlTextReader. This is dangerous because the underlying
5785            node may be destroyed on the next Reads. """
5786         ret = libxml2mod.xmlTextReaderCurrentNode(self._o)
5787         if ret is None:raise treeError('xmlTextReaderCurrentNode() failed')
5788         __tmp = xmlNode(_obj=ret)
5789         return __tmp
5790
5791     def Depth(self):
5792         """The depth of the node in the tree. """
5793         ret = libxml2mod.xmlTextReaderDepth(self._o)
5794         return ret
5795
5796     def Encoding(self):
5797         """Determine the encoding of the document being read. """
5798         ret = libxml2mod.xmlTextReaderConstEncoding(self._o)
5799         return ret
5800
5801     def Expand(self):
5802         """Reads the contents of the current node and the full
5803           subtree. It then makes the subtree available until the next
5804            xmlTextReaderRead() call """
5805         ret = libxml2mod.xmlTextReaderExpand(self._o)
5806         if ret is None:raise treeError('xmlTextReaderExpand() failed')
5807         __tmp = xmlNode(_obj=ret)
5808         return __tmp
5809
5810     def GetAttribute(self, name):
5811         """Provides the value of the attribute with the specified
5812            qualified name. """
5813         ret = libxml2mod.xmlTextReaderGetAttribute(self._o, name)
5814         return ret
5815
5816     def GetAttributeNo(self, no):
5817         """Provides the value of the attribute with the specified
5818            index relative to the containing element. """
5819         ret = libxml2mod.xmlTextReaderGetAttributeNo(self._o, no)
5820         return ret
5821
5822     def GetAttributeNs(self, localName, namespaceURI):
5823         """Provides the value of the specified attribute """
5824         ret = libxml2mod.xmlTextReaderGetAttributeNs(self._o, localName, namespaceURI)
5825         return ret
5826
5827     def GetParserColumnNumber(self):
5828         """Provide the column number of the current parsing point. """
5829         ret = libxml2mod.xmlTextReaderGetParserColumnNumber(self._o)
5830         return ret
5831
5832     def GetParserLineNumber(self):
5833         """Provide the line number of the current parsing point. """
5834         ret = libxml2mod.xmlTextReaderGetParserLineNumber(self._o)
5835         return ret
5836
5837     def GetParserProp(self, prop):
5838         """Read the parser internal property. """
5839         ret = libxml2mod.xmlTextReaderGetParserProp(self._o, prop)
5840         return ret
5841
5842     def GetRemainder(self):
5843         """Method to get the remainder of the buffered XML. this
5844           method stops the parser, set its state to End Of File and
5845           return the input stream with what is left that the parser
5846           did not use.  The implementation is not good, the parser
5847           certainly procgressed past what's left in reader->input,
5848           and there is an allocation problem. Best would be to
5849            rewrite it differently. """
5850         ret = libxml2mod.xmlTextReaderGetRemainder(self._o)
5851         if ret is None:raise treeError('xmlTextReaderGetRemainder() failed')
5852         __tmp = inputBuffer(_obj=ret)
5853         return __tmp
5854
5855     def HasAttributes(self):
5856         """Whether the node has attributes. """
5857         ret = libxml2mod.xmlTextReaderHasAttributes(self._o)
5858         return ret
5859
5860     def HasValue(self):
5861         """Whether the node can have a text value. """
5862         ret = libxml2mod.xmlTextReaderHasValue(self._o)
5863         return ret
5864
5865     def IsDefault(self):
5866         """Whether an Attribute  node was generated from the default
5867            value defined in the DTD or schema. """
5868         ret = libxml2mod.xmlTextReaderIsDefault(self._o)
5869         return ret
5870
5871     def IsEmptyElement(self):
5872         """Check if the current node is empty """
5873         ret = libxml2mod.xmlTextReaderIsEmptyElement(self._o)
5874         return ret
5875
5876     def IsNamespaceDecl(self):
5877         """Determine whether the current node is a namespace
5878            declaration rather than a regular attribute. """
5879         ret = libxml2mod.xmlTextReaderIsNamespaceDecl(self._o)
5880         return ret
5881
5882     def IsValid(self):
5883         """Retrieve the validity status from the parser context """
5884         ret = libxml2mod.xmlTextReaderIsValid(self._o)
5885         return ret
5886
5887     def LocalName(self):
5888         """The local name of the node. """
5889         ret = libxml2mod.xmlTextReaderConstLocalName(self._o)
5890         return ret
5891
5892     def LookupNamespace(self, prefix):
5893         """Resolves a namespace prefix in the scope of the current
5894            element. """
5895         ret = libxml2mod.xmlTextReaderLookupNamespace(self._o, prefix)
5896         return ret
5897
5898     def MoveToAttribute(self, name):
5899         """Moves the position of the current instance to the attribute
5900            with the specified qualified name. """
5901         ret = libxml2mod.xmlTextReaderMoveToAttribute(self._o, name)
5902         return ret
5903
5904     def MoveToAttributeNo(self, no):
5905         """Moves the position of the current instance to the attribute
5906           with the specified index relative to the containing element. """
5907         ret = libxml2mod.xmlTextReaderMoveToAttributeNo(self._o, no)
5908         return ret
5909
5910     def MoveToAttributeNs(self, localName, namespaceURI):
5911         """Moves the position of the current instance to the attribute
5912            with the specified local name and namespace URI. """
5913         ret = libxml2mod.xmlTextReaderMoveToAttributeNs(self._o, localName, namespaceURI)
5914         return ret
5915
5916     def MoveToElement(self):
5917         """Moves the position of the current instance to the node that
5918            contains the current Attribute  node. """
5919         ret = libxml2mod.xmlTextReaderMoveToElement(self._o)
5920         return ret
5921
5922     def MoveToFirstAttribute(self):
5923         """Moves the position of the current instance to the first
5924            attribute associated with the current node. """
5925         ret = libxml2mod.xmlTextReaderMoveToFirstAttribute(self._o)
5926         return ret
5927
5928     def MoveToNextAttribute(self):
5929         """Moves the position of the current instance to the next
5930            attribute associated with the current node. """
5931         ret = libxml2mod.xmlTextReaderMoveToNextAttribute(self._o)
5932         return ret
5933
5934     def Name(self):
5935         """The qualified name of the node, equal to Prefix :LocalName. """
5936         ret = libxml2mod.xmlTextReaderConstName(self._o)
5937         return ret
5938
5939     def NamespaceUri(self):
5940         """The URI defining the namespace associated with the node. """
5941         ret = libxml2mod.xmlTextReaderConstNamespaceUri(self._o)
5942         return ret
5943
5944     def NewDoc(self, cur, URL, encoding, options):
5945         """Setup an xmltextReader to parse an XML in-memory document.
5946           The parsing flags @options are a combination of
5947           xmlParserOption. This reuses the existing @reader
5948            xmlTextReader. """
5949         ret = libxml2mod.xmlReaderNewDoc(self._o, cur, URL, encoding, options)
5950         return ret
5951
5952     def NewFd(self, fd, URL, encoding, options):
5953         """Setup an xmltextReader to parse an XML from a file
5954           descriptor. NOTE that the file descriptor will not be
5955           closed when the reader is closed or reset. The parsing
5956           flags @options are a combination of xmlParserOption. This
5957            reuses the existing @reader xmlTextReader. """
5958         ret = libxml2mod.xmlReaderNewFd(self._o, fd, URL, encoding, options)
5959         return ret
5960
5961     def NewFile(self, filename, encoding, options):
5962         """parse an XML file from the filesystem or the network. The
5963           parsing flags @options are a combination of
5964           xmlParserOption. This reuses the existing @reader
5965            xmlTextReader. """
5966         ret = libxml2mod.xmlReaderNewFile(self._o, filename, encoding, options)
5967         return ret
5968
5969     def NewMemory(self, buffer, size, URL, encoding, options):
5970         """Setup an xmltextReader to parse an XML in-memory document.
5971           The parsing flags @options are a combination of
5972           xmlParserOption. This reuses the existing @reader
5973            xmlTextReader. """
5974         ret = libxml2mod.xmlReaderNewMemory(self._o, buffer, size, URL, encoding, options)
5975         return ret
5976
5977     def NewWalker(self, doc):
5978         """Setup an xmltextReader to parse a preparsed XML document.
5979            This reuses the existing @reader xmlTextReader. """
5980         if doc is None: doc__o = None
5981         else: doc__o = doc._o
5982         ret = libxml2mod.xmlReaderNewWalker(self._o, doc__o)
5983         return ret
5984
5985     def Next(self):
5986         """Skip to the node following the current one in document
5987            order while avoiding the subtree if any. """
5988         ret = libxml2mod.xmlTextReaderNext(self._o)
5989         return ret
5990
5991     def NextSibling(self):
5992         """Skip to the node following the current one in document
5993           order while avoiding the subtree if any. Currently
5994            implemented only for Readers built on a document """
5995         ret = libxml2mod.xmlTextReaderNextSibling(self._o)
5996         return ret
5997
5998     def NodeType(self):
5999         """Get the node type of the current node Reference:
6000           http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/Xm
6001           lNodeType.html """
6002         ret = libxml2mod.xmlTextReaderNodeType(self._o)
6003         return ret
6004
6005     def Normalization(self):
6006         """The value indicating whether to normalize white space and
6007           attribute values. Since attribute value and end of line
6008           normalizations are a MUST in the XML specification only the
6009           value true is accepted. The broken bahaviour of accepting
6010           out of range character entities like &#0; is of course not
6011            supported either. """
6012         ret = libxml2mod.xmlTextReaderNormalization(self._o)
6013         return ret
6014
6015     def Prefix(self):
6016         """A shorthand reference to the namespace associated with the
6017            node. """
6018         ret = libxml2mod.xmlTextReaderConstPrefix(self._o)
6019         return ret
6020
6021     def Preserve(self):
6022         """This tells the XML Reader to preserve the current node. The
6023           caller must also use xmlTextReaderCurrentDoc() to keep an
6024            handle on the resulting document once parsing has finished """
6025         ret = libxml2mod.xmlTextReaderPreserve(self._o)
6026         if ret is None:raise treeError('xmlTextReaderPreserve() failed')
6027         __tmp = xmlNode(_obj=ret)
6028         return __tmp
6029
6030     def QuoteChar(self):
6031         """The quotation mark character used to enclose the value of
6032            an attribute. """
6033         ret = libxml2mod.xmlTextReaderQuoteChar(self._o)
6034         return ret
6035
6036     def Read(self):
6037         """Moves the position of the current instance to the next node
6038            in the stream, exposing its properties. """
6039         ret = libxml2mod.xmlTextReaderRead(self._o)
6040         return ret
6041
6042     def ReadAttributeValue(self):
6043         """Parses an attribute value into one or more Text and
6044            EntityReference nodes. """
6045         ret = libxml2mod.xmlTextReaderReadAttributeValue(self._o)
6046         return ret
6047
6048     def ReadInnerXml(self):
6049         """Reads the contents of the current node, including child
6050            nodes and markup. """
6051         ret = libxml2mod.xmlTextReaderReadInnerXml(self._o)
6052         return ret
6053
6054     def ReadOuterXml(self):
6055         """Reads the contents of the current node, including child
6056            nodes and markup. """
6057         ret = libxml2mod.xmlTextReaderReadOuterXml(self._o)
6058         return ret
6059
6060     def ReadState(self):
6061         """Gets the read state of the reader. """
6062         ret = libxml2mod.xmlTextReaderReadState(self._o)
6063         return ret
6064
6065     def ReadString(self):
6066         """Reads the contents of an element or a text node as a string. """
6067         ret = libxml2mod.xmlTextReaderReadString(self._o)
6068         return ret
6069
6070     def RelaxNGSetSchema(self, schema):
6071         """Use RelaxNG to validate the document as it is processed.
6072           Activation is only possible before the first Read(). if
6073           @schema is None, then RelaxNG validation is desactivated. @
6074           The @schema should not be freed until the reader is
6075            deallocated or its use has been deactivated. """
6076         if schema is None: schema__o = None
6077         else: schema__o = schema._o
6078         ret = libxml2mod.xmlTextReaderRelaxNGSetSchema(self._o, schema__o)
6079         return ret
6080
6081     def RelaxNGValidate(self, rng):
6082         """Use RelaxNG schema to validate the document as it is
6083           processed. Activation is only possible before the first
6084           Read(). If @rng is None, then RelaxNG schema validation is
6085            deactivated. """
6086         ret = libxml2mod.xmlTextReaderRelaxNGValidate(self._o, rng)
6087         return ret
6088
6089     def RelaxNGValidateCtxt(self, ctxt, options):
6090         """Use RelaxNG schema context to validate the document as it
6091           is processed. Activation is only possible before the first
6092           Read(). If @ctxt is None, then RelaxNG schema validation is
6093            deactivated. """
6094         if ctxt is None: ctxt__o = None
6095         else: ctxt__o = ctxt._o
6096         ret = libxml2mod.xmlTextReaderRelaxNGValidateCtxt(self._o, ctxt__o, options)
6097         return ret
6098
6099     def SchemaValidate(self, xsd):
6100         """Use W3C XSD schema to validate the document as it is
6101           processed. Activation is only possible before the first
6102           Read(). If @xsd is None, then XML Schema validation is
6103            deactivated. """
6104         ret = libxml2mod.xmlTextReaderSchemaValidate(self._o, xsd)
6105         return ret
6106
6107     def SchemaValidateCtxt(self, ctxt, options):
6108         """Use W3C XSD schema context to validate the document as it
6109           is processed. Activation is only possible before the first
6110           Read(). If @ctxt is None, then XML Schema validation is
6111            deactivated. """
6112         if ctxt is None: ctxt__o = None
6113         else: ctxt__o = ctxt._o
6114         ret = libxml2mod.xmlTextReaderSchemaValidateCtxt(self._o, ctxt__o, options)
6115         return ret
6116
6117     def SetParserProp(self, prop, value):
6118         """Change the parser processing behaviour by changing some of
6119           its internal properties. Note that some properties can only
6120            be changed before any read has been done. """
6121         ret = libxml2mod.xmlTextReaderSetParserProp(self._o, prop, value)
6122         return ret
6123
6124     def SetSchema(self, schema):
6125         """Use XSD Schema to validate the document as it is processed.
6126           Activation is only possible before the first Read(). if
6127           @schema is None, then Schema validation is desactivated. @
6128           The @schema should not be freed until the reader is
6129            deallocated or its use has been deactivated. """
6130         if schema is None: schema__o = None
6131         else: schema__o = schema._o
6132         ret = libxml2mod.xmlTextReaderSetSchema(self._o, schema__o)
6133         return ret
6134
6135     def Setup(self, input, URL, encoding, options):
6136         """Setup an XML reader with new options """
6137         if input is None: input__o = None
6138         else: input__o = input._o
6139         ret = libxml2mod.xmlTextReaderSetup(self._o, input__o, URL, encoding, options)
6140         return ret
6141
6142     def Standalone(self):
6143         """Determine the standalone status of the document being read. """
6144         ret = libxml2mod.xmlTextReaderStandalone(self._o)
6145         return ret
6146
6147     def String(self, str):
6148         """Get an interned string from the reader, allows for example
6149            to speedup string name comparisons """
6150         ret = libxml2mod.xmlTextReaderConstString(self._o, str)
6151         return ret
6152
6153     def Value(self):
6154         """Provides the text value of the node if present """
6155         ret = libxml2mod.xmlTextReaderConstValue(self._o)
6156         return ret
6157
6158     def XmlLang(self):
6159         """The xml:lang scope within which the node resides. """
6160         ret = libxml2mod.xmlTextReaderConstXmlLang(self._o)
6161         return ret
6162
6163     def XmlVersion(self):
6164         """Determine the XML version of the document being read. """
6165         ret = libxml2mod.xmlTextReaderConstXmlVersion(self._o)
6166         return ret
6167
6168 class URI:
6169     def __init__(self, _obj=None):
6170         if _obj != None:self._o = _obj;return
6171         self._o = None
6172
6173     def __del__(self):
6174         if self._o != None:
6175             libxml2mod.xmlFreeURI(self._o)
6176         self._o = None
6177
6178     # accessors for URI
6179     def authority(self):
6180         """Get the authority part from an URI """
6181         ret = libxml2mod.xmlURIGetAuthority(self._o)
6182         return ret
6183
6184     def fragment(self):
6185         """Get the fragment part from an URI """
6186         ret = libxml2mod.xmlURIGetFragment(self._o)
6187         return ret
6188
6189     def opaque(self):
6190         """Get the opaque part from an URI """
6191         ret = libxml2mod.xmlURIGetOpaque(self._o)
6192         return ret
6193
6194     def path(self):
6195         """Get the path part from an URI """
6196         ret = libxml2mod.xmlURIGetPath(self._o)
6197         return ret
6198
6199     def port(self):
6200         """Get the port part from an URI """
6201         ret = libxml2mod.xmlURIGetPort(self._o)
6202         return ret
6203
6204     def query(self):
6205         """Get the query part from an URI """
6206         ret = libxml2mod.xmlURIGetQuery(self._o)
6207         return ret
6208
6209     def queryRaw(self):
6210         """Get the raw query part from an URI (i.e. the unescaped
6211            form). """
6212         ret = libxml2mod.xmlURIGetQueryRaw(self._o)
6213         return ret
6214
6215     def scheme(self):
6216         """Get the scheme part from an URI """
6217         ret = libxml2mod.xmlURIGetScheme(self._o)
6218         return ret
6219
6220     def server(self):
6221         """Get the server part from an URI """
6222         ret = libxml2mod.xmlURIGetServer(self._o)
6223         return ret
6224
6225     def setAuthority(self, authority):
6226         """Set the authority part of an URI. """
6227         libxml2mod.xmlURISetAuthority(self._o, authority)
6228
6229     def setFragment(self, fragment):
6230         """Set the fragment part of an URI. """
6231         libxml2mod.xmlURISetFragment(self._o, fragment)
6232
6233     def setOpaque(self, opaque):
6234         """Set the opaque part of an URI. """
6235         libxml2mod.xmlURISetOpaque(self._o, opaque)
6236
6237     def setPath(self, path):
6238         """Set the path part of an URI. """
6239         libxml2mod.xmlURISetPath(self._o, path)
6240
6241     def setPort(self, port):
6242         """Set the port part of an URI. """
6243         libxml2mod.xmlURISetPort(self._o, port)
6244
6245     def setQuery(self, query):
6246         """Set the query part of an URI. """
6247         libxml2mod.xmlURISetQuery(self._o, query)
6248
6249     def setQueryRaw(self, query_raw):
6250         """Set the raw query part of an URI (i.e. the unescaped form). """
6251         libxml2mod.xmlURISetQueryRaw(self._o, query_raw)
6252
6253     def setScheme(self, scheme):
6254         """Set the scheme part of an URI. """
6255         libxml2mod.xmlURISetScheme(self._o, scheme)
6256
6257     def setServer(self, server):
6258         """Set the server part of an URI. """
6259         libxml2mod.xmlURISetServer(self._o, server)
6260
6261     def setUser(self, user):
6262         """Set the user part of an URI. """
6263         libxml2mod.xmlURISetUser(self._o, user)
6264
6265     def user(self):
6266         """Get the user part from an URI """
6267         ret = libxml2mod.xmlURIGetUser(self._o)
6268         return ret
6269
6270     #
6271     # URI functions from module uri
6272     #
6273
6274     def parseURIReference(self, str):
6275         """Parse an URI reference string based on RFC 3986 and fills
6276           in the appropriate fields of the @uri structure 
6277            URI-reference = URI / relative-ref """
6278         ret = libxml2mod.xmlParseURIReference(self._o, str)
6279         return ret
6280
6281     def printURI(self, stream):
6282         """Prints the URI in the stream @stream. """
6283         libxml2mod.xmlPrintURI(stream, self._o)
6284
6285     def saveUri(self):
6286         """Save the URI as an escaped string """
6287         ret = libxml2mod.xmlSaveUri(self._o)
6288         return ret
6289
6290 class ValidCtxt(ValidCtxtCore):
6291     def __init__(self, _obj=None):
6292         self._o = _obj
6293         ValidCtxtCore.__init__(self, _obj=_obj)
6294
6295     def __del__(self):
6296         if self._o != None:
6297             libxml2mod.xmlFreeValidCtxt(self._o)
6298         self._o = None
6299
6300     #
6301     # ValidCtxt functions from module valid
6302     #
6303
6304     def validCtxtNormalizeAttributeValue(self, doc, elem, name, value):
6305         """Does the validation related extra step of the normalization
6306           of attribute values:  If the declared value is not CDATA,
6307           then the XML processor must further process the normalized
6308           attribute value by discarding any leading and trailing
6309           space (#x20) characters, and by replacing sequences of
6310           space (#x20) characters by single space (#x20) character. 
6311           Also  check VC: Standalone Document Declaration in P32, and
6312            update ctxt->valid accordingly """
6313         if doc is None: doc__o = None
6314         else: doc__o = doc._o
6315         if elem is None: elem__o = None
6316         else: elem__o = elem._o
6317         ret = libxml2mod.xmlValidCtxtNormalizeAttributeValue(self._o, doc__o, elem__o, name, value)
6318         return ret
6319
6320     def validateDocument(self, doc):
6321         """Try to validate the document instance  basically it does
6322           the all the checks described by the XML Rec i.e. validates
6323           the internal and external subset (if present) and validate
6324            the document tree. """
6325         if doc is None: doc__o = None
6326         else: doc__o = doc._o
6327         ret = libxml2mod.xmlValidateDocument(self._o, doc__o)
6328         return ret
6329
6330     def validateDocumentFinal(self, doc):
6331         """Does the final step for the document validation once all
6332           the incremental validation steps have been completed 
6333           basically it does the following checks described by the XML
6334           Rec  Check all the IDREF/IDREFS attributes definition for
6335            validity """
6336         if doc is None: doc__o = None
6337         else: doc__o = doc._o
6338         ret = libxml2mod.xmlValidateDocumentFinal(self._o, doc__o)
6339         return ret
6340
6341     def validateDtd(self, doc, dtd):
6342         """Try to validate the document against the dtd instance 
6343           Basically it does check all the definitions in the DtD.
6344           Note the the internal subset (if present) is de-coupled
6345           (i.e. not used), which could give problems if ID or IDREF
6346            is present. """
6347         if doc is None: doc__o = None
6348         else: doc__o = doc._o
6349         if dtd is None: dtd__o = None
6350         else: dtd__o = dtd._o
6351         ret = libxml2mod.xmlValidateDtd(self._o, doc__o, dtd__o)
6352         return ret
6353
6354     def validateDtdFinal(self, doc):
6355         """Does the final step for the dtds validation once all the
6356           subsets have been parsed  basically it does the following
6357           checks described by the XML Rec - check that ENTITY and
6358           ENTITIES type attributes default or possible values matches
6359           one of the defined entities. - check that NOTATION type
6360           attributes default or possible values matches one of the
6361            defined notations. """
6362         if doc is None: doc__o = None
6363         else: doc__o = doc._o
6364         ret = libxml2mod.xmlValidateDtdFinal(self._o, doc__o)
6365         return ret
6366
6367     def validateElement(self, doc, elem):
6368         """Try to validate the subtree under an element """
6369         if doc is None: doc__o = None
6370         else: doc__o = doc._o
6371         if elem is None: elem__o = None
6372         else: elem__o = elem._o
6373         ret = libxml2mod.xmlValidateElement(self._o, doc__o, elem__o)
6374         return ret
6375
6376     def validateNotationUse(self, doc, notationName):
6377         """Validate that the given name match a notation declaration.
6378            - [ VC: Notation Declared ] """
6379         if doc is None: doc__o = None
6380         else: doc__o = doc._o
6381         ret = libxml2mod.xmlValidateNotationUse(self._o, doc__o, notationName)
6382         return ret
6383
6384     def validateOneAttribute(self, doc, elem, attr, value):
6385         """Try to validate a single attribute for an element basically
6386           it does the following checks as described by the XML-1.0
6387           recommendation: - [ VC: Attribute Value Type ] - [ VC:
6388           Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC:
6389           Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity
6390           Name ] - [ VC: Notation Attributes ]  The ID/IDREF
6391            uniqueness and matching are done separately """
6392         if doc is None: doc__o = None
6393         else: doc__o = doc._o
6394         if elem is None: elem__o = None
6395         else: elem__o = elem._o
6396         if attr is None: attr__o = None
6397         else: attr__o = attr._o
6398         ret = libxml2mod.xmlValidateOneAttribute(self._o, doc__o, elem__o, attr__o, value)
6399         return ret
6400
6401     def validateOneElement(self, doc, elem):
6402         """Try to validate a single element and it's attributes,
6403           basically it does the following checks as described by the
6404           XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC:
6405           Required Attribute ] Then call xmlValidateOneAttribute()
6406           for each attribute present.  The ID/IDREF checkings are
6407            done separately """
6408         if doc is None: doc__o = None
6409         else: doc__o = doc._o
6410         if elem is None: elem__o = None
6411         else: elem__o = elem._o
6412         ret = libxml2mod.xmlValidateOneElement(self._o, doc__o, elem__o)
6413         return ret
6414
6415     def validateOneNamespace(self, doc, elem, prefix, ns, value):
6416         """Try to validate a single namespace declaration for an
6417           element basically it does the following checks as described
6418           by the XML-1.0 recommendation: - [ VC: Attribute Value Type
6419           ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] -
6420           [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC:
6421           Entity Name ] - [ VC: Notation Attributes ]  The ID/IDREF
6422            uniqueness and matching are done separately """
6423         if doc is None: doc__o = None
6424         else: doc__o = doc._o
6425         if elem is None: elem__o = None
6426         else: elem__o = elem._o
6427         if ns is None: ns__o = None
6428         else: ns__o = ns._o
6429         ret = libxml2mod.xmlValidateOneNamespace(self._o, doc__o, elem__o, prefix, ns__o, value)
6430         return ret
6431
6432     def validatePopElement(self, doc, elem, qname):
6433         """Pop the element end from the validation stack. """
6434         if doc is None: doc__o = None
6435         else: doc__o = doc._o
6436         if elem is None: elem__o = None
6437         else: elem__o = elem._o
6438         ret = libxml2mod.xmlValidatePopElement(self._o, doc__o, elem__o, qname)
6439         return ret
6440
6441     def validatePushCData(self, data, len):
6442         """check the CData parsed for validation in the current stack """
6443         ret = libxml2mod.xmlValidatePushCData(self._o, data, len)
6444         return ret
6445
6446     def validatePushElement(self, doc, elem, qname):
6447         """Push a new element start on the validation stack. """
6448         if doc is None: doc__o = None
6449         else: doc__o = doc._o
6450         if elem is None: elem__o = None
6451         else: elem__o = elem._o
6452         ret = libxml2mod.xmlValidatePushElement(self._o, doc__o, elem__o, qname)
6453         return ret
6454
6455     def validateRoot(self, doc):
6456         """Try to validate a the root element basically it does the
6457           following check as described by the XML-1.0 recommendation:
6458           - [ VC: Root Element Type ] it doesn't try to recurse or
6459            apply other check to the element """
6460         if doc is None: doc__o = None
6461         else: doc__o = doc._o
6462         ret = libxml2mod.xmlValidateRoot(self._o, doc__o)
6463         return ret
6464
6465 class xpathContext:
6466     def __init__(self, _obj=None):
6467         if _obj != None:self._o = _obj;return
6468         self._o = None
6469
6470     # accessors for xpathContext
6471     def contextDoc(self):
6472         """Get the doc from an xpathContext """
6473         ret = libxml2mod.xmlXPathGetContextDoc(self._o)
6474         if ret is None:raise xpathError('xmlXPathGetContextDoc() failed')
6475         __tmp = xmlDoc(_obj=ret)
6476         return __tmp
6477
6478     def contextNode(self):
6479         """Get the current node from an xpathContext """
6480         ret = libxml2mod.xmlXPathGetContextNode(self._o)
6481         if ret is None:raise xpathError('xmlXPathGetContextNode() failed')
6482         __tmp = xmlNode(_obj=ret)
6483         return __tmp
6484
6485     def contextPosition(self):
6486         """Get the current node from an xpathContext """
6487         ret = libxml2mod.xmlXPathGetContextPosition(self._o)
6488         return ret
6489
6490     def contextSize(self):
6491         """Get the current node from an xpathContext """
6492         ret = libxml2mod.xmlXPathGetContextSize(self._o)
6493         return ret
6494
6495     def function(self):
6496         """Get the current function name xpathContext """
6497         ret = libxml2mod.xmlXPathGetFunction(self._o)
6498         return ret
6499
6500     def functionURI(self):
6501         """Get the current function name URI xpathContext """
6502         ret = libxml2mod.xmlXPathGetFunctionURI(self._o)
6503         return ret
6504
6505     def setContextDoc(self, doc):
6506         """Set the doc of an xpathContext """
6507         if doc is None: doc__o = None
6508         else: doc__o = doc._o
6509         libxml2mod.xmlXPathSetContextDoc(self._o, doc__o)
6510
6511     def setContextNode(self, node):
6512         """Set the current node of an xpathContext """
6513         if node is None: node__o = None
6514         else: node__o = node._o
6515         libxml2mod.xmlXPathSetContextNode(self._o, node__o)
6516
6517     #
6518     # xpathContext functions from module python
6519     #
6520
6521     def registerXPathFunction(self, name, ns_uri, f):
6522         """Register a Python written function to the XPath interpreter """
6523         ret = libxml2mod.xmlRegisterXPathFunction(self._o, name, ns_uri, f)
6524         return ret
6525
6526     def xpathRegisterVariable(self, name, ns_uri, value):
6527         """Register a variable with the XPath context """
6528         ret = libxml2mod.xmlXPathRegisterVariable(self._o, name, ns_uri, value)
6529         return ret
6530
6531     #
6532     # xpathContext functions from module xpath
6533     #
6534
6535     def xpathContextSetCache(self, active, value, options):
6536         """Creates/frees an object cache on the XPath context. If
6537           activates XPath objects (xmlXPathObject) will be cached
6538           internally to be reused. @options: 0: This will set the
6539           XPath object caching: @value: This will set the maximum
6540           number of XPath objects to be cached per slot There are 5
6541           slots for: node-set, string, number, boolean, and misc
6542           objects. Use <0 for the default number (100). Other values
6543            for @options have currently no effect. """
6544         ret = libxml2mod.xmlXPathContextSetCache(self._o, active, value, options)
6545         return ret
6546
6547     def xpathEval(self, str):
6548         """Evaluate the XPath Location Path in the given context. """
6549         ret = libxml2mod.xmlXPathEval(str, self._o)
6550         if ret is None:raise xpathError('xmlXPathEval() failed')
6551         return xpathObjectRet(ret)
6552
6553     def xpathEvalExpression(self, str):
6554         """Evaluate the XPath expression in the given context. """
6555         ret = libxml2mod.xmlXPathEvalExpression(str, self._o)
6556         if ret is None:raise xpathError('xmlXPathEvalExpression() failed')
6557         return xpathObjectRet(ret)
6558
6559     def xpathFreeContext(self):
6560         """Free up an xmlXPathContext """
6561         libxml2mod.xmlXPathFreeContext(self._o)
6562
6563     #
6564     # xpathContext functions from module xpathInternals
6565     #
6566
6567     def xpathNewParserContext(self, str):
6568         """Create a new xmlXPathParserContext """
6569         ret = libxml2mod.xmlXPathNewParserContext(str, self._o)
6570         if ret is None:raise xpathError('xmlXPathNewParserContext() failed')
6571         __tmp = xpathParserContext(_obj=ret)
6572         return __tmp
6573
6574     def xpathNsLookup(self, prefix):
6575         """Search in the namespace declaration array of the context
6576            for the given namespace name associated to the given prefix """
6577         ret = libxml2mod.xmlXPathNsLookup(self._o, prefix)
6578         return ret
6579
6580     def xpathRegisterAllFunctions(self):
6581         """Registers all default XPath functions in this context """
6582         libxml2mod.xmlXPathRegisterAllFunctions(self._o)
6583
6584     def xpathRegisterNs(self, prefix, ns_uri):
6585         """Register a new namespace. If @ns_uri is None it unregisters
6586            the namespace """
6587         ret = libxml2mod.xmlXPathRegisterNs(self._o, prefix, ns_uri)
6588         return ret
6589
6590     def xpathRegisteredFuncsCleanup(self):
6591         """Cleanup the XPath context data associated to registered
6592            functions """
6593         libxml2mod.xmlXPathRegisteredFuncsCleanup(self._o)
6594
6595     def xpathRegisteredNsCleanup(self):
6596         """Cleanup the XPath context data associated to registered
6597            variables """
6598         libxml2mod.xmlXPathRegisteredNsCleanup(self._o)
6599
6600     def xpathRegisteredVariablesCleanup(self):
6601         """Cleanup the XPath context data associated to registered
6602            variables """
6603         libxml2mod.xmlXPathRegisteredVariablesCleanup(self._o)
6604
6605     def xpathVariableLookup(self, name):
6606         """Search in the Variable array of the context for the given
6607            variable value. """
6608         ret = libxml2mod.xmlXPathVariableLookup(self._o, name)
6609         if ret is None:raise xpathError('xmlXPathVariableLookup() failed')
6610         return xpathObjectRet(ret)
6611
6612     def xpathVariableLookupNS(self, name, ns_uri):
6613         """Search in the Variable array of the context for the given
6614            variable value. """
6615         ret = libxml2mod.xmlXPathVariableLookupNS(self._o, name, ns_uri)
6616         if ret is None:raise xpathError('xmlXPathVariableLookupNS() failed')
6617         return xpathObjectRet(ret)
6618
6619     #
6620     # xpathContext functions from module xpointer
6621     #
6622
6623     def xpointerEval(self, str):
6624         """Evaluate the XPath Location Path in the given context. """
6625         ret = libxml2mod.xmlXPtrEval(str, self._o)
6626         if ret is None:raise treeError('xmlXPtrEval() failed')
6627         return xpathObjectRet(ret)
6628
6629 class xpathParserContext:
6630     def __init__(self, _obj=None):
6631         if _obj != None:self._o = _obj;return
6632         self._o = None
6633
6634     # accessors for xpathParserContext
6635     def context(self):
6636         """Get the xpathContext from an xpathParserContext """
6637         ret = libxml2mod.xmlXPathParserGetContext(self._o)
6638         if ret is None:raise xpathError('xmlXPathParserGetContext() failed')
6639         __tmp = xpathContext(_obj=ret)
6640         return __tmp
6641
6642     #
6643     # xpathParserContext functions from module xpathInternals
6644     #
6645
6646     def xpathAddValues(self):
6647         """Implement the add operation on XPath objects: The numeric
6648           operators convert their operands to numbers as if by
6649            calling the number function. """
6650         libxml2mod.xmlXPathAddValues(self._o)
6651
6652     def xpathBooleanFunction(self, nargs):
6653         """Implement the boolean() XPath function boolean
6654           boolean(object) The boolean function converts its argument
6655           to a boolean as follows: - a number is true if and only if
6656           it is neither positive or negative zero nor NaN - a
6657           node-set is true if and only if it is non-empty - a string
6658            is true if and only if its length is non-zero """
6659         libxml2mod.xmlXPathBooleanFunction(self._o, nargs)
6660
6661     def xpathCeilingFunction(self, nargs):
6662         """Implement the ceiling() XPath function number
6663           ceiling(number) The ceiling function returns the smallest
6664           (closest to negative infinity) number that is not less than
6665            the argument and that is an integer. """
6666         libxml2mod.xmlXPathCeilingFunction(self._o, nargs)
6667
6668     def xpathCompareValues(self, inf, strict):
6669         """Implement the compare operation on XPath objects: @arg1 <
6670           @arg2    (1, 1, ... @arg1 <= @arg2   (1, 0, ... @arg1 >
6671           @arg2    (0, 1, ... @arg1 >= @arg2   (0, 0, ...  When
6672           neither object to be compared is a node-set and the
6673           operator is <=, <, >=, >, then the objects are compared by
6674           converted both objects to numbers and comparing the numbers
6675           according to IEEE 754. The < comparison will be true if and
6676           only if the first number is less than the second number.
6677           The <= comparison will be true if and only if the first
6678           number is less than or equal to the second number. The >
6679           comparison will be true if and only if the first number is
6680           greater than the second number. The >= comparison will be
6681           true if and only if the first number is greater than or
6682            equal to the second number. """
6683         ret = libxml2mod.xmlXPathCompareValues(self._o, inf, strict)
6684         return ret
6685
6686     def xpathConcatFunction(self, nargs):
6687         """Implement the concat() XPath function string concat(string,
6688           string, string*) The concat function returns the
6689            concatenation of its arguments. """
6690         libxml2mod.xmlXPathConcatFunction(self._o, nargs)
6691
6692     def xpathContainsFunction(self, nargs):
6693         """Implement the contains() XPath function boolean
6694           contains(string, string) The contains function returns true
6695           if the first argument string contains the second argument
6696            string, and otherwise returns false. """
6697         libxml2mod.xmlXPathContainsFunction(self._o, nargs)
6698
6699     def xpathCountFunction(self, nargs):
6700         """Implement the count() XPath function number count(node-set) """
6701         libxml2mod.xmlXPathCountFunction(self._o, nargs)
6702
6703     def xpathDivValues(self):
6704         """Implement the div operation on XPath objects @arg1 / @arg2:
6705           The numeric operators convert their operands to numbers as
6706            if by calling the number function. """
6707         libxml2mod.xmlXPathDivValues(self._o)
6708
6709     def xpathEqualValues(self):
6710         """Implement the equal operation on XPath objects content:
6711            @arg1 == @arg2 """
6712         ret = libxml2mod.xmlXPathEqualValues(self._o)
6713         return ret
6714
6715     def xpathErr(self, error):
6716         """Handle an XPath error """
6717         libxml2mod.xmlXPathErr(self._o, error)
6718
6719     def xpathEvalExpr(self):
6720         """Parse and evaluate an XPath expression in the given
6721            context, then push the result on the context stack """
6722         libxml2mod.xmlXPathEvalExpr(self._o)
6723
6724     def xpathFalseFunction(self, nargs):
6725         """Implement the false() XPath function boolean false() """
6726         libxml2mod.xmlXPathFalseFunction(self._o, nargs)
6727
6728     def xpathFloorFunction(self, nargs):
6729         """Implement the floor() XPath function number floor(number)
6730           The floor function returns the largest (closest to positive
6731           infinity) number that is not greater than the argument and
6732            that is an integer. """
6733         libxml2mod.xmlXPathFloorFunction(self._o, nargs)
6734
6735     def xpathFreeParserContext(self):
6736         """Free up an xmlXPathParserContext """
6737         libxml2mod.xmlXPathFreeParserContext(self._o)
6738
6739     def xpathIdFunction(self, nargs):
6740         """Implement the id() XPath function node-set id(object) The
6741           id function selects elements by their unique ID (see [5.2.1
6742           Unique IDs]). When the argument to id is of type node-set,
6743           then the result is the union of the result of applying id
6744           to the string value of each of the nodes in the argument
6745           node-set. When the argument to id is of any other type, the
6746           argument is converted to a string as if by a call to the
6747           string function; the string is split into a
6748           whitespace-separated list of tokens (whitespace is any
6749           sequence of characters matching the production S); the
6750           result is a node-set containing the elements in the same
6751           document as the context node that have a unique ID equal to
6752            any of the tokens in the list. """
6753         libxml2mod.xmlXPathIdFunction(self._o, nargs)
6754
6755     def xpathLangFunction(self, nargs):
6756         """Implement the lang() XPath function boolean lang(string)
6757           The lang function returns true or false depending on
6758           whether the language of the context node as specified by
6759           xml:lang attributes is the same as or is a sublanguage of
6760           the language specified by the argument string. The language
6761           of the context node is determined by the value of the
6762           xml:lang attribute on the context node, or, if the context
6763           node has no xml:lang attribute, by the value of the
6764           xml:lang attribute on the nearest ancestor of the context
6765           node that has an xml:lang attribute. If there is no such
6766            attribute, then lang """
6767         libxml2mod.xmlXPathLangFunction(self._o, nargs)
6768
6769     def xpathLastFunction(self, nargs):
6770         """Implement the last() XPath function number last() The last
6771           function returns the number of nodes in the context node
6772            list. """
6773         libxml2mod.xmlXPathLastFunction(self._o, nargs)
6774
6775     def xpathLocalNameFunction(self, nargs):
6776         """Implement the local-name() XPath function string
6777           local-name(node-set?) The local-name function returns a
6778           string containing the local part of the name of the node in
6779           the argument node-set that is first in document order. If
6780           the node-set is empty or the first node has no name, an
6781           empty string is returned. If the argument is omitted it
6782            defaults to the context node. """
6783         libxml2mod.xmlXPathLocalNameFunction(self._o, nargs)
6784
6785     def xpathModValues(self):
6786         """Implement the mod operation on XPath objects: @arg1 / @arg2
6787           The numeric operators convert their operands to numbers as
6788            if by calling the number function. """
6789         libxml2mod.xmlXPathModValues(self._o)
6790
6791     def xpathMultValues(self):
6792         """Implement the multiply operation on XPath objects: The
6793           numeric operators convert their operands to numbers as if
6794            by calling the number function. """
6795         libxml2mod.xmlXPathMultValues(self._o)
6796
6797     def xpathNamespaceURIFunction(self, nargs):
6798         """Implement the namespace-uri() XPath function string
6799           namespace-uri(node-set?) The namespace-uri function returns
6800           a string containing the namespace URI of the expanded name
6801           of the node in the argument node-set that is first in
6802           document order. If the node-set is empty, the first node
6803           has no name, or the expanded name has no namespace URI, an
6804           empty string is returned. If the argument is omitted it
6805            defaults to the context node. """
6806         libxml2mod.xmlXPathNamespaceURIFunction(self._o, nargs)
6807
6808     def xpathNextAncestor(self, cur):
6809         """Traversal function for the "ancestor" direction the
6810           ancestor axis contains the ancestors of the context node;
6811           the ancestors of the context node consist of the parent of
6812           context node and the parent's parent and so on; the nodes
6813           are ordered in reverse document order; thus the parent is
6814           the first node on the axis, and the parent's parent is the
6815            second node on the axis """
6816         if cur is None: cur__o = None
6817         else: cur__o = cur._o
6818         ret = libxml2mod.xmlXPathNextAncestor(self._o, cur__o)
6819         if ret is None:raise xpathError('xmlXPathNextAncestor() failed')
6820         __tmp = xmlNode(_obj=ret)
6821         return __tmp
6822
6823     def xpathNextAncestorOrSelf(self, cur):
6824         """Traversal function for the "ancestor-or-self" direction he
6825           ancestor-or-self axis contains the context node and
6826           ancestors of the context node in reverse document order;
6827           thus the context node is the first node on the axis, and
6828           the context node's parent the second; parent here is
6829            defined the same as with the parent axis. """
6830         if cur is None: cur__o = None
6831         else: cur__o = cur._o
6832         ret = libxml2mod.xmlXPathNextAncestorOrSelf(self._o, cur__o)
6833         if ret is None:raise xpathError('xmlXPathNextAncestorOrSelf() failed')
6834         __tmp = xmlNode(_obj=ret)
6835         return __tmp
6836
6837     def xpathNextAttribute(self, cur):
6838         """Traversal function for the "attribute" direction TODO:
6839            support DTD inherited default attributes """
6840         if cur is None: cur__o = None
6841         else: cur__o = cur._o
6842         ret = libxml2mod.xmlXPathNextAttribute(self._o, cur__o)
6843         if ret is None:raise xpathError('xmlXPathNextAttribute() failed')
6844         __tmp = xmlNode(_obj=ret)
6845         return __tmp
6846
6847     def xpathNextChild(self, cur):
6848         """Traversal function for the "child" direction The child axis
6849           contains the children of the context node in document order. """
6850         if cur is None: cur__o = None
6851         else: cur__o = cur._o
6852         ret = libxml2mod.xmlXPathNextChild(self._o, cur__o)
6853         if ret is None:raise xpathError('xmlXPathNextChild() failed')
6854         __tmp = xmlNode(_obj=ret)
6855         return __tmp
6856
6857     def xpathNextDescendant(self, cur):
6858         """Traversal function for the "descendant" direction the
6859           descendant axis contains the descendants of the context
6860           node in document order; a descendant is a child or a child
6861            of a child and so on. """
6862         if cur is None: cur__o = None
6863         else: cur__o = cur._o
6864         ret = libxml2mod.xmlXPathNextDescendant(self._o, cur__o)
6865         if ret is None:raise xpathError('xmlXPathNextDescendant() failed')
6866         __tmp = xmlNode(_obj=ret)
6867         return __tmp
6868
6869     def xpathNextDescendantOrSelf(self, cur):
6870         """Traversal function for the "descendant-or-self" direction
6871           the descendant-or-self axis contains the context node and
6872           the descendants of the context node in document order; thus
6873           the context node is the first node on the axis, and the
6874           first child of the context node is the second node on the
6875            axis """
6876         if cur is None: cur__o = None
6877         else: cur__o = cur._o
6878         ret = libxml2mod.xmlXPathNextDescendantOrSelf(self._o, cur__o)
6879         if ret is None:raise xpathError('xmlXPathNextDescendantOrSelf() failed')
6880         __tmp = xmlNode(_obj=ret)
6881         return __tmp
6882
6883     def xpathNextFollowing(self, cur):
6884         """Traversal function for the "following" direction The
6885           following axis contains all nodes in the same document as
6886           the context node that are after the context node in
6887           document order, excluding any descendants and excluding
6888           attribute nodes and namespace nodes; the nodes are ordered
6889            in document order """
6890         if cur is None: cur__o = None
6891         else: cur__o = cur._o
6892         ret = libxml2mod.xmlXPathNextFollowing(self._o, cur__o)
6893         if ret is None:raise xpathError('xmlXPathNextFollowing() failed')
6894         __tmp = xmlNode(_obj=ret)
6895         return __tmp
6896
6897     def xpathNextFollowingSibling(self, cur):
6898         """Traversal function for the "following-sibling" direction
6899           The following-sibling axis contains the following siblings
6900            of the context node in document order. """
6901         if cur is None: cur__o = None
6902         else: cur__o = cur._o
6903         ret = libxml2mod.xmlXPathNextFollowingSibling(self._o, cur__o)
6904         if ret is None:raise xpathError('xmlXPathNextFollowingSibling() failed')
6905         __tmp = xmlNode(_obj=ret)
6906         return __tmp
6907
6908     def xpathNextNamespace(self, cur):
6909         """Traversal function for the "namespace" direction the
6910           namespace axis contains the namespace nodes of the context
6911           node; the order of nodes on this axis is
6912           implementation-defined; the axis will be empty unless the
6913           context node is an element  We keep the XML namespace node
6914            at the end of the list. """
6915         if cur is None: cur__o = None
6916         else: cur__o = cur._o
6917         ret = libxml2mod.xmlXPathNextNamespace(self._o, cur__o)
6918         if ret is None:raise xpathError('xmlXPathNextNamespace() failed')
6919         __tmp = xmlNode(_obj=ret)
6920         return __tmp
6921
6922     def xpathNextParent(self, cur):
6923         """Traversal function for the "parent" direction The parent
6924           axis contains the parent of the context node, if there is
6925            one. """
6926         if cur is None: cur__o = None
6927         else: cur__o = cur._o
6928         ret = libxml2mod.xmlXPathNextParent(self._o, cur__o)
6929         if ret is None:raise xpathError('xmlXPathNextParent() failed')
6930         __tmp = xmlNode(_obj=ret)
6931         return __tmp
6932
6933     def xpathNextPreceding(self, cur):
6934         """Traversal function for the "preceding" direction the
6935           preceding axis contains all nodes in the same document as
6936           the context node that are before the context node in
6937           document order, excluding any ancestors and excluding
6938           attribute nodes and namespace nodes; the nodes are ordered
6939            in reverse document order """
6940         if cur is None: cur__o = None
6941         else: cur__o = cur._o
6942         ret = libxml2mod.xmlXPathNextPreceding(self._o, cur__o)
6943         if ret is None:raise xpathError('xmlXPathNextPreceding() failed')
6944         __tmp = xmlNode(_obj=ret)
6945         return __tmp
6946
6947     def xpathNextPrecedingSibling(self, cur):
6948         """Traversal function for the "preceding-sibling" direction
6949           The preceding-sibling axis contains the preceding siblings
6950           of the context node in reverse document order; the first
6951           preceding sibling is first on the axis; the sibling
6952            preceding that node is the second on the axis and so on. """
6953         if cur is None: cur__o = None
6954         else: cur__o = cur._o
6955         ret = libxml2mod.xmlXPathNextPrecedingSibling(self._o, cur__o)
6956         if ret is None:raise xpathError('xmlXPathNextPrecedingSibling() failed')
6957         __tmp = xmlNode(_obj=ret)
6958         return __tmp
6959
6960     def xpathNextSelf(self, cur):
6961         """Traversal function for the "self" direction The self axis
6962            contains just the context node itself """
6963         if cur is None: cur__o = None
6964         else: cur__o = cur._o
6965         ret = libxml2mod.xmlXPathNextSelf(self._o, cur__o)
6966         if ret is None:raise xpathError('xmlXPathNextSelf() failed')
6967         __tmp = xmlNode(_obj=ret)
6968         return __tmp
6969
6970     def xpathNormalizeFunction(self, nargs):
6971         """Implement the normalize-space() XPath function string
6972           normalize-space(string?) The normalize-space function
6973           returns the argument string with white space normalized by
6974           stripping leading and trailing whitespace and replacing
6975           sequences of whitespace characters by a single space.
6976           Whitespace characters are the same allowed by the S
6977           production in XML. If the argument is omitted, it defaults
6978           to the context node converted to a string, in other words
6979            the value of the context node. """
6980         libxml2mod.xmlXPathNormalizeFunction(self._o, nargs)
6981
6982     def xpathNotEqualValues(self):
6983         """Implement the equal operation on XPath objects content:
6984            @arg1 == @arg2 """
6985         ret = libxml2mod.xmlXPathNotEqualValues(self._o)
6986         return ret
6987
6988     def xpathNotFunction(self, nargs):
6989         """Implement the not() XPath function boolean not(boolean) The
6990           not function returns true if its argument is false, and
6991            false otherwise. """
6992         libxml2mod.xmlXPathNotFunction(self._o, nargs)
6993
6994     def xpathNumberFunction(self, nargs):
6995         """Implement the number() XPath function number number(object?) """
6996         libxml2mod.xmlXPathNumberFunction(self._o, nargs)
6997
6998     def xpathParseNCName(self):
6999         """parse an XML namespace non qualified name.  [NS 3] NCName
7000           ::= (Letter | '_') (NCNameChar)*  [NS 4] NCNameChar ::=
7001            Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender """
7002         ret = libxml2mod.xmlXPathParseNCName(self._o)
7003         return ret
7004
7005     def xpathParseName(self):
7006         """parse an XML name  [4] NameChar ::= Letter | Digit | '.' |
7007           '-' | '_' | ':' | CombiningChar | Extender  [5] Name ::=
7008            (Letter | '_' | ':') (NameChar)* """
7009         ret = libxml2mod.xmlXPathParseName(self._o)
7010         return ret
7011
7012     def xpathPopBoolean(self):
7013         """Pops a boolean from the stack, handling conversion if
7014            needed. Check error with #xmlXPathCheckError. """
7015         ret = libxml2mod.xmlXPathPopBoolean(self._o)
7016         return ret
7017
7018     def xpathPopNumber(self):
7019         """Pops a number from the stack, handling conversion if
7020            needed. Check error with #xmlXPathCheckError. """
7021         ret = libxml2mod.xmlXPathPopNumber(self._o)
7022         return ret
7023
7024     def xpathPopString(self):
7025         """Pops a string from the stack, handling conversion if
7026            needed. Check error with #xmlXPathCheckError. """
7027         ret = libxml2mod.xmlXPathPopString(self._o)
7028         return ret
7029
7030     def xpathPositionFunction(self, nargs):
7031         """Implement the position() XPath function number position()
7032           The position function returns the position of the context
7033           node in the context node list. The first position is 1, and
7034            so the last position will be equal to last(). """
7035         libxml2mod.xmlXPathPositionFunction(self._o, nargs)
7036
7037     def xpathRoot(self):
7038         """Initialize the context to the root of the document """
7039         libxml2mod.xmlXPathRoot(self._o)
7040
7041     def xpathRoundFunction(self, nargs):
7042         """Implement the round() XPath function number round(number)
7043           The round function returns the number that is closest to
7044           the argument and that is an integer. If there are two such
7045            numbers, then the one that is even is returned. """
7046         libxml2mod.xmlXPathRoundFunction(self._o, nargs)
7047
7048     def xpathStartsWithFunction(self, nargs):
7049         """Implement the starts-with() XPath function boolean
7050           starts-with(string, string) The starts-with function
7051           returns true if the first argument string starts with the
7052            second argument string, and otherwise returns false. """
7053         libxml2mod.xmlXPathStartsWithFunction(self._o, nargs)
7054
7055     def xpathStringFunction(self, nargs):
7056         """Implement the string() XPath function string
7057           string(object?) The string function converts an object to a
7058           string as follows: - A node-set is converted to a string by
7059           returning the value of the node in the node-set that is
7060           first in document order. If the node-set is empty, an empty
7061           string is returned. - A number is converted to a string as
7062           follows + NaN is converted to the string NaN + positive
7063           zero is converted to the string 0 + negative zero is
7064           converted to the string 0 + positive infinity is converted
7065           to the string Infinity + negative infinity is converted to
7066           the string -Infinity + if the number is an integer, the
7067           number is represented in decimal form as a Number with no
7068           decimal point and no leading zeros, preceded by a minus
7069           sign (-) if the number is negative + otherwise, the number
7070           is represented in decimal form as a Number including a
7071           decimal point with at least one digit before the decimal
7072           point and at least one digit after the decimal point,
7073           preceded by a minus sign (-) if the number is negative;
7074           there must be no leading zeros before the decimal point
7075           apart possibly from the one required digit immediately
7076           before the decimal point; beyond the one required digit
7077           after the decimal point there must be as many, but only as
7078           many, more digits as are needed to uniquely distinguish the
7079           number from all other IEEE 754 numeric values. - The
7080           boolean false value is converted to the string false. The
7081           boolean true value is converted to the string true.  If the
7082           argument is omitted, it defaults to a node-set with the
7083            context node as its only member. """
7084         libxml2mod.xmlXPathStringFunction(self._o, nargs)
7085
7086     def xpathStringLengthFunction(self, nargs):
7087         """Implement the string-length() XPath function number
7088           string-length(string?) The string-length returns the number
7089           of characters in the string (see [3.6 Strings]). If the
7090           argument is omitted, it defaults to the context node
7091           converted to a string, in other words the value of the
7092            context node. """
7093         libxml2mod.xmlXPathStringLengthFunction(self._o, nargs)
7094
7095     def xpathSubValues(self):
7096         """Implement the subtraction operation on XPath objects: The
7097           numeric operators convert their operands to numbers as if
7098            by calling the number function. """
7099         libxml2mod.xmlXPathSubValues(self._o)
7100
7101     def xpathSubstringAfterFunction(self, nargs):
7102         """Implement the substring-after() XPath function string
7103           substring-after(string, string) The substring-after
7104           function returns the substring of the first argument string
7105           that follows the first occurrence of the second argument
7106           string in the first argument string, or the empty stringi
7107           if the first argument string does not contain the second
7108           argument string. For example,
7109           substring-after("1999/04/01","/") returns 04/01, and
7110            substring-after("1999/04/01","19") returns 99/04/01. """
7111         libxml2mod.xmlXPathSubstringAfterFunction(self._o, nargs)
7112
7113     def xpathSubstringBeforeFunction(self, nargs):
7114         """Implement the substring-before() XPath function string
7115           substring-before(string, string) The substring-before
7116           function returns the substring of the first argument string
7117           that precedes the first occurrence of the second argument
7118           string in the first argument string, or the empty string if
7119           the first argument string does not contain the second
7120           argument string. For example,
7121            substring-before("1999/04/01","/") returns 1999. """
7122         libxml2mod.xmlXPathSubstringBeforeFunction(self._o, nargs)
7123
7124     def xpathSubstringFunction(self, nargs):
7125         """Implement the substring() XPath function string
7126           substring(string, number, number?) The substring function
7127           returns the substring of the first argument starting at the
7128           position specified in the second argument with length
7129           specified in the third argument. For example,
7130           substring("12345",2,3) returns "234". If the third argument
7131           is not specified, it returns the substring starting at the
7132           position specified in the second argument and continuing to
7133           the end of the string. For example, substring("12345",2)
7134           returns "2345".  More precisely, each character in the
7135           string (see [3.6 Strings]) is considered to have a numeric
7136           position: the position of the first character is 1, the
7137           position of the second character is 2 and so on. The
7138           returned substring contains those characters for which the
7139           position of the character is greater than or equal to the
7140           second argument and, if the third argument is specified,
7141           less than the sum of the second and third arguments; the
7142           comparisons and addition used for the above follow the
7143           standard IEEE 754 rules. Thus: - substring("12345", 1.5,
7144           2.6) returns "234" - substring("12345", 0, 3) returns "12"
7145           - substring("12345", 0 div 0, 3) returns "" -
7146           substring("12345", 1, 0 div 0) returns "" -
7147           substring("12345", -42, 1 div 0) returns "12345" -
7148            substring("12345", -1 div 0, 1 div 0) returns "" """
7149         libxml2mod.xmlXPathSubstringFunction(self._o, nargs)
7150
7151     def xpathSumFunction(self, nargs):
7152         """Implement the sum() XPath function number sum(node-set) The
7153           sum function returns the sum of the values of the nodes in
7154            the argument node-set. """
7155         libxml2mod.xmlXPathSumFunction(self._o, nargs)
7156
7157     def xpathTranslateFunction(self, nargs):
7158         """Implement the translate() XPath function string
7159           translate(string, string, string) The translate function
7160           returns the first argument string with occurrences of
7161           characters in the second argument string replaced by the
7162           character at the corresponding position in the third
7163           argument string. For example, translate("bar","abc","ABC")
7164           returns the string BAr. If there is a character in the
7165           second argument string with no character at a corresponding
7166           position in the third argument string (because the second
7167           argument string is longer than the third argument string),
7168           then occurrences of that character in the first argument
7169           string are removed. For example,
7170            translate("--aaa--","abc-","ABC") """
7171         libxml2mod.xmlXPathTranslateFunction(self._o, nargs)
7172
7173     def xpathTrueFunction(self, nargs):
7174         """Implement the true() XPath function boolean true() """
7175         libxml2mod.xmlXPathTrueFunction(self._o, nargs)
7176
7177     def xpathValueFlipSign(self):
7178         """Implement the unary - operation on an XPath object The
7179           numeric operators convert their operands to numbers as if
7180            by calling the number function. """
7181         libxml2mod.xmlXPathValueFlipSign(self._o)
7182
7183     def xpatherror(self, file, line, no):
7184         """Formats an error message. """
7185         libxml2mod.xmlXPatherror(self._o, file, line, no)
7186
7187     #
7188     # xpathParserContext functions from module xpointer
7189     #
7190
7191     def xpointerEvalRangePredicate(self):
7192         """[8]   Predicate ::=   '[' PredicateExpr ']' [9]  
7193           PredicateExpr ::=   Expr  Evaluate a predicate as in
7194           xmlXPathEvalPredicate() but for a Location Set instead of a
7195            node set """
7196         libxml2mod.xmlXPtrEvalRangePredicate(self._o)
7197
7198     def xpointerRangeToFunction(self, nargs):
7199         """Implement the range-to() XPointer function """
7200         libxml2mod.xmlXPtrRangeToFunction(self._o, nargs)
7201
7202 # xlinkShow
7203 XLINK_SHOW_NONE = 0
7204 XLINK_SHOW_NEW = 1
7205 XLINK_SHOW_EMBED = 2
7206 XLINK_SHOW_REPLACE = 3
7207
7208 # xmlRelaxNGParserFlag
7209 XML_RELAXNGP_NONE = 0
7210 XML_RELAXNGP_FREE_DOC = 1
7211 XML_RELAXNGP_CRNG = 2
7212
7213 # xmlBufferAllocationScheme
7214 XML_BUFFER_ALLOC_DOUBLEIT = 1
7215 XML_BUFFER_ALLOC_EXACT = 2
7216 XML_BUFFER_ALLOC_IMMUTABLE = 3
7217 XML_BUFFER_ALLOC_IO = 4
7218 XML_BUFFER_ALLOC_HYBRID = 5
7219
7220 # xmlParserSeverities
7221 XML_PARSER_SEVERITY_VALIDITY_WARNING = 1
7222 XML_PARSER_SEVERITY_VALIDITY_ERROR = 2
7223 XML_PARSER_SEVERITY_WARNING = 3
7224 XML_PARSER_SEVERITY_ERROR = 4
7225
7226 # xmlAttributeDefault
7227 XML_ATTRIBUTE_NONE = 1
7228 XML_ATTRIBUTE_REQUIRED = 2
7229 XML_ATTRIBUTE_IMPLIED = 3
7230 XML_ATTRIBUTE_FIXED = 4
7231
7232 # xmlSchemaValType
7233 XML_SCHEMAS_UNKNOWN = 0
7234 XML_SCHEMAS_STRING = 1
7235 XML_SCHEMAS_NORMSTRING = 2
7236 XML_SCHEMAS_DECIMAL = 3
7237 XML_SCHEMAS_TIME = 4
7238 XML_SCHEMAS_GDAY = 5
7239 XML_SCHEMAS_GMONTH = 6
7240 XML_SCHEMAS_GMONTHDAY = 7
7241 XML_SCHEMAS_GYEAR = 8
7242 XML_SCHEMAS_GYEARMONTH = 9
7243 XML_SCHEMAS_DATE = 10
7244 XML_SCHEMAS_DATETIME = 11
7245 XML_SCHEMAS_DURATION = 12
7246 XML_SCHEMAS_FLOAT = 13
7247 XML_SCHEMAS_DOUBLE = 14
7248 XML_SCHEMAS_BOOLEAN = 15
7249 XML_SCHEMAS_TOKEN = 16
7250 XML_SCHEMAS_LANGUAGE = 17
7251 XML_SCHEMAS_NMTOKEN = 18
7252 XML_SCHEMAS_NMTOKENS = 19
7253 XML_SCHEMAS_NAME = 20
7254 XML_SCHEMAS_QNAME = 21
7255 XML_SCHEMAS_NCNAME = 22
7256 XML_SCHEMAS_ID = 23
7257 XML_SCHEMAS_IDREF = 24
7258 XML_SCHEMAS_IDREFS = 25
7259 XML_SCHEMAS_ENTITY = 26
7260 XML_SCHEMAS_ENTITIES = 27
7261 XML_SCHEMAS_NOTATION = 28
7262 XML_SCHEMAS_ANYURI = 29
7263 XML_SCHEMAS_INTEGER = 30
7264 XML_SCHEMAS_NPINTEGER = 31
7265 XML_SCHEMAS_NINTEGER = 32
7266 XML_SCHEMAS_NNINTEGER = 33
7267 XML_SCHEMAS_PINTEGER = 34
7268 XML_SCHEMAS_INT = 35
7269 XML_SCHEMAS_UINT = 36
7270 XML_SCHEMAS_LONG = 37
7271 XML_SCHEMAS_ULONG = 38
7272 XML_SCHEMAS_SHORT = 39
7273 XML_SCHEMAS_USHORT = 40
7274 XML_SCHEMAS_BYTE = 41
7275 XML_SCHEMAS_UBYTE = 42
7276 XML_SCHEMAS_HEXBINARY = 43
7277 XML_SCHEMAS_BASE64BINARY = 44
7278 XML_SCHEMAS_ANYTYPE = 45
7279 XML_SCHEMAS_ANYSIMPLETYPE = 46
7280
7281 # xmlParserInputState
7282 XML_PARSER_EOF = -1
7283 XML_PARSER_START = 0
7284 XML_PARSER_MISC = 1
7285 XML_PARSER_PI = 2
7286 XML_PARSER_DTD = 3
7287 XML_PARSER_PROLOG = 4
7288 XML_PARSER_COMMENT = 5
7289 XML_PARSER_START_TAG = 6
7290 XML_PARSER_CONTENT = 7
7291 XML_PARSER_CDATA_SECTION = 8
7292 XML_PARSER_END_TAG = 9
7293 XML_PARSER_ENTITY_DECL = 10
7294 XML_PARSER_ENTITY_VALUE = 11
7295 XML_PARSER_ATTRIBUTE_VALUE = 12
7296 XML_PARSER_SYSTEM_LITERAL = 13
7297 XML_PARSER_EPILOG = 14
7298 XML_PARSER_IGNORE = 15
7299 XML_PARSER_PUBLIC_LITERAL = 16
7300
7301 # xmlEntityType
7302 XML_INTERNAL_GENERAL_ENTITY = 1
7303 XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2
7304 XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3
7305 XML_INTERNAL_PARAMETER_ENTITY = 4
7306 XML_EXTERNAL_PARAMETER_ENTITY = 5
7307 XML_INTERNAL_PREDEFINED_ENTITY = 6
7308
7309 # xmlSaveOption
7310 XML_SAVE_FORMAT = 1
7311 XML_SAVE_NO_DECL = 2
7312 XML_SAVE_NO_EMPTY = 4
7313 XML_SAVE_NO_XHTML = 8
7314 XML_SAVE_XHTML = 16
7315 XML_SAVE_AS_XML = 32
7316 XML_SAVE_AS_HTML = 64
7317 XML_SAVE_WSNONSIG = 128
7318
7319 # xmlPatternFlags
7320 XML_PATTERN_DEFAULT = 0
7321 XML_PATTERN_XPATH = 1
7322 XML_PATTERN_XSSEL = 2
7323 XML_PATTERN_XSFIELD = 4
7324
7325 # xmlParserErrors
7326 XML_ERR_OK = 0
7327 XML_ERR_INTERNAL_ERROR = 1
7328 XML_ERR_NO_MEMORY = 2
7329 XML_ERR_DOCUMENT_START = 3
7330 XML_ERR_DOCUMENT_EMPTY = 4
7331 XML_ERR_DOCUMENT_END = 5
7332 XML_ERR_INVALID_HEX_CHARREF = 6
7333 XML_ERR_INVALID_DEC_CHARREF = 7
7334 XML_ERR_INVALID_CHARREF = 8
7335 XML_ERR_INVALID_CHAR = 9
7336 XML_ERR_CHARREF_AT_EOF = 10
7337 XML_ERR_CHARREF_IN_PROLOG = 11
7338 XML_ERR_CHARREF_IN_EPILOG = 12
7339 XML_ERR_CHARREF_IN_DTD = 13
7340 XML_ERR_ENTITYREF_AT_EOF = 14
7341 XML_ERR_ENTITYREF_IN_PROLOG = 15
7342 XML_ERR_ENTITYREF_IN_EPILOG = 16
7343 XML_ERR_ENTITYREF_IN_DTD = 17
7344 XML_ERR_PEREF_AT_EOF = 18
7345 XML_ERR_PEREF_IN_PROLOG = 19
7346 XML_ERR_PEREF_IN_EPILOG = 20
7347 XML_ERR_PEREF_IN_INT_SUBSET = 21
7348 XML_ERR_ENTITYREF_NO_NAME = 22
7349 XML_ERR_ENTITYREF_SEMICOL_MISSING = 23
7350 XML_ERR_PEREF_NO_NAME = 24
7351 XML_ERR_PEREF_SEMICOL_MISSING = 25
7352 XML_ERR_UNDECLARED_ENTITY = 26
7353 XML_WAR_UNDECLARED_ENTITY = 27
7354 XML_ERR_UNPARSED_ENTITY = 28
7355 XML_ERR_ENTITY_IS_EXTERNAL = 29
7356 XML_ERR_ENTITY_IS_PARAMETER = 30
7357 XML_ERR_UNKNOWN_ENCODING = 31
7358 XML_ERR_UNSUPPORTED_ENCODING = 32
7359 XML_ERR_STRING_NOT_STARTED = 33
7360 XML_ERR_STRING_NOT_CLOSED = 34
7361 XML_ERR_NS_DECL_ERROR = 35
7362 XML_ERR_ENTITY_NOT_STARTED = 36
7363 XML_ERR_ENTITY_NOT_FINISHED = 37
7364 XML_ERR_LT_IN_ATTRIBUTE = 38
7365 XML_ERR_ATTRIBUTE_NOT_STARTED = 39
7366 XML_ERR_ATTRIBUTE_NOT_FINISHED = 40
7367 XML_ERR_ATTRIBUTE_WITHOUT_VALUE = 41
7368 XML_ERR_ATTRIBUTE_REDEFINED = 42
7369 XML_ERR_LITERAL_NOT_STARTED = 43
7370 XML_ERR_LITERAL_NOT_FINISHED = 44
7371 XML_ERR_COMMENT_NOT_FINISHED = 45
7372 XML_ERR_PI_NOT_STARTED = 46
7373 XML_ERR_PI_NOT_FINISHED = 47
7374 XML_ERR_NOTATION_NOT_STARTED = 48
7375 XML_ERR_NOTATION_NOT_FINISHED = 49
7376 XML_ERR_ATTLIST_NOT_STARTED = 50
7377 XML_ERR_ATTLIST_NOT_FINISHED = 51
7378 XML_ERR_MIXED_NOT_STARTED = 52
7379 XML_ERR_MIXED_NOT_FINISHED = 53
7380 XML_ERR_ELEMCONTENT_NOT_STARTED = 54
7381 XML_ERR_ELEMCONTENT_NOT_FINISHED = 55
7382 XML_ERR_XMLDECL_NOT_STARTED = 56
7383 XML_ERR_XMLDECL_NOT_FINISHED = 57
7384 XML_ERR_CONDSEC_NOT_STARTED = 58
7385 XML_ERR_CONDSEC_NOT_FINISHED = 59
7386 XML_ERR_EXT_SUBSET_NOT_FINISHED = 60
7387 XML_ERR_DOCTYPE_NOT_FINISHED = 61
7388 XML_ERR_MISPLACED_CDATA_END = 62
7389 XML_ERR_CDATA_NOT_FINISHED = 63
7390 XML_ERR_RESERVED_XML_NAME = 64
7391 XML_ERR_SPACE_REQUIRED = 65
7392 XML_ERR_SEPARATOR_REQUIRED = 66
7393 XML_ERR_NMTOKEN_REQUIRED = 67
7394 XML_ERR_NAME_REQUIRED = 68
7395 XML_ERR_PCDATA_REQUIRED = 69
7396 XML_ERR_URI_REQUIRED = 70
7397 XML_ERR_PUBID_REQUIRED = 71
7398 XML_ERR_LT_REQUIRED = 72
7399 XML_ERR_GT_REQUIRED = 73
7400 XML_ERR_LTSLASH_REQUIRED = 74
7401 XML_ERR_EQUAL_REQUIRED = 75
7402 XML_ERR_TAG_NAME_MISMATCH = 76
7403 XML_ERR_TAG_NOT_FINISHED = 77
7404 XML_ERR_STANDALONE_VALUE = 78
7405 XML_ERR_ENCODING_NAME = 79
7406 XML_ERR_HYPHEN_IN_COMMENT = 80
7407 XML_ERR_INVALID_ENCODING = 81
7408 XML_ERR_EXT_ENTITY_STANDALONE = 82
7409 XML_ERR_CONDSEC_INVALID = 83
7410 XML_ERR_VALUE_REQUIRED = 84
7411 XML_ERR_NOT_WELL_BALANCED = 85
7412 XML_ERR_EXTRA_CONTENT = 86
7413 XML_ERR_ENTITY_CHAR_ERROR = 87
7414 XML_ERR_ENTITY_PE_INTERNAL = 88
7415 XML_ERR_ENTITY_LOOP = 89
7416 XML_ERR_ENTITY_BOUNDARY = 90
7417 XML_ERR_INVALID_URI = 91
7418 XML_ERR_URI_FRAGMENT = 92
7419 XML_WAR_CATALOG_PI = 93
7420 XML_ERR_NO_DTD = 94
7421 XML_ERR_CONDSEC_INVALID_KEYWORD = 95
7422 XML_ERR_VERSION_MISSING = 96
7423 XML_WAR_UNKNOWN_VERSION = 97
7424 XML_WAR_LANG_VALUE = 98
7425 XML_WAR_NS_URI = 99
7426 XML_WAR_NS_URI_RELATIVE = 100
7427 XML_ERR_MISSING_ENCODING = 101
7428 XML_WAR_SPACE_VALUE = 102
7429 XML_ERR_NOT_STANDALONE = 103
7430 XML_ERR_ENTITY_PROCESSING = 104
7431 XML_ERR_NOTATION_PROCESSING = 105
7432 XML_WAR_NS_COLUMN = 106
7433 XML_WAR_ENTITY_REDEFINED = 107
7434 XML_ERR_UNKNOWN_VERSION = 108
7435 XML_ERR_VERSION_MISMATCH = 109
7436 XML_ERR_NAME_TOO_LONG = 110
7437 XML_ERR_USER_STOP = 111
7438 XML_NS_ERR_XML_NAMESPACE = 200
7439 XML_NS_ERR_UNDEFINED_NAMESPACE = 201
7440 XML_NS_ERR_QNAME = 202
7441 XML_NS_ERR_ATTRIBUTE_REDEFINED = 203
7442 XML_NS_ERR_EMPTY = 204
7443 XML_NS_ERR_COLON = 205
7444 XML_DTD_ATTRIBUTE_DEFAULT = 500
7445 XML_DTD_ATTRIBUTE_REDEFINED = 501
7446 XML_DTD_ATTRIBUTE_VALUE = 502
7447 XML_DTD_CONTENT_ERROR = 503
7448 XML_DTD_CONTENT_MODEL = 504
7449 XML_DTD_CONTENT_NOT_DETERMINIST = 505
7450 XML_DTD_DIFFERENT_PREFIX = 506
7451 XML_DTD_ELEM_DEFAULT_NAMESPACE = 507
7452 XML_DTD_ELEM_NAMESPACE = 508
7453 XML_DTD_ELEM_REDEFINED = 509
7454 XML_DTD_EMPTY_NOTATION = 510
7455 XML_DTD_ENTITY_TYPE = 511
7456 XML_DTD_ID_FIXED = 512
7457 XML_DTD_ID_REDEFINED = 513
7458 XML_DTD_ID_SUBSET = 514
7459 XML_DTD_INVALID_CHILD = 515
7460 XML_DTD_INVALID_DEFAULT = 516
7461 XML_DTD_LOAD_ERROR = 517
7462 XML_DTD_MISSING_ATTRIBUTE = 518
7463 XML_DTD_MIXED_CORRUPT = 519
7464 XML_DTD_MULTIPLE_ID = 520
7465 XML_DTD_NO_DOC = 521
7466 XML_DTD_NO_DTD = 522
7467 XML_DTD_NO_ELEM_NAME = 523
7468 XML_DTD_NO_PREFIX = 524
7469 XML_DTD_NO_ROOT = 525
7470 XML_DTD_NOTATION_REDEFINED = 526
7471 XML_DTD_NOTATION_VALUE = 527
7472 XML_DTD_NOT_EMPTY = 528
7473 XML_DTD_NOT_PCDATA = 529
7474 XML_DTD_NOT_STANDALONE = 530
7475 XML_DTD_ROOT_NAME = 531
7476 XML_DTD_STANDALONE_WHITE_SPACE = 532
7477 XML_DTD_UNKNOWN_ATTRIBUTE = 533
7478 XML_DTD_UNKNOWN_ELEM = 534
7479 XML_DTD_UNKNOWN_ENTITY = 535
7480 XML_DTD_UNKNOWN_ID = 536
7481 XML_DTD_UNKNOWN_NOTATION = 537
7482 XML_DTD_STANDALONE_DEFAULTED = 538
7483 XML_DTD_XMLID_VALUE = 539
7484 XML_DTD_XMLID_TYPE = 540
7485 XML_DTD_DUP_TOKEN = 541
7486 XML_HTML_STRUCURE_ERROR = 800
7487 XML_HTML_UNKNOWN_TAG = 801
7488 XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000
7489 XML_RNGP_ATTR_CONFLICT = 1001
7490 XML_RNGP_ATTRIBUTE_CHILDREN = 1002
7491 XML_RNGP_ATTRIBUTE_CONTENT = 1003
7492 XML_RNGP_ATTRIBUTE_EMPTY = 1004
7493 XML_RNGP_ATTRIBUTE_NOOP = 1005
7494 XML_RNGP_CHOICE_CONTENT = 1006
7495 XML_RNGP_CHOICE_EMPTY = 1007
7496 XML_RNGP_CREATE_FAILURE = 1008
7497 XML_RNGP_DATA_CONTENT = 1009
7498 XML_RNGP_DEF_CHOICE_AND_INTERLEAVE = 1010
7499 XML_RNGP_DEFINE_CREATE_FAILED = 1011
7500 XML_RNGP_DEFINE_EMPTY = 1012
7501 XML_RNGP_DEFINE_MISSING = 1013
7502 XML_RNGP_DEFINE_NAME_MISSING = 1014
7503 XML_RNGP_ELEM_CONTENT_EMPTY = 1015
7504 XML_RNGP_ELEM_CONTENT_ERROR = 1016
7505 XML_RNGP_ELEMENT_EMPTY = 1017
7506 XML_RNGP_ELEMENT_CONTENT = 1018
7507 XML_RNGP_ELEMENT_NAME = 1019
7508 XML_RNGP_ELEMENT_NO_CONTENT = 1020
7509 XML_RNGP_ELEM_TEXT_CONFLICT = 1021
7510 XML_RNGP_EMPTY = 1022
7511 XML_RNGP_EMPTY_CONSTRUCT = 1023
7512 XML_RNGP_EMPTY_CONTENT = 1024
7513 XML_RNGP_EMPTY_NOT_EMPTY = 1025
7514 XML_RNGP_ERROR_TYPE_LIB = 1026
7515 XML_RNGP_EXCEPT_EMPTY = 1027
7516 XML_RNGP_EXCEPT_MISSING = 1028
7517 XML_RNGP_EXCEPT_MULTIPLE = 1029
7518 XML_RNGP_EXCEPT_NO_CONTENT = 1030
7519 XML_RNGP_EXTERNALREF_EMTPY = 1031
7520 XML_RNGP_EXTERNAL_REF_FAILURE = 1032
7521 XML_RNGP_EXTERNALREF_RECURSE = 1033
7522 XML_RNGP_FORBIDDEN_ATTRIBUTE = 1034
7523 XML_RNGP_FOREIGN_ELEMENT = 1035
7524 XML_RNGP_GRAMMAR_CONTENT = 1036
7525 XML_RNGP_GRAMMAR_EMPTY = 1037
7526 XML_RNGP_GRAMMAR_MISSING = 1038
7527 XML_RNGP_GRAMMAR_NO_START = 1039
7528 XML_RNGP_GROUP_ATTR_CONFLICT = 1040
7529 XML_RNGP_HREF_ERROR = 1041
7530 XML_RNGP_INCLUDE_EMPTY = 1042
7531 XML_RNGP_INCLUDE_FAILURE = 1043
7532 XML_RNGP_INCLUDE_RECURSE = 1044
7533 XML_RNGP_INTERLEAVE_ADD = 1045
7534 XML_RNGP_INTERLEAVE_CREATE_FAILED = 1046
7535 XML_RNGP_INTERLEAVE_EMPTY = 1047
7536 XML_RNGP_INTERLEAVE_NO_CONTENT = 1048
7537 XML_RNGP_INVALID_DEFINE_NAME = 1049
7538 XML_RNGP_INVALID_URI = 1050
7539 XML_RNGP_INVALID_VALUE = 1051
7540 XML_RNGP_MISSING_HREF = 1052
7541 XML_RNGP_NAME_MISSING = 1053
7542 XML_RNGP_NEED_COMBINE = 1054
7543 XML_RNGP_NOTALLOWED_NOT_EMPTY = 1055
7544 XML_RNGP_NSNAME_ATTR_ANCESTOR = 1056
7545 XML_RNGP_NSNAME_NO_NS = 1057
7546 XML_RNGP_PARAM_FORBIDDEN = 1058
7547 XML_RNGP_PARAM_NAME_MISSING = 1059
7548 XML_RNGP_PARENTREF_CREATE_FAILED = 1060
7549 XML_RNGP_PARENTREF_NAME_INVALID = 1061
7550 XML_RNGP_PARENTREF_NO_NAME = 1062
7551 XML_RNGP_PARENTREF_NO_PARENT = 1063
7552 XML_RNGP_PARENTREF_NOT_EMPTY = 1064
7553 XML_RNGP_PARSE_ERROR = 1065
7554 XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME = 1066
7555 XML_RNGP_PAT_ATTR_ATTR = 1067
7556 XML_RNGP_PAT_ATTR_ELEM = 1068
7557 XML_RNGP_PAT_DATA_EXCEPT_ATTR = 1069
7558 XML_RNGP_PAT_DATA_EXCEPT_ELEM = 1070
7559 XML_RNGP_PAT_DATA_EXCEPT_EMPTY = 1071
7560 XML_RNGP_PAT_DATA_EXCEPT_GROUP = 1072
7561 XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE = 1073
7562 XML_RNGP_PAT_DATA_EXCEPT_LIST = 1074
7563 XML_RNGP_PAT_DATA_EXCEPT_ONEMORE = 1075
7564 XML_RNGP_PAT_DATA_EXCEPT_REF = 1076
7565 XML_RNGP_PAT_DATA_EXCEPT_TEXT = 1077
7566 XML_RNGP_PAT_LIST_ATTR = 1078
7567 XML_RNGP_PAT_LIST_ELEM = 1079
7568 XML_RNGP_PAT_LIST_INTERLEAVE = 1080
7569 XML_RNGP_PAT_LIST_LIST = 1081
7570 XML_RNGP_PAT_LIST_REF = 1082
7571 XML_RNGP_PAT_LIST_TEXT = 1083
7572 XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME = 1084
7573 XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME = 1085
7574 XML_RNGP_PAT_ONEMORE_GROUP_ATTR = 1086
7575 XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR = 1087
7576 XML_RNGP_PAT_START_ATTR = 1088
7577 XML_RNGP_PAT_START_DATA = 1089
7578 XML_RNGP_PAT_START_EMPTY = 1090
7579 XML_RNGP_PAT_START_GROUP = 1091
7580 XML_RNGP_PAT_START_INTERLEAVE = 1092
7581 XML_RNGP_PAT_START_LIST = 1093
7582 XML_RNGP_PAT_START_ONEMORE = 1094
7583 XML_RNGP_PAT_START_TEXT = 1095
7584 XML_RNGP_PAT_START_VALUE = 1096
7585 XML_RNGP_PREFIX_UNDEFINED = 1097
7586 XML_RNGP_REF_CREATE_FAILED = 1098
7587 XML_RNGP_REF_CYCLE = 1099
7588 XML_RNGP_REF_NAME_INVALID = 1100
7589 XML_RNGP_REF_NO_DEF = 1101
7590 XML_RNGP_REF_NO_NAME = 1102
7591 XML_RNGP_REF_NOT_EMPTY = 1103
7592 XML_RNGP_START_CHOICE_AND_INTERLEAVE = 1104
7593 XML_RNGP_START_CONTENT = 1105
7594 XML_RNGP_START_EMPTY = 1106
7595 XML_RNGP_START_MISSING = 1107
7596 XML_RNGP_TEXT_EXPECTED = 1108
7597 XML_RNGP_TEXT_HAS_CHILD = 1109
7598 XML_RNGP_TYPE_MISSING = 1110
7599 XML_RNGP_TYPE_NOT_FOUND = 1111
7600 XML_RNGP_TYPE_VALUE = 1112
7601 XML_RNGP_UNKNOWN_ATTRIBUTE = 1113
7602 XML_RNGP_UNKNOWN_COMBINE = 1114
7603 XML_RNGP_UNKNOWN_CONSTRUCT = 1115
7604 XML_RNGP_UNKNOWN_TYPE_LIB = 1116
7605 XML_RNGP_URI_FRAGMENT = 1117
7606 XML_RNGP_URI_NOT_ABSOLUTE = 1118
7607 XML_RNGP_VALUE_EMPTY = 1119
7608 XML_RNGP_VALUE_NO_CONTENT = 1120
7609 XML_RNGP_XMLNS_NAME = 1121
7610 XML_RNGP_XML_NS = 1122
7611 XML_XPATH_EXPRESSION_OK = 1200
7612 XML_XPATH_NUMBER_ERROR = 1201
7613 XML_XPATH_UNFINISHED_LITERAL_ERROR = 1202
7614 XML_XPATH_START_LITERAL_ERROR = 1203
7615 XML_XPATH_VARIABLE_REF_ERROR = 1204
7616 XML_XPATH_UNDEF_VARIABLE_ERROR = 1205
7617 XML_XPATH_INVALID_PREDICATE_ERROR = 1206
7618 XML_XPATH_EXPR_ERROR = 1207
7619 XML_XPATH_UNCLOSED_ERROR = 1208
7620 XML_XPATH_UNKNOWN_FUNC_ERROR = 1209
7621 XML_XPATH_INVALID_OPERAND = 1210
7622 XML_XPATH_INVALID_TYPE = 1211
7623 XML_XPATH_INVALID_ARITY = 1212
7624 XML_XPATH_INVALID_CTXT_SIZE = 1213
7625 XML_XPATH_INVALID_CTXT_POSITION = 1214
7626 XML_XPATH_MEMORY_ERROR = 1215
7627 XML_XPTR_SYNTAX_ERROR = 1216
7628 XML_XPTR_RESOURCE_ERROR = 1217
7629 XML_XPTR_SUB_RESOURCE_ERROR = 1218
7630 XML_XPATH_UNDEF_PREFIX_ERROR = 1219
7631 XML_XPATH_ENCODING_ERROR = 1220
7632 XML_XPATH_INVALID_CHAR_ERROR = 1221
7633 XML_TREE_INVALID_HEX = 1300
7634 XML_TREE_INVALID_DEC = 1301
7635 XML_TREE_UNTERMINATED_ENTITY = 1302
7636 XML_TREE_NOT_UTF8 = 1303
7637 XML_SAVE_NOT_UTF8 = 1400
7638 XML_SAVE_CHAR_INVALID = 1401
7639 XML_SAVE_NO_DOCTYPE = 1402
7640 XML_SAVE_UNKNOWN_ENCODING = 1403
7641 XML_REGEXP_COMPILE_ERROR = 1450
7642 XML_IO_UNKNOWN = 1500
7643 XML_IO_EACCES = 1501
7644 XML_IO_EAGAIN = 1502
7645 XML_IO_EBADF = 1503
7646 XML_IO_EBADMSG = 1504
7647 XML_IO_EBUSY = 1505
7648 XML_IO_ECANCELED = 1506
7649 XML_IO_ECHILD = 1507
7650 XML_IO_EDEADLK = 1508
7651 XML_IO_EDOM = 1509
7652 XML_IO_EEXIST = 1510
7653 XML_IO_EFAULT = 1511
7654 XML_IO_EFBIG = 1512
7655 XML_IO_EINPROGRESS = 1513
7656 XML_IO_EINTR = 1514
7657 XML_IO_EINVAL = 1515
7658 XML_IO_EIO = 1516
7659 XML_IO_EISDIR = 1517
7660 XML_IO_EMFILE = 1518
7661 XML_IO_EMLINK = 1519
7662 XML_IO_EMSGSIZE = 1520
7663 XML_IO_ENAMETOOLONG = 1521
7664 XML_IO_ENFILE = 1522
7665 XML_IO_ENODEV = 1523
7666 XML_IO_ENOENT = 1524
7667 XML_IO_ENOEXEC = 1525
7668 XML_IO_ENOLCK = 1526
7669 XML_IO_ENOMEM = 1527
7670 XML_IO_ENOSPC = 1528
7671 XML_IO_ENOSYS = 1529
7672 XML_IO_ENOTDIR = 1530
7673 XML_IO_ENOTEMPTY = 1531
7674 XML_IO_ENOTSUP = 1532
7675 XML_IO_ENOTTY = 1533
7676 XML_IO_ENXIO = 1534
7677 XML_IO_EPERM = 1535
7678 XML_IO_EPIPE = 1536
7679 XML_IO_ERANGE = 1537
7680 XML_IO_EROFS = 1538
7681 XML_IO_ESPIPE = 1539
7682 XML_IO_ESRCH = 1540
7683 XML_IO_ETIMEDOUT = 1541
7684 XML_IO_EXDEV = 1542
7685 XML_IO_NETWORK_ATTEMPT = 1543
7686 XML_IO_ENCODER = 1544
7687 XML_IO_FLUSH = 1545
7688 XML_IO_WRITE = 1546
7689 XML_IO_NO_INPUT = 1547
7690 XML_IO_BUFFER_FULL = 1548
7691 XML_IO_LOAD_ERROR = 1549
7692 XML_IO_ENOTSOCK = 1550
7693 XML_IO_EISCONN = 1551
7694 XML_IO_ECONNREFUSED = 1552
7695 XML_IO_ENETUNREACH = 1553
7696 XML_IO_EADDRINUSE = 1554
7697 XML_IO_EALREADY = 1555
7698 XML_IO_EAFNOSUPPORT = 1556
7699 XML_XINCLUDE_RECURSION = 1600
7700 XML_XINCLUDE_PARSE_VALUE = 1601
7701 XML_XINCLUDE_ENTITY_DEF_MISMATCH = 1602
7702 XML_XINCLUDE_NO_HREF = 1603
7703 XML_XINCLUDE_NO_FALLBACK = 1604
7704 XML_XINCLUDE_HREF_URI = 1605
7705 XML_XINCLUDE_TEXT_FRAGMENT = 1606
7706 XML_XINCLUDE_TEXT_DOCUMENT = 1607
7707 XML_XINCLUDE_INVALID_CHAR = 1608
7708 XML_XINCLUDE_BUILD_FAILED = 1609
7709 XML_XINCLUDE_UNKNOWN_ENCODING = 1610
7710 XML_XINCLUDE_MULTIPLE_ROOT = 1611
7711 XML_XINCLUDE_XPTR_FAILED = 1612
7712 XML_XINCLUDE_XPTR_RESULT = 1613
7713 XML_XINCLUDE_INCLUDE_IN_INCLUDE = 1614
7714 XML_XINCLUDE_FALLBACKS_IN_INCLUDE = 1615
7715 XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE = 1616
7716 XML_XINCLUDE_DEPRECATED_NS = 1617
7717 XML_XINCLUDE_FRAGMENT_ID = 1618
7718 XML_CATALOG_MISSING_ATTR = 1650
7719 XML_CATALOG_ENTRY_BROKEN = 1651
7720 XML_CATALOG_PREFER_VALUE = 1652
7721 XML_CATALOG_NOT_CATALOG = 1653
7722 XML_CATALOG_RECURSION = 1654
7723 XML_SCHEMAP_PREFIX_UNDEFINED = 1700
7724 XML_SCHEMAP_ATTRFORMDEFAULT_VALUE = 1701
7725 XML_SCHEMAP_ATTRGRP_NONAME_NOREF = 1702
7726 XML_SCHEMAP_ATTR_NONAME_NOREF = 1703
7727 XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF = 1704
7728 XML_SCHEMAP_ELEMFORMDEFAULT_VALUE = 1705
7729 XML_SCHEMAP_ELEM_NONAME_NOREF = 1706
7730 XML_SCHEMAP_EXTENSION_NO_BASE = 1707
7731 XML_SCHEMAP_FACET_NO_VALUE = 1708
7732 XML_SCHEMAP_FAILED_BUILD_IMPORT = 1709
7733 XML_SCHEMAP_GROUP_NONAME_NOREF = 1710
7734 XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI = 1711
7735 XML_SCHEMAP_IMPORT_REDEFINE_NSNAME = 1712
7736 XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI = 1713
7737 XML_SCHEMAP_INVALID_BOOLEAN = 1714
7738 XML_SCHEMAP_INVALID_ENUM = 1715
7739 XML_SCHEMAP_INVALID_FACET = 1716
7740 XML_SCHEMAP_INVALID_FACET_VALUE = 1717
7741 XML_SCHEMAP_INVALID_MAXOCCURS = 1718
7742 XML_SCHEMAP_INVALID_MINOCCURS = 1719
7743 XML_SCHEMAP_INVALID_REF_AND_SUBTYPE = 1720
7744 XML_SCHEMAP_INVALID_WHITE_SPACE = 1721
7745 XML_SCHEMAP_NOATTR_NOREF = 1722
7746 XML_SCHEMAP_NOTATION_NO_NAME = 1723
7747 XML_SCHEMAP_NOTYPE_NOREF = 1724
7748 XML_SCHEMAP_REF_AND_SUBTYPE = 1725
7749 XML_SCHEMAP_RESTRICTION_NONAME_NOREF = 1726
7750 XML_SCHEMAP_SIMPLETYPE_NONAME = 1727
7751 XML_SCHEMAP_TYPE_AND_SUBTYPE = 1728
7752 XML_SCHEMAP_UNKNOWN_ALL_CHILD = 1729
7753 XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD = 1730
7754 XML_SCHEMAP_UNKNOWN_ATTR_CHILD = 1731
7755 XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD = 1732
7756 XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP = 1733
7757 XML_SCHEMAP_UNKNOWN_BASE_TYPE = 1734
7758 XML_SCHEMAP_UNKNOWN_CHOICE_CHILD = 1735
7759 XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD = 1736
7760 XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD = 1737
7761 XML_SCHEMAP_UNKNOWN_ELEM_CHILD = 1738
7762 XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD = 1739
7763 XML_SCHEMAP_UNKNOWN_FACET_CHILD = 1740
7764 XML_SCHEMAP_UNKNOWN_FACET_TYPE = 1741
7765 XML_SCHEMAP_UNKNOWN_GROUP_CHILD = 1742
7766 XML_SCHEMAP_UNKNOWN_IMPORT_CHILD = 1743
7767 XML_SCHEMAP_UNKNOWN_LIST_CHILD = 1744
7768 XML_SCHEMAP_UNKNOWN_NOTATION_CHILD = 1745
7769 XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD = 1746
7770 XML_SCHEMAP_UNKNOWN_REF = 1747
7771 XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD = 1748
7772 XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD = 1749
7773 XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD = 1750
7774 XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD = 1751
7775 XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD = 1752
7776 XML_SCHEMAP_UNKNOWN_TYPE = 1753
7777 XML_SCHEMAP_UNKNOWN_UNION_CHILD = 1754
7778 XML_SCHEMAP_ELEM_DEFAULT_FIXED = 1755
7779 XML_SCHEMAP_REGEXP_INVALID = 1756
7780 XML_SCHEMAP_FAILED_LOAD = 1757
7781 XML_SCHEMAP_NOTHING_TO_PARSE = 1758
7782 XML_SCHEMAP_NOROOT = 1759
7783 XML_SCHEMAP_REDEFINED_GROUP = 1760
7784 XML_SCHEMAP_REDEFINED_TYPE = 1761
7785 XML_SCHEMAP_REDEFINED_ELEMENT = 1762
7786 XML_SCHEMAP_REDEFINED_ATTRGROUP = 1763
7787 XML_SCHEMAP_REDEFINED_ATTR = 1764
7788 XML_SCHEMAP_REDEFINED_NOTATION = 1765
7789 XML_SCHEMAP_FAILED_PARSE = 1766
7790 XML_SCHEMAP_UNKNOWN_PREFIX = 1767
7791 XML_SCHEMAP_DEF_AND_PREFIX = 1768
7792 XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD = 1769
7793 XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI = 1770
7794 XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI = 1771
7795 XML_SCHEMAP_NOT_SCHEMA = 1772
7796 XML_SCHEMAP_UNKNOWN_MEMBER_TYPE = 1773
7797 XML_SCHEMAP_INVALID_ATTR_USE = 1774
7798 XML_SCHEMAP_RECURSIVE = 1775
7799 XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE = 1776
7800 XML_SCHEMAP_INVALID_ATTR_COMBINATION = 1777
7801 XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION = 1778
7802 XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD = 1779
7803 XML_SCHEMAP_INVALID_ATTR_NAME = 1780
7804 XML_SCHEMAP_REF_AND_CONTENT = 1781
7805 XML_SCHEMAP_CT_PROPS_CORRECT_1 = 1782
7806 XML_SCHEMAP_CT_PROPS_CORRECT_2 = 1783
7807 XML_SCHEMAP_CT_PROPS_CORRECT_3 = 1784
7808 XML_SCHEMAP_CT_PROPS_CORRECT_4 = 1785
7809 XML_SCHEMAP_CT_PROPS_CORRECT_5 = 1786
7810 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1 = 1787
7811 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1 = 1788
7812 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2 = 1789
7813 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2 = 1790
7814 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3 = 1791
7815 XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER = 1792
7816 XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE = 1793
7817 XML_SCHEMAP_UNION_NOT_EXPRESSIBLE = 1794
7818 XML_SCHEMAP_SRC_IMPORT_3_1 = 1795
7819 XML_SCHEMAP_SRC_IMPORT_3_2 = 1796
7820 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1 = 1797
7821 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2 = 1798
7822 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3 = 1799
7823 XML_SCHEMAP_COS_CT_EXTENDS_1_3 = 1800
7824 XML_SCHEMAV_NOROOT = 1801
7825 XML_SCHEMAV_UNDECLAREDELEM = 1802
7826 XML_SCHEMAV_NOTTOPLEVEL = 1803
7827 XML_SCHEMAV_MISSING = 1804
7828 XML_SCHEMAV_WRONGELEM = 1805
7829 XML_SCHEMAV_NOTYPE = 1806
7830 XML_SCHEMAV_NOROLLBACK = 1807
7831 XML_SCHEMAV_ISABSTRACT = 1808
7832 XML_SCHEMAV_NOTEMPTY = 1809
7833 XML_SCHEMAV_ELEMCONT = 1810
7834 XML_SCHEMAV_HAVEDEFAULT = 1811
7835 XML_SCHEMAV_NOTNILLABLE = 1812
7836 XML_SCHEMAV_EXTRACONTENT = 1813
7837 XML_SCHEMAV_INVALIDATTR = 1814
7838 XML_SCHEMAV_INVALIDELEM = 1815
7839 XML_SCHEMAV_NOTDETERMINIST = 1816
7840 XML_SCHEMAV_CONSTRUCT = 1817
7841 XML_SCHEMAV_INTERNAL = 1818
7842 XML_SCHEMAV_NOTSIMPLE = 1819
7843 XML_SCHEMAV_ATTRUNKNOWN = 1820
7844 XML_SCHEMAV_ATTRINVALID = 1821
7845 XML_SCHEMAV_VALUE = 1822
7846 XML_SCHEMAV_FACET = 1823
7847 XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1 = 1824
7848 XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2 = 1825
7849 XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3 = 1826
7850 XML_SCHEMAV_CVC_TYPE_3_1_1 = 1827
7851 XML_SCHEMAV_CVC_TYPE_3_1_2 = 1828
7852 XML_SCHEMAV_CVC_FACET_VALID = 1829
7853 XML_SCHEMAV_CVC_LENGTH_VALID = 1830
7854 XML_SCHEMAV_CVC_MINLENGTH_VALID = 1831
7855 XML_SCHEMAV_CVC_MAXLENGTH_VALID = 1832
7856 XML_SCHEMAV_CVC_MININCLUSIVE_VALID = 1833
7857 XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID = 1834
7858 XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID = 1835
7859 XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID = 1836
7860 XML_SCHEMAV_CVC_TOTALDIGITS_VALID = 1837
7861 XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID = 1838
7862 XML_SCHEMAV_CVC_PATTERN_VALID = 1839
7863 XML_SCHEMAV_CVC_ENUMERATION_VALID = 1840
7864 XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1 = 1841
7865 XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2 = 1842
7866 XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3 = 1843
7867 XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4 = 1844
7868 XML_SCHEMAV_CVC_ELT_1 = 1845
7869 XML_SCHEMAV_CVC_ELT_2 = 1846
7870 XML_SCHEMAV_CVC_ELT_3_1 = 1847
7871 XML_SCHEMAV_CVC_ELT_3_2_1 = 1848
7872 XML_SCHEMAV_CVC_ELT_3_2_2 = 1849
7873 XML_SCHEMAV_CVC_ELT_4_1 = 1850
7874 XML_SCHEMAV_CVC_ELT_4_2 = 1851
7875 XML_SCHEMAV_CVC_ELT_4_3 = 1852
7876 XML_SCHEMAV_CVC_ELT_5_1_1 = 1853
7877 XML_SCHEMAV_CVC_ELT_5_1_2 = 1854
7878 XML_SCHEMAV_CVC_ELT_5_2_1 = 1855
7879 XML_SCHEMAV_CVC_ELT_5_2_2_1 = 1856
7880 XML_SCHEMAV_CVC_ELT_5_2_2_2_1 = 1857
7881 XML_SCHEMAV_CVC_ELT_5_2_2_2_2 = 1858
7882 XML_SCHEMAV_CVC_ELT_6 = 1859
7883 XML_SCHEMAV_CVC_ELT_7 = 1860
7884 XML_SCHEMAV_CVC_ATTRIBUTE_1 = 1861
7885 XML_SCHEMAV_CVC_ATTRIBUTE_2 = 1862
7886 XML_SCHEMAV_CVC_ATTRIBUTE_3 = 1863
7887 XML_SCHEMAV_CVC_ATTRIBUTE_4 = 1864
7888 XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1 = 1865
7889 XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1 = 1866
7890 XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2 = 1867
7891 XML_SCHEMAV_CVC_COMPLEX_TYPE_4 = 1868
7892 XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1 = 1869
7893 XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2 = 1870
7894 XML_SCHEMAV_ELEMENT_CONTENT = 1871
7895 XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING = 1872
7896 XML_SCHEMAV_CVC_COMPLEX_TYPE_1 = 1873
7897 XML_SCHEMAV_CVC_AU = 1874
7898 XML_SCHEMAV_CVC_TYPE_1 = 1875
7899 XML_SCHEMAV_CVC_TYPE_2 = 1876
7900 XML_SCHEMAV_CVC_IDC = 1877
7901 XML_SCHEMAV_CVC_WILDCARD = 1878
7902 XML_SCHEMAV_MISC = 1879
7903 XML_XPTR_UNKNOWN_SCHEME = 1900
7904 XML_XPTR_CHILDSEQ_START = 1901
7905 XML_XPTR_EVAL_FAILED = 1902
7906 XML_XPTR_EXTRA_OBJECTS = 1903
7907 XML_C14N_CREATE_CTXT = 1950
7908 XML_C14N_REQUIRES_UTF8 = 1951
7909 XML_C14N_CREATE_STACK = 1952
7910 XML_C14N_INVALID_NODE = 1953
7911 XML_C14N_UNKNOW_NODE = 1954
7912 XML_C14N_RELATIVE_NAMESPACE = 1955
7913 XML_FTP_PASV_ANSWER = 2000
7914 XML_FTP_EPSV_ANSWER = 2001
7915 XML_FTP_ACCNT = 2002
7916 XML_FTP_URL_SYNTAX = 2003
7917 XML_HTTP_URL_SYNTAX = 2020
7918 XML_HTTP_USE_IP = 2021
7919 XML_HTTP_UNKNOWN_HOST = 2022
7920 XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000
7921 XML_SCHEMAP_SRC_SIMPLE_TYPE_2 = 3001
7922 XML_SCHEMAP_SRC_SIMPLE_TYPE_3 = 3002
7923 XML_SCHEMAP_SRC_SIMPLE_TYPE_4 = 3003
7924 XML_SCHEMAP_SRC_RESOLVE = 3004
7925 XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE = 3005
7926 XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE = 3006
7927 XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES = 3007
7928 XML_SCHEMAP_ST_PROPS_CORRECT_1 = 3008
7929 XML_SCHEMAP_ST_PROPS_CORRECT_2 = 3009
7930 XML_SCHEMAP_ST_PROPS_CORRECT_3 = 3010
7931 XML_SCHEMAP_COS_ST_RESTRICTS_1_1 = 3011
7932 XML_SCHEMAP_COS_ST_RESTRICTS_1_2 = 3012
7933 XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1 = 3013
7934 XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2 = 3014
7935 XML_SCHEMAP_COS_ST_RESTRICTS_2_1 = 3015
7936 XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1 = 3016
7937 XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2 = 3017
7938 XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1 = 3018
7939 XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2 = 3019
7940 XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3 = 3020
7941 XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4 = 3021
7942 XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5 = 3022
7943 XML_SCHEMAP_COS_ST_RESTRICTS_3_1 = 3023
7944 XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1 = 3024
7945 XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2 = 3025
7946 XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2 = 3026
7947 XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1 = 3027
7948 XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3 = 3028
7949 XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4 = 3029
7950 XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5 = 3030
7951 XML_SCHEMAP_COS_ST_DERIVED_OK_2_1 = 3031
7952 XML_SCHEMAP_COS_ST_DERIVED_OK_2_2 = 3032
7953 XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED = 3033
7954 XML_SCHEMAP_S4S_ELEM_MISSING = 3034
7955 XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED = 3035
7956 XML_SCHEMAP_S4S_ATTR_MISSING = 3036
7957 XML_SCHEMAP_S4S_ATTR_INVALID_VALUE = 3037
7958 XML_SCHEMAP_SRC_ELEMENT_1 = 3038
7959 XML_SCHEMAP_SRC_ELEMENT_2_1 = 3039
7960 XML_SCHEMAP_SRC_ELEMENT_2_2 = 3040
7961 XML_SCHEMAP_SRC_ELEMENT_3 = 3041
7962 XML_SCHEMAP_P_PROPS_CORRECT_1 = 3042
7963 XML_SCHEMAP_P_PROPS_CORRECT_2_1 = 3043
7964 XML_SCHEMAP_P_PROPS_CORRECT_2_2 = 3044
7965 XML_SCHEMAP_E_PROPS_CORRECT_2 = 3045
7966 XML_SCHEMAP_E_PROPS_CORRECT_3 = 3046
7967 XML_SCHEMAP_E_PROPS_CORRECT_4 = 3047
7968 XML_SCHEMAP_E_PROPS_CORRECT_5 = 3048
7969 XML_SCHEMAP_E_PROPS_CORRECT_6 = 3049
7970 XML_SCHEMAP_SRC_INCLUDE = 3050
7971 XML_SCHEMAP_SRC_ATTRIBUTE_1 = 3051
7972 XML_SCHEMAP_SRC_ATTRIBUTE_2 = 3052
7973 XML_SCHEMAP_SRC_ATTRIBUTE_3_1 = 3053
7974 XML_SCHEMAP_SRC_ATTRIBUTE_3_2 = 3054
7975 XML_SCHEMAP_SRC_ATTRIBUTE_4 = 3055
7976 XML_SCHEMAP_NO_XMLNS = 3056
7977 XML_SCHEMAP_NO_XSI = 3057
7978 XML_SCHEMAP_COS_VALID_DEFAULT_1 = 3058
7979 XML_SCHEMAP_COS_VALID_DEFAULT_2_1 = 3059
7980 XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1 = 3060
7981 XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2 = 3061
7982 XML_SCHEMAP_CVC_SIMPLE_TYPE = 3062
7983 XML_SCHEMAP_COS_CT_EXTENDS_1_1 = 3063
7984 XML_SCHEMAP_SRC_IMPORT_1_1 = 3064
7985 XML_SCHEMAP_SRC_IMPORT_1_2 = 3065
7986 XML_SCHEMAP_SRC_IMPORT_2 = 3066
7987 XML_SCHEMAP_SRC_IMPORT_2_1 = 3067
7988 XML_SCHEMAP_SRC_IMPORT_2_2 = 3068
7989 XML_SCHEMAP_INTERNAL = 3069
7990 XML_SCHEMAP_NOT_DETERMINISTIC = 3070
7991 XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1 = 3071
7992 XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2 = 3072
7993 XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3 = 3073
7994 XML_SCHEMAP_MG_PROPS_CORRECT_1 = 3074
7995 XML_SCHEMAP_MG_PROPS_CORRECT_2 = 3075
7996 XML_SCHEMAP_SRC_CT_1 = 3076
7997 XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3 = 3077
7998 XML_SCHEMAP_AU_PROPS_CORRECT_2 = 3078
7999 XML_SCHEMAP_A_PROPS_CORRECT_2 = 3079
8000 XML_SCHEMAP_C_PROPS_CORRECT = 3080
8001 XML_SCHEMAP_SRC_REDEFINE = 3081
8002 XML_SCHEMAP_SRC_IMPORT = 3082
8003 XML_SCHEMAP_WARN_SKIP_SCHEMA = 3083
8004 XML_SCHEMAP_WARN_UNLOCATED_SCHEMA = 3084
8005 XML_SCHEMAP_WARN_ATTR_REDECL_PROH = 3085
8006 XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH = 3086
8007 XML_SCHEMAP_AG_PROPS_CORRECT = 3087
8008 XML_SCHEMAP_COS_CT_EXTENDS_1_2 = 3088
8009 XML_SCHEMAP_AU_PROPS_CORRECT = 3089
8010 XML_SCHEMAP_A_PROPS_CORRECT_3 = 3090
8011 XML_SCHEMAP_COS_ALL_LIMITED = 3091
8012 XML_SCHEMATRONV_ASSERT = 4000
8013 XML_SCHEMATRONV_REPORT = 4001
8014 XML_MODULE_OPEN = 4900
8015 XML_MODULE_CLOSE = 4901
8016 XML_CHECK_FOUND_ELEMENT = 5000
8017 XML_CHECK_FOUND_ATTRIBUTE = 5001
8018 XML_CHECK_FOUND_TEXT = 5002
8019 XML_CHECK_FOUND_CDATA = 5003
8020 XML_CHECK_FOUND_ENTITYREF = 5004
8021 XML_CHECK_FOUND_ENTITY = 5005
8022 XML_CHECK_FOUND_PI = 5006
8023 XML_CHECK_FOUND_COMMENT = 5007
8024 XML_CHECK_FOUND_DOCTYPE = 5008
8025 XML_CHECK_FOUND_FRAGMENT = 5009
8026 XML_CHECK_FOUND_NOTATION = 5010
8027 XML_CHECK_UNKNOWN_NODE = 5011
8028 XML_CHECK_ENTITY_TYPE = 5012
8029 XML_CHECK_NO_PARENT = 5013
8030 XML_CHECK_NO_DOC = 5014
8031 XML_CHECK_NO_NAME = 5015
8032 XML_CHECK_NO_ELEM = 5016
8033 XML_CHECK_WRONG_DOC = 5017
8034 XML_CHECK_NO_PREV = 5018
8035 XML_CHECK_WRONG_PREV = 5019
8036 XML_CHECK_NO_NEXT = 5020
8037 XML_CHECK_WRONG_NEXT = 5021
8038 XML_CHECK_NOT_DTD = 5022
8039 XML_CHECK_NOT_ATTR = 5023
8040 XML_CHECK_NOT_ATTR_DECL = 5024
8041 XML_CHECK_NOT_ELEM_DECL = 5025
8042 XML_CHECK_NOT_ENTITY_DECL = 5026
8043 XML_CHECK_NOT_NS_DECL = 5027
8044 XML_CHECK_NO_HREF = 5028
8045 XML_CHECK_WRONG_PARENT = 5029
8046 XML_CHECK_NS_SCOPE = 5030
8047 XML_CHECK_NS_ANCESTOR = 5031
8048 XML_CHECK_NOT_UTF8 = 5032
8049 XML_CHECK_NO_DICT = 5033
8050 XML_CHECK_NOT_NCNAME = 5034
8051 XML_CHECK_OUTSIDE_DICT = 5035
8052 XML_CHECK_WRONG_NAME = 5036
8053 XML_CHECK_NAME_NOT_NULL = 5037
8054 XML_I18N_NO_NAME = 6000
8055 XML_I18N_NO_HANDLER = 6001
8056 XML_I18N_EXCESS_HANDLER = 6002
8057 XML_I18N_CONV_FAILED = 6003
8058 XML_I18N_NO_OUTPUT = 6004
8059 XML_BUF_OVERFLOW = 7000
8060
8061 # xmlExpNodeType
8062 XML_EXP_EMPTY = 0
8063 XML_EXP_FORBID = 1
8064 XML_EXP_ATOM = 2
8065 XML_EXP_SEQ = 3
8066 XML_EXP_OR = 4
8067 XML_EXP_COUNT = 5
8068
8069 # xmlElementContentType
8070 XML_ELEMENT_CONTENT_PCDATA = 1
8071 XML_ELEMENT_CONTENT_ELEMENT = 2
8072 XML_ELEMENT_CONTENT_SEQ = 3
8073 XML_ELEMENT_CONTENT_OR = 4
8074
8075 # xmlParserProperties
8076 XML_PARSER_LOADDTD = 1
8077 XML_PARSER_DEFAULTATTRS = 2
8078 XML_PARSER_VALIDATE = 3
8079 XML_PARSER_SUBST_ENTITIES = 4
8080
8081 # xmlReaderTypes
8082 XML_READER_TYPE_NONE = 0
8083 XML_READER_TYPE_ELEMENT = 1
8084 XML_READER_TYPE_ATTRIBUTE = 2
8085 XML_READER_TYPE_TEXT = 3
8086 XML_READER_TYPE_CDATA = 4
8087 XML_READER_TYPE_ENTITY_REFERENCE = 5
8088 XML_READER_TYPE_ENTITY = 6
8089 XML_READER_TYPE_PROCESSING_INSTRUCTION = 7
8090 XML_READER_TYPE_COMMENT = 8
8091 XML_READER_TYPE_DOCUMENT = 9
8092 XML_READER_TYPE_DOCUMENT_TYPE = 10
8093 XML_READER_TYPE_DOCUMENT_FRAGMENT = 11
8094 XML_READER_TYPE_NOTATION = 12
8095 XML_READER_TYPE_WHITESPACE = 13
8096 XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14
8097 XML_READER_TYPE_END_ELEMENT = 15
8098 XML_READER_TYPE_END_ENTITY = 16
8099 XML_READER_TYPE_XML_DECLARATION = 17
8100
8101 # xmlCatalogPrefer
8102 XML_CATA_PREFER_NONE = 0
8103 XML_CATA_PREFER_PUBLIC = 1
8104 XML_CATA_PREFER_SYSTEM = 2
8105
8106 # xmlElementType
8107 XML_ELEMENT_NODE = 1
8108 XML_ATTRIBUTE_NODE = 2
8109 XML_TEXT_NODE = 3
8110 XML_CDATA_SECTION_NODE = 4
8111 XML_ENTITY_REF_NODE = 5
8112 XML_ENTITY_NODE = 6
8113 XML_PI_NODE = 7
8114 XML_COMMENT_NODE = 8
8115 XML_DOCUMENT_NODE = 9
8116 XML_DOCUMENT_TYPE_NODE = 10
8117 XML_DOCUMENT_FRAG_NODE = 11
8118 XML_NOTATION_NODE = 12
8119 XML_HTML_DOCUMENT_NODE = 13
8120 XML_DTD_NODE = 14
8121 XML_ELEMENT_DECL = 15
8122 XML_ATTRIBUTE_DECL = 16
8123 XML_ENTITY_DECL = 17
8124 XML_NAMESPACE_DECL = 18
8125 XML_XINCLUDE_START = 19
8126 XML_XINCLUDE_END = 20
8127 XML_DOCB_DOCUMENT_NODE = 21
8128
8129 # xlinkActuate
8130 XLINK_ACTUATE_NONE = 0
8131 XLINK_ACTUATE_AUTO = 1
8132 XLINK_ACTUATE_ONREQUEST = 2
8133
8134 # xmlFeature
8135 XML_WITH_THREAD = 1
8136 XML_WITH_TREE = 2
8137 XML_WITH_OUTPUT = 3
8138 XML_WITH_PUSH = 4
8139 XML_WITH_READER = 5
8140 XML_WITH_PATTERN = 6
8141 XML_WITH_WRITER = 7
8142 XML_WITH_SAX1 = 8
8143 XML_WITH_FTP = 9
8144 XML_WITH_HTTP = 10
8145 XML_WITH_VALID = 11
8146 XML_WITH_HTML = 12
8147 XML_WITH_LEGACY = 13
8148 XML_WITH_C14N = 14
8149 XML_WITH_CATALOG = 15
8150 XML_WITH_XPATH = 16
8151 XML_WITH_XPTR = 17
8152 XML_WITH_XINCLUDE = 18
8153 XML_WITH_ICONV = 19
8154 XML_WITH_ISO8859X = 20
8155 XML_WITH_UNICODE = 21
8156 XML_WITH_REGEXP = 22
8157 XML_WITH_AUTOMATA = 23
8158 XML_WITH_EXPR = 24
8159 XML_WITH_SCHEMAS = 25
8160 XML_WITH_SCHEMATRON = 26
8161 XML_WITH_MODULES = 27
8162 XML_WITH_DEBUG = 28
8163 XML_WITH_DEBUG_MEM = 29
8164 XML_WITH_DEBUG_RUN = 30
8165 XML_WITH_ZLIB = 31
8166 XML_WITH_ICU = 32
8167 XML_WITH_LZMA = 33
8168 XML_WITH_NONE = 99999
8169
8170 # xmlElementContentOccur
8171 XML_ELEMENT_CONTENT_ONCE = 1
8172 XML_ELEMENT_CONTENT_OPT = 2
8173 XML_ELEMENT_CONTENT_MULT = 3
8174 XML_ELEMENT_CONTENT_PLUS = 4
8175
8176 # xmlXPathError
8177 XPATH_EXPRESSION_OK = 0
8178 XPATH_NUMBER_ERROR = 1
8179 XPATH_UNFINISHED_LITERAL_ERROR = 2
8180 XPATH_START_LITERAL_ERROR = 3
8181 XPATH_VARIABLE_REF_ERROR = 4
8182 XPATH_UNDEF_VARIABLE_ERROR = 5
8183 XPATH_INVALID_PREDICATE_ERROR = 6
8184 XPATH_EXPR_ERROR = 7
8185 XPATH_UNCLOSED_ERROR = 8
8186 XPATH_UNKNOWN_FUNC_ERROR = 9
8187 XPATH_INVALID_OPERAND = 10
8188 XPATH_INVALID_TYPE = 11
8189 XPATH_INVALID_ARITY = 12
8190 XPATH_INVALID_CTXT_SIZE = 13
8191 XPATH_INVALID_CTXT_POSITION = 14
8192 XPATH_MEMORY_ERROR = 15
8193 XPTR_SYNTAX_ERROR = 16
8194 XPTR_RESOURCE_ERROR = 17
8195 XPTR_SUB_RESOURCE_ERROR = 18
8196 XPATH_UNDEF_PREFIX_ERROR = 19
8197 XPATH_ENCODING_ERROR = 20
8198 XPATH_INVALID_CHAR_ERROR = 21
8199 XPATH_INVALID_CTXT = 22
8200 XPATH_STACK_ERROR = 23
8201 XPATH_FORBID_VARIABLE_ERROR = 24
8202
8203 # xmlTextReaderMode
8204 XML_TEXTREADER_MODE_INITIAL = 0
8205 XML_TEXTREADER_MODE_INTERACTIVE = 1
8206 XML_TEXTREADER_MODE_ERROR = 2
8207 XML_TEXTREADER_MODE_EOF = 3
8208 XML_TEXTREADER_MODE_CLOSED = 4
8209 XML_TEXTREADER_MODE_READING = 5
8210
8211 # xmlErrorLevel
8212 XML_ERR_NONE = 0
8213 XML_ERR_WARNING = 1
8214 XML_ERR_ERROR = 2
8215 XML_ERR_FATAL = 3
8216
8217 # xmlCharEncoding
8218 XML_CHAR_ENCODING_ERROR = -1
8219 XML_CHAR_ENCODING_NONE = 0
8220 XML_CHAR_ENCODING_UTF8 = 1
8221 XML_CHAR_ENCODING_UTF16LE = 2
8222 XML_CHAR_ENCODING_UTF16BE = 3
8223 XML_CHAR_ENCODING_UCS4LE = 4
8224 XML_CHAR_ENCODING_UCS4BE = 5
8225 XML_CHAR_ENCODING_EBCDIC = 6
8226 XML_CHAR_ENCODING_UCS4_2143 = 7
8227 XML_CHAR_ENCODING_UCS4_3412 = 8
8228 XML_CHAR_ENCODING_UCS2 = 9
8229 XML_CHAR_ENCODING_8859_1 = 10
8230 XML_CHAR_ENCODING_8859_2 = 11
8231 XML_CHAR_ENCODING_8859_3 = 12
8232 XML_CHAR_ENCODING_8859_4 = 13
8233 XML_CHAR_ENCODING_8859_5 = 14
8234 XML_CHAR_ENCODING_8859_6 = 15
8235 XML_CHAR_ENCODING_8859_7 = 16
8236 XML_CHAR_ENCODING_8859_8 = 17
8237 XML_CHAR_ENCODING_8859_9 = 18
8238 XML_CHAR_ENCODING_2022_JP = 19
8239 XML_CHAR_ENCODING_SHIFT_JIS = 20
8240 XML_CHAR_ENCODING_EUC_JP = 21
8241 XML_CHAR_ENCODING_ASCII = 22
8242
8243 # xmlErrorDomain
8244 XML_FROM_NONE = 0
8245 XML_FROM_PARSER = 1
8246 XML_FROM_TREE = 2
8247 XML_FROM_NAMESPACE = 3
8248 XML_FROM_DTD = 4
8249 XML_FROM_HTML = 5
8250 XML_FROM_MEMORY = 6
8251 XML_FROM_OUTPUT = 7
8252 XML_FROM_IO = 8
8253 XML_FROM_FTP = 9
8254 XML_FROM_HTTP = 10
8255 XML_FROM_XINCLUDE = 11
8256 XML_FROM_XPATH = 12
8257 XML_FROM_XPOINTER = 13
8258 XML_FROM_REGEXP = 14
8259 XML_FROM_DATATYPE = 15
8260 XML_FROM_SCHEMASP = 16
8261 XML_FROM_SCHEMASV = 17
8262 XML_FROM_RELAXNGP = 18
8263 XML_FROM_RELAXNGV = 19
8264 XML_FROM_CATALOG = 20
8265 XML_FROM_C14N = 21
8266 XML_FROM_XSLT = 22
8267 XML_FROM_VALID = 23
8268 XML_FROM_CHECK = 24
8269 XML_FROM_WRITER = 25
8270 XML_FROM_MODULE = 26
8271 XML_FROM_I18N = 27
8272 XML_FROM_SCHEMATRONV = 28
8273 XML_FROM_BUFFER = 29
8274 XML_FROM_URI = 30
8275
8276 # htmlStatus
8277 HTML_NA = 0
8278 HTML_INVALID = 1
8279 HTML_DEPRECATED = 2
8280 HTML_VALID = 4
8281 HTML_REQUIRED = 12
8282
8283 # xmlSchemaValidOption
8284 XML_SCHEMA_VAL_VC_I_CREATE = 1
8285
8286 # xmlSchemaWhitespaceValueType
8287 XML_SCHEMA_WHITESPACE_UNKNOWN = 0
8288 XML_SCHEMA_WHITESPACE_PRESERVE = 1
8289 XML_SCHEMA_WHITESPACE_REPLACE = 2
8290 XML_SCHEMA_WHITESPACE_COLLAPSE = 3
8291
8292 # htmlParserOption
8293 HTML_PARSE_RECOVER = 1
8294 HTML_PARSE_NODEFDTD = 4
8295 HTML_PARSE_NOERROR = 32
8296 HTML_PARSE_NOWARNING = 64
8297 HTML_PARSE_PEDANTIC = 128
8298 HTML_PARSE_NOBLANKS = 256
8299 HTML_PARSE_NONET = 2048
8300 HTML_PARSE_NOIMPLIED = 8192
8301 HTML_PARSE_COMPACT = 65536
8302 HTML_PARSE_IGNORE_ENC = 2097152
8303
8304 # xmlRelaxNGValidErr
8305 XML_RELAXNG_OK = 0
8306 XML_RELAXNG_ERR_MEMORY = 1
8307 XML_RELAXNG_ERR_TYPE = 2
8308 XML_RELAXNG_ERR_TYPEVAL = 3
8309 XML_RELAXNG_ERR_DUPID = 4
8310 XML_RELAXNG_ERR_TYPECMP = 5
8311 XML_RELAXNG_ERR_NOSTATE = 6
8312 XML_RELAXNG_ERR_NODEFINE = 7
8313 XML_RELAXNG_ERR_LISTEXTRA = 8
8314 XML_RELAXNG_ERR_LISTEMPTY = 9
8315 XML_RELAXNG_ERR_INTERNODATA = 10
8316 XML_RELAXNG_ERR_INTERSEQ = 11
8317 XML_RELAXNG_ERR_INTEREXTRA = 12
8318 XML_RELAXNG_ERR_ELEMNAME = 13
8319 XML_RELAXNG_ERR_ATTRNAME = 14
8320 XML_RELAXNG_ERR_ELEMNONS = 15
8321 XML_RELAXNG_ERR_ATTRNONS = 16
8322 XML_RELAXNG_ERR_ELEMWRONGNS = 17
8323 XML_RELAXNG_ERR_ATTRWRONGNS = 18
8324 XML_RELAXNG_ERR_ELEMEXTRANS = 19
8325 XML_RELAXNG_ERR_ATTREXTRANS = 20
8326 XML_RELAXNG_ERR_ELEMNOTEMPTY = 21
8327 XML_RELAXNG_ERR_NOELEM = 22
8328 XML_RELAXNG_ERR_NOTELEM = 23
8329 XML_RELAXNG_ERR_ATTRVALID = 24
8330 XML_RELAXNG_ERR_CONTENTVALID = 25
8331 XML_RELAXNG_ERR_EXTRACONTENT = 26
8332 XML_RELAXNG_ERR_INVALIDATTR = 27
8333 XML_RELAXNG_ERR_DATAELEM = 28
8334 XML_RELAXNG_ERR_VALELEM = 29
8335 XML_RELAXNG_ERR_LISTELEM = 30
8336 XML_RELAXNG_ERR_DATATYPE = 31
8337 XML_RELAXNG_ERR_VALUE = 32
8338 XML_RELAXNG_ERR_LIST = 33
8339 XML_RELAXNG_ERR_NOGRAMMAR = 34
8340 XML_RELAXNG_ERR_EXTRADATA = 35
8341 XML_RELAXNG_ERR_LACKDATA = 36
8342 XML_RELAXNG_ERR_INTERNAL = 37
8343 XML_RELAXNG_ERR_ELEMWRONG = 38
8344 XML_RELAXNG_ERR_TEXTWRONG = 39
8345
8346 # xmlCatalogAllow
8347 XML_CATA_ALLOW_NONE = 0
8348 XML_CATA_ALLOW_GLOBAL = 1
8349 XML_CATA_ALLOW_DOCUMENT = 2
8350 XML_CATA_ALLOW_ALL = 3
8351
8352 # xmlAttributeType
8353 XML_ATTRIBUTE_CDATA = 1
8354 XML_ATTRIBUTE_ID = 2
8355 XML_ATTRIBUTE_IDREF = 3
8356 XML_ATTRIBUTE_IDREFS = 4
8357 XML_ATTRIBUTE_ENTITY = 5
8358 XML_ATTRIBUTE_ENTITIES = 6
8359 XML_ATTRIBUTE_NMTOKEN = 7
8360 XML_ATTRIBUTE_NMTOKENS = 8
8361 XML_ATTRIBUTE_ENUMERATION = 9
8362 XML_ATTRIBUTE_NOTATION = 10
8363
8364 # xmlSchematronValidOptions
8365 XML_SCHEMATRON_OUT_QUIET = 1
8366 XML_SCHEMATRON_OUT_TEXT = 2
8367 XML_SCHEMATRON_OUT_XML = 4
8368 XML_SCHEMATRON_OUT_ERROR = 8
8369 XML_SCHEMATRON_OUT_FILE = 256
8370 XML_SCHEMATRON_OUT_BUFFER = 512
8371 XML_SCHEMATRON_OUT_IO = 1024
8372
8373 # xmlSchemaContentType
8374 XML_SCHEMA_CONTENT_UNKNOWN = 0
8375 XML_SCHEMA_CONTENT_EMPTY = 1
8376 XML_SCHEMA_CONTENT_ELEMENTS = 2
8377 XML_SCHEMA_CONTENT_MIXED = 3
8378 XML_SCHEMA_CONTENT_SIMPLE = 4
8379 XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS = 5
8380 XML_SCHEMA_CONTENT_BASIC = 6
8381 XML_SCHEMA_CONTENT_ANY = 7
8382
8383 # xmlSchemaTypeType
8384 XML_SCHEMA_TYPE_BASIC = 1
8385 XML_SCHEMA_TYPE_ANY = 2
8386 XML_SCHEMA_TYPE_FACET = 3
8387 XML_SCHEMA_TYPE_SIMPLE = 4
8388 XML_SCHEMA_TYPE_COMPLEX = 5
8389 XML_SCHEMA_TYPE_SEQUENCE = 6
8390 XML_SCHEMA_TYPE_CHOICE = 7
8391 XML_SCHEMA_TYPE_ALL = 8
8392 XML_SCHEMA_TYPE_SIMPLE_CONTENT = 9
8393 XML_SCHEMA_TYPE_COMPLEX_CONTENT = 10
8394 XML_SCHEMA_TYPE_UR = 11
8395 XML_SCHEMA_TYPE_RESTRICTION = 12
8396 XML_SCHEMA_TYPE_EXTENSION = 13
8397 XML_SCHEMA_TYPE_ELEMENT = 14
8398 XML_SCHEMA_TYPE_ATTRIBUTE = 15
8399 XML_SCHEMA_TYPE_ATTRIBUTEGROUP = 16
8400 XML_SCHEMA_TYPE_GROUP = 17
8401 XML_SCHEMA_TYPE_NOTATION = 18
8402 XML_SCHEMA_TYPE_LIST = 19
8403 XML_SCHEMA_TYPE_UNION = 20
8404 XML_SCHEMA_TYPE_ANY_ATTRIBUTE = 21
8405 XML_SCHEMA_TYPE_IDC_UNIQUE = 22
8406 XML_SCHEMA_TYPE_IDC_KEY = 23
8407 XML_SCHEMA_TYPE_IDC_KEYREF = 24
8408 XML_SCHEMA_TYPE_PARTICLE = 25
8409 XML_SCHEMA_TYPE_ATTRIBUTE_USE = 26
8410 XML_SCHEMA_FACET_MININCLUSIVE = 1000
8411 XML_SCHEMA_FACET_MINEXCLUSIVE = 1001
8412 XML_SCHEMA_FACET_MAXINCLUSIVE = 1002
8413 XML_SCHEMA_FACET_MAXEXCLUSIVE = 1003
8414 XML_SCHEMA_FACET_TOTALDIGITS = 1004
8415 XML_SCHEMA_FACET_FRACTIONDIGITS = 1005
8416 XML_SCHEMA_FACET_PATTERN = 1006
8417 XML_SCHEMA_FACET_ENUMERATION = 1007
8418 XML_SCHEMA_FACET_WHITESPACE = 1008
8419 XML_SCHEMA_FACET_LENGTH = 1009
8420 XML_SCHEMA_FACET_MAXLENGTH = 1010
8421 XML_SCHEMA_FACET_MINLENGTH = 1011
8422 XML_SCHEMA_EXTRA_QNAMEREF = 2000
8423 XML_SCHEMA_EXTRA_ATTR_USE_PROHIB = 2001
8424
8425 # xmlModuleOption
8426 XML_MODULE_LAZY = 1
8427 XML_MODULE_LOCAL = 2
8428
8429 # xmlParserMode
8430 XML_PARSE_UNKNOWN = 0
8431 XML_PARSE_DOM = 1
8432 XML_PARSE_SAX = 2
8433 XML_PARSE_PUSH_DOM = 3
8434 XML_PARSE_PUSH_SAX = 4
8435 XML_PARSE_READER = 5
8436
8437 # xmlC14NMode
8438 XML_C14N_1_0 = 0
8439 XML_C14N_EXCLUSIVE_1_0 = 1
8440 XML_C14N_1_1 = 2
8441
8442 # xmlParserOption
8443 XML_PARSE_RECOVER = 1
8444 XML_PARSE_NOENT = 2
8445 XML_PARSE_DTDLOAD = 4
8446 XML_PARSE_DTDATTR = 8
8447 XML_PARSE_DTDVALID = 16
8448 XML_PARSE_NOERROR = 32
8449 XML_PARSE_NOWARNING = 64
8450 XML_PARSE_PEDANTIC = 128
8451 XML_PARSE_NOBLANKS = 256
8452 XML_PARSE_SAX1 = 512
8453 XML_PARSE_XINCLUDE = 1024
8454 XML_PARSE_NONET = 2048
8455 XML_PARSE_NODICT = 4096
8456 XML_PARSE_NSCLEAN = 8192
8457 XML_PARSE_NOCDATA = 16384
8458 XML_PARSE_NOXINCNODE = 32768
8459 XML_PARSE_COMPACT = 65536
8460 XML_PARSE_OLD10 = 131072
8461 XML_PARSE_NOBASEFIX = 262144
8462 XML_PARSE_HUGE = 524288
8463 XML_PARSE_OLDSAX = 1048576
8464 XML_PARSE_IGNORE_ENC = 2097152
8465 XML_PARSE_BIG_LINES = 4194304
8466
8467 # xmlElementTypeVal
8468 XML_ELEMENT_TYPE_UNDEFINED = 0
8469 XML_ELEMENT_TYPE_EMPTY = 1
8470 XML_ELEMENT_TYPE_ANY = 2
8471 XML_ELEMENT_TYPE_MIXED = 3
8472 XML_ELEMENT_TYPE_ELEMENT = 4
8473
8474 # xmlDocProperties
8475 XML_DOC_WELLFORMED = 1
8476 XML_DOC_NSVALID = 2
8477 XML_DOC_OLD10 = 4
8478 XML_DOC_DTDVALID = 8
8479 XML_DOC_XINCLUDE = 16
8480 XML_DOC_USERBUILT = 32
8481 XML_DOC_INTERNAL = 64
8482 XML_DOC_HTML = 128
8483
8484 # xlinkType
8485 XLINK_TYPE_NONE = 0
8486 XLINK_TYPE_SIMPLE = 1
8487 XLINK_TYPE_EXTENDED = 2
8488 XLINK_TYPE_EXTENDED_SET = 3
8489
8490 # xmlXPathObjectType
8491 XPATH_UNDEFINED = 0
8492 XPATH_NODESET = 1
8493 XPATH_BOOLEAN = 2
8494 XPATH_NUMBER = 3
8495 XPATH_STRING = 4
8496 XPATH_POINT = 5
8497 XPATH_RANGE = 6
8498 XPATH_LOCATIONSET = 7
8499 XPATH_USERS = 8
8500 XPATH_XSLT_TREE = 9
8501
8502 # xmlSchemaValidError
8503 XML_SCHEMAS_ERR_OK = 0
8504 XML_SCHEMAS_ERR_NOROOT = 1
8505 XML_SCHEMAS_ERR_UNDECLAREDELEM = 2
8506 XML_SCHEMAS_ERR_NOTTOPLEVEL = 3
8507 XML_SCHEMAS_ERR_MISSING = 4
8508 XML_SCHEMAS_ERR_WRONGELEM = 5
8509 XML_SCHEMAS_ERR_NOTYPE = 6
8510 XML_SCHEMAS_ERR_NOROLLBACK = 7
8511 XML_SCHEMAS_ERR_ISABSTRACT = 8
8512 XML_SCHEMAS_ERR_NOTEMPTY = 9
8513 XML_SCHEMAS_ERR_ELEMCONT = 10
8514 XML_SCHEMAS_ERR_HAVEDEFAULT = 11
8515 XML_SCHEMAS_ERR_NOTNILLABLE = 12
8516 XML_SCHEMAS_ERR_EXTRACONTENT = 13
8517 XML_SCHEMAS_ERR_INVALIDATTR = 14
8518 XML_SCHEMAS_ERR_INVALIDELEM = 15
8519 XML_SCHEMAS_ERR_NOTDETERMINIST = 16
8520 XML_SCHEMAS_ERR_CONSTRUCT = 17
8521 XML_SCHEMAS_ERR_INTERNAL = 18
8522 XML_SCHEMAS_ERR_NOTSIMPLE = 19
8523 XML_SCHEMAS_ERR_ATTRUNKNOWN = 20
8524 XML_SCHEMAS_ERR_ATTRINVALID = 21
8525 XML_SCHEMAS_ERR_VALUE = 22
8526 XML_SCHEMAS_ERR_FACET = 23
8527 XML_SCHEMAS_ERR_ = 24
8528 XML_SCHEMAS_ERR_XXX = 25
8529