### ----------------------------------------------------
### -- LibXML
### -- Licenses: Artistic-2.0
### -- Authors: David Warring
### -- File: etc/libxml2-api.xml
### ----------------------------------------------------
### -- Chunk 15 of 44
' file='xlink' type='xmlChar *'/>
    <typedef name='xlinkType' file='xlink' type='enum'/>
    <struct name='xmlAttr' file='tree' type='struct _xmlAttr'>
      <field name='_private' type='void *' info=' application data'/>
      <field name='type' type='xmlElementType' info=' XML_ATTRIBUTE_NODE, must be second !'/>
      <field name='name' type='const xmlChar *' info=' the name of the property'/>
      <field name='children' type='struct _xmlNode *' info=' the value of the property'/>
      <field name='last' type='struct _xmlNode *' info=' NULL'/>
      <field name='parent' type='struct _xmlNode *' info=' child-&gt;parent link'/>
      <field name='next' type='struct _xmlAttr *' info=' next sibling link '/>
      <field name='prev' type='struct _xmlAttr *' info=' previous sibling link '/>
      <field name='doc' type='struct _xmlDoc *' info=' the containing document'/>
      <field name='ns' type='xmlNs *' info=' pointer to the associated namespace'/>
      <field name='atype' type='xmlAttributeType' info=' the attribute type if validating'/>
      <field name='psvi' type='void *' info=' for type/PSVI informations'/>
    </struct>
    <typedef name='xmlAttrPtr' file='tree' type='xmlAttr *'/>
    <struct name='xmlAttribute' file='tree' type='struct _xmlAttribute'>
      <field name='_private' type='void *' info=' application data'/>
      <field name='type' type='xmlElementType' info=' XML_ATTRIBUTE_DECL, must be second !'/>
      <field name='name' type='const xmlChar *' info=' Attribute name'/>
      <field name='children' type='struct _xmlNode *' info=' NULL'/>
      <field name='last' type='struct _xmlNode *' info=' NULL'/>
      <field name='parent' type='struct _xmlDtd *' info=' -&gt; DTD'/>
      <field name='next' type='struct _xmlNode *' info=' next sibling link '/>
      <field name='prev' type='struct _xmlNode *' info=' previous sibling link '/>
      <field name='doc' type='struct _xmlDoc *' info=' the containing document'/>
      <field name='nexth' type='struct _xmlAttribute *' info=' next in hash table'/>
      <field name='atype' type='xmlAttributeType' info=' The attribute type'/>
      <field name='def' type='xmlAttributeDefault' info=' the default'/>
      <field name='defaultValue' type='const xmlChar *' info=' or the default value'/>
      <field name='tree' type='xmlEnumerationPtr' info=' or the enumeration tree if any'/>
      <field name='prefix' type='const xmlChar *' info=' the namespace prefix if any'/>
      <field name='elem' type='const xmlChar *' info=' Element holding the attribute'/>
    </struct>
    <typedef name='xmlAttributeDefault' file='tree' type='enum'/>
    <typedef name='xmlAttributePtr' file='tree' type='xmlAttribute *'/>
    <struct name='xmlAttributeTable' file='valid' type='struct _xmlHashTable'/>
    <typedef name='xmlAttributeTablePtr' file='valid' type='xmlAttributeTable *'/>
    <typedef name='xmlAttributeType' file='tree' type='enum'/>
    <struct name='xmlAutomata' file='xmlautomata' type='struct _xmlAutomata'/>
    <typedef name='xmlAutomataPtr' file='xmlautomata' type='xmlAutomata *'>
      <info>A libxml automata description, It can be compiled into a regexp</info>
    </typedef>
    <struct name='xmlAutomataState' file='xmlautomata' type='struct _xmlAutomataState'/>
    <typedef name='xmlAutomataStatePtr' file='xmlautomata' type='xmlAutomataState *'>
      <info>A state int the automata description,</info>
    </typedef>
    <struct name='xmlBuf' file='tree' type='struct _xmlBuf'/>
    <typedef name='xmlBufPtr' file='tree' type='xmlBuf *'>
      <info>A pointer to a buffer structure, the actual structure internals are not public</info>
    </typedef>
    <struct name='xmlBuffer' file='tree' type='struct _xmlBuffer'>
      <field name='content' type='xmlChar *' info=' The buffer content UTF8'/>
      <field name='use' type='unsigned int' info=' The buffer size used'/>
      <field name='size' type='unsigned int' info=' The buffer size'/>
      <field name='alloc' type='xmlBufferAllocationScheme' info=' The realloc method'/>
      <field name='contentIO' type='xmlChar *' info=' in IO mode we may have a different base'/>
    </struct>
    <typedef name='xmlBufferAllocationScheme' file='tree' type='enum'/>
    <typedef name='xmlBufferPtr' file='tree' type='xmlBuffer *'/>
    <typedef name='xmlC14NMode' file='c14n' type='enum'/>
    <struct name='xmlCatalog' file='catalog' type='struct _xmlCatalog'/>
    <typedef name='xmlCatalogAllow' file='catalog' type='enum'/>
    <typedef name='xmlCatalogPrefer' file='catalog' type='enum'/>
    <typedef name='xmlCatalogPtr' file='catalog' type='xmlCatalog *'/>
    <struct name='xmlChLRange' file='chvalid' type='struct _xmlChLRange'>
      <field name='low' type='unsigned int' info=''/>
      <field name='high' type='unsigned int' info=''/>
    </struct>
    <typedef name='xmlChLRangePtr' file='chvalid' type='xmlChLRange *'/>
    <struct name='xmlChRangeGroup' file='chvalid' type='struct _xmlChRangeGroup'>
      <field name='nbShortRange' type='int' info=''/>
      <field name='nbLongRange' type='int' info=''/>
      <field name='shortRange' type='const xmlChSRange *' info=' points to an array of ranges'/>
      <field name='longRange' type='const xmlChLRange *' info=''/>
    </struct>
    <typedef name='xmlChRangeGroupPtr' file='chvalid' type='xmlChRangeGroup *'/>
    <struct name='xmlChSRange' file='chvalid' type='struct _xmlChSRange'>
      <field name='low' type='unsigned short' info=''/>
      <field name='high' type='unsigned short' info=''/>
    </struct>
    <typedef name='xmlChSRangePtr' file='chvalid' type='xmlChSRange *'/>
    <typedef name='xmlChar' file='xmlstring' type='unsigned char'>
      <info>This is a basic byte in an UTF-8 encoded string. It&apos;s unsigned allowing to pinpoint case where char * are assigned to xmlChar * (possibly making serialization back impossible).</info>
    </typedef>
    <typedef name='xmlCharEncoding' file='encoding' type='enum'/>
    <struct name='xmlCharEncodingHandler' file='encoding' type='struct _xmlCharEncodingHandler'>
      <field name='name' type='char *' info=''/>
      <field name='input' type='xmlCharEncodingInputFunc' info=''/>
      <field name='output' type='xmlCharEncodingOutputFunc' info=''/>
      <field name='iconv_in' type='iconv_t' info=''/>
      <field name='iconv_out' type='iconv_t' info=''/>
      <field name='uconv_in' type='uconv_t *' info=''/>
      <field name='uconv_out' type='uconv_t *' info=''/>
    </struct>
    <typedef name='xmlCharEncodingHandlerPtr' file='encoding' type='xmlCharEncodingHandler *'/>
    <struct name='xmlDOMWrapCtxt' file='tree' type='struct _xmlDOMWrapCtxt'>
      <field name='_private' type='void *' info='* The type of this context, just in case we need specialized
* contexts in the future.
*'/>
      <field name='type' type='int' info='* Internal namespace map used for various operations.
*'/>
      <field name='namespaceMap' type='void *' info='* Use this one to acquire an xmlNsPtr intended for node-&gt;ns.
* (Note that this is not intended for elem-&gt;nsDef).
*'/>
      <field name='getNsForNodeFunc' type='xmlDOMWrapAcquireNsFunction' info=''/>
    </struct>
    <typedef name='xmlDOMWrapCtxtPtr' file='tree' type='xmlDOMWrapCtxt *'/>
    <struct name='xmlDict' file='dict' type='struct _xmlDict'/>
    <typedef name='xmlDictPtr' file='dict' type='xmlDict *'/>
    <struct name='xmlDoc' file='tree' type='struct _xmlDoc'>
      <field name='_private' type='void *' info=' application data'/>
      <field name='type' type='xmlElementType' info=' XML_DOCUMENT_NODE, must be second !'/>
      <field name='name' type='char *' info=' name/filename/URI of the document'/>
      <field name='children' type='struct _xmlNode *' info=' the document tree'/>
      <field name='last' type='struct _xmlNode *' info=' last child link'/>
      <field name='parent' type='struct _xmlNode *' info=' child-&gt;parent link'/>
      <field name='next' type='struct _xmlNode *' info=' next sibling link '/>
      <field name='prev' type='struct _xmlNode *' info=' previous sibling link '/>
      <field name='doc' type='struct _xmlDoc *' info=' autoreference to itself End of common part'/>
      <field name='compression' type='int' info=' level of zlib compression'/>
      <field name='standalone' type='int' info=' standalone document (no external refs)
1 if standalone=&quot;yes&quot;
0 if standalone=&quot;no&quot;
-1 if there is no XML declaration
-2 if there is an XML declaration, but no
standalone attribute was specified'/>
      <field name='intSubset' type='struct _xmlDtd *' info=' the document internal subset'/>
      <field name='extSubset' type='struct _xmlDtd *' info=' the document external subset'/>
      <field name='oldNs' type='struct _xmlNs *' info=' Global namespace, the old way'/>
      <field name='version' type='const xmlChar *' info=' the XML version string'/>
      <field name='encoding' type='const xmlChar *' info=' external initial encoding, if any'/>
      <field name='ids' type='void *' info=' Hash table for ID attributes if any'/>
      <field name='refs' type='void *' info=' Hash table for IDREFs attributes if any'/>
      <field name='URL' type='const xmlChar *' info=' The URI for that document'/>
      <field name='charset' type='int' info=' encoding of the in-memory content
actually an xmlCharEncoding'/>
      <field name='dict' type='struct _xmlDict *' info=' dict used to allocate names or NULL'/>
      <field name='psvi' type='void *' info=' for type/PSVI informations'/>
      <field name='parseFlags' type='int' info=' set of xmlParserOption used to parse the
document'/>
      <field name='properties' type='int' info=' set of xmlDocProperties for this document
set at the end of parsing'/>
    </struct>
    <typedef name='xmlDocProperties' file='tree' type='enum'/>
    <typedef name='xmlDocPtr' file='tree' type='xmlDoc *'/>
    <struct name='xmlDtd' file='tree' type='struct _xmlDtd'>
      <field name='_private' type='void *' info=' application data'/>
      <field name='type' type='xmlElementType' info=' XML_DTD_NODE, must be second !'/>
      <field name='name' type='const xmlChar *' info=' Name of the DTD'/>
      <field name='children' type='struct _xmlNode *' info=' the value of the property link'/>
      <field name='last' type='struct _xmlNode *' info=' last child link'/>
      <field name='parent' type='struct _xmlDoc *' info=' child-&gt;parent link'/>
      <field name='next' type='struct _xmlNode *' info=' next sibling link '/>
      <field name='prev' type='struct _xmlNode *' info=' previous sibling link '/>
      <field name='doc' type='struct _xmlDoc *' info=' the containing document End of common part'/>
      <field name='notations' type='void *' info=' Hash table for notations if any'/>
      <field name='elements' type='void *' info=' Hash table for elements if any'/>
      <field name='attributes' type='void *' info=' Hash table for attributes if any'/>
      <field name='entities' type='void *' info=' Hash table for entities if any'/>
      <field name='ExternalID' type='const xmlChar *' info=' External identifier for PUBLIC DTD'/>
      <field name='SystemID' type='const xmlChar *' info=' URI for a SYSTEM or PUBLIC DTD'/>
      <field name='pentities' type='void *' info=' Hash table for param entities if any'/>
    </struct>
    <typedef name='xmlDtdPtr' file='tree' type='xmlDtd *'/>
    <struct name='xmlElement' file='tree' type='struct _xmlElement'>
      <field name='_private' type='void *' info=' application data'/>
      <field name='type' type='xmlElementType' info=' XML_ELEMENT_DECL, must be second !'/>
      <field name='name' type='const xmlChar *' info=' Element name'/>
      <field name='children' type='struct _xmlNode *' info=' NULL'/>
      <field name='last' type='struct _xmlNode *' info=' NULL'/>
      <field name='parent' type='struct _xmlDtd *' info=' -&gt; DTD'/>
      <field name='next' type='struct _xmlNode *' info=' next sibling link '/>
      <field name='prev' type='struct _xmlNode *' info=' previous sibling link '/>
      <field name='doc' type='struct _xmlDoc *' info=' the containing document'/>
      <field name='etype' type='xmlElementTypeVal' info=' The type'/>
      <field name='content' type='xmlElementContentPtr' info=' the allowed element content'/>
      <field name='attributes' type='xmlAttributePtr' info=' List of the declared attributes'/>
      <field name='prefix' type='const xmlChar *' info=' the namespace prefix if any'/>
      <field name='contModel' type='xmlRegexpPtr' info=' the validating regexp'/>
      <field name='contModel' type='void *' info=''/>
    </struct>
    <struct name='xmlElementContent' file='tree' type='struct _xmlElementContent'>
      <field name='type' type='xmlElementContentType' info=' PCDATA, ELEMENT, SEQ or OR'/>
      <field name='ocur' type='xmlElementContentOccur' info=' ONCE, OPT, MULT or PLUS'/>
      <field name='name' type='const xmlChar *' info=' Element name'/>
      <field name='c1' type='struct _xmlElementContent *' info=' first child'/>
      <field name='c2' type='struct _xmlElementContent *' info=' second child'/>
      <field name='parent' type='struct _xmlElementContent *' info=' parent'/>
      <field name='prefix' type='const xmlChar *' info=' Namespace prefix'/>
    </struct>
    <typedef name='xmlElementContentOccur' file='tree' type='enum'/>
    <typedef name='xmlElementContentPtr' file='tree' type='xmlElementContent *'/>
    <typedef name='xmlElementContentType' file='tree' type='enum'/>
    <typedef name='xmlElementPtr' file='tree' type='xmlElement *'/>
    <struct name='xmlElementTable' file='valid' type='struct _xmlHashTable'/>
    <typedef name='xmlElementTablePtr' file='valid' type='xmlElementTable *'/>
    <typedef name='xmlElementType' file='tree' type='enum'/>
    <typedef name='xmlElementTypeVal' file='tree' type='enum'/>
    <struct name='xmlEntitiesTable' file='entities' type='struct _xmlHashTable'/>
    <typedef name='xmlEntitiesTablePtr' file='entities' type='xmlEntitiesTable *'/>
    <struct name='xmlEntity' file='tree' type='struct _xmlEntity'>
      <field name='_private' type='void *' info=' application data'/>
      <field name='type' type='xmlElementType' info=' XML_ENTITY_DECL, must be second !'/>
      <field name='name' type='const xmlChar *' info=' Entity name'/>
      <field name='children' type='struct _xmlNode *' info=' First child link'/>
      <field name='last' type='struct _xmlNode *' info=' Last child link'/>
      <field name='parent' type='struct _xmlDtd *' info=' -&gt; DTD'/>
      <field name='next' type='struct _xmlNode *' info=' next sibling link '/>
      <field name='prev' type='struct _xmlNode *' info=' previous sibling link '/>
      <field name='doc' type='struct _xmlDoc *' info=' the containing document'/>
      <field name='orig' type='xmlChar *' info=' content without ref substitution'/>
      <field name='content' type='xmlChar *' info=' content or ndata if unparsed'/>
      <field name='length' type='int' info=' the content length'/>
      <field name='etype' type='xmlEntityType' info=' The entity type'/>
      <field name='ExternalID' type='const xmlChar *' info=' External identifier for PUBLIC'/>
      <field name='SystemID' type='const xmlChar *' info=' URI for a SYSTEM or PUBLIC Entity'/>
      <field name='nexte' type='struct _xmlEntity *' info=' unused'/>
      <field name='URI' type='const xmlChar *' info=' the full URI as computed'/>
      <field name='owner' type='int' info=' does the entity own the childrens'/>
      <field name='checked' type='int' info=' was the entity content checked this is also used to count entities
* references done from that entity
* and if it contains &apos;&lt;&apos;'/>
    </struct>
    <typedef name='xmlEntityPtr' file='tree' type='xmlEntity *'/>
    <typedef name='xmlEntityType' file='entities' type='enum'/>
    <struct name='xmlEnumeration' file='tree' type='struct _xmlEnumeration'>
      <field name='next' type='struct _xmlEnumeration *' info=' next one'/>
      <field name='name' type='const xmlChar *' info=' Enumeration name'/>
    </struct>
    <typedef name='xmlEnumerationPtr' file='tree' type='xmlEnumeration *'/>
    <struct name='xmlError' file='xmlerror' type='struct _xmlError'>
      <field name='domain' type='int' info=' What part of the library raised this error'/>
      <field name='code' type='int' info=' The error code, e.g. an xmlParserError'/>
      <field name='message' type='char *' info=' human-readable informative error message'/>
      <field name='level' type='xmlErrorLevel' info=' how consequent is the error'/>
      <field name='file' type='char *' info=' the filename'/>
      <field name='line' type='int' info=' the line number if available'/>
      <field name='str1' type='char *' info=' extra string information'/>
      <field name='str2' type='char *' info=' extra string information'/>
      <field name='str3' type='char *' info=' extra string information'/>
      <field name='int1' type='int' info=' extra number information'/>
      <field name='int2' type='int' info=' error column # or 0 if N/A (todo: rename field when we would brk ABI)'/>
      <field name='ctxt' type='void *' info=' the parser context if available'/>
      <field name='node' type='void *' info=' the node in the tree'/>
    </struct>
    <typedef name='xmlErrorDomain' file='xmlerror' type='enum'/>
    <typedef name='xmlErrorLevel' file='xmlerror' type='enum'/>
    <typedef name='xmlErrorPtr' file='xmlerror' type='xmlError *'/>
    <struct name='xmlExpCtxt' file='xmlregexp' type='struct _xmlExpCtxt'/>
    <typedef name='xmlExpCtxtPtr' file='xmlregexp' type='xmlExpCtxt *'/>
    <struct name='xmlExpNode' file='xmlregexp' type='struct _xmlExpNode'/>
    <typedef name='xmlExpNodePtr' file='xmlregexp' type='xmlExpNode *'/>
    <typedef name='xmlExpNodeType' file='xmlregexp' type='enum'/>
    <typedef name='xmlFeature' file='parser' type='enum'/>
    <struct name='xmlGlobalState' file='globals' type='struct _xmlGlobalState'>
      <field name='xmlParserVersion' type='const char *' info=''/>
      <field name='xmlDefaultSAXLocator' type='xmlSAXLocator' info=''/>
      <field name='xmlDefaultSAXHandler' type='xmlSAXHandlerV1' info=''/>
      <field name='docbDefaultSAXHandler' type='xmlSAXHandlerV1' info=''/>
      <field name='htmlDefaultSAXHandler' type='xmlSAXHandlerV1' info=''/>
      <field name='xmlFree' type='xmlFreeFunc' info=''/>
      <field name='xmlMalloc' type='xmlMallocFunc' info=''/>
      <field name='xmlMemStrdup' type='xmlStrdupFunc' info=''/>
      <field name='xmlRealloc' type='xmlReallocFunc' info=''/>
      <field name='xmlGenericError' type='xmlGenericErrorFunc' info=''/>
      <field name='xmlStructuredError' type='xmlStructuredErrorFunc' info=''/>
      <field name='xmlGenericErrorContext' type='void *' info=''/>
      <field name='oldXMLWDcompatibility' type='int' info=''/>
      <field name='xmlBufferAllocScheme' type='xmlBufferAllocationScheme' info=''/>
      <field name='xmlDefaultBufferSize' type='int' info=''/>
      <field name='xmlSubstituteEntitiesDefaultValue' type='int' info=''/>
      <field name='xmlDoValidityCheckingDefaultValue' type='int' info=''/>
      <field name='xmlGetWarningsDefaultValue' type='int' info=''/>
      <field name='xmlKeepBlanksDefaultValue' type='int' info=''/>
      <field name='xmlLineNumbersDefaultValue' type='int' info=''/>
      <field name='xmlLoadExtDtdDefaultValue' type='int' info=''/>
      <field name='xmlParserDebugEntities' type='int' info=''/>
      <field name='xmlPedanticParserDefaultValue' type='int' info=''/>
      <field name='xmlSaveNoEmptyTags' type='int' info=''/>
      <field name='xmlIndentTreeOutput' type='int' info=''/>
      <field name='xmlTreeIndentString' type='const char *' info=''/>
      <field name='xmlRegisterNodeDefaultValue' type='xmlRegisterNodeFunc' info=''/>
      <field name='xmlDeregisterNodeDefaultValue' type='xmlDeregisterNodeFunc' info=''/>
      <field name='xmlMallocAtomic' type='xmlMallocFunc' info=''/>
      <field name='xmlLastError' type='xmlError' info=''/>
      <field name='xmlParserInputBufferCreateFilenameValue' type='xmlParserInputBufferCreateFilenameFunc' info=''/>
      <field name='xmlOutputBufferCreateFilenameValue' type='xmlOutputBufferCreateFilenameFunc' info=''/>
      <field name='xmlStructuredErrorContext' type='void *' info=''/>
    </struct>
    <typedef name='xmlGlobalStatePtr' file='globals' type='xmlGlobalState *'/>
    <struct name='xmlHashTable' file='hash' type='struct _xmlHashTable'/>
    <typedef name='xmlHashTablePtr' file='hash' type='xmlHashTable *'/>
    <struct name='xmlID' file='tree' type='struct _xmlID'>
      <field name='next' type='struct _xmlID *' info=' next ID'/>
      <field name='value' type='const xmlChar *' info=' The ID name'/>
      <field name='attr' type='xmlAttrPtr' info=' The attribute holding it'/>
      <field name='name' type='const xmlChar *' info=' The attribute if attr is not available'/>
      <field name='lineno' type='int' info=' The line number if attr is not available'/>
      <field name='doc' type='struct _xmlDoc *' info=' The document holding the ID'/>
    </struct>
    <typedef name='xmlIDPtr' file='tree' type='xmlID *'/>
    <struct name='xmlIDTable' file='valid' type='struct _xmlHashTable'/>
    <typedef name='xmlIDTablePtr' file='valid' type='xmlIDTable *'/>
    <struct name='xmlLink' file='list' type='struct _xmlLink'/>
    <typedef name='xmlLinkPtr' file='list' type='xmlLink *'/>
    <struct name='xmlList' file='list' type='struct _xmlList'/>
    <typedef name='xmlListPtr' file='list' type='xmlList *'/>
    <struct name='xmlLocationSet' file='xpointer' type='struct _xmlLocationSet'>
      <field name='locNr' type='int' info=' number of locations in the set'/>
      <field name='locMax' type='int' info=' size of the array as allocated'/>
      <field name='locTab' type='xmlXPathObjectPtr *' info=' array of locations'/>
    </struct>
    <typedef name='xmlLocationSetPtr' file='xpointer' type='xmlLocationSet *'/>
    <struct name='xmlModule' file='xmlmodule' type='struct _xmlModule'/>
    <typedef name='xmlModuleOption' file='xmlmodule' type='enum'/>
    <typedef name='xmlModulePtr' file='xmlmodule' type='xmlModule *'>
      <info>A handle to a dynamically loaded module</info>
    </typedef>
    <struct name='xmlMutex' file='threads' type='struct _xmlMutex'/>
    <typedef name='xmlMutexPtr' file='threads' type='xmlMutex *'/>
    <struct name='xmlNode' file='tree' type='struct _xmlNode'>
      <field name='_private' type='void *' info=' application data'/>
      <field name='type' type='xmlElementType' info=' type number, must be second !'/>
      <field name='name' type='const xmlChar *' info=' the name of the node, or the entity'/>
      <field name='children' type='struct _xmlNode *' info=' parent-&gt;childs link'/>
      <field name='last' type='struct _xmlNode *' info=' last child link'/>
      <field name='parent' type='struct _xmlNode *' info=' child-&gt;parent link'/>
      <field name='next' type='struct _xmlNode *' info=' next sibling link '/>
      <field name='prev' type='struct _xmlNode *' info=' previous sibling link '/>
      <field name='doc' type='struct _xmlDoc *' info=' the containing document End of common part'/>
      <field name='ns' type='xmlNs *' info=' pointer to the associated namespace'/>
      <field name='content' type='xmlChar *' info=' the content'/>
      <field name='properties' type='struct _xmlAttr *' info=' properties list'/>
      <field name='nsDef' type='xmlNs *' info=' namespace definitions on this node'/>
      <field name='psvi' type='void *' info=' for type/PSVI informations'/>
      <field name='line' type='unsigned short' info=' line number'/>
      <field name='extra' type='unsigned short' info=' extra data for XPath/XSLT'/>
    </struct>
    <typedef name='xmlNodePtr' file='tree' type='xmlNode *'/>
    <struct name='xmlNodeSet' file='xpath' type='struct _xmlNodeSet'>
      <field name='nodeNr' type='int' info=' number of nodes in the set'/>
      <field name='nodeMax' type='int' info=' size of the array as allocated'/>
      <field name='nodeTab' type='xmlNodePtr *' info=' array of nodes in no particular order @@ with_ns to check wether namespace nodes should be looked at @@'/>
    </struct>
    <typedef name='xmlNodeSetPtr' file='xpath' type='xmlNodeSet *'/>
    <struct name='xmlNotation' file='tree' type='struct _xmlNotation'>
      <field name='name' type='const xmlChar *' info=' Notation name'/>
      <field name='PublicID' type='const xmlChar *' info=' Public identifier, if any'/>
      <field name='SystemID' type='const xmlChar *' info=' System identifier, if any'/>
    </struct>
    <typedef name='xmlNotationPtr' file='tree' type='xmlNotation *'/>
    <struct name='xmlNotationTable' file='valid' type='struct _xmlHashTable'/>
    <typedef name='xmlNotationTablePtr' file='valid' type='xmlNotationTable *'/>
    <struct name='xmlNs' file='tree' type='struct _xmlNs'>
      <field name='next' type='struct _xmlNs *' info=' next Ns link for this node '/>
      <field name='type' type='xmlNsType' info=' global or local'/>
      <field name='href' type='const xmlChar *' info=' URL for the namespace'/>
      <field name='prefix' type='const xmlChar *' info=' prefix for the namespace'/>
      <field name='_private' type='void *' info=' application data'/>
      <field name='context' type='struct _xmlDoc *' info=' normally an xmlDoc'/>
    </struct>
    <typedef name='xmlNsPtr' file='tree' type='xmlNs *'/>
    <typedef name='xmlNsType' file='tree' type='xmlElementType'/>
    <struct name='xmlOutputBuffer' file='tree' type='struct _xmlOutputBuffer'>
      <field name='context' type='void *' info=''/>
      <field name='writecallback' type='xmlOutputWriteCallback' info=''/>
      <field name='closecallback' type='xmlOutputCloseCallback' info=''/>
      <field name='encoder' type='xmlCharEncodingHandlerPtr' info=' I18N conversions to UTF-8'/>
      <field name='buffer' type='xmlBufPtr' info=' Local buffer encoded in UTF-8 or ISOLatin'/>
      <field name='conv' type='xmlBufPtr' info=' if encoder != NULL buffer for output'/>
      <field name='written' type='int' info=' total number of byte written'/>
      <field name='error' type='int' info=''/>
    </struct>
    <typedef name='xmlOutputBufferPtr' file='tree' type='xmlOutputBuffer *'/>
    <struct name='xmlParserCtxt' file='tree' type='struct _xmlParserCtxt'>
      <field name='sax' type='struct _xmlSAXHandler *' info=' The SAX handler'/>
      <field name='userData' type='void *' info=' For SAX interface only, used by DOM build'/>
      <field name='myDoc' type='xmlDocPtr' info=' the document being built'/>
      <field name='wellFormed' type='int' info=' is the document well formed'/>
      <field name='replaceEntities' type='int' info=' shall we replace entities ?'/>
      <field name='version' type='const xmlChar *' info=' the XML version string'/>
      <field name='encoding' type='const xmlChar *' info=' the declared encoding, if any'/>
      <field name='standalone' type='int' info=' standalone document'/>
      <field name='html' type='int' info=' an HTML(1)/Docbook(2) document
* 3 is HTML after &lt;head&gt;
* 10 is HTML after &lt;body&gt;
* Input stream stack'/>
      <field name='input' type='xmlParserInputPtr' info=' Current input stream'/>
      <field name='inputNr' type='int' info=' Number of current input streams'/>
      <field name='inputMax' type='int' info=' Max number of input streams'/>
      <field name='inputTab' type='xmlParserInputPtr *' info=' stack of inputs Node analysis stack only used for DOM building'/>
      <field name='node' type='xmlNodePtr' info=' Current parsed Node'/>
      <field name='nodeNr' type='int' info=' Depth of the parsing stack'/>
      <field name='nodeMax' type='int' info=' Max depth of the parsing stack'/>
      <field name='nodeTab' type='xmlNodePtr *' info=' array of nodes'/>
      <field name='record_info' type='int' info=' Whether node info should be kept'/>
      <field name='node_seq' type='xmlParserNodeInfoSeq' info=' info about each node parsed'/>
      <field name='errNo' type='int' info=' error code'/>
      <field name='hasExternalSubset' type='int' info=' reference and external subset'/>
      <field name='hasPErefs' type='int' info=' the internal subset has PE refs'/>
      <field name='external' type='int' info=' are we parsing an external entity'/>
      <field name='valid' type='int' info=' is the document valid'/>
      <field name='validate' type='int' info=' shall we try to validate ?'/>
      <field name='vctxt' type='xmlValidCtxt' info=' The validity context'/>
      <field name='instate' type='xmlParserInputState' info=' current type of input'/>
      <field name='token' type='int' info=' next char look-ahead'/>
      <field name='directory' type='char *' info=' the data directory Node name stack'/>
      <field name='name' type='const xmlChar *' info=' Current parsed Node'/>
      <field name='nameNr' type='int' info=' Depth of the parsing stack'/>
      <field name='nameMax' type='int' info=' Max depth of the parsing stack'/>
      <field name='nameTab' type='const xmlChar * *' info=' array of nodes'/>
      <field name='nbChars' type='long' info=' number of xmlChar processed'/>
      <field name='checkIndex' type='long' info=' used by progressive parsing lookup'/>
      <field name='keepBlanks' type='int' info=' ugly but ...'/>
      <field name='disableSAX' type='int' info=' SAX callbacks are disabled'/>
      <field name='inSubset' type='int' info=' Parsing is in int 1/ext 2 subset'/>
      <field name='intSubName' type='const xmlChar *' info=' name of subset'/>
      <field name='extSubURI' type='xmlChar *' info=' URI of external subset'/>
      <field name='extSubSystem' type='xmlChar *' info=' SYSTEM ID of external subset xml:space values'/>
      <field name='space' type='int *' info=' Should the parser preserve spaces'/>
      <field name='spaceNr' type='int' info=' Depth of the parsing stack'/>
      <field name='spaceMax' type='int' info=' Max depth of the parsing stack'/>
      <field name='spaceTab' type='int *' info=' array of space infos'/>
      <field name='depth' type='int' info=' to prevent entity substitution loops'/>
      <field name='