5 # The root of all libxml2 errors.
6 class libxmlError(Exception): pass
8 # Type of the wrapper class for the C objects wrappers
11 n = type(_obj).__name__
12 if n != 'PyCObject' and n != 'PyCapsule':
19 # id() is sometimes negative ...
24 return (sys.maxsize - i)
28 # Errors raised by the wrappers when some tree handling failed.
30 class treeError(libxmlError):
31 def __init__(self, msg):
36 class parserError(libxmlError):
37 def __init__(self, msg):
42 class uriError(libxmlError):
43 def __init__(self, msg):
48 class xpathError(libxmlError):
49 def __init__(self, msg):
55 def __init__(self, _obj):
72 def io_read(self, len = -1):
77 ret = self.__io.read()
79 ret = self.__io.read(len)
83 print("failed to read from Python:", type(e))
84 print("on IO:", self.__io)
90 def io_write(self, str, len = -1):
94 return(self.__io.write(str))
95 return(self.__io.write(str, len))
97 class ioReadWrapper(ioWrapper):
98 def __init__(self, _obj, enc = ""):
99 ioWrapper.__init__(self, _obj)
100 self._o = libxml2mod.xmlCreateInputBuffer(self, enc)
106 libxml2mod.xmlFreeParserInputBuffer(self._o)
112 libxml2mod.xmlFreeParserInputBuffer(self._o)
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")
121 elif type(_obj).__name__ == 'PyCapsule':
122 file = libxml2mod.outputBufferGetPythonFile(_obj)
124 ioWrapper.__init__(self, file)
126 ioWrapper.__init__(self, _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)
133 file = libxml2mod.outputBufferGetPythonFile(_obj)
135 ioWrapper.__init__(self, file)
137 ioWrapper.__init__(self, _obj)
144 libxml2mod.xmlOutputBufferClose(self._o)
150 libxml2mod.xmlOutputBufferClose(self._o)
156 libxml2mod.xmlOutputBufferClose(self._o)
160 # Example of a class to handle SAX events
163 """Base class for SAX handlers"""
164 def startDocument(self):
165 """called at the start of the document"""
168 def endDocument(self):
169 """called at the end of the document"""
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"""
177 def endElement(self, tag):
178 """called at the start of every element, tag is the name of
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
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
194 def reference(self, name):
195 """called when an entity reference has been found"""
198 def ignorableWhitespace(self, data):
199 """called when potentially ignorable white spaces have been found"""
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"""
207 def comment(self, content):
208 """called when a comment has been found, content contains the comment"""
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"""
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"""
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"""
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"""
236 def attributeDecl(self, elem, name, type, defi, defaultValue, nameList):
237 """called when an ATTRIBUTE definition has been found"""
240 def elementDecl(self, name, type, content):
241 """called when an ELEMENT definition has been found"""
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"""
251 def warning(self, msg):
255 def error(self, msg):
256 raise parserError(msg)
258 def fatalError(self, msg):
259 raise parserError(msg)
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
268 def __init__(self, _obj=None):
274 def __eq__(self, other):
277 ret = libxml2mod.compareNodesEqual(self._o, other._o)
281 def __ne__(self, other):
284 ret = libxml2mod.compareNodesEqual(self._o, other._o)
287 ret = libxml2mod.nodeHash(self._o)
291 return self.serialize()
292 def get_parent(self):
293 ret = libxml2mod.parent(self._o)
297 def get_children(self):
298 ret = libxml2mod.children(self._o)
303 ret = libxml2mod.last(self._o)
308 ret = libxml2mod.next(self._o)
312 def get_properties(self):
313 ret = libxml2mod.properties(self._o)
316 return xmlAttr(_obj=ret)
318 ret = libxml2mod.prev(self._o)
322 def get_content(self):
323 return libxml2mod.xmlNodeGetContent(self._o)
324 getContent = get_content # why is this duplicate naming needed ?
326 return libxml2mod.name(self._o)
328 return libxml2mod.type(self._o)
330 ret = libxml2mod.doc(self._o)
332 if self.type in ["document_xml", "document_html"]:
333 return xmlDoc(_obj=self._o)
336 return xmlDoc(_obj=ret)
338 # Those are common attributes to nearly all type of nodes
339 # defined as python2 properties
342 if float(sys.version[0:3]) < 2.2:
343 def __getattr__(self, attr):
345 ret = libxml2mod.parent(self._o)
349 elif attr == "properties":
350 ret = libxml2mod.properties(self._o)
353 return xmlAttr(_obj=ret)
354 elif attr == "children":
355 ret = libxml2mod.children(self._o)
360 ret = libxml2mod.last(self._o)
365 ret = libxml2mod.next(self._o)
370 ret = libxml2mod.prev(self._o)
374 elif attr == "content":
375 return libxml2mod.xmlNodeGetContent(self._o)
377 return libxml2mod.name(self._o)
379 return libxml2mod.type(self._o)
381 ret = libxml2mod.doc(self._o)
383 if self.type == "document_xml" or self.type == "document_html":
384 return xmlDoc(_obj=self._o)
387 return xmlDoc(_obj=ret)
388 raise AttributeError(attr)
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")
402 # Serialization routines, the optional arguments have the following
404 # encoding: string to ask saving in a specific encoding
405 # indent: if 1 the serializer is asked to indent the output
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)
413 # Canonicalization routines:
415 # nodes: the node set (tuple or list) to be included in the
416 # canonized image or None if all document nodes should be
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
431 nodes = [n._o for n in nodes]
432 return libxml2mod.xmlC14NDocDumpMemory(
445 nodes = [n._o for n in nodes]
446 return libxml2mod.xmlC14NDocSaveTo(
455 # Selecting nodes using XPath, a bit slow because the context
456 # is allocated/freed every time but convenient.
458 def xpathEval(self, expr):
462 ctxt = doc.xpathNewContext()
463 ctxt.setContextNode(self)
464 res = ctxt.xpathEval(expr)
465 ctxt.xpathFreeContext()
469 # # Selecting nodes using XPath, faster because the context
470 # # is allocated just once per xmlDoc.
472 # # Removed: DV memleaks c.f. #126735
474 # def xpathEval2(self, expr):
479 # doc._ctxt.setContextNode(self)
481 # doc._ctxt = doc.xpathNewContext()
482 # doc._ctxt.setContextNode(self)
483 # res = doc._ctxt.xpathEval(expr)
485 def xpathEval2(self, expr):
486 return self.xpathEval(expr)
489 def removeNsDef(self, href):
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.
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.
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.
504 ret = libxml2mod.xmlNodeRemoveNsDef(self._o, href)
505 if ret is None:return None
506 __tmp = xmlNs(_obj=ret)
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
518 self.doc._ctxt.xpathFreeContext()
521 libxml2mod.xmlFreeDoc(self._o)
525 # implements the depth-first iterator for libxml2 DOM tree
527 class xmlCoreDepthFirstItertor:
528 def __init__(self, node):
537 self.parents.append(self.node)
538 self.node = self.node.children
541 parent = self.parents.pop()
544 self.node = parent.next
547 # implements the breadth-first iterator for libxml2 DOM tree
549 class xmlCoreBreadthFirstItertor:
550 def __init__(self, node):
559 self.parents.append(self.node)
560 self.node = self.node.next
563 parent = self.parents.pop()
566 self.node = parent.children
569 # converters to present a nicer view of the XPath returns
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":
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)
589 return xmlDtd(_obj=o)
590 return xmlNode(_obj=o)
592 def xpathObjectRet(o):
594 if otype == type([]):
595 ret = list(map(xpathObjectRet, o))
597 elif otype == type(()):
598 ret = list(map(xpathObjectRet, o))
600 elif otype == type('') or otype == type(0) or otype == type(0.0):
606 # register an XPath function
608 def registerXPathFunction(ctxt, name, ns_uri, f):
609 ret = libxml2mod.xmlRegisterXPathFunction(ctxt, name, ns_uri, f)
612 # For the xmlTextReader parser configuration
615 PARSER_DEFAULTATTRS=2
617 PARSER_SUBST_ENTITIES=4
620 # For the error callback severities
622 PARSER_SEVERITY_VALIDITY_WARNING=1
623 PARSER_SEVERITY_VALIDITY_ERROR=2
624 PARSER_SEVERITY_WARNING=3
625 PARSER_SEVERITY_ERROR=4
628 # register the libxml2 error handler
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). """
634 if 'libxslt' not in sys.modules:
635 # normal behaviour when libxslt is not imported
636 ret = libxml2mod.xmlRegisterErrorHandler(f,ctx)
638 # when libxslt is already imported, one must
639 # use libxst's error handler instead
641 ret = libxslt.registerErrorHandler(f,ctx)
644 class parserCtxtCore:
646 def __init__(self, _obj=None):
654 libxml2mod.xmlFreeParserCtxt(self._o)
657 def setErrorHandler(self,f,arg):
658 """Register an error handler that will be called back as
659 f(arg,msg,severity,reserved).
661 @reserved is currently always None."""
662 libxml2mod.xmlParserCtxtSetErrorHandler(self._o,f,arg)
664 def getErrorHandler(self):
665 """Return (f,arg) as previously registered with setErrorHandler
667 return libxml2mod.xmlParserCtxtGetErrorHandler(self._o)
669 def addLocalCatalog(self, uri):
670 """Register a local catalog with the parser"""
671 return libxml2mod.addLocalCatalog(self._o, uri)
676 def __init__(self, *args, **kw):
679 def setValidityErrorHandler(self, err_func, warn_func, arg=None):
681 Register error and warning handlers for DTD validation.
682 These will be called back as f(msg,arg)
684 libxml2mod.xmlSetValidErrors(self._o, err_func, warn_func, arg)
687 class SchemaValidCtxtCore:
689 def __init__(self, *args, **kw):
692 def setValidityErrorHandler(self, err_func, warn_func, arg=None):
694 Register error and warning handlers for Schema validation.
695 These will be called back as f(msg,arg)
697 libxml2mod.xmlSchemaSetValidErrors(self._o, err_func, warn_func, arg)
700 class relaxNgValidCtxtCore:
702 def __init__(self, *args, **kw):
705 def setValidityErrorHandler(self, err_func, warn_func, arg=None):
707 Register error and warning handlers for RelaxNG validation.
708 These will be called back as f(msg,arg)
710 libxml2mod.xmlRelaxNGSetValidErrors(self._o, err_func, warn_func, arg)
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))
718 class xmlTextReaderCore:
720 def __init__(self, _obj=None):
722 if _obj != None:self._o = _obj;return
727 libxml2mod.xmlFreeTextReader(self._o)
730 def SetErrorHandler(self,f,arg):
731 """Register an error handler that will be called back as
732 f(arg,msg,severity,locator)."""
734 libxml2mod.xmlTextReaderSetErrorHandler(\
737 libxml2mod.xmlTextReaderSetErrorHandler(\
738 self._o,_xmlTextReaderErrorFunc,(f,arg))
740 def GetErrorHandler(self):
741 """Return (f,arg) as previously registered with setErrorHandler
743 f,arg = libxml2mod.xmlTextReaderGetErrorHandler(self._o)
747 # assert f is _xmlTextReaderErrorFunc
751 # The cleanup now goes though a wrapper in libxml.c
754 libxml2mod.xmlPythonCleanupParser()
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
762 __input_callbacks = []
763 def registerInputCallback(func):
764 def findOpenCallback(URI):
765 for cb in reversed(__input_callbacks):
769 libxml2mod.xmlRegisterInputCallback(findOpenCallback)
770 __input_callbacks.append(func)
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()
780 # WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
782 # Everything before this line comes from libxml.py
783 # Everything after this line is automatically generated
785 # WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
788 # Functions from module HTMLparser
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)
797 def htmlHandleOmittedElem(val):
798 """Set and return the previous value for handling HTML omitted
800 ret = libxml2mod.htmlHandleOmittedElem(val)
803 def htmlIsScriptAttribute(name):
804 """Check if an attribute is of content type Script """
805 ret = libxml2mod.htmlIsScriptAttribute(name)
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)
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)
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)
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)
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)
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)
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)
853 # Functions from module HTMLtree
856 def htmlIsBooleanAttr(name):
857 """Determine if a given attribute is a boolean attribute. """
858 ret = libxml2mod.htmlIsBooleanAttr(name)
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)
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)
875 # Functions from module SAX2
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)
887 def defaultSAXHandlerInit():
888 """Initialize the default SAX2 handler """
889 libxml2mod.xmlDefaultSAXHandlerInit()
891 def docbDefaultSAXHandlerInit():
892 """Initialize the default SAX handler """
893 libxml2mod.docbDefaultSAXHandlerInit()
895 def htmlDefaultSAXHandlerInit():
896 """Initialize the default SAX handler """
897 libxml2mod.htmlDefaultSAXHandlerInit()
900 # Functions from module catalog
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)
911 def catalogCleanup():
912 """Free up all the memory associated with catalogs """
913 libxml2mod.xmlCatalogCleanup()
915 def catalogConvert():
916 """Convert all the SGML catalog entries as XML ones """
917 ret = libxml2mod.xmlCatalogConvert()
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)
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)
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)
937 def catalogRemove(value):
938 """Remove an entry from the catalog """
939 ret = libxml2mod.xmlCatalogRemove(value)
942 def catalogResolve(pubID, sysID):
943 """Do a complete resolution lookup of an External Identifier """
944 ret = libxml2mod.xmlCatalogResolve(pubID, sysID)
947 def catalogResolvePublic(pubID):
948 """Try to lookup the catalog reference associated to a public
950 ret = libxml2mod.xmlCatalogResolvePublic(pubID)
953 def catalogResolveSystem(sysID):
954 """Try to lookup the catalog resource for a system ID """
955 ret = libxml2mod.xmlCatalogResolveSystem(sysID)
958 def catalogResolveURI(URI):
959 """Do a complete resolution lookup of an URI """
960 ret = libxml2mod.xmlCatalogResolveURI(URI)
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)
969 def initializeCatalog():
970 """Do the catalog initialization. this function is not thread
971 safe, catalog initialization should preferably be done once
973 libxml2mod.xmlInitializeCatalog()
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)
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)
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)
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)
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)
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)
1022 # Functions from module chvalid
1026 """This function is DEPRECATED. Use xmlIsBaseChar_ch or
1027 xmlIsBaseCharQ instead """
1028 ret = libxml2mod.xmlIsBaseChar(ch)
1032 """This function is DEPRECATED. Use xmlIsBlank_ch or
1033 xmlIsBlankQ instead """
1034 ret = libxml2mod.xmlIsBlank(ch)
1038 """This function is DEPRECATED. Use xmlIsChar_ch or xmlIsCharQ
1040 ret = libxml2mod.xmlIsChar(ch)
1043 def isCombining(ch):
1044 """This function is DEPRECATED. Use xmlIsCombiningQ instead """
1045 ret = libxml2mod.xmlIsCombining(ch)
1049 """This function is DEPRECATED. Use xmlIsDigit_ch or
1050 xmlIsDigitQ instead """
1051 ret = libxml2mod.xmlIsDigit(ch)
1055 """This function is DEPRECATED. Use xmlIsExtender_ch or
1056 xmlIsExtenderQ instead """
1057 ret = libxml2mod.xmlIsExtender(ch)
1060 def isIdeographic(ch):
1061 """This function is DEPRECATED. Use xmlIsIdeographicQ instead """
1062 ret = libxml2mod.xmlIsIdeographic(ch)
1065 def isPubidChar(ch):
1066 """This function is DEPRECATED. Use xmlIsPubidChar_ch or
1067 xmlIsPubidCharQ instead """
1068 ret = libxml2mod.xmlIsPubidChar(ch)
1072 # Functions from module debugXML
1075 def boolToText(boolval):
1076 """Convenient way to turn bool into text """
1077 ret = libxml2mod.xmlBoolToText(boolval)
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)
1085 def shellPrintXPathError(errorType, arg):
1086 """Print the xpath error to libxml default error channel """
1087 libxml2mod.xmlShellPrintXPathError(errorType, arg)
1090 # Functions from module dict
1094 """Free the dictionary mutex. Do not call unless sure the
1095 library is not in use anymore ! """
1096 libxml2mod.xmlDictCleanup()
1098 def initializeDict():
1099 """Do the dictionary mutex initialization. this function is
1101 ret = libxml2mod.xmlInitializeDict()
1105 # Functions from module encoding
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)
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()
1119 def cleanupEncodingAliases():
1120 """Unregisters all aliases """
1121 libxml2mod.xmlCleanupEncodingAliases()
1123 def delEncodingAlias(alias):
1124 """Unregisters an encoding alias @alias """
1125 ret = libxml2mod.xmlDelEncodingAlias(alias)
1128 def encodingAlias(alias):
1129 """Lookup an encoding name for the given alias. """
1130 ret = libxml2mod.xmlGetEncodingAlias(alias)
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
1138 libxml2mod.xmlInitCharEncodingHandlers()
1141 # Functions from module entities
1144 def cleanupPredefinedEntities():
1145 """Cleanup up the predefined entities table. Deprecated call """
1146 libxml2mod.xmlCleanupPredefinedEntities()
1148 def initializePredefinedEntities():
1149 """Set up the predefined entities. Deprecated call """
1150 libxml2mod.xmlInitializePredefinedEntities()
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)
1159 # Functions from module globals
1162 def cleanupGlobals():
1163 """Additional cleanup for multi-threading """
1164 libxml2mod.xmlCleanupGlobals()
1167 """Additional initialisation for multi-threading """
1168 libxml2mod.xmlInitGlobals()
1170 def thrDefDefaultBufferSize(v):
1171 ret = libxml2mod.xmlThrDefDefaultBufferSize(v)
1174 def thrDefDoValidityCheckingDefaultValue(v):
1175 ret = libxml2mod.xmlThrDefDoValidityCheckingDefaultValue(v)
1178 def thrDefGetWarningsDefaultValue(v):
1179 ret = libxml2mod.xmlThrDefGetWarningsDefaultValue(v)
1182 def thrDefIndentTreeOutput(v):
1183 ret = libxml2mod.xmlThrDefIndentTreeOutput(v)
1186 def thrDefKeepBlanksDefaultValue(v):
1187 ret = libxml2mod.xmlThrDefKeepBlanksDefaultValue(v)
1190 def thrDefLineNumbersDefaultValue(v):
1191 ret = libxml2mod.xmlThrDefLineNumbersDefaultValue(v)
1194 def thrDefLoadExtDtdDefaultValue(v):
1195 ret = libxml2mod.xmlThrDefLoadExtDtdDefaultValue(v)
1198 def thrDefParserDebugEntities(v):
1199 ret = libxml2mod.xmlThrDefParserDebugEntities(v)
1202 def thrDefPedanticParserDefaultValue(v):
1203 ret = libxml2mod.xmlThrDefPedanticParserDefaultValue(v)
1206 def thrDefSaveNoEmptyTags(v):
1207 ret = libxml2mod.xmlThrDefSaveNoEmptyTags(v)
1210 def thrDefSubstituteEntitiesDefaultValue(v):
1211 ret = libxml2mod.xmlThrDefSubstituteEntitiesDefaultValue(v)
1214 def thrDefTreeIndentString(v):
1215 ret = libxml2mod.xmlThrDefTreeIndentString(v)
1219 # Functions from module nanoftp
1222 def nanoFTPCleanup():
1223 """Cleanup the FTP protocol layer. This cleanup proxy
1225 libxml2mod.xmlNanoFTPCleanup()
1228 """Initialize the FTP protocol layer. Currently it just checks
1229 for proxy informations, and get the hostname """
1230 libxml2mod.xmlNanoFTPInit()
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)
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)
1246 # Functions from module nanohttp
1249 def nanoHTTPCleanup():
1250 """Cleanup the HTTP protocol layer. """
1251 libxml2mod.xmlNanoHTTPCleanup()
1254 """Initialize the HTTP protocol layer. Currently it just
1255 checks for proxy informations """
1256 libxml2mod.xmlNanoHTTPInit()
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)
1266 # Functions from module parser
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)
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()
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)
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)
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)
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)
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)
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)
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)
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)
1350 def pedanticParserDefault(val):
1351 """Set and return the previous value for enabling pedantic
1353 ret = libxml2mod.xmlPedanticParserDefault(val)
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)
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)
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)
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)
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)
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)
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
1403 ret = libxml2mod.xmlRecoverMemory(buffer, size)
1404 if ret is None:raise treeError('xmlRecoverMemory() failed')
1405 return xmlDoc(_obj=ret)
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)
1418 # Functions from module parserInternals
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
1452 ret = libxml2mod.xmlCheckLanguageID(lang)
1455 def copyChar(len, out, val):
1456 """append the char value in the array """
1457 ret = libxml2mod.xmlCopyChar(len, out, val)
1460 def copyCharMultiByte(out, val):
1461 """append the char value in the array """
1462 ret = libxml2mod.xmlCopyCharMultiByte(out, val)
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)
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)
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)
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
1492 ret = libxml2mod.xmlCreateURLParserCtxt(filename, options)
1493 if ret is None:raise parserError('xmlCreateURLParserCtxt() failed')
1494 return parserCtxt(_obj=ret)
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)
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()
1512 """Check whether the character is allowed by the production
1513 [84] Letter ::= BaseChar | Ideographic """
1514 ret = libxml2mod.xmlIsLetter(c)
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)
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)
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)
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)
1549 # Functions from module python
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)
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)
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)
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
1573 ret = libxml2mod.xmlCreatePushParser(SAX, chunk, size, URI)
1574 if ret is None:raise parserError('xmlCreatePushParser() failed')
1575 return parserCtxt(_obj=ret)
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)
1585 """dump the memory allocated in the file .memdump """
1586 libxml2mod.xmlDumpMemory()
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
1592 ret = libxml2mod.htmlCreatePushParser(SAX, chunk, size, URI)
1593 if ret is None:raise parserError('htmlCreatePushParser() failed')
1594 return parserCtxt(_obj=ret)
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)
1602 """Returns the total amount of memory allocated by libxml2 """
1603 ret = libxml2mod.xmlMemoryUsed()
1607 """Create a new Node """
1608 ret = libxml2mod.xmlNewNode(name)
1609 if ret is None:raise treeError('xmlNewNode() failed')
1610 return xmlNode(_obj=ret)
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()
1622 def setEntityLoader(resolver):
1623 """Set the entity resolver as a python function """
1624 ret = libxml2mod.xmlSetEntityLoader(resolver)
1628 # Functions from module relaxng
1631 def relaxNGCleanupTypes():
1632 """Cleanup the default Schemas type library associated to
1634 libxml2mod.xmlRelaxNGCleanupTypes()
1636 def relaxNGInitTypes():
1637 """Initilize the default type libraries. """
1638 ret = libxml2mod.xmlRelaxNGInitTypes()
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)
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)
1656 # Functions from module tree
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
1664 ret = libxml2mod.xmlBuildQName(ncname, prefix, memory, len)
1668 """get the default compression mode used, ZLIB based. """
1669 ret = libxml2mod.xmlGetCompressMode()
1672 def isXHTML(systemID, publicID):
1673 """Try to find if the document correspond to an XHTML DTD """
1674 ret = libxml2mod.xmlIsXHTML(systemID, publicID)
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)
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)
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)
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)
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)
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)
1714 def validateNCName(value, space):
1715 """Check that a value conforms to the lexical space of NCName """
1716 ret = libxml2mod.xmlValidateNCName(value, space)
1719 def validateNMToken(value, space):
1720 """Check that a value conforms to the lexical space of NMToken """
1721 ret = libxml2mod.xmlValidateNMToken(value, space)
1724 def validateName(value, space):
1725 """Check that a value conforms to the lexical space of Name """
1726 ret = libxml2mod.xmlValidateName(value, space)
1729 def validateQName(value, space):
1730 """Check that a value conforms to the lexical space of QName """
1731 ret = libxml2mod.xmlValidateQName(value, space)
1735 # Functions from module uri
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)
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)
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)
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)
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
1787 ret = libxml2mod.xmlBuildURI(URI, base)
1790 def canonicPath(path):
1791 """Constructs a canonic path from the specified path. """
1792 ret = libxml2mod.xmlCanonicPath(path)
1796 """Simply creates an empty xmlURI """
1797 ret = libxml2mod.xmlCreateURI()
1798 if ret is None:raise uriError('xmlCreateURI() failed')
1799 return URI(_obj=ret)
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)
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)
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)
1823 def pathToURI(path):
1824 """Constructs an URI expressing the existing path """
1825 ret = libxml2mod.xmlPathToURI(path)
1829 # Functions from module valid
1833 """Allocate a validation context structure. """
1834 ret = libxml2mod.xmlNewValidCtxt()
1835 if ret is None:raise treeError('xmlNewValidCtxt() failed')
1836 return ValidCtxt(_obj=ret)
1838 def validateNameValue(value):
1839 """Validate that the given value match Name production """
1840 ret = libxml2mod.xmlValidateNameValue(value)
1843 def validateNamesValue(value):
1844 """Validate that the given value match Names production """
1845 ret = libxml2mod.xmlValidateNamesValue(value)
1848 def validateNmtokenValue(value):
1849 """Validate that the given value match Nmtoken production [
1850 VC: Name Token ] """
1851 ret = libxml2mod.xmlValidateNmtokenValue(value)
1854 def validateNmtokensValue(value):
1855 """Validate that the given value match Nmtokens production [
1856 VC: Name Token ] """
1857 ret = libxml2mod.xmlValidateNmtokensValue(value)
1861 # Functions from module xmlIO
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
1868 ret = libxml2mod.xmlCheckFilename(path)
1871 def cleanupInputCallbacks():
1872 """clears the entire input callback table. this includes the
1873 compiled-in I/O. """
1874 libxml2mod.xmlCleanupInputCallbacks()
1876 def cleanupOutputCallbacks():
1877 """clears the entire output callback table. this includes the
1878 compiled-in I/O callbacks. """
1879 libxml2mod.xmlCleanupOutputCallbacks()
1881 def fileMatch(filename):
1882 """input from FILE * """
1883 ret = libxml2mod.xmlFileMatch(filename)
1886 def iOFTPMatch(filename):
1887 """check if the URI matches an FTP one """
1888 ret = libxml2mod.xmlIOFTPMatch(filename)
1891 def iOHTTPMatch(filename):
1892 """check if the URI matches an HTTP one """
1893 ret = libxml2mod.xmlIOHTTPMatch(filename)
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)
1902 def parserGetDirectory(filename):
1903 """lookup the directory for that file """
1904 ret = libxml2mod.xmlParserGetDirectory(filename)
1907 def registerDefaultInputCallbacks():
1908 """Registers the default compiled-in I/O handlers. """
1909 libxml2mod.xmlRegisterDefaultInputCallbacks()
1911 def registerDefaultOutputCallbacks():
1912 """Registers the default compiled-in I/O handlers. """
1913 libxml2mod.xmlRegisterDefaultOutputCallbacks()
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()
1922 # Functions from module xmlerror
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)
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()
1938 # Functions from module xmlreader
1941 def newTextReaderFilename(URI):
1942 """Create an xmlTextReader structure fed with the resource at
1944 ret = libxml2mod.xmlNewTextReaderFilename(URI)
1945 if ret is None:raise treeError('xmlNewTextReaderFilename() failed')
1946 return xmlTextReader(_obj=ret)
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)
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)
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)
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)
1979 # Functions from module xmlregexp
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)
1991 # Functions from module xmlschemas
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)
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)
2009 # Functions from module xmlschemastypes
2012 def schemaCleanupTypes():
2013 """Cleanup the default XML Schemas type library """
2014 libxml2mod.xmlSchemaCleanupTypes()
2016 def schemaCollapseString(value):
2017 """Removes and normalize white spaces in the string """
2018 ret = libxml2mod.xmlSchemaCollapseString(value)
2021 def schemaInitTypes():
2022 """Initialize the default XML Schemas type library """
2023 libxml2mod.xmlSchemaInitTypes()
2025 def schemaWhiteSpaceReplace(value):
2026 """Replaces 0xd, 0x9 and 0xa with a space. """
2027 ret = libxml2mod.xmlSchemaWhiteSpaceReplace(value)
2031 # Functions from module xmlstring
2034 def UTF8Charcmp(utf1, utf2):
2035 """compares the two UCS4 values """
2036 ret = libxml2mod.xmlUTF8Charcmp(utf1, utf2)
2040 """calculates the internal size of a UTF8 character """
2041 ret = libxml2mod.xmlUTF8Size(utf)
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)
2050 def UTF8Strloc(utf, utfchar):
2051 """a function to provide the relative location of a UTF8 char """
2052 ret = libxml2mod.xmlUTF8Strloc(utf, utfchar)
2055 def UTF8Strndup(utf, len):
2056 """a strndup for array of UTF8's """
2057 ret = libxml2mod.xmlUTF8Strndup(utf, len)
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)
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)
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)
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)
2089 # Functions from module xmlunicode
2092 def uCSIsAegeanNumbers(code):
2093 """Check whether the character is part of AegeanNumbers UCS
2095 ret = libxml2mod.xmlUCSIsAegeanNumbers(code)
2098 def uCSIsAlphabeticPresentationForms(code):
2099 """Check whether the character is part of
2100 AlphabeticPresentationForms UCS Block """
2101 ret = libxml2mod.xmlUCSIsAlphabeticPresentationForms(code)
2104 def uCSIsArabic(code):
2105 """Check whether the character is part of Arabic UCS Block """
2106 ret = libxml2mod.xmlUCSIsArabic(code)
2109 def uCSIsArabicPresentationFormsA(code):
2110 """Check whether the character is part of
2111 ArabicPresentationForms-A UCS Block """
2112 ret = libxml2mod.xmlUCSIsArabicPresentationFormsA(code)
2115 def uCSIsArabicPresentationFormsB(code):
2116 """Check whether the character is part of
2117 ArabicPresentationForms-B UCS Block """
2118 ret = libxml2mod.xmlUCSIsArabicPresentationFormsB(code)
2121 def uCSIsArmenian(code):
2122 """Check whether the character is part of Armenian UCS Block """
2123 ret = libxml2mod.xmlUCSIsArmenian(code)
2126 def uCSIsArrows(code):
2127 """Check whether the character is part of Arrows UCS Block """
2128 ret = libxml2mod.xmlUCSIsArrows(code)
2131 def uCSIsBasicLatin(code):
2132 """Check whether the character is part of BasicLatin UCS Block """
2133 ret = libxml2mod.xmlUCSIsBasicLatin(code)
2136 def uCSIsBengali(code):
2137 """Check whether the character is part of Bengali UCS Block """
2138 ret = libxml2mod.xmlUCSIsBengali(code)
2141 def uCSIsBlock(code, block):
2142 """Check whether the character is part of the UCS Block """
2143 ret = libxml2mod.xmlUCSIsBlock(code, block)
2146 def uCSIsBlockElements(code):
2147 """Check whether the character is part of BlockElements UCS
2149 ret = libxml2mod.xmlUCSIsBlockElements(code)
2152 def uCSIsBopomofo(code):
2153 """Check whether the character is part of Bopomofo UCS Block """
2154 ret = libxml2mod.xmlUCSIsBopomofo(code)
2157 def uCSIsBopomofoExtended(code):
2158 """Check whether the character is part of BopomofoExtended UCS
2160 ret = libxml2mod.xmlUCSIsBopomofoExtended(code)
2163 def uCSIsBoxDrawing(code):
2164 """Check whether the character is part of BoxDrawing UCS Block """
2165 ret = libxml2mod.xmlUCSIsBoxDrawing(code)
2168 def uCSIsBraillePatterns(code):
2169 """Check whether the character is part of BraillePatterns UCS
2171 ret = libxml2mod.xmlUCSIsBraillePatterns(code)
2174 def uCSIsBuhid(code):
2175 """Check whether the character is part of Buhid UCS Block """
2176 ret = libxml2mod.xmlUCSIsBuhid(code)
2179 def uCSIsByzantineMusicalSymbols(code):
2180 """Check whether the character is part of
2181 ByzantineMusicalSymbols UCS Block """
2182 ret = libxml2mod.xmlUCSIsByzantineMusicalSymbols(code)
2185 def uCSIsCJKCompatibility(code):
2186 """Check whether the character is part of CJKCompatibility UCS
2188 ret = libxml2mod.xmlUCSIsCJKCompatibility(code)
2191 def uCSIsCJKCompatibilityForms(code):
2192 """Check whether the character is part of
2193 CJKCompatibilityForms UCS Block """
2194 ret = libxml2mod.xmlUCSIsCJKCompatibilityForms(code)
2197 def uCSIsCJKCompatibilityIdeographs(code):
2198 """Check whether the character is part of
2199 CJKCompatibilityIdeographs UCS Block """
2200 ret = libxml2mod.xmlUCSIsCJKCompatibilityIdeographs(code)
2203 def uCSIsCJKCompatibilityIdeographsSupplement(code):
2204 """Check whether the character is part of
2205 CJKCompatibilityIdeographsSupplement UCS Block """
2206 ret = libxml2mod.xmlUCSIsCJKCompatibilityIdeographsSupplement(code)
2209 def uCSIsCJKRadicalsSupplement(code):
2210 """Check whether the character is part of
2211 CJKRadicalsSupplement UCS Block """
2212 ret = libxml2mod.xmlUCSIsCJKRadicalsSupplement(code)
2215 def uCSIsCJKSymbolsandPunctuation(code):
2216 """Check whether the character is part of
2217 CJKSymbolsandPunctuation UCS Block """
2218 ret = libxml2mod.xmlUCSIsCJKSymbolsandPunctuation(code)
2221 def uCSIsCJKUnifiedIdeographs(code):
2222 """Check whether the character is part of CJKUnifiedIdeographs
2224 ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographs(code)
2227 def uCSIsCJKUnifiedIdeographsExtensionA(code):
2228 """Check whether the character is part of
2229 CJKUnifiedIdeographsExtensionA UCS Block """
2230 ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographsExtensionA(code)
2233 def uCSIsCJKUnifiedIdeographsExtensionB(code):
2234 """Check whether the character is part of
2235 CJKUnifiedIdeographsExtensionB UCS Block """
2236 ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographsExtensionB(code)
2239 def uCSIsCat(code, cat):
2240 """Check whether the character is part of the UCS Category """
2241 ret = libxml2mod.xmlUCSIsCat(code, cat)
2244 def uCSIsCatC(code):
2245 """Check whether the character is part of C UCS Category """
2246 ret = libxml2mod.xmlUCSIsCatC(code)
2249 def uCSIsCatCc(code):
2250 """Check whether the character is part of Cc UCS Category """
2251 ret = libxml2mod.xmlUCSIsCatCc(code)
2254 def uCSIsCatCf(code):
2255 """Check whether the character is part of Cf UCS Category """
2256 ret = libxml2mod.xmlUCSIsCatCf(code)
2259 def uCSIsCatCo(code):
2260 """Check whether the character is part of Co UCS Category """
2261 ret = libxml2mod.xmlUCSIsCatCo(code)
2264 def uCSIsCatCs(code):
2265 """Check whether the character is part of Cs UCS Category """
2266 ret = libxml2mod.xmlUCSIsCatCs(code)
2269 def uCSIsCatL(code):
2270 """Check whether the character is part of L UCS Category """
2271 ret = libxml2mod.xmlUCSIsCatL(code)
2274 def uCSIsCatLl(code):
2275 """Check whether the character is part of Ll UCS Category """
2276 ret = libxml2mod.xmlUCSIsCatLl(code)
2279 def uCSIsCatLm(code):
2280 """Check whether the character is part of Lm UCS Category """
2281 ret = libxml2mod.xmlUCSIsCatLm(code)
2284 def uCSIsCatLo(code):
2285 """Check whether the character is part of Lo UCS Category """
2286 ret = libxml2mod.xmlUCSIsCatLo(code)
2289 def uCSIsCatLt(code):
2290 """Check whether the character is part of Lt UCS Category """
2291 ret = libxml2mod.xmlUCSIsCatLt(code)
2294 def uCSIsCatLu(code):
2295 """Check whether the character is part of Lu UCS Category """
2296 ret = libxml2mod.xmlUCSIsCatLu(code)
2299 def uCSIsCatM(code):
2300 """Check whether the character is part of M UCS Category """
2301 ret = libxml2mod.xmlUCSIsCatM(code)
2304 def uCSIsCatMc(code):
2305 """Check whether the character is part of Mc UCS Category """
2306 ret = libxml2mod.xmlUCSIsCatMc(code)
2309 def uCSIsCatMe(code):
2310 """Check whether the character is part of Me UCS Category """
2311 ret = libxml2mod.xmlUCSIsCatMe(code)
2314 def uCSIsCatMn(code):
2315 """Check whether the character is part of Mn UCS Category """
2316 ret = libxml2mod.xmlUCSIsCatMn(code)
2319 def uCSIsCatN(code):
2320 """Check whether the character is part of N UCS Category """
2321 ret = libxml2mod.xmlUCSIsCatN(code)
2324 def uCSIsCatNd(code):
2325 """Check whether the character is part of Nd UCS Category """
2326 ret = libxml2mod.xmlUCSIsCatNd(code)
2329 def uCSIsCatNl(code):
2330 """Check whether the character is part of Nl UCS Category """
2331 ret = libxml2mod.xmlUCSIsCatNl(code)
2334 def uCSIsCatNo(code):
2335 """Check whether the character is part of No UCS Category """
2336 ret = libxml2mod.xmlUCSIsCatNo(code)
2339 def uCSIsCatP(code):
2340 """Check whether the character is part of P UCS Category """
2341 ret = libxml2mod.xmlUCSIsCatP(code)
2344 def uCSIsCatPc(code):
2345 """Check whether the character is part of Pc UCS Category """
2346 ret = libxml2mod.xmlUCSIsCatPc(code)
2349 def uCSIsCatPd(code):
2350 """Check whether the character is part of Pd UCS Category """
2351 ret = libxml2mod.xmlUCSIsCatPd(code)
2354 def uCSIsCatPe(code):
2355 """Check whether the character is part of Pe UCS Category """
2356 ret = libxml2mod.xmlUCSIsCatPe(code)
2359 def uCSIsCatPf(code):
2360 """Check whether the character is part of Pf UCS Category """
2361 ret = libxml2mod.xmlUCSIsCatPf(code)
2364 def uCSIsCatPi(code):
2365 """Check whether the character is part of Pi UCS Category """
2366 ret = libxml2mod.xmlUCSIsCatPi(code)
2369 def uCSIsCatPo(code):
2370 """Check whether the character is part of Po UCS Category """
2371 ret = libxml2mod.xmlUCSIsCatPo(code)
2374 def uCSIsCatPs(code):
2375 """Check whether the character is part of Ps UCS Category """
2376 ret = libxml2mod.xmlUCSIsCatPs(code)
2379 def uCSIsCatS(code):
2380 """Check whether the character is part of S UCS Category """
2381 ret = libxml2mod.xmlUCSIsCatS(code)
2384 def uCSIsCatSc(code):
2385 """Check whether the character is part of Sc UCS Category """
2386 ret = libxml2mod.xmlUCSIsCatSc(code)
2389 def uCSIsCatSk(code):
2390 """Check whether the character is part of Sk UCS Category """
2391 ret = libxml2mod.xmlUCSIsCatSk(code)
2394 def uCSIsCatSm(code):
2395 """Check whether the character is part of Sm UCS Category """
2396 ret = libxml2mod.xmlUCSIsCatSm(code)
2399 def uCSIsCatSo(code):
2400 """Check whether the character is part of So UCS Category """
2401 ret = libxml2mod.xmlUCSIsCatSo(code)
2404 def uCSIsCatZ(code):
2405 """Check whether the character is part of Z UCS Category """
2406 ret = libxml2mod.xmlUCSIsCatZ(code)
2409 def uCSIsCatZl(code):
2410 """Check whether the character is part of Zl UCS Category """
2411 ret = libxml2mod.xmlUCSIsCatZl(code)
2414 def uCSIsCatZp(code):
2415 """Check whether the character is part of Zp UCS Category """
2416 ret = libxml2mod.xmlUCSIsCatZp(code)
2419 def uCSIsCatZs(code):
2420 """Check whether the character is part of Zs UCS Category """
2421 ret = libxml2mod.xmlUCSIsCatZs(code)
2424 def uCSIsCherokee(code):
2425 """Check whether the character is part of Cherokee UCS Block """
2426 ret = libxml2mod.xmlUCSIsCherokee(code)
2429 def uCSIsCombiningDiacriticalMarks(code):
2430 """Check whether the character is part of
2431 CombiningDiacriticalMarks UCS Block """
2432 ret = libxml2mod.xmlUCSIsCombiningDiacriticalMarks(code)
2435 def uCSIsCombiningDiacriticalMarksforSymbols(code):
2436 """Check whether the character is part of
2437 CombiningDiacriticalMarksforSymbols UCS Block """
2438 ret = libxml2mod.xmlUCSIsCombiningDiacriticalMarksforSymbols(code)
2441 def uCSIsCombiningHalfMarks(code):
2442 """Check whether the character is part of CombiningHalfMarks
2444 ret = libxml2mod.xmlUCSIsCombiningHalfMarks(code)
2447 def uCSIsCombiningMarksforSymbols(code):
2448 """Check whether the character is part of
2449 CombiningMarksforSymbols UCS Block """
2450 ret = libxml2mod.xmlUCSIsCombiningMarksforSymbols(code)
2453 def uCSIsControlPictures(code):
2454 """Check whether the character is part of ControlPictures UCS
2456 ret = libxml2mod.xmlUCSIsControlPictures(code)
2459 def uCSIsCurrencySymbols(code):
2460 """Check whether the character is part of CurrencySymbols UCS
2462 ret = libxml2mod.xmlUCSIsCurrencySymbols(code)
2465 def uCSIsCypriotSyllabary(code):
2466 """Check whether the character is part of CypriotSyllabary UCS
2468 ret = libxml2mod.xmlUCSIsCypriotSyllabary(code)
2471 def uCSIsCyrillic(code):
2472 """Check whether the character is part of Cyrillic UCS Block """
2473 ret = libxml2mod.xmlUCSIsCyrillic(code)
2476 def uCSIsCyrillicSupplement(code):
2477 """Check whether the character is part of CyrillicSupplement
2479 ret = libxml2mod.xmlUCSIsCyrillicSupplement(code)
2482 def uCSIsDeseret(code):
2483 """Check whether the character is part of Deseret UCS Block """
2484 ret = libxml2mod.xmlUCSIsDeseret(code)
2487 def uCSIsDevanagari(code):
2488 """Check whether the character is part of Devanagari UCS Block """
2489 ret = libxml2mod.xmlUCSIsDevanagari(code)
2492 def uCSIsDingbats(code):
2493 """Check whether the character is part of Dingbats UCS Block """
2494 ret = libxml2mod.xmlUCSIsDingbats(code)
2497 def uCSIsEnclosedAlphanumerics(code):
2498 """Check whether the character is part of
2499 EnclosedAlphanumerics UCS Block """
2500 ret = libxml2mod.xmlUCSIsEnclosedAlphanumerics(code)
2503 def uCSIsEnclosedCJKLettersandMonths(code):
2504 """Check whether the character is part of
2505 EnclosedCJKLettersandMonths UCS Block """
2506 ret = libxml2mod.xmlUCSIsEnclosedCJKLettersandMonths(code)
2509 def uCSIsEthiopic(code):
2510 """Check whether the character is part of Ethiopic UCS Block """
2511 ret = libxml2mod.xmlUCSIsEthiopic(code)
2514 def uCSIsGeneralPunctuation(code):
2515 """Check whether the character is part of GeneralPunctuation
2517 ret = libxml2mod.xmlUCSIsGeneralPunctuation(code)
2520 def uCSIsGeometricShapes(code):
2521 """Check whether the character is part of GeometricShapes UCS
2523 ret = libxml2mod.xmlUCSIsGeometricShapes(code)
2526 def uCSIsGeorgian(code):
2527 """Check whether the character is part of Georgian UCS Block """
2528 ret = libxml2mod.xmlUCSIsGeorgian(code)
2531 def uCSIsGothic(code):
2532 """Check whether the character is part of Gothic UCS Block """
2533 ret = libxml2mod.xmlUCSIsGothic(code)
2536 def uCSIsGreek(code):
2537 """Check whether the character is part of Greek UCS Block """
2538 ret = libxml2mod.xmlUCSIsGreek(code)
2541 def uCSIsGreekExtended(code):
2542 """Check whether the character is part of GreekExtended UCS
2544 ret = libxml2mod.xmlUCSIsGreekExtended(code)
2547 def uCSIsGreekandCoptic(code):
2548 """Check whether the character is part of GreekandCoptic UCS
2550 ret = libxml2mod.xmlUCSIsGreekandCoptic(code)
2553 def uCSIsGujarati(code):
2554 """Check whether the character is part of Gujarati UCS Block """
2555 ret = libxml2mod.xmlUCSIsGujarati(code)
2558 def uCSIsGurmukhi(code):
2559 """Check whether the character is part of Gurmukhi UCS Block """
2560 ret = libxml2mod.xmlUCSIsGurmukhi(code)
2563 def uCSIsHalfwidthandFullwidthForms(code):
2564 """Check whether the character is part of
2565 HalfwidthandFullwidthForms UCS Block """
2566 ret = libxml2mod.xmlUCSIsHalfwidthandFullwidthForms(code)
2569 def uCSIsHangulCompatibilityJamo(code):
2570 """Check whether the character is part of
2571 HangulCompatibilityJamo UCS Block """
2572 ret = libxml2mod.xmlUCSIsHangulCompatibilityJamo(code)
2575 def uCSIsHangulJamo(code):
2576 """Check whether the character is part of HangulJamo UCS Block """
2577 ret = libxml2mod.xmlUCSIsHangulJamo(code)
2580 def uCSIsHangulSyllables(code):
2581 """Check whether the character is part of HangulSyllables UCS
2583 ret = libxml2mod.xmlUCSIsHangulSyllables(code)
2586 def uCSIsHanunoo(code):
2587 """Check whether the character is part of Hanunoo UCS Block """
2588 ret = libxml2mod.xmlUCSIsHanunoo(code)
2591 def uCSIsHebrew(code):
2592 """Check whether the character is part of Hebrew UCS Block """
2593 ret = libxml2mod.xmlUCSIsHebrew(code)
2596 def uCSIsHighPrivateUseSurrogates(code):
2597 """Check whether the character is part of
2598 HighPrivateUseSurrogates UCS Block """
2599 ret = libxml2mod.xmlUCSIsHighPrivateUseSurrogates(code)
2602 def uCSIsHighSurrogates(code):
2603 """Check whether the character is part of HighSurrogates UCS
2605 ret = libxml2mod.xmlUCSIsHighSurrogates(code)
2608 def uCSIsHiragana(code):
2609 """Check whether the character is part of Hiragana UCS Block """
2610 ret = libxml2mod.xmlUCSIsHiragana(code)
2613 def uCSIsIPAExtensions(code):
2614 """Check whether the character is part of IPAExtensions UCS
2616 ret = libxml2mod.xmlUCSIsIPAExtensions(code)
2619 def uCSIsIdeographicDescriptionCharacters(code):
2620 """Check whether the character is part of
2621 IdeographicDescriptionCharacters UCS Block """
2622 ret = libxml2mod.xmlUCSIsIdeographicDescriptionCharacters(code)
2625 def uCSIsKanbun(code):
2626 """Check whether the character is part of Kanbun UCS Block """
2627 ret = libxml2mod.xmlUCSIsKanbun(code)
2630 def uCSIsKangxiRadicals(code):
2631 """Check whether the character is part of KangxiRadicals UCS
2633 ret = libxml2mod.xmlUCSIsKangxiRadicals(code)
2636 def uCSIsKannada(code):
2637 """Check whether the character is part of Kannada UCS Block """
2638 ret = libxml2mod.xmlUCSIsKannada(code)
2641 def uCSIsKatakana(code):
2642 """Check whether the character is part of Katakana UCS Block """
2643 ret = libxml2mod.xmlUCSIsKatakana(code)
2646 def uCSIsKatakanaPhoneticExtensions(code):
2647 """Check whether the character is part of
2648 KatakanaPhoneticExtensions UCS Block """
2649 ret = libxml2mod.xmlUCSIsKatakanaPhoneticExtensions(code)
2652 def uCSIsKhmer(code):
2653 """Check whether the character is part of Khmer UCS Block """
2654 ret = libxml2mod.xmlUCSIsKhmer(code)
2657 def uCSIsKhmerSymbols(code):
2658 """Check whether the character is part of KhmerSymbols UCS
2660 ret = libxml2mod.xmlUCSIsKhmerSymbols(code)
2664 """Check whether the character is part of Lao UCS Block """
2665 ret = libxml2mod.xmlUCSIsLao(code)
2668 def uCSIsLatin1Supplement(code):
2669 """Check whether the character is part of Latin-1Supplement
2671 ret = libxml2mod.xmlUCSIsLatin1Supplement(code)
2674 def uCSIsLatinExtendedA(code):
2675 """Check whether the character is part of LatinExtended-A UCS
2677 ret = libxml2mod.xmlUCSIsLatinExtendedA(code)
2680 def uCSIsLatinExtendedAdditional(code):
2681 """Check whether the character is part of
2682 LatinExtendedAdditional UCS Block """
2683 ret = libxml2mod.xmlUCSIsLatinExtendedAdditional(code)
2686 def uCSIsLatinExtendedB(code):
2687 """Check whether the character is part of LatinExtended-B UCS
2689 ret = libxml2mod.xmlUCSIsLatinExtendedB(code)
2692 def uCSIsLetterlikeSymbols(code):
2693 """Check whether the character is part of LetterlikeSymbols
2695 ret = libxml2mod.xmlUCSIsLetterlikeSymbols(code)
2698 def uCSIsLimbu(code):
2699 """Check whether the character is part of Limbu UCS Block """
2700 ret = libxml2mod.xmlUCSIsLimbu(code)
2703 def uCSIsLinearBIdeograms(code):
2704 """Check whether the character is part of LinearBIdeograms UCS
2706 ret = libxml2mod.xmlUCSIsLinearBIdeograms(code)
2709 def uCSIsLinearBSyllabary(code):
2710 """Check whether the character is part of LinearBSyllabary UCS
2712 ret = libxml2mod.xmlUCSIsLinearBSyllabary(code)
2715 def uCSIsLowSurrogates(code):
2716 """Check whether the character is part of LowSurrogates UCS
2718 ret = libxml2mod.xmlUCSIsLowSurrogates(code)
2721 def uCSIsMalayalam(code):
2722 """Check whether the character is part of Malayalam UCS Block """
2723 ret = libxml2mod.xmlUCSIsMalayalam(code)
2726 def uCSIsMathematicalAlphanumericSymbols(code):
2727 """Check whether the character is part of
2728 MathematicalAlphanumericSymbols UCS Block """
2729 ret = libxml2mod.xmlUCSIsMathematicalAlphanumericSymbols(code)
2732 def uCSIsMathematicalOperators(code):
2733 """Check whether the character is part of
2734 MathematicalOperators UCS Block """
2735 ret = libxml2mod.xmlUCSIsMathematicalOperators(code)
2738 def uCSIsMiscellaneousMathematicalSymbolsA(code):
2739 """Check whether the character is part of
2740 MiscellaneousMathematicalSymbols-A UCS Block """
2741 ret = libxml2mod.xmlUCSIsMiscellaneousMathematicalSymbolsA(code)
2744 def uCSIsMiscellaneousMathematicalSymbolsB(code):
2745 """Check whether the character is part of
2746 MiscellaneousMathematicalSymbols-B UCS Block """
2747 ret = libxml2mod.xmlUCSIsMiscellaneousMathematicalSymbolsB(code)
2750 def uCSIsMiscellaneousSymbols(code):
2751 """Check whether the character is part of MiscellaneousSymbols
2753 ret = libxml2mod.xmlUCSIsMiscellaneousSymbols(code)
2756 def uCSIsMiscellaneousSymbolsandArrows(code):
2757 """Check whether the character is part of
2758 MiscellaneousSymbolsandArrows UCS Block """
2759 ret = libxml2mod.xmlUCSIsMiscellaneousSymbolsandArrows(code)
2762 def uCSIsMiscellaneousTechnical(code):
2763 """Check whether the character is part of
2764 MiscellaneousTechnical UCS Block """
2765 ret = libxml2mod.xmlUCSIsMiscellaneousTechnical(code)
2768 def uCSIsMongolian(code):
2769 """Check whether the character is part of Mongolian UCS Block """
2770 ret = libxml2mod.xmlUCSIsMongolian(code)
2773 def uCSIsMusicalSymbols(code):
2774 """Check whether the character is part of MusicalSymbols UCS
2776 ret = libxml2mod.xmlUCSIsMusicalSymbols(code)
2779 def uCSIsMyanmar(code):
2780 """Check whether the character is part of Myanmar UCS Block """
2781 ret = libxml2mod.xmlUCSIsMyanmar(code)
2784 def uCSIsNumberForms(code):
2785 """Check whether the character is part of NumberForms UCS Block """
2786 ret = libxml2mod.xmlUCSIsNumberForms(code)
2789 def uCSIsOgham(code):
2790 """Check whether the character is part of Ogham UCS Block """
2791 ret = libxml2mod.xmlUCSIsOgham(code)
2794 def uCSIsOldItalic(code):
2795 """Check whether the character is part of OldItalic UCS Block """
2796 ret = libxml2mod.xmlUCSIsOldItalic(code)
2799 def uCSIsOpticalCharacterRecognition(code):
2800 """Check whether the character is part of
2801 OpticalCharacterRecognition UCS Block """
2802 ret = libxml2mod.xmlUCSIsOpticalCharacterRecognition(code)
2805 def uCSIsOriya(code):
2806 """Check whether the character is part of Oriya UCS Block """
2807 ret = libxml2mod.xmlUCSIsOriya(code)
2810 def uCSIsOsmanya(code):
2811 """Check whether the character is part of Osmanya UCS Block """
2812 ret = libxml2mod.xmlUCSIsOsmanya(code)
2815 def uCSIsPhoneticExtensions(code):
2816 """Check whether the character is part of PhoneticExtensions
2818 ret = libxml2mod.xmlUCSIsPhoneticExtensions(code)
2821 def uCSIsPrivateUse(code):
2822 """Check whether the character is part of PrivateUse UCS Block """
2823 ret = libxml2mod.xmlUCSIsPrivateUse(code)
2826 def uCSIsPrivateUseArea(code):
2827 """Check whether the character is part of PrivateUseArea UCS
2829 ret = libxml2mod.xmlUCSIsPrivateUseArea(code)
2832 def uCSIsRunic(code):
2833 """Check whether the character is part of Runic UCS Block """
2834 ret = libxml2mod.xmlUCSIsRunic(code)
2837 def uCSIsShavian(code):
2838 """Check whether the character is part of Shavian UCS Block """
2839 ret = libxml2mod.xmlUCSIsShavian(code)
2842 def uCSIsSinhala(code):
2843 """Check whether the character is part of Sinhala UCS Block """
2844 ret = libxml2mod.xmlUCSIsSinhala(code)
2847 def uCSIsSmallFormVariants(code):
2848 """Check whether the character is part of SmallFormVariants
2850 ret = libxml2mod.xmlUCSIsSmallFormVariants(code)
2853 def uCSIsSpacingModifierLetters(code):
2854 """Check whether the character is part of
2855 SpacingModifierLetters UCS Block """
2856 ret = libxml2mod.xmlUCSIsSpacingModifierLetters(code)
2859 def uCSIsSpecials(code):
2860 """Check whether the character is part of Specials UCS Block """
2861 ret = libxml2mod.xmlUCSIsSpecials(code)
2864 def uCSIsSuperscriptsandSubscripts(code):
2865 """Check whether the character is part of
2866 SuperscriptsandSubscripts UCS Block """
2867 ret = libxml2mod.xmlUCSIsSuperscriptsandSubscripts(code)
2870 def uCSIsSupplementalArrowsA(code):
2871 """Check whether the character is part of SupplementalArrows-A
2873 ret = libxml2mod.xmlUCSIsSupplementalArrowsA(code)
2876 def uCSIsSupplementalArrowsB(code):
2877 """Check whether the character is part of SupplementalArrows-B
2879 ret = libxml2mod.xmlUCSIsSupplementalArrowsB(code)
2882 def uCSIsSupplementalMathematicalOperators(code):
2883 """Check whether the character is part of
2884 SupplementalMathematicalOperators UCS Block """
2885 ret = libxml2mod.xmlUCSIsSupplementalMathematicalOperators(code)
2888 def uCSIsSupplementaryPrivateUseAreaA(code):
2889 """Check whether the character is part of
2890 SupplementaryPrivateUseArea-A UCS Block """
2891 ret = libxml2mod.xmlUCSIsSupplementaryPrivateUseAreaA(code)
2894 def uCSIsSupplementaryPrivateUseAreaB(code):
2895 """Check whether the character is part of
2896 SupplementaryPrivateUseArea-B UCS Block """
2897 ret = libxml2mod.xmlUCSIsSupplementaryPrivateUseAreaB(code)
2900 def uCSIsSyriac(code):
2901 """Check whether the character is part of Syriac UCS Block """
2902 ret = libxml2mod.xmlUCSIsSyriac(code)
2905 def uCSIsTagalog(code):
2906 """Check whether the character is part of Tagalog UCS Block """
2907 ret = libxml2mod.xmlUCSIsTagalog(code)
2910 def uCSIsTagbanwa(code):
2911 """Check whether the character is part of Tagbanwa UCS Block """
2912 ret = libxml2mod.xmlUCSIsTagbanwa(code)
2915 def uCSIsTags(code):
2916 """Check whether the character is part of Tags UCS Block """
2917 ret = libxml2mod.xmlUCSIsTags(code)
2920 def uCSIsTaiLe(code):
2921 """Check whether the character is part of TaiLe UCS Block """
2922 ret = libxml2mod.xmlUCSIsTaiLe(code)
2925 def uCSIsTaiXuanJingSymbols(code):
2926 """Check whether the character is part of TaiXuanJingSymbols
2928 ret = libxml2mod.xmlUCSIsTaiXuanJingSymbols(code)
2931 def uCSIsTamil(code):
2932 """Check whether the character is part of Tamil UCS Block """
2933 ret = libxml2mod.xmlUCSIsTamil(code)
2936 def uCSIsTelugu(code):
2937 """Check whether the character is part of Telugu UCS Block """
2938 ret = libxml2mod.xmlUCSIsTelugu(code)
2941 def uCSIsThaana(code):
2942 """Check whether the character is part of Thaana UCS Block """
2943 ret = libxml2mod.xmlUCSIsThaana(code)
2946 def uCSIsThai(code):
2947 """Check whether the character is part of Thai UCS Block """
2948 ret = libxml2mod.xmlUCSIsThai(code)
2951 def uCSIsTibetan(code):
2952 """Check whether the character is part of Tibetan UCS Block """
2953 ret = libxml2mod.xmlUCSIsTibetan(code)
2956 def uCSIsUgaritic(code):
2957 """Check whether the character is part of Ugaritic UCS Block """
2958 ret = libxml2mod.xmlUCSIsUgaritic(code)
2961 def uCSIsUnifiedCanadianAboriginalSyllabics(code):
2962 """Check whether the character is part of
2963 UnifiedCanadianAboriginalSyllabics UCS Block """
2964 ret = libxml2mod.xmlUCSIsUnifiedCanadianAboriginalSyllabics(code)
2967 def uCSIsVariationSelectors(code):
2968 """Check whether the character is part of VariationSelectors
2970 ret = libxml2mod.xmlUCSIsVariationSelectors(code)
2973 def uCSIsVariationSelectorsSupplement(code):
2974 """Check whether the character is part of
2975 VariationSelectorsSupplement UCS Block """
2976 ret = libxml2mod.xmlUCSIsVariationSelectorsSupplement(code)
2979 def uCSIsYiRadicals(code):
2980 """Check whether the character is part of YiRadicals UCS Block """
2981 ret = libxml2mod.xmlUCSIsYiRadicals(code)
2984 def uCSIsYiSyllables(code):
2985 """Check whether the character is part of YiSyllables UCS Block """
2986 ret = libxml2mod.xmlUCSIsYiSyllables(code)
2989 def uCSIsYijingHexagramSymbols(code):
2990 """Check whether the character is part of
2991 YijingHexagramSymbols UCS Block """
2992 ret = libxml2mod.xmlUCSIsYijingHexagramSymbols(code)
2996 # Functions from module xmlversion
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)
3005 # Functions from module xpathInternals
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)
3015 class xmlNode(xmlCore):
3016 def __init__(self, _obj=None):
3017 if checkWrapper(_obj) != 0: raise TypeError('xmlNode got a wrong wrapper object type')
3019 xmlCore.__init__(self, _obj=_obj)
3022 return "<xmlNode (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
3024 # accessors for xmlNode
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)
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)
3040 # xmlNode functions from module debugXML
3043 def debugDumpNode(self, output, depth):
3044 """Dumps debug information for the element node, it is
3046 libxml2mod.xmlDebugDumpNode(output, self._o, depth)
3048 def debugDumpNodeList(self, output, depth):
3049 """Dumps debug information for the list of element node, it is
3051 libxml2mod.xmlDebugDumpNodeList(output, self._o, depth)
3053 def debugDumpOneNode(self, output, depth):
3054 """Dumps debug information for the element node, it is not
3056 libxml2mod.xmlDebugDumpOneNode(output, self._o, depth)
3058 def lsCountNode(self):
3059 """Count the children of @node. """
3060 ret = libxml2mod.xmlLsCountNode(self._o)
3063 def lsOneNode(self, output):
3064 """Dump to @output the type and name of @node. """
3065 libxml2mod.xmlLsOneNode(output, self._o)
3067 def shellPrintNode(self):
3068 """Print node to the output FILE """
3069 libxml2mod.xmlShellPrintNode(self._o)
3072 # xmlNode functions from module tree
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)
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)
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)
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)
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)
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
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
3257 """Searches the language of a node, i.e. the values of the
3258 xml:lang attribute or the one carried by the nearest
3260 ret = libxml2mod.xmlNodeGetLang(self._o)
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)
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)
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)
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)
3298 """Is this node a Text node ? """
3299 ret = libxml2mod.xmlNodeIsText(self._o)
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)
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)
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)
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)
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)
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
3356 if ns is None: ns__o = None
3358 ret = libxml2mod.xmlNewChild(self._o, ns__o, name, content)
3359 if ret is None:raise treeError('xmlNewChild() failed')
3360 __tmp = xmlNode(_obj=ret)
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)
3373 def newNsProp(self, ns, name, value):
3374 """Create a new property tagged with a namespace and carried
3376 if ns is None: ns__o = None
3378 ret = libxml2mod.xmlNewNsProp(self._o, ns__o, name, value)
3379 if ret is None:raise treeError('xmlNewNsProp() failed')
3380 __tmp = xmlAttr(_obj=ret)
3383 def newNsPropEatName(self, ns, name, value):
3384 """Create a new property tagged with a namespace and carried
3386 if ns is None: ns__o = None
3388 ret = libxml2mod.xmlNewNsPropEatName(self._o, ns__o, name, value)
3389 if ret is None:raise treeError('xmlNewNsPropEatName() failed')
3390 __tmp = xmlAttr(_obj=ret)
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)
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
3414 ret = libxml2mod.xmlNewTextChild(self._o, ns__o, name, content)
3415 if ret is None:raise treeError('xmlNewTextChild() failed')
3416 __tmp = xmlNode(_obj=ret)
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)
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)
3441 """Build a structure based Path for the given node """
3442 ret = libxml2mod.xmlGetNodePath(self._o)
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)
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)
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)
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)
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)
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)
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
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)
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)
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)
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)
3547 def setLang(self, lang):
3548 """Set the language of a node, i.e. the values of the xml:lang
3550 libxml2mod.xmlNodeSetLang(self._o, lang)
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)
3558 def setName(self, name):
3559 """Set (or reset) the name of a node. """
3560 libxml2mod.xmlNodeSetName(self._o, name)
3562 def setNs(self, ns):
3563 """Associate a namespace to a node, a posteriori. """
3564 if ns is None: ns__o = None
3566 libxml2mod.xmlSetNs(self._o, ns__o)
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
3573 ret = libxml2mod.xmlSetNsProp(self._o, ns__o, name, value)
3574 if ret is None:raise treeError('xmlSetNsProp() failed')
3575 __tmp = xmlAttr(_obj=ret)
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)
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)
3593 def setTreeDoc(self, doc):
3594 """update all nodes under the tree to point to the right
3596 if doc is None: doc__o = None
3597 else: doc__o = doc._o
3598 libxml2mod.xmlSetTreeDoc(self._o, doc__o)
3600 def textConcat(self, content, len):
3601 """Concat the given string at the end of the existing node
3603 ret = libxml2mod.xmlTextConcat(self._o, content, len)
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)
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
3621 libxml2mod.xmlUnlinkNode(self._o)
3623 def unsetNsProp(self, ns, name):
3624 """Remove an attribute carried by a node. """
3625 if ns is None: ns__o = None
3627 ret = libxml2mod.xmlUnsetNsProp(self._o, ns__o, name)
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)
3637 # xmlNode functions from module valid
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)
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)
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)
3676 # xmlNode functions from module xinclude
3679 def xincludeProcessTree(self):
3680 """Implement the XInclude substitution for the given subtree """
3681 ret = libxml2mod.xmlXIncludeProcessTree(self._o)
3684 def xincludeProcessTreeFlags(self, flags):
3685 """Implement the XInclude substitution for the given subtree """
3686 ret = libxml2mod.xmlXIncludeProcessTreeFlags(self._o, flags)
3690 # xmlNode functions from module xmlschemas
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)
3701 # xmlNode functions from module xpath
3704 def xpathCastNodeToNumber(self):
3705 """Converts a node to its number value """
3706 ret = libxml2mod.xmlXPathCastNodeToNumber(self._o)
3709 def xpathCastNodeToString(self):
3710 """Converts a node to its string value. """
3711 ret = libxml2mod.xmlXPathCastNodeToString(self._o)
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)
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
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)
3732 # xmlNode functions from module xpathInternals
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)
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)
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)
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)
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)
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)
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)
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
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)
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)
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)
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)
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
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)
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)
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)
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)
3912 # xmlNode functions from module xpointer
3915 def xpointerNewCollapsedRange(self):
3916 """Create a new xmlXPathObjectPtr of type range using a single
3918 ret = libxml2mod.xmlXPtrNewCollapsedRange(self._o)
3919 if ret is None:raise treeError('xmlXPtrNewCollapsedRange() failed')
3920 return xpathObjectRet(ret)
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)
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
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)
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)
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)
3959 class xmlDoc(xmlNode):
3960 def __init__(self, _obj=None):
3961 if checkWrapper(_obj) != 0: raise TypeError('xmlDoc got a wrong wrapper object type')
3963 xmlNode.__init__(self, _obj=_obj)
3966 return "<xmlDoc (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
3969 # xmlDoc functions from module HTMLparser
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)
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)
3988 # xmlDoc functions from module HTMLtree
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)
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)
4003 def htmlDocDump(self, f):
4004 """Dump an HTML document to an open FILE. """
4005 ret = libxml2mod.htmlDocDump(f, self._o)
4008 def htmlGetMetaEncoding(self):
4009 """Encoding definition lookup in the Meta tags """
4010 ret = libxml2mod.htmlGetMetaEncoding(self._o)
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)
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
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)
4029 def htmlNodeDumpFormatOutput(self, buf, cur, encoding, format):
4030 """Dump an HTML node, recursive behaviour,children are printed
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)
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)
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)
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)
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)
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)
4072 # xmlDoc functions from module debugXML
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)
4081 def debugDumpDocument(self, output):
4082 """Dumps debug information for the document, it's recursive """
4083 libxml2mod.xmlDebugDumpDocument(output, self._o)
4085 def debugDumpDocumentHead(self, output):
4086 """Dumps debug information cncerning the document, not
4088 libxml2mod.xmlDebugDumpDocumentHead(output, self._o)
4090 def debugDumpEntities(self, output):
4091 """Dumps debug information for all the entities in use by the
4093 libxml2mod.xmlDebugDumpEntities(output, self._o)
4096 # xmlDoc functions from module entities
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)
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)
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)
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)
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)
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)
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
4147 ret = libxml2mod.xmlEncodeSpecialChars(self._o, input)
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
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)
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)
4170 # xmlDoc functions from module relaxng
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
4178 ret = libxml2mod.xmlRelaxNGNewDocParserCtxt(self._o)
4179 if ret is None:raise parserError('xmlRelaxNGNewDocParserCtxt() failed')
4180 __tmp = relaxNgParserCtxt(_obj=ret)
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)
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)
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)
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)
4220 # xmlDoc functions from module tree
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
4227 ret = libxml2mod.xmlCopyDoc(self._o, recursive)
4228 if ret is None:raise treeError('xmlCopyDoc() failed')
4229 __tmp = xmlDoc(_obj=ret)
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)
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)
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)
4257 def docCompressMode(self):
4258 """get the compression ratio for a document, ZLIB based """
4259 ret = libxml2mod.xmlGetDocCompressMode(self._o)
4263 """Dump an XML document to an open FILE. """
4264 ret = libxml2mod.xmlDocDump(f, self._o)
4267 def elemDump(self, f, cur):
4268 """Dump an XML/HTML node, recursive behaviour, children are
4270 if cur is None: cur__o = None
4271 else: cur__o = cur._o
4272 libxml2mod.xmlElemDump(f, self._o, cur__o)
4274 def formatDump(self, f, format):
4275 """Dump an XML document to an open FILE. """
4276 ret = libxml2mod.xmlDocFormatDump(f, self._o, format)
4280 """Free up all the structures used by a document, tree
4282 libxml2mod.xmlFreeDoc(self._o)
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)
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)
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)
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)
4313 def newDocComment(self, content):
4314 """Creation of a new node containing a comment within a
4316 ret = libxml2mod.xmlNewDocComment(self._o, content)
4317 if ret is None:raise treeError('xmlNewDocComment() failed')
4318 __tmp = xmlNode(_obj=ret)
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)
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
4337 ret = libxml2mod.xmlNewDocNode(self._o, ns__o, name, content)
4338 if ret is None:raise treeError('xmlNewDocNode() failed')
4339 __tmp = xmlNode(_obj=ret)
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
4351 ret = libxml2mod.xmlNewDocNodeEatName(self._o, ns__o, name, content)
4352 if ret is None:raise treeError('xmlNewDocNodeEatName() failed')
4353 __tmp = xmlNode(_obj=ret)
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)
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)
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
4375 ret = libxml2mod.xmlNewDocRawNode(self._o, ns__o, name, content)
4376 if ret is None:raise treeError('xmlNewDocRawNode() failed')
4377 __tmp = xmlNode(_obj=ret)
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)
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)
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)
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)
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)
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
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)
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)
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)
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)
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)
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
4478 ret = libxml2mod.xmlSaveFile(filename, self._o)
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)
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
4490 if buf is None: buf__o = None
4491 else: buf__o = buf._o
4492 ret = libxml2mod.xmlSaveFileTo(buf__o, self._o, encoding)
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)
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)
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
4514 if buf is None: buf__o = None
4515 else: buf__o = buf._o
4516 ret = libxml2mod.xmlSaveFormatFileTo(buf__o, self._o, encoding, format)
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)
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
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)
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)
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)
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)
4566 def setTreeDoc(self, tree):
4567 """update all nodes under the tree to point to the right
4569 if tree is None: tree__o = None
4570 else: tree__o = tree._o
4571 libxml2mod.xmlSetTreeDoc(tree__o, self._o)
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)
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)
4590 # xmlDoc functions from module valid
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)
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)
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)
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)
4629 def removeID(self, attr):
4630 """Remove the given attribute from the ID table maintained
4632 if attr is None: attr__o = None
4633 else: attr__o = attr._o
4634 ret = libxml2mod.xmlRemoveID(self._o, attr__o)
4637 def removeRef(self, attr):
4638 """Remove the given attribute from the Ref table maintained
4640 if attr is None: attr__o = None
4641 else: attr__o = attr._o
4642 ret = libxml2mod.xmlRemoveRef(self._o, attr__o)
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)
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)
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)
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
4689 if ctxt is None: ctxt__o = None
4690 else: ctxt__o = ctxt._o
4691 ret = libxml2mod.xmlValidateDocumentFinal(ctxt__o, self._o)
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
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)
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)
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)
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)
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)
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
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)
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
4782 ret = libxml2mod.xmlValidateOneNamespace(ctxt__o, self._o, elem__o, prefix, ns__o, value)
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)
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)
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)
4814 # xmlDoc functions from module xinclude
4817 def xincludeProcess(self):
4818 """Implement the XInclude substitution on the XML document @doc """
4819 ret = libxml2mod.xmlXIncludeProcess(self._o)
4822 def xincludeProcessFlags(self, flags):
4823 """Implement the XInclude substitution on the XML document @doc """
4824 ret = libxml2mod.xmlXIncludeProcessFlags(self._o, flags)
4828 # xmlDoc functions from module xmlreader
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)
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)
4847 # xmlDoc functions from module xmlschemas
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)
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)
4866 # xmlDoc functions from module xpath
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)
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)
4887 # xmlDoc functions from module xpointer
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)
4901 class parserCtxt(parserCtxtCore):
4902 def __init__(self, _obj=None):
4904 parserCtxtCore.__init__(self, _obj=_obj)
4908 libxml2mod.xmlFreeParserCtxt(self._o)
4911 # accessors for parserCtxt
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)
4920 """Get the validity information from a parser context. """
4921 ret = libxml2mod.xmlParserGetIsValid(self._o)
4924 def lineNumbers(self, linenumbers):
4925 """Switch on the generation of line number for elements nodes. """
4926 libxml2mod.xmlParserSetLineNumbers(self._o, linenumbers)
4928 def loadSubset(self, loadsubset):
4929 """Switch the parser to load the DTD without validating. """
4930 libxml2mod.xmlParserSetLoadSubset(self._o, loadsubset)
4932 def pedantic(self, pedantic):
4933 """Switch the parser to be pedantic. """
4934 libxml2mod.xmlParserSetPedantic(self._o, pedantic)
4936 def replaceEntities(self, replaceEntities):
4937 """Switch the parser to replace entities. """
4938 libxml2mod.xmlParserSetReplaceEntities(self._o, replaceEntities)
4940 def validate(self, validate):
4941 """Switch the parser to validation mode. """
4942 libxml2mod.xmlParserSetValidate(self._o, validate)
4944 def wellFormed(self):
4945 """Get the well formed information from a parser context. """
4946 ret = libxml2mod.xmlParserGetWellFormed(self._o)
4950 # parserCtxt functions from module HTMLparser
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)
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)
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)
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)
4985 def htmlCtxtReset(self):
4986 """Reset a parser context """
4987 libxml2mod.htmlCtxtReset(self._o)
4989 def htmlCtxtUseOptions(self, options):
4990 """Applies the options to the parser context """
4991 ret = libxml2mod.htmlCtxtUseOptions(self._o, options)
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)
4999 def htmlParseCharRef(self):
5000 """parse Reference declarations [66] CharRef ::= '&#' [0-9]+
5001 ';' | '&#x' [0-9a-fA-F]+ ';' """
5002 ret = libxml2mod.htmlParseCharRef(self._o)
5005 def htmlParseChunk(self, chunk, size, terminate):
5006 """Parse a Chunk of memory """
5007 ret = libxml2mod.htmlParseChunk(self._o, chunk, size, terminate)
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)
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)
5024 # parserCtxt functions from module parser
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)
5037 def clearParserCtxt(self):
5038 """Clear (release owned resources) and reinitialize a parser
5040 libxml2mod.xmlClearParserCtxt(self._o)
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)
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
5055 ret = libxml2mod.xmlCtxtReadFd(self._o, fd, URL, encoding, options)
5056 if ret is None:raise treeError('xmlCtxtReadFd() failed')
5057 __tmp = xmlDoc(_obj=ret)
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)
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)
5076 def ctxtReset(self):
5077 """Reset a parser context """
5078 libxml2mod.xmlCtxtReset(self._o)
5080 def ctxtResetPush(self, chunk, size, filename, encoding):
5081 """Reset a push parser context """
5082 ret = libxml2mod.xmlCtxtResetPush(self._o, chunk, size, filename, encoding)
5085 def ctxtUseOptions(self, options):
5086 """Applies the options to the parser context """
5087 ret = libxml2mod.xmlCtxtUseOptions(self._o, options)
5090 def initParserCtxt(self):
5091 """Initialize a parser context """
5092 ret = libxml2mod.xmlInitParserCtxt(self._o)
5095 def parseChunk(self, chunk, size, terminate):
5096 """Parse a Chunk of memory """
5097 ret = libxml2mod.xmlParseChunk(self._o, chunk, size, terminate)
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)
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)
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
5119 libxml2mod.xmlSetupParserForBuffer(self._o, buffer, filename)
5121 def stopParser(self):
5122 """Blocks further parser processing """
5123 libxml2mod.xmlStopParser(self._o)
5126 # parserCtxt functions from module parserInternals
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)
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)
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)
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)
5164 """Skip to the next char input char. """
5165 libxml2mod.xmlNextChar(self._o)
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)
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)
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)
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 ">", and must, for
5211 compatibility, be escaped using ">" 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)
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)
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)
5232 def parseContent(self):
5233 """Parse a content: [43] content ::= (element | CharData |
5234 Reference | CDSect | PI | Comment)* """
5235 libxml2mod.xmlParseContent(self._o)
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)
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)
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
5257 ret = libxml2mod.xmlParseElementDecl(self._o)
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)
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)
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)
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)
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)
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)
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)
5336 def parseMisc(self):
5337 """parse an XML Misc* optional field. [27] Misc ::= Comment |
5339 libxml2mod.xmlParseMisc(self._o)
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
5346 ret = libxml2mod.xmlParseName(self._o)
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)
5358 def parseNmtoken(self):
5359 """parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8]
5360 Nmtokens ::= Nmtoken (#x20 Nmtoken)* """
5361 ret = libxml2mod.xmlParseNmtoken(self._o)
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)
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)
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)
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)
5403 def parsePubidLiteral(self):
5404 """parse an XML public literal [12] PubidLiteral ::= '"'
5405 PubidChar* '"' | "'" (PubidChar - "'")* "'" """
5406 ret = libxml2mod.xmlParsePubidLiteral(self._o)
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
5413 ret = libxml2mod.xmlParseQuotedString(self._o)
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)
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
5441 ret = libxml2mod.xmlParseSDDecl(self._o)
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)
5458 def parseSystemLiteral(self):
5459 """parse an XML Literal [11] SystemLiteral ::= ('"' [^"]*
5460 '"') | ("'" [^']* "'") """
5461 ret = libxml2mod.xmlParseSystemLiteral(self._o)
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)
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)
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)
5481 def parseXMLDecl(self):
5482 """parse an XML declaration header [23] XMLDecl ::= '<?xml'
5483 VersionInfo EncodingDecl? SDDecl? S? '?>' """
5484 libxml2mod.xmlParseXMLDecl(self._o)
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)
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)
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)
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)
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)
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)
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)
5560 class xmlAttr(xmlNode):
5561 def __init__(self, _obj=None):
5562 if checkWrapper(_obj) != 0: raise TypeError('xmlAttr got a wrong wrapper object type')
5564 xmlNode.__init__(self, _obj=_obj)
5567 return "<xmlAttr (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
5570 # xmlAttr functions from module debugXML
5573 def debugDumpAttr(self, output, depth):
5574 """Dumps debug information for the attribute """
5575 libxml2mod.xmlDebugDumpAttr(output, self._o, depth)
5577 def debugDumpAttrList(self, output, depth):
5578 """Dumps debug information for the attribute list """
5579 libxml2mod.xmlDebugDumpAttrList(output, self._o, depth)
5582 # xmlAttr functions from module tree
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)
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)
5604 """Free one attribute, all the content is freed too """
5605 libxml2mod.xmlFreeProp(self._o)
5607 def freePropList(self):
5608 """Free a property and all its siblings, all the children are
5610 libxml2mod.xmlFreePropList(self._o)
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)
5619 # xmlAttr functions from module valid
5622 def removeID(self, doc):
5623 """Remove the given attribute from the ID table maintained
5625 if doc is None: doc__o = None
5626 else: doc__o = doc._o
5627 ret = libxml2mod.xmlRemoveID(doc__o, self._o)
5630 def removeRef(self, doc):
5631 """Remove the given attribute from the Ref table maintained
5633 if doc is None: doc__o = None
5634 else: doc__o = doc._o
5635 ret = libxml2mod.xmlRemoveRef(doc__o, self._o)
5638 class xmlAttribute(xmlNode):
5639 def __init__(self, _obj=None):
5640 if checkWrapper(_obj) != 0: raise TypeError('xmlAttribute got a wrong wrapper object type')
5642 xmlNode.__init__(self, _obj=_obj)
5645 return "<xmlAttribute (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
5648 def __init__(self, _obj=None):
5649 if _obj != None:self._o = _obj;return
5654 libxml2mod.xmlFreeCatalog(self._o)
5658 # catalog functions from module catalog
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)
5667 def catalogIsEmpty(self):
5668 """Check is a catalog is empty """
5669 ret = libxml2mod.xmlCatalogIsEmpty(self._o)
5672 def convertSGMLCatalog(self):
5673 """Convert all the SGML catalog entries as XML ones """
5674 ret = libxml2mod.xmlConvertSGMLCatalog(self._o)
5677 def dump(self, out):
5678 """Dump the given catalog to the given file. """
5679 libxml2mod.xmlACatalogDump(self._o, out)
5681 def remove(self, value):
5682 """Remove an entry from the catalog """
5683 ret = libxml2mod.xmlACatalogRemove(self._o, value)
5686 def resolve(self, pubID, sysID):
5687 """Do a complete resolution lookup of an External Identifier """
5688 ret = libxml2mod.xmlACatalogResolve(self._o, pubID, sysID)
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)
5697 def resolveSystem(self, sysID):
5698 """Try to lookup the catalog resource for a system ID """
5699 ret = libxml2mod.xmlACatalogResolveSystem(self._o, sysID)
5702 def resolveURI(self, URI):
5703 """Do a complete resolution lookup of an URI """
5704 ret = libxml2mod.xmlACatalogResolveURI(self._o, URI)
5707 class xmlDtd(xmlNode):
5708 def __init__(self, _obj=None):
5709 if checkWrapper(_obj) != 0: raise TypeError('xmlDtd got a wrong wrapper object type')
5711 xmlNode.__init__(self, _obj=_obj)
5714 return "<xmlDtd (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
5717 # xmlDtd functions from module debugXML
5720 def debugDumpDTD(self, output):
5721 """Dumps debug information for the DTD """
5722 libxml2mod.xmlDebugDumpDTD(output, self._o)
5725 # xmlDtd functions from module tree
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)
5736 """Free a DTD structure. """
5737 libxml2mod.xmlFreeDtd(self._o)
5740 # xmlDtd functions from module valid
5743 def dtdAttrDesc(self, elem, name):
5744 """Search the DTD for the description of this attribute on
5746 ret = libxml2mod.xmlGetDtdAttrDesc(self._o, elem, name)
5747 if ret is None:raise treeError('xmlGetDtdAttrDesc() failed')
5748 __tmp = xmlAttribute(_obj=ret)
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)
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)
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)
5773 class xmlElement(xmlNode):
5774 def __init__(self, _obj=None):
5775 if checkWrapper(_obj) != 0: raise TypeError('xmlElement got a wrong wrapper object type')
5777 xmlNode.__init__(self, _obj=_obj)
5780 return "<xmlElement (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
5782 class xmlEntity(xmlNode):
5783 def __init__(self, _obj=None):
5784 if checkWrapper(_obj) != 0: raise TypeError('xmlEntity got a wrong wrapper object type')
5786 xmlNode.__init__(self, _obj=_obj)
5789 return "<xmlEntity (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
5792 # xmlEntity functions from module parserInternals
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)
5804 def __init__(self, _obj=None):
5805 if _obj != None:self._o = _obj;return
5808 # accessors for Error
5810 """The error code, e.g. an xmlParserError """
5811 ret = libxml2mod.xmlErrorGetCode(self._o)
5815 """What part of the library raised this error """
5816 ret = libxml2mod.xmlErrorGetDomain(self._o)
5821 ret = libxml2mod.xmlErrorGetFile(self._o)
5825 """how consequent is the error """
5826 ret = libxml2mod.xmlErrorGetLevel(self._o)
5830 """the line number if available """
5831 ret = libxml2mod.xmlErrorGetLine(self._o)
5835 """human-readable informative error message """
5836 ret = libxml2mod.xmlErrorGetMessage(self._o)
5840 # Error functions from module xmlerror
5843 def copyError(self, to):
5844 """Save the original error to the new place. """
5845 if to is None: to__o = None
5847 ret = libxml2mod.xmlCopyError(self._o, to__o)
5850 def resetError(self):
5851 """Cleanup the error. """
5852 libxml2mod.xmlResetError(self._o)
5854 class xmlNs(xmlNode):
5855 def __init__(self, _obj=None):
5856 if checkWrapper(_obj) != 0: raise TypeError('xmlNs got a wrong wrapper object type')
5858 xmlNode.__init__(self, _obj=_obj)
5861 return "<xmlNs (%s) object at 0x%x>" % (self.name, int(pos_id (self)))
5864 # xmlNs functions from module tree
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)
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)
5882 """Free up the structures associated to a namespace """
5883 libxml2mod.xmlFreeNs(self._o)
5885 def freeNsList(self):
5886 """Free up all the structures associated to the chained
5888 libxml2mod.xmlFreeNsList(self._o)
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
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)
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)
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)
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)
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)
5953 def newNsProp(self, node, name, value):
5954 """Create a new property tagged with a namespace and carried
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)
5963 def newNsPropEatName(self, node, name, value):
5964 """Create a new property tagged with a namespace and carried
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)
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)
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)
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)
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)
6016 # xmlNs functions from module xpathInternals
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)
6026 class outputBuffer(ioWriteWrapper):
6027 def __init__(self, _obj=None):
6029 ioWriteWrapper.__init__(self, _obj=_obj)
6032 # outputBuffer functions from module HTMLtree
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)
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)
6047 def htmlNodeDumpFormatOutput(self, doc, cur, encoding, format):
6048 """Dump an HTML node, recursive behaviour,children are printed
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)
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)
6066 # outputBuffer functions from module tree
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
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)
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
6084 if cur is None: cur__o = None
6085 else: cur__o = cur._o
6086 ret = libxml2mod.xmlSaveFileTo(self._o, cur__o, encoding)
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
6093 if cur is None: cur__o = None
6094 else: cur__o = cur._o
6095 ret = libxml2mod.xmlSaveFormatFileTo(self._o, cur__o, encoding, format)
6099 # outputBuffer functions from module xmlIO
6102 def getContent(self):
6103 """Gives a pointer to the data currently held in the output
6105 ret = libxml2mod.xmlOutputBufferGetContent(self._o)
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)
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)
6124 class inputBuffer(ioReadWrapper):
6125 def __init__(self, _obj=None):
6127 ioReadWrapper.__init__(self, _obj=_obj)
6131 libxml2mod.xmlFreeParserInputBuffer(self._o)
6135 # inputBuffer functions from module xmlIO
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
6145 ret = libxml2mod.xmlParserInputBufferGrow(self._o, len)
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)
6153 ret = libxml2mod.xmlParserInputBufferPush(self._o, len, buf)
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)
6164 # inputBuffer functions from module xmlreader
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)
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)
6183 def __init__(self, _obj=None):
6184 if _obj != None:self._o = _obj;return
6189 libxml2mod.xmlRegFreeRegexp(self._o)
6193 # xmlReg functions from module xmlregexp
6196 def regexpExec(self, content):
6197 """Check if the regular expression generates the value """
6198 ret = libxml2mod.xmlRegexpExec(self._o, content)
6201 def regexpIsDeterminist(self):
6202 """Check if the regular expression is determinist """
6203 ret = libxml2mod.xmlRegexpIsDeterminist(self._o)
6206 def regexpPrint(self, output):
6207 """Print the content of the compiled regular expression """
6208 libxml2mod.xmlRegexpPrint(output, self._o)
6210 class relaxNgParserCtxt:
6211 def __init__(self, _obj=None):
6212 if _obj != None:self._o = _obj;return
6217 libxml2mod.xmlRelaxNGFreeParserCtxt(self._o)
6221 # relaxNgParserCtxt functions from module relaxng
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)
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)
6238 class relaxNgSchema:
6239 def __init__(self, _obj=None):
6240 if _obj != None:self._o = _obj;return
6245 libxml2mod.xmlRelaxNGFree(self._o)
6249 # relaxNgSchema functions from module relaxng
6252 def relaxNGDump(self, output):
6253 """Dump a RelaxNG structure back """
6254 libxml2mod.xmlRelaxNGDump(output, self._o)
6256 def relaxNGDumpTree(self, output):
6257 """Dump the transformed RelaxNG tree. """
6258 libxml2mod.xmlRelaxNGDumpTree(output, self._o)
6260 def relaxNGNewValidCtxt(self):
6261 """Create an XML RelaxNGs validation context based on the
6263 ret = libxml2mod.xmlRelaxNGNewValidCtxt(self._o)
6264 if ret is None:raise treeError('xmlRelaxNGNewValidCtxt() failed')
6265 __tmp = relaxNgValidCtxt(_obj=ret)
6270 # relaxNgSchema functions from module xmlreader
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)
6284 class relaxNgValidCtxt(relaxNgValidCtxtCore):
6285 def __init__(self, _obj=None):
6288 relaxNgValidCtxtCore.__init__(self, _obj=_obj)
6292 libxml2mod.xmlRelaxNGFreeValidCtxt(self._o)
6296 # relaxNgValidCtxt functions from module relaxng
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)
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)
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)
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)
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)
6341 # relaxNgValidCtxt functions from module xmlreader
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
6349 if reader is None: reader__o = None
6350 else: reader__o = reader._o
6351 ret = libxml2mod.xmlTextReaderRelaxNGValidateCtxt(reader__o, self._o, options)
6354 class SchemaParserCtxt:
6355 def __init__(self, _obj=None):
6356 if _obj != None:self._o = _obj;return
6361 libxml2mod.xmlSchemaFreeParserCtxt(self._o)
6365 # SchemaParserCtxt functions from module xmlschemas
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)
6377 def __init__(self, _obj=None):
6378 if _obj != None:self._o = _obj;return
6383 libxml2mod.xmlSchemaFree(self._o)
6387 # Schema functions from module xmlreader
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)
6402 # Schema functions from module xmlschemas
6405 def schemaDump(self, output):
6406 """Dump a Schema structure. """
6407 libxml2mod.xmlSchemaDump(output, self._o)
6409 def schemaNewValidCtxt(self):
6410 """Create an XML Schemas validation context based on the given
6412 ret = libxml2mod.xmlSchemaNewValidCtxt(self._o)
6413 if ret is None:raise treeError('xmlSchemaNewValidCtxt() failed')
6414 __tmp = SchemaValidCtxt(_obj=ret)
6418 class SchemaValidCtxt(SchemaValidCtxtCore):
6419 def __init__(self, _obj=None):
6422 SchemaValidCtxtCore.__init__(self, _obj=_obj)
6426 libxml2mod.xmlSchemaFreeValidCtxt(self._o)
6430 # SchemaValidCtxt functions from module xmlreader
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
6438 if reader is None: reader__o = None
6439 else: reader__o = reader._o
6440 ret = libxml2mod.xmlTextReaderSchemaValidateCtxt(reader__o, self._o, options)
6444 # SchemaValidCtxt functions from module xmlschemas
6447 def schemaIsValid(self):
6448 """Check if any error was detected during validation. """
6449 ret = libxml2mod.xmlSchemaIsValid(self._o)
6452 def schemaSetValidOptions(self, options):
6453 """Sets the options to be used during the validation. """
6454 ret = libxml2mod.xmlSchemaSetValidOptions(self._o, options)
6457 def schemaValidCtxtGetOptions(self):
6458 """Get the validation context options. """
6459 ret = libxml2mod.xmlSchemaValidCtxtGetOptions(self._o)
6462 def schemaValidCtxtGetParserCtxt(self):
6463 """allow access to the parser context of the schema validation
6465 ret = libxml2mod.xmlSchemaValidCtxtGetParserCtxt(self._o)
6466 if ret is None:raise parserError('xmlSchemaValidCtxtGetParserCtxt() failed')
6467 __tmp = parserCtxt(_obj=ret)
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)
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)
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)
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)
6495 class xmlTextReaderLocator:
6496 def __init__(self, _obj=None):
6497 if _obj != None:self._o = _obj;return
6501 # xmlTextReaderLocator functions from module xmlreader
6505 """Obtain the base URI for the given locator. """
6506 ret = libxml2mod.xmlTextReaderLocatorBaseURI(self._o)
6509 def LineNumber(self):
6510 """Obtain the line number for the given locator. """
6511 ret = libxml2mod.xmlTextReaderLocatorLineNumber(self._o)
6514 class xmlTextReader(xmlTextReaderCore):
6515 def __init__(self, _obj=None):
6518 xmlTextReaderCore.__init__(self, _obj=_obj)
6522 libxml2mod.xmlFreeTextReader(self._o)
6526 # xmlTextReader functions from module xmlreader
6529 def AttributeCount(self):
6530 """Provides the number of attributes of the current node """
6531 ret = libxml2mod.xmlTextReaderAttributeCount(self._o)
6535 """The base URI of the node. """
6536 ret = libxml2mod.xmlTextReaderConstBaseUri(self._o)
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)
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)
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)
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)
6578 """The depth of the node in the tree. """
6579 ret = libxml2mod.xmlTextReaderDepth(self._o)
6583 """Determine the encoding of the document being read. """
6584 ret = libxml2mod.xmlTextReaderConstEncoding(self._o)
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)
6596 def GetAttribute(self, name):
6597 """Provides the value of the attribute with the specified
6599 ret = libxml2mod.xmlTextReaderGetAttribute(self._o, name)
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)
6608 def GetAttributeNs(self, localName, namespaceURI):
6609 """Provides the value of the specified attribute """
6610 ret = libxml2mod.xmlTextReaderGetAttributeNs(self._o, localName, namespaceURI)
6613 def GetParserColumnNumber(self):
6614 """Provide the column number of the current parsing point. """
6615 ret = libxml2mod.xmlTextReaderGetParserColumnNumber(self._o)
6618 def GetParserLineNumber(self):
6619 """Provide the line number of the current parsing point. """
6620 ret = libxml2mod.xmlTextReaderGetParserLineNumber(self._o)
6623 def GetParserProp(self, prop):
6624 """Read the parser internal property. """
6625 ret = libxml2mod.xmlTextReaderGetParserProp(self._o, prop)
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)
6641 def HasAttributes(self):
6642 """Whether the node has attributes. """
6643 ret = libxml2mod.xmlTextReaderHasAttributes(self._o)
6647 """Whether the node can have a text value. """
6648 ret = libxml2mod.xmlTextReaderHasValue(self._o)
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)
6657 def IsEmptyElement(self):
6658 """Check if the current node is empty """
6659 ret = libxml2mod.xmlTextReaderIsEmptyElement(self._o)
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)
6669 """Retrieve the validity status from the parser context """
6670 ret = libxml2mod.xmlTextReaderIsValid(self._o)
6673 def LocalName(self):
6674 """The local name of the node. """
6675 ret = libxml2mod.xmlTextReaderConstLocalName(self._o)
6678 def LookupNamespace(self, prefix):
6679 """Resolves a namespace prefix in the scope of the current
6681 ret = libxml2mod.xmlTextReaderLookupNamespace(self._o, prefix)
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)
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)
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)
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)
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)
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)
6721 """The qualified name of the node, equal to Prefix :LocalName. """
6722 ret = libxml2mod.xmlTextReaderConstName(self._o)
6725 def NamespaceUri(self):
6726 """The URI defining the namespace associated with the node. """
6727 ret = libxml2mod.xmlTextReaderConstNamespaceUri(self._o)
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
6735 ret = libxml2mod.xmlReaderNewDoc(self._o, cur, URL, encoding, options)
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)
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
6752 ret = libxml2mod.xmlReaderNewFile(self._o, filename, encoding, options)
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
6760 ret = libxml2mod.xmlReaderNewMemory(self._o, buffer, size, URL, encoding, options)
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)
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)
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)
6785 """Get the node type of the current node Reference:
6786 http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/Xm
6788 ret = libxml2mod.xmlTextReaderNodeType(self._o)
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 � is of course not
6797 supported either. """
6798 ret = libxml2mod.xmlTextReaderNormalization(self._o)
6802 """A shorthand reference to the namespace associated with the
6804 ret = libxml2mod.xmlTextReaderConstPrefix(self._o)
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)
6816 def QuoteChar(self):
6817 """The quotation mark character used to enclose the value of
6819 ret = libxml2mod.xmlTextReaderQuoteChar(self._o)
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)
6828 def ReadAttributeValue(self):
6829 """Parses an attribute value into one or more Text and
6830 EntityReference nodes. """
6831 ret = libxml2mod.xmlTextReaderReadAttributeValue(self._o)
6834 def ReadInnerXml(self):
6835 """Reads the contents of the current node, including child
6836 nodes and markup. """
6837 ret = libxml2mod.xmlTextReaderReadInnerXml(self._o)
6840 def ReadOuterXml(self):
6841 """Reads the contents of the current node, including child
6842 nodes and markup. """
6843 ret = libxml2mod.xmlTextReaderReadOuterXml(self._o)
6846 def ReadState(self):
6847 """Gets the read state of the reader. """
6848 ret = libxml2mod.xmlTextReaderReadState(self._o)
6851 def ReadString(self):
6852 """Reads the contents of an element or a text node as a string. """
6853 ret = libxml2mod.xmlTextReaderReadString(self._o)
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)
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
6872 ret = libxml2mod.xmlTextReaderRelaxNGValidate(self._o, rng)
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
6880 if ctxt is None: ctxt__o = None
6881 else: ctxt__o = ctxt._o
6882 ret = libxml2mod.xmlTextReaderRelaxNGValidateCtxt(self._o, ctxt__o, options)
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
6890 ret = libxml2mod.xmlTextReaderSchemaValidate(self._o, xsd)
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
6898 if ctxt is None: ctxt__o = None
6899 else: ctxt__o = ctxt._o
6900 ret = libxml2mod.xmlTextReaderSchemaValidateCtxt(self._o, ctxt__o, options)
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)
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)
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)
6928 def Standalone(self):
6929 """Determine the standalone status of the document being read. """
6930 ret = libxml2mod.xmlTextReaderStandalone(self._o)
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)
6940 """Provides the text value of the node if present """
6941 ret = libxml2mod.xmlTextReaderConstValue(self._o)
6945 """The xml:lang scope within which the node resides. """
6946 ret = libxml2mod.xmlTextReaderConstXmlLang(self._o)
6949 def XmlVersion(self):
6950 """Determine the XML version of the document being read. """
6951 ret = libxml2mod.xmlTextReaderConstXmlVersion(self._o)
6955 def __init__(self, _obj=None):
6956 if _obj != None:self._o = _obj;return
6961 libxml2mod.xmlFreeURI(self._o)
6965 def authority(self):
6966 """Get the authority part from an URI """
6967 ret = libxml2mod.xmlURIGetAuthority(self._o)
6971 """Get the fragment part from an URI """
6972 ret = libxml2mod.xmlURIGetFragment(self._o)
6976 """Get the opaque part from an URI """
6977 ret = libxml2mod.xmlURIGetOpaque(self._o)
6981 """Get the path part from an URI """
6982 ret = libxml2mod.xmlURIGetPath(self._o)
6986 """Get the port part from an URI """
6987 ret = libxml2mod.xmlURIGetPort(self._o)
6991 """Get the query part from an URI """
6992 ret = libxml2mod.xmlURIGetQuery(self._o)
6996 """Get the raw query part from an URI (i.e. the unescaped
6998 ret = libxml2mod.xmlURIGetQueryRaw(self._o)
7002 """Get the scheme part from an URI """
7003 ret = libxml2mod.xmlURIGetScheme(self._o)
7007 """Get the server part from an URI """
7008 ret = libxml2mod.xmlURIGetServer(self._o)
7011 def setAuthority(self, authority):
7012 """Set the authority part of an URI. """
7013 libxml2mod.xmlURISetAuthority(self._o, authority)
7015 def setFragment(self, fragment):
7016 """Set the fragment part of an URI. """
7017 libxml2mod.xmlURISetFragment(self._o, fragment)
7019 def setOpaque(self, opaque):
7020 """Set the opaque part of an URI. """
7021 libxml2mod.xmlURISetOpaque(self._o, opaque)
7023 def setPath(self, path):
7024 """Set the path part of an URI. """
7025 libxml2mod.xmlURISetPath(self._o, path)
7027 def setPort(self, port):
7028 """Set the port part of an URI. """
7029 libxml2mod.xmlURISetPort(self._o, port)
7031 def setQuery(self, query):
7032 """Set the query part of an URI. """
7033 libxml2mod.xmlURISetQuery(self._o, query)
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)
7039 def setScheme(self, scheme):
7040 """Set the scheme part of an URI. """
7041 libxml2mod.xmlURISetScheme(self._o, scheme)
7043 def setServer(self, server):
7044 """Set the server part of an URI. """
7045 libxml2mod.xmlURISetServer(self._o, server)
7047 def setUser(self, user):
7048 """Set the user part of an URI. """
7049 libxml2mod.xmlURISetUser(self._o, user)
7052 """Get the user part from an URI """
7053 ret = libxml2mod.xmlURIGetUser(self._o)
7057 # URI functions from module uri
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)
7067 def printURI(self, stream):
7068 """Prints the URI in the stream @stream. """
7069 libxml2mod.xmlPrintURI(stream, self._o)
7072 """Save the URI as an escaped string """
7073 ret = libxml2mod.xmlSaveUri(self._o)
7076 class ValidCtxt(ValidCtxtCore):
7077 def __init__(self, _obj=None):
7079 ValidCtxtCore.__init__(self, _obj=_obj)
7083 libxml2mod.xmlFreeValidCtxt(self._o)
7087 # ValidCtxt functions from module valid
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)
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)
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
7122 if doc is None: doc__o = None
7123 else: doc__o = doc._o
7124 ret = libxml2mod.xmlValidateDocumentFinal(self._o, doc__o)
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
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)
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)
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)
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)
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)
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
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)
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
7215 ret = libxml2mod.xmlValidateOneNamespace(self._o, doc__o, elem__o, prefix, ns__o, value)
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)
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)
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)
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)
7252 def __init__(self, _obj=None):
7253 if _obj != None:self._o = _obj;return
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)
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)
7271 def contextPosition(self):
7272 """Get the current node from an xpathContext """
7273 ret = libxml2mod.xmlXPathGetContextPosition(self._o)
7276 def contextSize(self):
7277 """Get the current node from an xpathContext """
7278 ret = libxml2mod.xmlXPathGetContextSize(self._o)
7282 """Get the current function name xpathContext """
7283 ret = libxml2mod.xmlXPathGetFunction(self._o)
7286 def functionURI(self):
7287 """Get the current function name URI xpathContext """
7288 ret = libxml2mod.xmlXPathGetFunctionURI(self._o)
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)
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)
7304 # xpathContext functions from module python
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)
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)
7318 # xpathContext functions from module xpath
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)
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)
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)
7345 def xpathFreeContext(self):
7346 """Free up an xmlXPathContext """
7347 libxml2mod.xmlXPathFreeContext(self._o)
7350 # xpathContext functions from module xpathInternals
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)
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)
7366 def xpathRegisterAllFunctions(self):
7367 """Registers all default XPath functions in this context """
7368 libxml2mod.xmlXPathRegisterAllFunctions(self._o)
7370 def xpathRegisterNs(self, prefix, ns_uri):
7371 """Register a new namespace. If @ns_uri is None it unregisters
7373 ret = libxml2mod.xmlXPathRegisterNs(self._o, prefix, ns_uri)
7376 def xpathRegisteredFuncsCleanup(self):
7377 """Cleanup the XPath context data associated to registered
7379 libxml2mod.xmlXPathRegisteredFuncsCleanup(self._o)
7381 def xpathRegisteredNsCleanup(self):
7382 """Cleanup the XPath context data associated to registered
7384 libxml2mod.xmlXPathRegisteredNsCleanup(self._o)
7386 def xpathRegisteredVariablesCleanup(self):
7387 """Cleanup the XPath context data associated to registered
7389 libxml2mod.xmlXPathRegisteredVariablesCleanup(self._o)
7391 def xpathVariableLookup(self, name):
7392 """Search in the Variable array of the context for the given
7394 ret = libxml2mod.xmlXPathVariableLookup(self._o, name)
7395 if ret is None:raise xpathError('xmlXPathVariableLookup() failed')
7396 return xpathObjectRet(ret)
7398 def xpathVariableLookupNS(self, name, ns_uri):
7399 """Search in the Variable array of the context for the given
7401 ret = libxml2mod.xmlXPathVariableLookupNS(self._o, name, ns_uri)
7402 if ret is None:raise xpathError('xmlXPathVariableLookupNS() failed')
7403 return xpathObjectRet(ret)
7406 # xpathContext functions from module xpointer
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)
7415 class xpathParserContext:
7416 def __init__(self, _obj=None):
7417 if _obj != None:self._o = _obj;return
7420 # accessors for xpathParserContext
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)
7429 # xpathParserContext functions from module xpathInternals
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)
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)
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)
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)
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)
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)
7485 def xpathCountFunction(self, nargs):
7486 """Implement the count() XPath function number count(node-set) """
7487 libxml2mod.xmlXPathCountFunction(self._o, nargs)
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)
7495 def xpathEqualValues(self):
7496 """Implement the equal operation on XPath objects content:
7498 ret = libxml2mod.xmlXPathEqualValues(self._o)
7501 def xpathErr(self, error):
7502 """Handle an XPath error """
7503 libxml2mod.xmlXPathErr(self._o, error)
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)
7510 def xpathFalseFunction(self, nargs):
7511 """Implement the false() XPath function boolean false() """
7512 libxml2mod.xmlXPathFalseFunction(self._o, nargs)
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)
7521 def xpathFreeParserContext(self):
7522 """Free up an xmlXPathParserContext """
7523 libxml2mod.xmlXPathFreeParserContext(self._o)
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)
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)
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
7559 libxml2mod.xmlXPathLastFunction(self._o, nargs)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
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)
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)
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)
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)
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
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)
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)
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)
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)
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)
7768 def xpathNotEqualValues(self):
7769 """Implement the equal operation on XPath objects content:
7771 ret = libxml2mod.xmlXPathNotEqualValues(self._o)
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)
7780 def xpathNumberFunction(self, nargs):
7781 """Implement the number() XPath function number number(object?) """
7782 libxml2mod.xmlXPathNumberFunction(self._o, nargs)
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)
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)
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)
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)
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)
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)
7823 def xpathRoot(self):
7824 """Initialize the context to the root of the document """
7825 libxml2mod.xmlXPathRoot(self._o)
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)
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)
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)
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
7879 libxml2mod.xmlXPathStringLengthFunction(self._o, nargs)
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)
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)
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)
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)
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)
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)
7959 def xpathTrueFunction(self, nargs):
7960 """Implement the true() XPath function boolean true() """
7961 libxml2mod.xmlXPathTrueFunction(self._o, nargs)
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)
7969 def xpatherror(self, file, line, no):
7970 """Formats an error message. """
7971 libxml2mod.xmlXPatherror(self._o, file, line, no)
7974 # xpathParserContext functions from module xpointer
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
7982 libxml2mod.xmlXPtrEvalRangePredicate(self._o)
7984 def xpointerRangeToFunction(self, nargs):
7985 """Implement the range-to() XPointer function """
7986 libxml2mod.xmlXPtrRangeToFunction(self._o, nargs)
7991 XLINK_SHOW_EMBED = 2
7992 XLINK_SHOW_REPLACE = 3
7994 # xmlRelaxNGParserFlag
7995 XML_RELAXNGP_NONE = 0
7996 XML_RELAXNGP_FREE_DOC = 1
7997 XML_RELAXNGP_CRNG = 2
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
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
8012 # xmlAttributeDefault
8013 XML_ATTRIBUTE_NONE = 1
8014 XML_ATTRIBUTE_REQUIRED = 2
8015 XML_ATTRIBUTE_IMPLIED = 3
8016 XML_ATTRIBUTE_FIXED = 4
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
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
8067 # xmlParserInputState
8069 XML_PARSER_START = 0
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
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
8097 XML_SAVE_NO_DECL = 2
8098 XML_SAVE_NO_EMPTY = 4
8099 XML_SAVE_NO_XHTML = 8
8101 XML_SAVE_AS_XML = 32
8102 XML_SAVE_AS_HTML = 64
8103 XML_SAVE_WSNONSIG = 128
8106 XML_PATTERN_DEFAULT = 0
8107 XML_PATTERN_XPATH = 1
8108 XML_PATTERN_XSSEL = 2
8109 XML_PATTERN_XSFIELD = 4
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
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
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
8432 XML_IO_EBADMSG = 1504
8434 XML_IO_ECANCELED = 1506
8435 XML_IO_ECHILD = 1507
8436 XML_IO_EDEADLK = 1508
8438 XML_IO_EEXIST = 1510
8439 XML_IO_EFAULT = 1511
8441 XML_IO_EINPROGRESS = 1513
8443 XML_IO_EINVAL = 1515
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
8465 XML_IO_ERANGE = 1537
8467 XML_IO_ESPIPE = 1539
8469 XML_IO_ETIMEDOUT = 1541
8471 XML_IO_NETWORK_ATTEMPT = 1543
8472 XML_IO_ENCODER = 1544
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
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
8861 # xmlParserProperties
8862 XML_PARSER_LOADDTD = 1
8863 XML_PARSER_DEFAULTATTRS = 2
8864 XML_PARSER_VALIDATE = 3
8865 XML_PARSER_SUBST_ENTITIES = 4
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
8888 XML_CATA_PREFER_NONE = 0
8889 XML_CATA_PREFER_PUBLIC = 1
8890 XML_CATA_PREFER_SYSTEM = 2
8893 XML_ELEMENT_NODE = 1
8894 XML_ATTRIBUTE_NODE = 2
8896 XML_CDATA_SECTION_NODE = 4
8897 XML_ENTITY_REF_NODE = 5
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
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
8916 XLINK_ACTUATE_NONE = 0
8917 XLINK_ACTUATE_AUTO = 1
8918 XLINK_ACTUATE_ONREQUEST = 2
8926 XML_WITH_PATTERN = 6
8933 XML_WITH_LEGACY = 13
8935 XML_WITH_CATALOG = 15
8938 XML_WITH_XINCLUDE = 18
8940 XML_WITH_ISO8859X = 20
8941 XML_WITH_UNICODE = 21
8942 XML_WITH_REGEXP = 22
8943 XML_WITH_AUTOMATA = 23
8945 XML_WITH_SCHEMAS = 25
8946 XML_WITH_SCHEMATRON = 26
8947 XML_WITH_MODULES = 27
8949 XML_WITH_DEBUG_MEM = 29
8950 XML_WITH_DEBUG_RUN = 30
8954 XML_WITH_NONE = 99999
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
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
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
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
9033 XML_FROM_NAMESPACE = 3
9041 XML_FROM_XINCLUDE = 11
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
9055 XML_FROM_WRITER = 25
9056 XML_FROM_MODULE = 26
9058 XML_FROM_SCHEMATRONV = 28
9059 XML_FROM_BUFFER = 29
9069 # xmlSchemaValidOption
9070 XML_SCHEMA_VAL_VC_I_CREATE = 1
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
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
9090 # xmlRelaxNGValidErr
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
9133 XML_CATA_ALLOW_NONE = 0
9134 XML_CATA_ALLOW_GLOBAL = 1
9135 XML_CATA_ALLOW_DOCUMENT = 2
9136 XML_CATA_ALLOW_ALL = 3
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
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
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
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
9213 XML_MODULE_LOCAL = 2
9216 XML_PARSE_UNKNOWN = 0
9219 XML_PARSE_PUSH_DOM = 3
9220 XML_PARSE_PUSH_SAX = 4
9221 XML_PARSE_READER = 5
9225 XML_C14N_EXCLUSIVE_1_0 = 1
9229 XML_PARSE_RECOVER = 1
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
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
9261 XML_DOC_WELLFORMED = 1
9264 XML_DOC_DTDVALID = 8
9265 XML_DOC_XINCLUDE = 16
9266 XML_DOC_USERBUILT = 32
9267 XML_DOC_INTERNAL = 64
9272 XLINK_TYPE_SIMPLE = 1
9273 XLINK_TYPE_EXTENDED = 2
9274 XLINK_TYPE_EXTENDED_SET = 3
9276 # xmlXPathObjectType
9284 XPATH_LOCATIONSET = 7
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