/* win32/libxml2/libxml2.def.src
   Pseudo-source used to create a .DEF file for proper dynamic 
   linkage under MSCC. 
   
   Assuming you use Microsoft's C compiler, you run a
   
       cl /nologo /EP libxml2.def.src > libxml2.def
       
   in order to get the right .DEF file. Basically, all you do is
   preprocess this file using a C/C++ preprocessor and the right
   .DEF file should come out. 
   
   Should you need a function which does not seem to be exported
   from the libxml2.dll, its name is most certainly missing here.
   Add the name of the offending function to this file and rebuild.

   14.04.2001, Igor Zlatkovic (igor@stud.fh-frankfurt.de)
*/

#define LIBXML2_COMPILING_MSCCDEF
#include "../../include/libxml/xmlwin32version.h"

LIBRARY libxml2
EXPORTS

/*
 * catalog.h
 */
#ifdef LIBXML_CATALOG_ENABLED
	xmlLoadCatalog
	xmlLoadCatalogs
	xmlCatalogCleanup
	xmlCatalogDump
	xmlCatalogGetSystem
	xmlCatalogGetPublic
	xmlCatalogResolveURI
	xmlCatalogLocalResolveURI
	xmlCatalogResolve
	xmlCatalogLocalResolve
	xmlCatalogGetDefaults
#endif

/* 
 * debugXML.h 
 */
#ifdef LIBXML_DEBUG_ENABLED
	xmlDebugDumpString
	xmlDebugDumpAttr
	xmlDebugDumpAttrList
	xmlDebugDumpOneNode
	xmlDebugDumpNode
	xmlDebugDumpNodeList
	xmlDebugDumpDocumentHead
	xmlDebugDumpDocument
	xmlDebugDumpDTD
	xmlDebugDumpEntities
	xmlShell
#endif

/* 
 * encoding.h 
 */
	xmlInitCharEncodingHandlers
	xmlCleanupCharEncodingHandlers
	xmlRegisterCharEncodingHandler
	xmlGetCharEncodingHandler
	xmlFindCharEncodingHandler
	xmlAddEncodingAlias
	xmlDelEncodingAlias
	xmlGetEncodingAlias
	xmlCleanupEncodingAliases
	xmlParseCharEncoding
	xmlGetCharEncodingName
	xmlDetectCharEncoding
	xmlCheckUTF8
	xmlCharEncOutFunc
	xmlCharEncInFunc
	xmlCharEncFirstLine
	xmlCharEncCloseFunc
	UTF8Toisolat1
	isolat1ToUTF8
	xmlUTF8Strsize
	xmlUTF8Strndup
	xmlUTF8Strpos
	xmlUTF8Strloc
	xmlUTF8Strsub
	xmlUTF8Strlen

/* 
 * entities.h 
 */
	xmlInitializePredefinedEntities
	xmlAddDocEntity
	xmlAddDtdEntity
	xmlGetPredefinedEntity
	xmlGetDocEntity
	xmlGetDtdEntity
	xmlGetParameterEntity
	xmlEncodeEntities
	xmlEncodeEntitiesReentrant
	xmlEncodeSpecialChars
	xmlCreateEntitiesTable
	xmlCopyEntitiesTable
	xmlFreeEntitiesTable
	xmlDumpEntitiesTable
	xmlDumpEntityDecl
	xmlCopyEntitiesTable
	xmlCleanupPredefinedEntities

/* 
 * hash.h 
 */
	xmlHashCreate
	xmlHashFree
	xmlHashAddEntry
	xmlHashUpdateEntry
	xmlHashAddEntry2
	xmlHashUpdateEntry2
	xmlHashAddEntry3
	xmlHashUpdateEntry3
	xmlHashRemoveEntry
	xmlHashRemoveEntry2
	xmlHashRemoveEntry3
	xmlHashLookup
	xmlHashLookup2
	xmlHashLookup3
	xmlHashCopy
	xmlHashSize
	xmlHashScan
	xmlHashScan3
	xmlHashScanFull
	xmlHashScanFull3

/* 
 * HTMLparser.h 
 */
#ifdef LIBXML_HTML_ENABLED
	htmlTagLookup
	htmlEntityLookup
	htmlEntityValueLookup
	htmlIsAutoClosed
	htmlAutoCloseTag
	htmlParseEntityRef
	htmlParseCharRef
	htmlParseElement
	htmlSAXParseDoc
	htmlParseDoc
	htmlSAXParseFile
	htmlParseFile
	UTF8ToHtml
	htmlEncodeEntities
	htmlIsScriptAttribute
	htmlHandleOmittedElem
	htmlFreeParserCtxt
	htmlCreatePushParserCtxt
	htmlParseChunk
#endif /* LIBXML_HTML_ENABLED */

/* 
 * HTMLtree.h 
 */
#ifdef LIBXML_HTML_ENABLED
	htmlNewDoc
	htmlNewDocNoDtD
	htmlGetMetaEncoding
	htmlSetMetaEncoding
	htmlDocDumpMemory
	htmlDocDump
	htmlSaveFile
	htmlNodeDump
	htmlNodeDumpFile
	htmlSaveFileEnc
	htmlSaveFileFormat
#endif /* LIBXML_HTML_ENABLED */

/* 
 * list.h 
 */
	xmlListCreate
	xmlListDelete
	xmlListSearch
	xmlListReverseSearch
	xmlListInsert
	xmlListAppend
	xmlListRemoveFirst
	xmlListRemoveLast
	xmlListRemoveAll
	xmlListClear
	xmlListEmpty
	xmlListFront
	xmlListEnd
	xmlListSize
	xmlListPopFront
	xmlListPopBack
	xmlListPushFront
	xmlListPushBack
	xmlListReverse
	xmlListSort
	xmlListWalk
	xmlListReverseWalk
	xmlListMerge
	xmlListDup
	xmlListCopy
	xmlLinkGetData

/* 
 * nanoftp.h 
 */
#ifdef LIBXML_FTP_ENABLED
	xmlNanoFTPInit
	xmlNanoFTPCleanup
	xmlNanoFTPNewCtxt
	xmlNanoFTPFreeCtxt
	xmlNanoFTPConnectTo
	xmlNanoFTPOpen
	xmlNanoFTPConnect
	xmlNanoFTPClose
	xmlNanoFTPQuit
	xmlNanoFTPScanProxy
	xmlNanoFTPProxy
	xmlNanoFTPUpdateURL
	xmlNanoFTPGetResponse
	xmlNanoFTPCheckResponse
	xmlNanoFTPCwd
	xmlNanoFTPGetConnection
	xmlNanoFTPCloseConnection
	xmlNanoFTPList
	xmlNanoFTPGetSocket
	xmlNanoFTPGet
	xmlNanoFTPRead
#endif /* LIBXML_FTP_ENABLED */

/* 
 * nanohttp.h 
 */
#ifdef LIBXML_HTTP_ENABLED
	xmlNanoHTTPInit
	xmlNanoHTTPCleanup
	xmlNanoHTTPScanProxy
	xmlNanoHTTPFetch
	xmlNanoHTTPMethod
	xmlNanoHTTPMethodRedir
	xmlNanoHTTPOpen
	xmlNanoHTTPOpenRedir
	xmlNanoHTTPReturnCode
	xmlNanoHTTPAuthHeader
	xmlNanoHTTPRead
	xmlNanoHTTPSave
	xmlNanoHTTPClose
#endif /* LIBXML_HTTP_ENABLED */

/* 
 * parser.h 
 */
	xmlInitParser
	xmlCleanupParser
	xmlParserInputRead
	xmlParserInputGrow
	xmlStrdup
	xmlStrndup
	xmlCharStrndup
	xmlCharStrdup
	xmlStrsub
	xmlStrchr
	xmlStrstr
	xmlStrcasestr
	xmlStrcmp
	xmlStrncmp
	xmlStrcasecmp
	xmlStrncasecmp
	xmlStrEqual
	xmlStrlen
	xmlStrcat
	xmlStrncat
	xmlParseDoc
	xmlParseMemory
	xmlParseFile
	xmlSubstituteEntitiesDefault
	xmlKeepBlanksDefault
	xmlStopParser
	xmlPedanticParserDefault
	xmlLineNumbersDefault
	xmlRecoverDoc
	xmlRecoverMemory
	xmlRecoverFile
	xmlParseDocument
	xmlParseExtParsedEnt
	xmlSAXParseDoc
	xmlSAXUserParseFile
	xmlSAXUserParseMemory
	xmlSAXParseMemory
	xmlSAXParseFile
	xmlSAXParseEntity
	xmlParseEntity
	xmlParseDTD
	xmlSAXParseDTD
	xmlIOParseDTD
	xmlParseBalancedChunkMemory
	xmlParseExternalEntity
	xmlParseCtxtExternalEntity
	xmlDefaultSAXHandlerInit
	htmlDefaultSAXHandlerInit
	xmlInitParserCtxt
	xmlClearParserCtxt
	xmlFreeParserCtxt
	xmlSetupParserForBuffer
	xmlCreateDocParserCtxt
	xmlGetFeaturesList
	xmlGetFeature
	xmlSetFeature
	xmlCreatePushParserCtxt
	xmlParseChunk
	xmlCreateIOParserCtxt
	xmlNewIOInputStream
	xmlParserFindNodeInfo
	xmlInitNodeInfoSeq
	xmlClearNodeInfoSeq
	xmlParserFindNodeInfoIndex
	xmlParserAddNodeInfo
	xmlSetExternalEntityLoader
	xmlGetExternalEntityLoader
	xmlLoadExternalEntity
	xmlParserVersion DATA
	xmlDefaultSAXLocator DATA
	xmlDefaultSAXHandler DATA
#ifdef LIBXML_HTML_ENABLED
	htmlDefaultSAXHandler DATA
#endif
#ifdef LIBXML_DOCB_ENABLED
	docbDefaultSAXHandler DATA
#endif
	xmlSubstituteEntitiesDefaultValue DATA
	xmlGetWarningsDefaultValue DATA

/* 
 * parserinternals.h 
 */
	xmlIsBaseChar
	xmlIsBlank
	xmlIsPubidChar
	xmlIsLetter
	xmlIsDigit
	xmlIsIdeographic
	xmlIsCombining
	xmlIsExtender
	xmlIsCombining
	xmlIsChar
	xmlCreateDocParserCtxt
	xmlCreateFileParserCtxt
	xmlCreateMemoryParserCtxt
	xmlNewParserCtxt
	xmlCreateEntityParserCtxt
	xmlSwitchEncoding
	xmlSwitchToEncoding
	xmlFreeParserCtxt
	xmlHandleEntity
	xmlNewStringInputStream
	xmlNewEntityInputStream
	xmlPushInput
	xmlPopInput
	xmlFreeInputStream
	xmlNewInputFromFile
	xmlNewInputStream
	xmlSplitQName
	xmlNamespaceParseNCName
	xmlNamespaceParseQName
	xmlNamespaceParseNSDef
	xmlParseQuotedString
	xmlParseNamespace
	xmlScanName
	xmlParseName
	xmlParseNmtoken
	xmlParseEntityValue
	xmlParseAttValue
	xmlParseSystemLiteral
	xmlParsePubidLiteral
	xmlParseCharData
	xmlParseExternalID
	xmlParseComment
	xmlParsePITarget
	xmlParsePI
	xmlParseNotationDecl
	xmlParseEntityDecl
	xmlParseDefaultDecl
	xmlParseNotationType
	xmlParseEnumerationType
	xmlParseEnumeratedType
	xmlParseAttributeType
	xmlParseAttributeListDecl
	xmlParseElementChildrenContentDecl
	xmlParseElementContentDecl
	xmlParseElementDecl
	xmlParseMarkupDecl
	xmlParseCharRef
	xmlParseEntityRef
	xmlParseReference
	xmlParsePEReference
	xmlParseDocTypeDecl
	xmlParseAttribute
	xmlParseStartTag
	xmlParseEndTag
	xmlParseCDSect
	xmlParseContent
	xmlParseElement
	xmlParseVersionNum
	xmlParseVersionInfo
	xmlParseEncName
	xmlParseEncodingDecl
	xmlParseSDDecl
	xmlParseXMLDecl
	xmlParseTextDecl
	xmlParseMisc
	xmlParseExternalSubset
	xmlDecodeEntities
	xmlStringDecodeEntities
	nodePush
	nodePop
	inputPush
	inputPop
	namePop
	namePush
	xmlSkipBlankChars
	xmlStringCurrentChar
	xmlParserHandlePEReference
	xmlParserHandleReference
	xmlCheckLanguageID
	xmlCurrentChar
	xmlCopyCharMultiByte
	xmlCopyChar
	xmlNextChar
	xmlParserInputShrink
#ifdef LIBXML_HTML_ENABLED
	htmlInitAutoClose
	htmlCreateFileParserCtxt
#endif /* LIBXML_HTML_ENABLED */
	xmlParserDebugEntities DATA
	xmlGetWarningsDefaultValue DATA
	xmlParserDebugEntities DATA
	xmlSubstituteEntitiesDefaultValue DATA
	xmlDoValidityCheckingDefaultValue DATA
	xmlLoadExtDtdDefaultValue DATA
	xmlPedanticParserDefaultValue DATA
	xmlKeepBlanksDefaultValue DATA
	xmlStringText DATA
	xmlStringTextNoenc DATA
	xmlStringComment DATA

/*
 * SAX.h 
 */
	getPublicId
	getSystemId
	setDocumentLocator
	getLineNumber
	getColumnNumber
	isStandalone
	hasInternalSubset
	hasExternalSubset
	internalSubset
	externalSubset
	getEntity
	getParameterEntity
	resolveEntity
	entityDecl
	attributeDecl
	elementDecl
	notationDecl
	unparsedEntityDecl
	startDocument
	endDocument
	attribute
	startElement
	endElement
	reference
	characters
	ignorableWhitespace
	processingInstruction
	globalNamespace
	setNamespace
	getNamespace
	checkNamespace
	namespaceDecl
	comment
	cdataBlock
	xmlDefaultSAXHandlerInit
#ifdef LIBXML_HTML_ENABLED
	htmlDefaultSAXHandlerInit
#endif /* LIBXML_HTML_ENABLED */
#ifdef LIBXML_DOCB_ENABLED
	docbDefaultSAXHandlerInit
#endif /* LIBXML_DOCB_ENABLED */

/* 
 * strio.h 
 */
#ifdef WITH_TRIO
	StrAppendMax
	StrCopyMax
	StrDuplicate
	StrDuplicateMax
	StrEqual
	StrEqualCase
	StrEqualCaseMax
	StrEqualMax
	StrError
	StrFormatDateMax
	StrHash
	StrMatch
	StrMatchCase
	StrSpanFunction
	StrSubstringMax
	StrToFloat
	StrToDouble
	StrToUpper
#endif /* WITH_TRIO */

/* 
 * tree.h 
 */
//	oldXMLWDcompatibility
//	xmlIndentTreeOutput
//	xmlBufferAllocScheme
//	xmlSaveNoEmptyTags
//	xmlDefaultBufferSize
	xmlSetBufferAllocationScheme
	xmlGetBufferAllocationScheme
	xmlBufferCreate
	xmlBufferCreateSize
	xmlBufferResize
	xmlBufferFree
	xmlBufferDump
	xmlBufferAdd
	xmlBufferAddHead
	xmlBufferCat
	xmlBufferCCat
	xmlBufferShrink
	xmlBufferGrow
	xmlBufferEmpty
	xmlBufferContent
	xmlBufferSetAllocationScheme
	xmlBufferLength
	xmlCreateIntSubset
	xmlNewDtd
	xmlGetIntSubset
	xmlFreeDtd
	xmlNewGlobalNs
	xmlNewNs
	xmlFreeNs
	xmlFreeNsList
	xmlNewDoc
	xmlFreeDoc
	xmlNewDocProp
	xmlNewProp
	xmlNewNsProp
	xmlFreePropList
	xmlFreeProp
	xmlCopyProp
	xmlCopyPropList
	xmlCopyDtd
	xmlCopyDoc
	xmlNewDocNode
	xmlNewDocRawNode
	xmlNewNode
	xmlNewChild
	xmlNewTextChild
	xmlNewDocText
	xmlNewText
	xmlNewPI
	xmlNewDocTextLen
	xmlNewTextLen
	xmlNewDocComment
	xmlNewComment
	xmlNewCDataBlock
	xmlNewCharRef
	xmlNewReference
	xmlCopyNode
	xmlCopyNodeList
	xmlNewDocFragment
	xmlDocGetRootElement
	xmlGetLastChild
	xmlNodeIsText
	xmlIsBlankNode
	xmlDocSetRootElement
	xmlNodeSetName
	xmlAddChild
	xmlAddChildList
	xmlReplaceNode
	xmlAddSibling
	xmlAddPrevSibling
	xmlAddNextSibling
	xmlUnlinkNode
	xmlTextMerge
	xmlTextConcat
	xmlFreeNodeList
	xmlFreeNode
	xmlSetTreeDoc
	xmlSetListDoc
	xmlSearchNs
	xmlSearchNsByHref
	xmlGetNsList
	xmlSetNs
	xmlCopyNamespace
	xmlCopyNamespaceList
	xmlSetProp
	xmlGetProp
	xmlHasProp
	xmlHasNsProp
	xmlSetNsProp
	xmlGetNsProp
	xmlStringGetNodeList
	xmlStringLenGetNodeList
	xmlNodeListGetString
	xmlNodeListGetRawString
	xmlNodeSetContent
	xmlNodeSetContentLen
	xmlNodeAddContent
	xmlNodeAddContentLen
	xmlNodeGetContent
	xmlNodeGetLang
	xmlNodeSetLang
	xmlNodeGetSpacePreserve
	xmlNodeSetSpacePreserve
	xmlNodeGetBase
	xmlNodeSetBase
	xmlRemoveProp
	xmlBufferWriteCHAR
	xmlBufferWriteChar
	xmlBufferWriteQuotedString
	xmlReconciliateNs
	xmlDocDumpFormatMemory
	xmlDocDumpMemory
	xmlDocDumpMemoryEnc
	xmlDocDumpFormatMemoryEnc
	xmlDocDump
	xmlElemDump
	xmlSaveFile
	xmlNodeDump
	xmlSaveFileTo
	xmlSaveFileEnc
	xmlGetDocCompressMode
	xmlSetDocCompressMode
	xmlGetCompressMode
	xmlSetCompressMode
//	xmlLoadExtDtdDefaultValue
//	xmlStringText
//	xmlStringTextNoenc
//	xmlStringComment
	xmlSaveFormatFile
	xmlUnsetProp
//	baseDTD DATA
	oldXMLWDcompatibility DATA
	xmlIndentTreeOutput DATA
	xmlBufferAllocScheme DATA
	xmlSaveNoEmptyTags DATA
	xmlDefaultBufferSize DATA

/* 
 * uri.h 
 */
	xmlCreateURI
	xmlBuildURI
	xmlParseURI
	xmlParseURIReference
	xmlSaveUri
	xmlPrintURI
	xmlURIUnescapeString
	xmlNormalizeURIPath
	xmlURIEscape
	xmlFreeURI

/* 
 * valid.h 
 */
	xmlSplitQName2
	xmlAddNotationDecl
	xmlCopyNotationTable
	xmlFreeNotationTable
	xmlDumpNotationDecl
	xmlDumpNotationTable
	xmlNewElementContent
	xmlCopyElementContent
	xmlFreeElementContent
	xmlSprintfElementContent
	xmlAddElementDecl
	xmlCopyElementTable
	xmlFreeElementTable
	xmlDumpElementTable
	xmlDumpElementDecl
	xmlCreateEnumeration
	xmlFreeEnumeration
	xmlCopyEnumeration
	xmlAddAttributeDecl
	xmlCopyAttributeTable
	xmlFreeAttributeTable
	xmlDumpAttributeTable
	xmlDumpAttributeDecl
	xmlAddID
	xmlFreeIDTable
	xmlGetID
	xmlIsID
	xmlRemoveID
	xmlAddRef
	xmlFreeRefTable
	xmlIsRef
	xmlRemoveRef
	xmlGetRefs
	xmlValidateRoot
	xmlValidateElementDecl
	xmlValidNormalizeAttributeValue
	xmlValidateAttributeDecl
	xmlValidateAttributeValue
	xmlValidateNotationDecl
	xmlValidateDtd
	xmlValidateDtdFinal
	xmlValidateDocument
	xmlValidateElement
	xmlValidateOneElement
	xmlValidateOneAttribute
	xmlValidateDocumentFinal
	xmlValidateNotationUse
	xmlIsMixedElement
	xmlGetDtdAttrDesc
	xmlGetDtdNotationDesc
	xmlGetDtdElementDesc
	xmlValidGetValidElements
	xmlValidGetPotentialChildren

/* 
 * xinclude.h 
 */
#ifdef LIBXML_XINCLUDE_ENABLED
	xmlXIncludeProcess
#endif /* LIBXML_XINCLUDE_ENABLED */

/* 
 * xlink.h 
 */
#ifdef LIBXML_XLINK_INCLUDED
	xlinkGetDefaultDetect
	xlinkSetDefaultDetect
	xlinkGetDefaultHandler
	xlinkSetDefaultHandler
	xlinkIsLink
#endif

/* 
 * xmlerror.h 
 */
//	xmlGenericError
//	xmlGenericErrorContext
	xmlSetGenericErrorFunc
	xmlParserError
	xmlParserWarning
	xmlParserValidityError
	xmlParserValidityWarning
	xmlParserPrintFileInfo
	xmlParserPrintFileContext
	xmlGenericError DATA
	xmlGenericErrorContext DATA

/* 
 * xmlIO.h 
 */
	xmlRegisterDefaultInputCallbacks
	xmlAllocParserInputBuffer
	xmlParserInputBufferCreateFilename
	xmlParserInputBufferCreateFile
	xmlParserInputBufferCreateFd
	xmlParserInputBufferCreateMem
	xmlParserInputBufferCreateIO
	xmlParserInputBufferRead
	xmlParserInputBufferGrow
	xmlParserInputBufferPush
	xmlFreeParserInputBuffer
	xmlParserGetDirectory
	xmlRegisterInputCallbacks
	xmlRegisterDefaultOutputCallbacks
	xmlAllocOutputBuffer
	xmlOutputBufferCreateFilename
	xmlOutputBufferCreateFile
	xmlOutputBufferCreateFd
	xmlOutputBufferCreateIO
	xmlOutputBufferWrite
	xmlOutputBufferWriteString
	xmlOutputBufferFlush
	xmlOutputBufferClose
	xmlRegisterOutputCallbacks
	xmlSaveFileTo
	xmlNodeDumpOutput
#ifdef LIBXML_HTML_ENABLED
	htmlDocContentDumpOutput
#endif /* LIBXML_HTML_ENABLED */

/* 
 * xmlmemory.h 
 */
//	xmlFree
//	xmlMalloc
//	xmlRealloc
//	xmlMemStrdup
	xmlMemSetup
	xmlMemGet
	xmlInitMemory
	xmlMemUsed
	xmlMemDisplay
	xmlMemShow
	xmlMemoryDump
	xmlInitMemory
#ifdef DEBUG_MEMORY_LOCATION
	xmlMallocLoc
	xmlReallocLoc
	xmlMemStrdupLoc
#endif /* DEBUG_MEMORY_LOCATION */
	xmlFree DATA
	xmlMalloc DATA
	xmlRealloc DATA
	xmlMemStrdup DATA

/* 
 * xmlversion.h 
 */
	xmlCheckVersion

/* 
 * xpath.h 
 */
#ifdef LIBXML_XPATH_ENABLED
	xmlXPathFreeObject
	xmlXPathNodeSetCreate
	xmlXPathFreeNodeSetList
	xmlXPathFreeNodeSet
	xmlXPathObjectCopy
	xmlXPathCmpNodes
	xmlXPathConvertBoolean
	xmlXPathConvertNumber
	xmlXPathConvertString
	xmlXPathInit
	xmlXPathNewContext
	xmlXPathFreeContext
	xmlXPathEval
	xmlXPathEvalExpression
	xmlXPathEvalPredicate
	xmlXPathCompile
	xmlXPathCompiledEval
	xmlXPathFreeCompExpr
	xmlXPathCastNumberToBoolean
	xmlXPathCastStringToBoolean
	xmlXPathCastNodeSetToBoolean
	xmlXPathCastToBoolean
	xmlXPathCastBooleanToNumber
	xmlXPathCastStringToNumber
	xmlXPathCastNodeToNumber
	xmlXPathCastNodeSetToNumber
	xmlXPathCastToNumber
	xmlXPathCastBooleanToString
	xmlXPathCastNumberToString
	xmlXPathCastNodeToString
	xmlXPathCastNodeSetToString
	xmlXPathCastToString
	xmlXPathConvertBoolean
	xmlXPathConvertNumber
	xmlXPathConvertString
	xmlXPathRegisterFuncLookup
	xmlXPathNAN DATA
	xmlXPathPINF DATA
	xmlXPathNINF DATA
	xmlXPathIsNaN
	xmlXPathIsInf
#endif /* LIBXML_XPATH_ENABLED */

/* 
 * xpathinternals.h 
 */
#ifdef LIBXML_XPATH_ENABLED
	xmlXPathPopBoolean
	xmlXPathPopNumber
	xmlXPathPopString
	xmlXPathPopNodeSet
	xmlXPathPopExternal
	xmlXPathDifference
	xmlXPathIntersection
	xmlXPathDistinctSorted
	xmlXPathDistinct
	xmlXPathHasSameNodes
	xmlXPathNodeLeadingSorted
	xmlXPathLeadingSorted
	xmlXPathNodeLeading
	xmlXPathLeading
	xmlXPathNodeTrailingSorted
	xmlXPathTrailingSorted
	xmlXPathNodeTrailing
	xmlXPathTrailing
	xmlXPathRegisterVariableLookup
	xmlXPatherror
	xmlXPathRegisterNs
	xmlXPathNsLookup
	xmlXPathRegisteredNsCleanup
	xmlXPathRegisterFunc
	xmlXPathRegisterFuncNS
	xmlXPathRegisterVariable
	xmlXPathRegisterVariableNS
	xmlXPathFunctionLookup
	xmlXPathFunctionLookupNS
	xmlXPathRegisteredFuncsCleanup
	xmlXPathVariableLookup
	xmlXPathVariableLookupNS
	xmlXPathRegisteredVariablesCleanup
	xmlXPathNewParserContext
	xmlXPathFreeParserContext
	valuePop
	valuePush
	xmlXPathNewString
	xmlXPathNewCString
	xmlXPathWrapString
	xmlXPathWrapCString
	xmlXPathNewFloat
	xmlXPathNewBoolean
	xmlXPathNewNodeSet
	xmlXPathNewValueTree
	xmlXPathNodeSetAdd
	xmlXPathNodeSetAddUnique
	xmlXPathNodeSetSort
	xmlXPathIdFunction
	xmlXPathRoot
	xmlXPathEvalExpr
	xmlXPathParseName
	xmlXPathParseNCName
	xmlXPathStringEvalNumber
#ifdef LIBXML_DEBUG_ENABLED
	xmlXPathDebugDumpObject
	xmlXPathDebugDumpCompExpr
#endif /* LIBXML_DEBUG_ENABLED */
	xmlXPathEvaluatePredicateResult
	xmlXPathInit
	xmlXPathStringFunction
	xmlXPathRegisterAllFunctions
	xmlXPathNodeSetCreate
	xmlXPathNodeSetAdd
	xmlXPathNodeSetMerge
	xmlXPathNodeSetDel
	xmlXPathNodeSetRemove
	xmlXPathFreeNodeSet
	xmlXPathNewNodeSet
	xmlXPathNewNodeSetList
	xmlXPathWrapNodeSet
	xmlXPathFreeNodeSetList
	xmlXPathNewFloat
	xmlXPathNewBoolean
	xmlXPathNewString
	xmlXPathNewCString
	xmlXPathFreeObject
	xmlXPathNewContext
	xmlXPathFreeContext
	xmlXPathEqualValues
	xmlXPathCompareValues
	xmlXPathValueFlipSign
	xmlXPathAddValues
	xmlXPathSubValues
	xmlXPathMultValues
	xmlXPathDivValues
	xmlXPathModValues
	xmlXPathIsNodeType
	xmlXPathNextSelf
	xmlXPathNextChild
	xmlXPathNextDescendant
	xmlXPathNextDescendantOrSelf
	xmlXPathNextParent
	xmlXPathNextAncestorOrSelf
	xmlXPathNextFollowingSibling
	xmlXPathNextFollowing
	xmlXPathNextNamespace
	xmlXPathNextAttribute
	xmlXPathNextPreceding
	xmlXPathNextAncestor
	xmlXPathNextPrecedingSibling
	xmlXPathRoot
	xmlXPathLastFunction
	xmlXPathPositionFunction
	xmlXPathCountFunction
	xmlXPathIdFunction
	xmlXPathLocalNameFunction
	xmlXPathNamespaceURIFunction
	xmlXPathStringFunction
	xmlXPathStringLengthFunction
	xmlXPathConcatFunction
	xmlXPathContainsFunction
	xmlXPathStartsWithFunction
	xmlXPathSubstringFunction
	xmlXPathSubstringBeforeFunction
	xmlXPathSubstringAfterFunction
	xmlXPathNormalizeFunction
	xmlXPathTranslateFunction
	xmlXPathNotFunction
	xmlXPathTrueFunction
	xmlXPathFalseFunction
	xmlXPathLangFunction
	xmlXPathNumberFunction
	xmlXPathSumFunction
	xmlXPathFloorFunction
	xmlXPathCeilingFunction
	xmlXPathRoundFunction
	xmlXPathBooleanFunction
#endif /* LIBXML_XPATH_ENABLED */

/* 
 * xpointer.h 
 */
#ifdef LIBXML_XPTR_ENABLED
	xmlXPtrLocationSetCreate
	xmlXPtrFreeLocationSet
	xmlXPtrLocationSetMerge
	xmlXPtrNewRange
	xmlXPtrNewRangePoints
	xmlXPtrNewRangeNodePoint
	xmlXPtrNewRangePointNode
	xmlXPtrNewRangeNodes
	xmlXPtrNewLocationSetNodes
	xmlXPtrNewLocationSetNodeSet
	xmlXPtrNewRangeNodeObject
	xmlXPtrNewCollapsedRange
	xmlXPtrLocationSetAdd
	xmlXPtrWrapLocationSet
	xmlXPtrLocationSetDel
	xmlXPtrLocationSetRemove
	xmlXPtrNewContext
	xmlXPtrEval
	xmlXPtrRangeToFunction
	xmlXPtrBuildNodeList
	xmlXPtrEvalRangePredicate
#endif /* LIBXML_XPTR_ENABLED */

/*
 * DOCBParser.h
 */
#ifdef LIBXML_DOCB_ENABLED
	docbEncodeEntities
	docbSAXParseDoc
	docbParseDoc
	docbSAXParseFile
	docbParseFile
	docbFreeParserCtxt
	docbCreatePushParserCtxt
	docbParseChunk
	docbCreateFileParserCtxt
	docbParseDocument
#endif /* LIBXML_DOCB_ENABLED */

