Annotation of embedaddon/libxml2/python/libxml2.py, revision 1.1.1.1

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

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