File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / python / libxml2.py
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 19:53:34 2014 UTC (10 years, 3 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, HEAD
libxml2 2.9.1

    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>