diff --git a/ChangeLog b/ChangeLog index 61a6c527..78c0354e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Fri Mar 8 15:49:10 CET 2002 Daniel Veillard + + * configure.in: preparing 2.4.17 release + * doc/*: updated and rebuilt the docs + * xpath.c: fixed a comment + * python/libxml.c: fixed a possible reentrancy problem + Thu Mar 7 23:19:28 CET 2002 Daniel Veillard * tree.c python/tests/Makefile.am python/tests/attribs.py: diff --git a/configure.in b/configure.in index 6efb5241..785f9d1f 100644 --- a/configure.in +++ b/configure.in @@ -6,7 +6,7 @@ AC_CANONICAL_HOST LIBXML_MAJOR_VERSION=2 LIBXML_MINOR_VERSION=4 -LIBXML_MICRO_VERSION=16 +LIBXML_MICRO_VERSION=17 LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION diff --git a/doc/FAQ.html b/doc/FAQ.html index 8aa8959c..a906e391 100644 --- a/doc/FAQ.html +++ b/doc/FAQ.html @@ -113,8 +113,7 @@ A:link, A:visited, A:active { text-decoration: underline } library requiring it, Do Not Use libxml1, use libxml2
  • -Where can I get libxml - ? +Where can I get libxml ?

    The original distribution comes from rpmfind.net or gnome.org

    Most linux and Bsd distribution includes libxml, this is probably the @@ -182,8 +181,8 @@ A:link, A:visited, A:active { text-decoration: underline } following libs:

    • -libz - : a highly portable and available widely compression library
    • +libz : a + highly portable and available widely compression library
    • iconv: a powerful character encoding conversion library. It's included by default on recent glibc libraries, so it doesn't need to be installed specifically on linux. It seems it's now part @@ -307,9 +306,8 @@ pnode=pxmlDoc->children->children;
    • Browse - the libxml source - , I try to write code as clean and documented as possible, so - looking at it may be helpful
    • + the libxml source , I try to write code as clean and documented + as possible, so looking at it may be helpful
  • What about C++ ? diff --git a/doc/catalog.html b/doc/catalog.html index 60fbec72..87d4f31c 100644 --- a/doc/catalog.html +++ b/doc/catalog.html @@ -134,9 +134,8 @@ started.

    operation of libxml.
  • XML - Catalogs - is far more flexible, more recent, uses an XML syntax and should scale - quite better. This is the default option of libxml.
  • + Catalogs is far more flexible, more recent, uses an XML syntax and + should scale quite better. This is the default option of libxml.

    Using catalog

    diff --git a/doc/contribs.html b/doc/contribs.html index d3ad65b0..19f98a7c 100644 --- a/doc/contribs.html +++ b/doc/contribs.html @@ -89,43 +89,39 @@ A:link, A:visited, A:active { text-decoration: underline } and Solaris port.
  • John Fleck helps maintaining the documentation and man pages.
  • -Ari Johnson - provides a C++ wrapper for libxml:
    +Ari Johnson provides a C++ wrapper + for libxml:
    Website: http://lusis.org/~ari/xml++/
    Download: http://lusis.org/~ari/xml++/libxml++.tar.gz
  • -Igor Zlatkovic - is now the maintainer of the Windows port, he +Igor Zlatkovic is now the + maintainer of the Windows port, he provides binaries
  • -Gary Pennington - provides Solaris - binaries +Gary Pennington provides + Solaris binaries
  • Matt - Sergeant - developped XML::LibXSLT, a perl - wrapper for libxml2/libxslt as part of the AxKit XML application server + Sergeant developped XML::LibXSLT, a perl wrapper for + libxml2/libxslt as part of the AxKit XML + application server
  • -Felix Natter - and Geert Kloosterman provide an emacs module to lookup libxml(2) functions +Felix Natter and Geert Kloosterman provide an emacs module to lookup libxml(2) functions documentation
  • -Ziying Sherwin - provided man - pages +Ziying Sherwin provided man pages
  • there is a module for libxml/libxslt support in OpenNSD/AOLServer
  • -Dave Kuhlman - provides libxml/libxslt wrappers - for Python +Dave Kuhlman provides + libxml/libxslt wrappers for + Python
  • Petr Kozelka provides Pascal units to glue libxml2 with Kylix and Delphi and other Pascal compilers
  • diff --git a/doc/docs.html b/doc/docs.html index 2d278beb..abc8577d 100644 --- a/doc/docs.html +++ b/doc/docs.html @@ -96,8 +96,7 @@ A:link, A:visited, A:active { text-decoration: underline }
  • This page provides a global overview and some examples on how to use libxml.
  • -James Henstridge - wrote some nice +James Henstridge wrote some nice documentation explaining how to use the libxml SAX interface.
  • George Lebl wrote an article for IBM developerWorks about using libxml.
  • diff --git a/doc/gnome-xml.sgml b/doc/gnome-xml.sgml index 4eb04640..109e2541 100644 --- a/doc/gnome-xml.sgml +++ b/doc/gnome-xml.sgml @@ -16,6 +16,7 @@ + @@ -100,6 +101,7 @@ &nanoftp; &xmlIO; &catalog; + &c14n; &threads; &globals; &global_functions; diff --git a/doc/html/book1.html b/doc/html/book1.html index 7fbbcbcb..6ac6182b 100644 --- a/doc/html/book1.html +++ b/doc/html/book1.html @@ -209,6 +209,11 @@ HREF="libxml-catalog.html" > —
    c14n
    threads
    + + + + diff --git a/doc/html/libxml-catalog.html b/doc/html/libxml-catalog.html index 2c5fd918..aa96cab1 100644 --- a/doc/html/libxml-catalog.html +++ b/doc/html/libxml-catalog.html @@ -16,8 +16,8 @@ REL="PREVIOUS" TITLE="xmlIO" HREF="libxml-xmlio.html">>XML_CATALOGS_NAMESPACEXML_CATALOGS_NAMESPACE>XML_CATALOG_PIXML_CATALOG_PI
    >enum xmlCatalogPreferenum xmlCatalogPrefer
    >enum xmlCatalogAllowenum xmlCatalogAllow
    >struct xmlCatalogstruct xmlCatalog
    >xmlCatalogPtrxmlCatalogPtr
    >xmlNewCatalog ()xmlNewCatalog ()
    >xmlLoadACatalog ()xmlLoadACatalog ()
    >xmlLoadSGMLSuperCatalog ()xmlLoadSGMLSuperCatalog ()
    >xmlConvertSGMLCatalog ()xmlConvertSGMLCatalog ()
    >xmlACatalogAdd ()xmlACatalogAdd ()
    >xmlACatalogRemove ()xmlACatalogRemove ()
    >xmlACatalogResolve ()xmlACatalogResolve ()
    the URI of the resource or NULL if not found, it must be freed - by the caller.
    >xmlACatalogResolveSystem ()xmlACatalogResolveSystem ()the system ID if found or NULL otherwise, the value returned - must be freed by the caller.
    >xmlACatalogResolvePublic ()xmlACatalogResolvePublic ()the system ID if found or NULL otherwise, the value returned - must be freed by the caller.
    >xmlACatalogResolveURI ()xmlACatalogResolveURI ()the URI of the resource or NULL if not found, it must be freed - by the caller.
    >xmlACatalogDump ()xmlACatalogDump ()>xmlFreeCatalog ()xmlFreeCatalog ()
    >xmlCatalogIsEmpty ()xmlCatalogIsEmpty ()
    >xmlInitializeCatalog ()xmlInitializeCatalog ()
    >xmlLoadCatalog ()xmlLoadCatalog ()
    >xmlLoadCatalogs ()xmlLoadCatalogs ()
    >xmlCatalogCleanup ()xmlCatalogCleanup ()
    >xmlCatalogDump ()xmlCatalogDump ()
    >xmlCatalogResolve ()xmlCatalogResolve ()
    the URI of the resource or NULL if not found, it must be freed - by the caller.
    >xmlCatalogResolveSystem ()xmlCatalogResolveSystem ()the system ID if found or NULL otherwise, the value returned - must be freed by the caller.
    >xmlCatalogResolvePublic ()xmlCatalogResolvePublic ()the system ID if found or NULL otherwise, the value returned - must be freed by the caller.
    >xmlCatalogResolveURI ()xmlCatalogResolveURI ()the URI of the resource or NULL if not found, it must be freed - by the caller.
    >xmlCatalogAdd ()xmlCatalogAdd ()>xmlCatalogRemove ()xmlCatalogRemove ()
    >xmlParseCatalogFile ()xmlParseCatalogFile ()
    >xmlCatalogConvert ()xmlCatalogConvert ()
    >xmlCatalogFreeLocal ()xmlCatalogFreeLocal ()
    >xmlCatalogAddLocal ()xmlCatalogAddLocal ()
    >xmlCatalogLocalResolve ()xmlCatalogLocalResolve ()
    the URI of the resource or NULL if not found, it must be freed - by the caller.
    >xmlCatalogLocalResolveURI ()xmlCatalogLocalResolveURI ()the URI of the resource or NULL if not found, it must be freed - by the caller.
    >xmlCatalogSetDebug ()xmlCatalogSetDebug ()>xmlCatalogSetDefaultPrefer ()xmlCatalogSetDefaultPrefer ()
    >xmlCatalogSetDefaults ()xmlCatalogSetDefaults ()
    >xmlCatalogGetDefaults ()xmlCatalogGetDefaults ()
    >xmlCatalogGetSystem ()xmlCatalogGetSystem ()
    >xmlCatalogGetPublic ()xmlCatalogGetPublic ()
    threadsc14n

    Name

    Synopsis

    Description

    Details

    >xmlDebugDumpString ()

    xmlDebugDumpString ()


    >xmlDebugDumpAttr ()

    xmlDebugDumpAttr ()


    >xmlDebugDumpAttrList ()

    xmlDebugDumpAttrList ()


    >xmlDebugDumpOneNode ()

    xmlDebugDumpOneNode ()


    >xmlDebugDumpNode ()

    xmlDebugDumpNode ()


    >xmlDebugDumpNodeList ()

    xmlDebugDumpNodeList ()


    >xmlDebugDumpDocumentHead ()

    xmlDebugDumpDocumentHead ()


    >xmlDebugDumpDocument ()

    xmlDebugDumpDocument ()


    >xmlDebugDumpDTD ()

    xmlDebugDumpDTD ()


    >xmlDebugDumpEntities ()

    xmlDebugDumpEntities ()


    >xmlLsOneNode ()

    xmlLsOneNode ()


    >xmlLsCountNode ()

    xmlLsCountNode ()


    >xmlShellReadlineFunc ()

    xmlShellReadlineFunc ()


    >struct xmlShellCtxt

    struct xmlShellCtxt

    >xmlShellCtxtPtr

    xmlShellCtxtPtr

    >xmlShellCmd ()

    xmlShellCmd ()


    >xmlShellPrintXPathError ()

    xmlShellPrintXPathError ()


    >xmlShellPrintNode ()

    xmlShellPrintNode ()


    >xmlShellPrintXPathResult ()

    xmlShellPrintXPathResult ()


    >xmlShellList ()

    xmlShellList ()


    >xmlShellBase ()

    xmlShellBase ()


    >xmlShellDir ()

    xmlShellDir ()


    >xmlShellCat ()

    xmlShellCat ()


    >xmlShellLoad ()

    xmlShellLoad ()


    >xmlShellWrite ()

    xmlShellWrite ()


    >xmlShellSave ()

    xmlShellSave ()


    >xmlShellValidate ()

    xmlShellValidate ()


    >xmlShellDu ()

    xmlShellDu ()


    >xmlShellPwd ()

    xmlShellPwd ()


    >xmlShell ()

    xmlShell ()

    Name

    Synopsis

    Description

    Details

    >docbParserCtxt

    docbParserCtxt

    >docbParserCtxtPtr

    docbParserCtxtPtr

    >docbParserNodeInfo

    docbParserNodeInfo

    >docbSAXHandler

    docbSAXHandler

    >docbSAXHandlerPtr

    docbSAXHandlerPtr

    >docbParserInput

    docbParserInput

    >docbParserInputPtr

    docbParserInputPtr

    >docbDocPtr

    docbDocPtr

    >docbNodePtr

    docbNodePtr

    >docbEncodeEntities ()

    docbEncodeEntities ()

    inlen after return is the number of octets consumed - as the return value is positive, else unpredictable. +as the return value is positive, else unpredictable. The value of

    >docbSAXParseDoc ()

    docbSAXParseDoc ()


    >docbParseDoc ()

    docbParseDoc ()


    >docbSAXParseFile ()

    docbSAXParseFile ()


    >docbParseFile ()

    docbParseFile ()


    >docbFreeParserCtxt ()

    docbFreeParserCtxt ()


    >docbCreatePushParserCtxt ()

    docbCreatePushParserCtxt ()


    >docbParseChunk ()

    docbParseChunk ()


    >docbCreateFileParserCtxt ()

    docbCreateFileParserCtxt ()


    >docbParseDocument ()

    docbParseDocument ()

    0, -1 in case of error. the parser context is augmented - as a result of the parsing.

    Name

    Synopsis

    Description

    Details

    >enum xmlCharEncoding

    enum xmlCharEncoding

    >xmlCharEncodingInputFunc ()

    xmlCharEncodingInputFunc ()

    the number of byte written, or -1 by lack of space, or -2 - if the transcoding failed. +if the transcoding failed. The value of inlen after return is the number of octets consumed - as the return value is positive, else unpredictiable. +as the return value is positive, else unpredictiable. The value of

    >xmlCharEncodingOutputFunc ()

    xmlCharEncodingOutputFunc ()

    the number of byte written, or -1 by lack of space, or -2 - if the transcoding failed. +if the transcoding failed. The value of inlen after return is the number of octets consumed - as the return value is positive, else unpredictiable. +as the return value is positive, else unpredictiable. The value of

    >struct xmlCharEncodingHandler

    struct xmlCharEncodingHandler

    >xmlCharEncodingHandlerPtr

    xmlCharEncodingHandlerPtr

    >xmlInitCharEncodingHandlers ()

    xmlInitCharEncodingHandlers ()
    Initialize the char encoding support, it registers the default encoding supported. NOTE: while public, this function usually doesn't need to be called - in normal processing.


    >xmlCleanupCharEncodingHandlers ()

    xmlCleanupCharEncodingHandlers ()

    >xmlRegisterCharEncodingHandler ()

    xmlRegisterCharEncodingHandler ()


    >xmlGetCharEncodingHandler ()

    xmlGetCharEncodingHandler ()


    >xmlFindCharEncodingHandler ()

    xmlFindCharEncodingHandler ()


    >xmlAddEncodingAlias ()

    xmlAddEncodingAlias ()


    >xmlDelEncodingAlias ()

    xmlDelEncodingAlias ()


    >xmlGetEncodingAlias ()

    xmlGetEncodingAlias ()


    >xmlCleanupEncodingAliases ()

    xmlCleanupEncodingAliases ()

    >xmlParseCharEncoding ()

    xmlParseCharEncoding ()


    >xmlGetCharEncodingName ()

    xmlGetCharEncodingName ()


    >xmlDetectCharEncoding ()

    xmlDetectCharEncoding ()

    a pointer to the first bytes of the XML entity, must be at least - 4 bytes long.

    >xmlCharEncOutFunc ()

    xmlCharEncOutFunc ()

    the number of byte written if success, or - -1 general error - -2 if the transcoding fails (for *in is not valid utf8 string or - the result of transformation can't fit into the encoding we want), or

    >xmlCharEncInFunc ()

    xmlCharEncInFunc ()

    the number of byte written if success, or - -1 general error - -2 if the transcoding fails (for *in is not valid utf8 string or - the result of transformation can't fit into the encoding we want), or

    >xmlCharEncFirstLine ()

    xmlCharEncFirstLine ()

    the number of byte written if success, or - -1 general error - -2 if the transcoding fails (for *in is not valid utf8 string or - the result of transformation can't fit into the encoding we want), or

    >xmlCharEncCloseFunc ()

    xmlCharEncCloseFunc ()


    >UTF8Toisolat1 ()

    UTF8Toisolat1 ()

    inlen after return is the number of octets consumed - as the return value is positive, else unpredictable. +as the return value is positive, else unpredictable. The value of

    >isolat1ToUTF8 ()

    isolat1ToUTF8 ()

    inlen
    after return is the number of octets consumed - as the return value is positive, else unpredictable. +as the return value is positive, else unpredictable. The value of

    >xmlCheckUTF8 ()

    xmlCheckUTF8 ()


    >xmlUTF8Strsize ()

    xmlUTF8Strsize ()


    >xmlUTF8Strndup ()

    xmlUTF8Strndup ()


    >xmlUTF8Strpos ()

    xmlUTF8Strpos ()


    >xmlUTF8Strloc ()

    xmlUTF8Strloc ()


    >xmlUTF8Strsub ()

    xmlUTF8Strsub ()


    >xmlUTF8Strlen ()

    xmlUTF8Strlen ()

    >enum xmlEntityTypeenum xmlEntityType
    >struct xmlEntitystruct xmlEntity
    >xmlEntitiesTablePtrxmlEntitiesTablePtr
    >xmlInitializePredefinedEntities ()xmlInitializePredefinedEntities ()
    >xmlAddDocEntity ()xmlAddDocEntity ()
    >xmlAddDtdEntity ()xmlAddDtdEntity ()
    >xmlGetPredefinedEntity ()xmlGetPredefinedEntity ()
    >xmlGetDocEntity ()xmlGetDocEntity ()
    >xmlGetDtdEntity ()xmlGetDtdEntity ()
    >xmlGetParameterEntity ()xmlGetParameterEntity ()
    >xmlEncodeEntities ()xmlEncodeEntities ()

    TODO: remove xmlEncodeEntities, once we are not afraid of breaking binary - compatibility

    People must migrate their code to xmlEncodeEntitiesReentrant ! This routine will issue a warning when encountered.

    >xmlEncodeEntitiesReentrant ()xmlEncodeEntitiesReentrant ()
    >xmlEncodeSpecialChars ()xmlEncodeSpecialChars ()
    >xmlCreateEntitiesTable ()xmlCreateEntitiesTable ()
    >xmlCopyEntitiesTable ()xmlCopyEntitiesTable ()
    >xmlFreeEntitiesTable ()xmlFreeEntitiesTable ()
    >xmlDumpEntitiesTable ()xmlDumpEntitiesTable ()
    >xmlDumpEntityDecl ()xmlDumpEntityDecl ()
    >xmlCleanupPredefinedEntities ()xmlCleanupPredefinedEntities ()

    Name

    Synopsis

    Description

    Details

    >struct xmlGlobalState

    struct xmlGlobalState

    >xmlGlobalStatePtr

    xmlGlobalStatePtr

    >xmlInitializeGlobalState ()

    xmlInitializeGlobalState ()


    >xmlMalloc()

    xmlMalloc()


    >xmlRealloc()

    xmlRealloc()


    >xmlFree

    xmlFree

    >xmlMemStrdup()

    xmlMemStrdup()


    >docbDefaultSAXHandler

    docbDefaultSAXHandler

    >htmlDefaultSAXHandler

    htmlDefaultSAXHandler

    >oldXMLWDcompatibility

    oldXMLWDcompatibility

    >xmlBufferAllocScheme

    xmlBufferAllocScheme

    >xmlDefaultBufferSize

    xmlDefaultBufferSize

    >xmlDefaultSAXHandler

    xmlDefaultSAXHandler

    >xmlDefaultSAXLocator

    xmlDefaultSAXLocator

    >xmlDoValidityCheckingDefaultValue

    xmlDoValidityCheckingDefaultValue

    >xmlGenericError

    xmlGenericError

    >xmlGenericErrorContext

    xmlGenericErrorContext

    >xmlGetWarningsDefaultValue

    xmlGetWarningsDefaultValue

    >xmlIndentTreeOutput

    xmlIndentTreeOutput

    >xmlKeepBlanksDefaultValue

    xmlKeepBlanksDefaultValue

    >xmlLineNumbersDefaultValue

    xmlLineNumbersDefaultValue

    >xmlLoadExtDtdDefaultValue

    xmlLoadExtDtdDefaultValue

    >xmlParserDebugEntities

    xmlParserDebugEntities

    >xmlParserVersion

    xmlParserVersion

    >xmlPedanticParserDefaultValue

    xmlPedanticParserDefaultValue

    >xmlSaveNoEmptyTags

    xmlSaveNoEmptyTags

    >xmlSubstituteEntitiesDefaultValue

    xmlSubstituteEntitiesDefaultValue

    Name

    Synopsis

    Description

    Details

    >struct xmlHashTable

    struct xmlHashTable

    >xmlHashTablePtr

    xmlHashTablePtr

    >xmlHashDeallocator ()

    xmlHashDeallocator ()


    >xmlHashCopier ()

    xmlHashCopier ()


    >xmlHashScanner ()

    xmlHashScanner ()


    >xmlHashScannerFull ()

    xmlHashScannerFull ()


    >xmlHashCreate ()

    xmlHashCreate ()


    >xmlHashFree ()

    xmlHashFree ()


    >xmlHashAddEntry ()

    xmlHashAddEntry ()


    >xmlHashUpdateEntry ()

    xmlHashUpdateEntry ()


    >xmlHashAddEntry2 ()

    xmlHashAddEntry2 ()


    >xmlHashUpdateEntry2 ()

    xmlHashUpdateEntry2 ()


    >xmlHashAddEntry3 ()

    xmlHashAddEntry3 ()


    >xmlHashUpdateEntry3 ()

    xmlHashUpdateEntry3 ()


    >xmlHashRemoveEntry ()

    xmlHashRemoveEntry ()


    >xmlHashRemoveEntry2 ()

    xmlHashRemoveEntry2 ()


    >xmlHashRemoveEntry3 ()

    xmlHashRemoveEntry3 ()


    >xmlHashLookup ()

    xmlHashLookup ()


    >xmlHashLookup2 ()

    xmlHashLookup2 ()


    >xmlHashLookup3 ()

    xmlHashLookup3 ()


    >xmlHashCopy ()

    xmlHashCopy ()


    >xmlHashSize ()

    xmlHashSize ()


    >xmlHashScan ()

    xmlHashScan ()


    >xmlHashScan3 ()

    xmlHashScan3 ()


    >xmlHashScanFull ()

    xmlHashScanFull ()


    >xmlHashScanFull3 ()

    xmlHashScanFull3 ()

    >htmlParserCtxthtmlParserCtxt
    >htmlParserCtxtPtrhtmlParserCtxtPtr
    >htmlParserNodeInfohtmlParserNodeInfo
    >htmlSAXHandlerhtmlSAXHandler
    >htmlSAXHandlerPtrhtmlSAXHandlerPtr
    >htmlParserInputhtmlParserInput
    >htmlParserInputPtrhtmlParserInputPtr
    >htmlDocPtrhtmlDocPtr
    >htmlNodePtrhtmlNodePtr
    >struct htmlElemDescstruct htmlElemDesc
    >htmlElemDescPtrhtmlElemDescPtr
    >struct htmlEntityDescstruct htmlEntityDesc
    >htmlEntityDescPtrhtmlEntityDescPtr
    >htmlTagLookup ()htmlTagLookup ()
    >htmlEntityLookup ()htmlEntityLookup ()
    >htmlEntityValueLookup ()htmlEntityValueLookup ()
    >htmlIsAutoClosed ()htmlIsAutoClosed ()
    >htmlAutoCloseTag ()htmlAutoCloseTag ()
    >htmlParseEntityRef ()htmlParseEntityRef ()
    the associated htmlEntityDescPtr if found, or NULL otherwise, - if non-NULL *str will have to be freed by the caller.
    >htmlParseCharRef ()htmlParseCharRef ()parse Reference declarations

    [66] CharRef ::= '&#' [0-9]+ ';' | - '&x' [0-9a-fA-F]+ ';'

    >htmlParseElement ()htmlParseElement ()
    >htmlSAXParseDoc ()htmlSAXParseDoc ()
    the resulting document tree unless SAX is NULL or the document is - not well formed.
    >htmlParseDoc ()htmlParseDoc ()>htmlSAXParseFile ()htmlSAXParseFile ()
    the resulting document tree unless SAX is NULL or the document is - not well formed.
    >htmlParseFile ()htmlParseFile ()>UTF8ToHtml ()UTF8ToHtml ()
    inlen after return is the number of octets consumed - as the return value is positive, else unpredictable. +as the return value is positive, else unpredictable. The value of >htmlEncodeEntities ()htmlEncodeEntities ()
    inlen after return is the number of octets consumed - as the return value is positive, else unpredictable. +as the return value is positive, else unpredictable. The value of >htmlIsScriptAttribute ()htmlIsScriptAttribute ()
    >htmlHandleOmittedElem ()htmlHandleOmittedElem ()
    >htmlFreeParserCtxt ()htmlFreeParserCtxt ()
    >htmlCreatePushParserCtxt ()htmlCreatePushParserCtxt ()
    >htmlParseChunk ()htmlParseChunk ()
    >HTML_TEXT_NODEHTML_TEXT_NODE
    >HTML_ENTITY_REF_NODEHTML_ENTITY_REF_NODE
    >HTML_COMMENT_NODEHTML_COMMENT_NODE
    >HTML_PRESERVE_NODEHTML_PRESERVE_NODE
    >HTML_PI_NODEHTML_PI_NODE
    >htmlNewDoc ()htmlNewDoc ()
    >htmlNewDocNoDtD ()htmlNewDocNoDtD ()
    >htmlGetMetaEncoding ()htmlGetMetaEncoding ()
    >htmlSetMetaEncoding ()htmlSetMetaEncoding ()
    >htmlDocDumpMemory ()htmlDocDumpMemory ()
    >htmlDocDump ()htmlDocDump ()
    >htmlSaveFile ()htmlSaveFile ()
    >htmlNodeDump ()htmlNodeDump ()
    >htmlNodeDumpFile ()htmlNodeDumpFile ()
    >htmlNodeDumpFileFormat ()htmlNodeDumpFileFormat ()
    >htmlSaveFileEnc ()htmlSaveFileEnc ()
    >htmlSaveFileFormat ()htmlSaveFileFormat ()
    >htmlNodeDumpFormatOutput ()htmlNodeDumpFormatOutput ()
    >htmlDocContentDumpOutput ()htmlDocContentDumpOutput ()
    >htmlDocContentDumpFormatOutput ()htmlDocContentDumpFormatOutput ()
    c14n
    threads
    This section contains the API reference for libxml. All the public interfaces are documented here. This reference guide is build by extracting comments from the code sources.

    _functions; +
    long size, +HREF="LONG" +>long size, int links, int year, const char *month, @@ -447,14 +447,14 @@ VALIGN="TOP" >Param6size : the file size
     
    >ftpDataCallback ()ftpDataCallback ()>xmlNanoFTPInit ()xmlNanoFTPInit ()
    >xmlNanoFTPCleanup ()xmlNanoFTPCleanup ()
    >xmlNanoFTPNewCtxt ()xmlNanoFTPNewCtxt ()
    >xmlNanoFTPFreeCtxt ()xmlNanoFTPFreeCtxt ()
    >xmlNanoFTPConnectTo ()xmlNanoFTPConnectTo ()
    >xmlNanoFTPOpen ()xmlNanoFTPOpen ()
    >xmlNanoFTPConnect ()xmlNanoFTPConnect ()
    >xmlNanoFTPClose ()xmlNanoFTPClose ()
    >xmlNanoFTPQuit ()xmlNanoFTPQuit ()
    >xmlNanoFTPScanProxy ()xmlNanoFTPScanProxy ()
    >xmlNanoFTPProxy ()xmlNanoFTPProxy ()
    >xmlNanoFTPUpdateURL ()xmlNanoFTPUpdateURL ()
    >xmlNanoFTPGetResponse ()xmlNanoFTPGetResponse ()
    >xmlNanoFTPCheckResponse ()xmlNanoFTPCheckResponse ()
    >xmlNanoFTPCwd ()xmlNanoFTPCwd ()
    >xmlNanoFTPGetConnection ()xmlNanoFTPGetConnection ()
    >xmlNanoFTPCloseConnection ()xmlNanoFTPCloseConnection ()
    >xmlNanoFTPList ()xmlNanoFTPList ()
    >xmlNanoFTPGetSocket ()xmlNanoFTPGetSocket ()
    >xmlNanoFTPGet ()xmlNanoFTPGet ()
    >xmlNanoFTPRead ()xmlNanoFTPRead ()
    the number of byte read. 0 is an indication of an end of connection. - -1 indicates a parameter error.
    >xmlNanoHTTPInit ()xmlNanoHTTPInit ()>xmlNanoHTTPCleanup ()xmlNanoHTTPCleanup ()
    >xmlNanoHTTPScanProxy ()xmlNanoHTTPScanProxy ()
    >xmlNanoHTTPFetch ()xmlNanoHTTPFetch ()
    if available the Content-Type information will be - returned at that location
    -1 in case of failure, 0 incase of success. The contentType, - if provided must be freed by the caller
    >xmlNanoHTTPMethod ()xmlNanoHTTPMethod ()>xmlNanoHTTPMethodRedir ()xmlNanoHTTPMethodRedir ()
    >xmlNanoHTTPOpen ()xmlNanoHTTPOpen ()
    if available the Content-Type information will be - returned at that location
    >xmlNanoHTTPOpenRedir ()xmlNanoHTTPOpenRedir () if available the Content-Type information will be - returned at that location
    >xmlNanoHTTPReturnCode ()xmlNanoHTTPReturnCode ()>xmlNanoHTTPAuthHeader ()xmlNanoHTTPAuthHeader ()
    >xmlNanoHTTPRead ()xmlNanoHTTPRead ()
    the number of byte read. 0 is an indication of an end of connection. - -1 indicates a parameter error.
    >xmlNanoHTTPSave ()xmlNanoHTTPSave ()>xmlNanoHTTPClose ()xmlNanoHTTPClose ()
    >XML_DEFAULT_VERSIONXML_DEFAULT_VERSION
    >xmlParserInputDeallocate ()xmlParserInputDeallocate ()
    >struct xmlParserInputstruct xmlParserInput
    >struct xmlParserNodeInfostruct xmlParserNodeInfo
    >xmlParserNodeInfoPtrxmlParserNodeInfoPtr
    >struct xmlParserNodeInfoSeqstruct xmlParserNodeInfoSeq
    >xmlParserNodeInfoSeqPtrxmlParserNodeInfoSeqPtr
    >enum xmlParserInputStateenum xmlParserInputState
    >XML_DETECT_IDSXML_DETECT_IDS
    >XML_COMPLETE_ATTRSXML_COMPLETE_ATTRS
    >struct xmlParserCtxtstruct xmlParserCtxt

    The parser context. NOTE This doesn't completely defines the parser state, the (current ?) - design of the parser uses recursive function calls since this allow - and easy mapping from the production rules of the specification - to the actual code. The drawback is that the actual function call - also reflect the parser state. However most of the parsing routines - takes as the only argument the parser context pointer, so migrating - to a state based parser for progressive parsing shouldn't be too hard.

    >struct xmlSAXLocatorstruct xmlSAXLocator
    >resolveEntitySAXFunc ()resolveEntitySAXFunc ()
    Callback: The entity loader, to control the loading of external entities, the application can either: - - override this resolveEntity() callback in the SAX block - - or better use the xmlSetExternalEntityLoader() function to - set up it's own entity resolution routine

    >internalSubsetSAXFunc ()internalSubsetSAXFunc ()
    >externalSubsetSAXFunc ()externalSubsetSAXFunc ()
    >getEntitySAXFunc ()getEntitySAXFunc ()
    >getParameterEntitySAXFunc ()getParameterEntitySAXFunc ()
    >entityDeclSAXFunc ()entityDeclSAXFunc ()
    >notationDeclSAXFunc ()notationDeclSAXFunc ()
    >attributeDeclSAXFunc ()attributeDeclSAXFunc ()
    >elementDeclSAXFunc ()elementDeclSAXFunc ()
    >unparsedEntityDeclSAXFunc ()unparsedEntityDeclSAXFunc ()
    >setDocumentLocatorSAXFunc ()setDocumentLocatorSAXFunc ()
    >startDocumentSAXFunc ()startDocumentSAXFunc ()
    >endDocumentSAXFunc ()endDocumentSAXFunc ()
    >startElementSAXFunc ()startElementSAXFunc ()
    >endElementSAXFunc ()endElementSAXFunc ()
    >attributeSAXFunc ()attributeSAXFunc ()
    >referenceSAXFunc ()referenceSAXFunc ()
    >charactersSAXFunc ()charactersSAXFunc ()
    >ignorableWhitespaceSAXFunc ()ignorableWhitespaceSAXFunc ()
    >processingInstructionSAXFunc ()processingInstructionSAXFunc ()
    >commentSAXFunc ()commentSAXFunc ()
    >cdataBlockSAXFunc ()cdataBlockSAXFunc ()
    >warningSAXFunc ()warningSAXFunc ()
    >errorSAXFunc ()errorSAXFunc ()
    >fatalErrorSAXFunc ()fatalErrorSAXFunc ()
    >isStandaloneSAXFunc ()isStandaloneSAXFunc ()
    >hasInternalSubsetSAXFunc ()hasInternalSubsetSAXFunc ()
    >hasExternalSubsetSAXFunc ()hasExternalSubsetSAXFunc ()
    >struct xmlSAXHandlerstruct xmlSAXHandler
    >xmlExternalEntityLoader ()xmlExternalEntityLoader ()
    >xmlSubstituteEntitiesDefaultValuexmlSubstituteEntitiesDefaultValue
    >xmlInitParser ()xmlInitParser ()
    >xmlCleanupParser ()xmlCleanupParser ()
    >xmlParserInputRead ()xmlParserInputRead ()
    >xmlParserInputGrow ()xmlParserInputGrow ()
    >xmlStrdup ()xmlStrdup ()
    >xmlStrndup ()xmlStrndup ()
    >xmlCharStrndup ()xmlCharStrndup ()
    >xmlCharStrdup ()xmlCharStrdup ()
    >xmlStrsub ()xmlStrsub ()
    >xmlStrchr ()xmlStrchr ()
    >xmlStrstr ()xmlStrstr ()
    >xmlStrcasestr ()xmlStrcasestr ()
    >xmlStrcmp ()xmlStrcmp ()
    >xmlStrncmp ()xmlStrncmp ()
    >xmlStrcasecmp ()xmlStrcasecmp ()
    >xmlStrncasecmp ()xmlStrncasecmp ()
    >xmlStrEqual ()xmlStrEqual ()
    >xmlStrlen ()xmlStrlen ()
    >xmlStrcat ()xmlStrcat ()
    >xmlStrncat ()xmlStrncat ()
    >xmlParseDoc ()xmlParseDoc ()
    >xmlParseMemory ()xmlParseMemory ()
    >xmlParseFile ()xmlParseFile ()
    >xmlSubstituteEntitiesDefault ()xmlSubstituteEntitiesDefault ()
    >xmlKeepBlanksDefault ()xmlKeepBlanksDefault ()
    >xmlStopParser ()xmlStopParser ()
    >xmlPedanticParserDefault ()xmlPedanticParserDefault ()
    >xmlLineNumbersDefault ()xmlLineNumbersDefault ()
    >xmlRecoverDoc ()xmlRecoverDoc ()
    >xmlRecoverMemory ()xmlRecoverMemory ()
    >xmlRecoverFile ()xmlRecoverFile ()
    >xmlParseDocument ()xmlParseDocument ()
    0, -1 in case of error. the parser context is augmented - as a result of the parsing.
    >xmlParseExtParsedEnt ()xmlParseExtParsedEnt ()0, -1 in case of error. the parser context is augmented - as a result of the parsing.
    >xmlSAXParseDoc ()xmlSAXParseDoc () work in recovery mode, i.e. tries to read no Well Formed - documents diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml index 617d43aa..fbfd3ce8 100644 --- a/doc/libxml2-api.xml +++ b/doc/libxml2-api.xml @@ -690,6 +690,11 @@ + + + + + @@ -1094,6 +1099,7 @@ + @@ -1336,6 +1342,9 @@ Macro to check the following production in the XML spec + + Whether the Canonicalization support is configured in + Whether the Catalog support is configured in @@ -1972,7 +1981,7 @@ - + @@ -2836,6 +2845,37 @@ + + Dumps the canonized image of given XML document into memory. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n) + + + + + + + + + + Dumps the canonized image of given XML document into the file. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n) + + + + + + + + + + + Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n) + + + + + + + + Add an entry in the catalog, it may overwrite existing but different entries. If called before any other catalog routine, allows to override the default shared catalog put in place by xmlInitializeCatalog(); @@ -3623,7 +3663,7 @@ - Types are XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, improves performance + Types are XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, improves performance @@ -4100,7 +4140,7 @@ - Check whether the character is allowed by the production [89] Extender ::= x00B7 | x02D0 | x02D1 | x0387 | x0640 | x0E46 | x0EC6 | x3005 | [x3031-x3035] | [x309D-x309E] | [x30FC-x30FE] + Check whether the character is allowed by the production [89] Extender ::= x00B7 | x02D0 | x02D1 | x0387 | x0640 | x0E46 | x0EC6 | x3005 | [x3031-x3035] | [x309D-x309E] | [x30FC-x30FE] @@ -5195,12 +5235,12 @@ VMS version of xmlParseElementChildrenContentDecl() - + parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in xmlParseElementContentDecl - + @@ -5862,7 +5902,7 @@ - Set the buffer allocation method. Types are XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, improves performance + Set the buffer allocation method. Types are XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, improves performance @@ -6896,7 +6936,7 @@ Create a new xmlXPathContext - + @@ -7503,7 +7543,7 @@ - + Create a new xmlXPathObjectPtr of type LocationSet and initialize it with all the nodes from set diff --git a/doc/libxml2-refs.xml b/doc/libxml2-refs.xml index 4a073ad0..e41708e0 100644 --- a/doc/libxml2-refs.xml +++ b/doc/libxml2-refs.xml @@ -29,6 +29,7 @@ + @@ -302,6 +303,9 @@ + + + @@ -1248,6 +1252,7 @@ + @@ -1569,6 +1574,9 @@ + + + @@ -3017,6 +3025,9 @@ + + + @@ -3791,6 +3802,10 @@ + + + + @@ -3922,6 +3937,9 @@ + + + @@ -4324,6 +4342,9 @@ + + + @@ -4360,6 +4381,7 @@ + @@ -4836,6 +4858,11 @@ + + + + + @@ -5709,6 +5736,7 @@ + @@ -6140,6 +6168,9 @@ + + + @@ -6192,6 +6223,17 @@ + + + + + + + + + + + @@ -6608,6 +6650,9 @@ + + + @@ -6735,6 +6780,11 @@ + + + + + @@ -6867,6 +6917,9 @@ + + + @@ -7238,6 +7291,9 @@ + + + @@ -8186,6 +8242,7 @@ + @@ -8889,6 +8946,7 @@ + @@ -9218,6 +9276,7 @@ + @@ -9260,8 +9319,26 @@ + + + + + + + + + + + + + + + + + + @@ -9569,6 +9646,9 @@ + + + @@ -9683,6 +9763,7 @@ + @@ -9710,6 +9791,7 @@ + @@ -10289,6 +10371,11 @@ + + + + + @@ -10653,6 +10740,9 @@ + + + @@ -10665,6 +10755,9 @@ + + + @@ -10858,6 +10951,11 @@ + + + + + @@ -10921,6 +11019,9 @@ + + + @@ -11222,6 +11323,7 @@ + @@ -11415,6 +11517,7 @@ + @@ -11522,6 +11625,9 @@ + + + @@ -11545,9 +11651,19 @@ + + + + + + + + + + @@ -11622,10 +11738,16 @@ + + + + + + @@ -11641,6 +11763,16 @@ + + + + + + + + + + @@ -11951,6 +12083,9 @@ + + + @@ -12164,6 +12299,7 @@ + @@ -12202,6 +12338,7 @@ + @@ -12712,6 +12849,9 @@ + + + @@ -12743,6 +12883,7 @@ + @@ -12771,6 +12912,9 @@ + + + @@ -12851,6 +12995,9 @@ + + + @@ -13090,6 +13237,9 @@ + + + @@ -13190,6 +13340,9 @@ + + + @@ -13606,6 +13759,11 @@ + + + + + @@ -13845,6 +14003,7 @@ + @@ -14359,8 +14518,12 @@ + + + + @@ -14436,6 +14599,9 @@ + + + @@ -14735,6 +14901,9 @@ + + + @@ -15186,6 +15355,8 @@ + + @@ -15410,6 +15581,9 @@ + + + @@ -15632,6 +15806,9 @@ + + + @@ -15949,6 +16126,7 @@ + @@ -16552,6 +16730,8 @@ + + @@ -16573,9 +16753,14 @@ + + + + + @@ -16638,6 +16823,16 @@ + + + + + + + + + + @@ -16758,6 +16953,9 @@ + + + @@ -17063,7 +17261,7 @@ - + @@ -17099,6 +17297,9 @@ + + + @@ -17123,7 +17324,8 @@ - + + diff --git a/doc/news.html b/doc/news.html index a26a62c6..6127b81c 100644 --- a/doc/news.html +++ b/doc/news.html @@ -87,13 +87,15 @@ A:link, A:visited, A:active { text-decoration: underline } for a really accurate description

    Items floating around but not actively worked on, get in touch with me if you want to test those

    + +

    2.4.17: Mar 8 2002

      -
    • Implementing XSLT, this is done - as a separate C library on top of libxml called libxslt
    • -
    • Finishing up XPointer and XInclude -
    • -
    • (seeems working but delayed from release) parsing/import of Docbook - SGML docs
    • +
    • a lot of bug fixes, including "namespace nodes have no parents in + XPath"
    • +
    • fixed/improved the Python wrappers, added more examples and more + regression tests, XPath extension functions can now return node-sets
    • +
    • added the XML Canonalization support from Aleksey Sanin

    2.4.16: Feb 20 2002

      diff --git a/doc/python.html b/doc/python.html index 00b885d5..f440b2db 100644 --- a/doc/python.html +++ b/doc/python.html @@ -90,8 +90,8 @@ order to get updates to this list or to discuss the specific topic of libxml2 or libxslt wrappers or bindings:

      The distribution includes a set of Python bindings, which are garanteed to be maintained as part of the library in the future, though the Python interface have not yet reached the maturity of the C API.

      -

      To install the Python bindings there are 2 options: -

      +

      To install the Python bindings there are 2 options:

        -
      • If you use an RPM based distribution, simply install the -libxml2-python RPM (and if needed the -libxslt-python RPM). -
      • -
      • Otherwise use the libxml2-python -module distribution corresponding to your installed version of libxml2 -and libxslt. Note that to install it you will need both libxml2 and libxslt -installed and run "python setup.py build install" in the module tree. -
      • +
      • If you use an RPM based distribution, simply install the libxml2-python + RPM (and if needed the libxslt-python + RPM).
      • +
      • Otherwise use the libxml2-python + module distribution corresponding to your installed version of + libxml2 and libxslt. Note that to install it you will need both libxml2 + and libxslt installed and run "python setup.py build install" in the + module tree.
      -

      The distribution -includes a set of examples and regression tests for the python bindings in -the python/tests directory. Here are some excepts from those -tests:

      +

      The distribution includes a set of examples and regression tests for the +python bindings in the python/tests directory. Here are some +excepts from those tests:

      tst.py:

      This is a basic test of the file interface and DOM navigation:

      import libxml2
      @@ -162,22 +157,19 @@ prefix is removed and the casing convention are kept). All node seen at the
       binding level share the same subset of accesors:

      • -name - : returns the node name
      • +name : returns the node name
      • -type - : returns a string indicating the node type +type : returns a string indicating the node + type
      • -content - : returns the content of the node, it is based on xmlNodeGetContent() and - hence is recursive.
      • +content : returns the content of the node, it is based on + xmlNodeGetContent() and hence is recursive.
      • -parent - , children, last, next, - prev, doc, properties: pointing to - the associated element in the tree, those may return None in case no such - link exists.
      • +parent , children, last, + next, prev, doc, + properties: pointing to the associated element in the tree, + those may return None in case no such link exists.

      Also note the need to explicitely deallocate documents with freeDoc() . Reference counting for libxml2 trees would need quite a lot of work to @@ -352,8 +344,7 @@ evaluation point.

      Memory debugging:

      last but not least, all tests starts with the following prologue:

      #memory debug specific
      -libxml2.debugMemory(1)
      -
      +libxml2.debugMemory(1)

      and ends with the following epilogue:

      #memory debug specific
       libxml2.cleanupParser()
      diff --git a/doc/xml.html b/doc/xml.html
      index f3062be1..7fd713d9 100644
      --- a/doc/xml.html
      +++ b/doc/xml.html
      @@ -3,7 +3,7 @@
       
       
         The XML C library for Gnome
      -  
      +  
         
       
       
      @@ -32,8 +32,8 @@ languages:

      href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/
    • XML Base: http://www.w3.org/TR/xmlbase/
    • -
    • RFC 2396 - : Uniform Resource Identifiers RFC 2396 : + Uniform Resource Identifiers http://www.ietf.org/rfc/rfc2396.txt
    • XML Path Language (XPath) 1.0: http://www.w3.org/TR/xpath
    • @@ -64,10 +64,10 @@ specification but don't claim to implement them:

      href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/ it doesn't implement the API itself, gdome2 does this in top of libxml2 -
    • RFC 959 - : libxml implements a basic FTP client code
    • -
    • RFC 1945 - : HTTP/1.0, again a basic HTTP client code
    • +
    • RFC 959 : + libxml implements a basic FTP client code
    • +
    • RFC 1945 : + HTTP/1.0, again a basic HTTP client code
    • SAX: a minimal SAX implementation compatible with early expat versions
    • DocBook SGML v4: libxml2 includes a hackish parser to transition to @@ -80,11 +80,10 @@ MacOs, MacOsX, RISC Os, OS/2, VMS, QNX, MVS, ...)

      Separate documents:

        -
      • the libxslt page - providing an implementation of XSLT 1.0 and extensions on top of - libxml2
      • +
      • the libxslt page providing an + implementation of XSLT 1.0 and extensions on top of libxml2
      • the gdome2 page - : a standard DOM2 implementation based on libxml2
      • + : a standard DOM2 implementation based on libxml2

      Introduction

      @@ -158,8 +157,7 @@ libxml2

    • Unless you are forced to because your application links with a Gnome library requiring it, Do Not Use libxml1, use libxml2
    • -
    • Where can I get libxml - ? +
    • Where can I get libxml ?

      The original distribution comes from rpmfind.net or gnome.org

      @@ -228,8 +226,8 @@ libxml2

      However if found at configuration time libxml will detect and use the following libs:

        -
      • libz - : a highly portable and available widely compression library
      • +
      • libz : a + highly portable and available widely compression library
      • iconv: a powerful character encoding conversion library. It's included by default on recent glibc libraries, so it doesn't need to be installed specifically on linux. It seems it's now
      • Browse - the libxml source - , I try to write code as clean and documented as possible, so - looking at it may be helpful
      • + the libxml source , I try to write code as clean and documented + as possible, so looking at it may be helpful
    • What about C++ ? @@ -401,8 +398,7 @@ pnode=pxmlDoc->children->children;
    • internationalization support
    • This page provides a global overview and some examples on how to use libxml.
    • -
    • James Henstridge - wrote James Henstridge wrote some nice documentation explaining how to use the libxml SAX interface.
    • George Lebl wrote

      Items floating around but not actively worked on, get in touch with me if you want to test those

        -
      • Implementing XSLT, this is done - as a separate C library on top of libxml called libxslt
      • Finishing up XPointer and XInclude
      • -
      • (seeems working but delayed from release) parsing/import of Docbook - SGML docs
      • +
      + +

      2.4.17: Mar 8 2002

      +
        +
      • a lot of bug fixes, including "namespace nodes have no parents in + XPath"
      • +
      • fixed/improved the Python wrappers, added more examples and more + regression tests, XPath extension functions can now return node-sets
      • +
      • added the XML Canonalization support from Aleksey Sanin

      2.4.16: Feb 20 2002

      @@ -1314,8 +1315,8 @@ href="http://mail.gnome.org/mailman/listinfo/xml-bindings">xml-bindings@gnome.or order to get updates to this list or to discuss the specific topic of libxml2 or libxslt wrappers or bindings:

      The distribution includes a set of Python bindings, which are garanteed to be maintained as part of the library in the future, though the Python interface have not yet reached the maturity of the C API.

      -

      To install the Python bindings there are 2 options: + +

      To install the Python bindings there are 2 options:

        -
      • If you use an RPM based distribution, simply install the -libxml2-python RPM (and if needed the -libxslt-python RPM). -
      • Otherwise use the libxml2-python -module distribution corresponding to your installed version of libxml2 -and libxslt. Note that to install it you will need both libxml2 and libxslt -installed and run "python setup.py build install" in the module tree. +
      • If you use an RPM based distribution, simply install the libxml2-python + RPM (and if needed the libxslt-python + RPM).
      • +
      • Otherwise use the libxml2-python + module distribution corresponding to your installed version of + libxml2 and libxslt. Note that to install it you will need both libxml2 + and libxslt installed and run "python setup.py build install" in the + module tree.
      -

      The distribution -includes a set of examples and regression tests for the python bindings in -the python/tests directory. Here are some excepts from those -tests:

      + +

      The distribution includes a set of examples and regression tests for the +python bindings in the python/tests directory. Here are some +excepts from those tests:

      tst.py:

      @@ -1389,18 +1392,15 @@ xmlParseFile (most of the bindings are automatically generated, and the xml prefix is removed and the casing convention are kept). All node seen at the binding level share the same subset of accesors:

        -
      • name - : returns the node name
      • -
      • type - : returns a string indicating the node type
      • -
      • content - : returns the content of the node, it is based on xmlNodeGetContent() and - hence is recursive.
      • -
      • parent - , children, last, next, - prev, doc, properties: pointing to - the associated element in the tree, those may return None in case no such - link exists.
      • +
      • name : returns the node name
      • +
      • type : returns a string indicating the node + type
      • +
      • content : returns the content of the node, it is based on + xmlNodeGetContent() and hence is recursive.
      • +
      • parent , children, last, + next, prev, doc, + properties: pointing to the associated element in the tree, + those may return None in case no such link exists.

      Also note the need to explicitely deallocate documents with freeDoc() . @@ -1600,8 +1600,7 @@ evaluation point.

      last but not least, all tests starts with the following prologue:

      #memory debug specific
      -libxml2.debugMemory(1)
      -
      +libxml2.debugMemory(1)

      and ends with the following epilogue:

      #memory debug specific
      @@ -1990,11 +1989,11 @@ provides the interfaces to the libxml memory system:

      debugging, analysis or to implement a specific behaviour on memory management (like on embedded systems). Two function calls are available to do so:

        -
      • xmlMemGet () - which return the current set of functions in use by the parser
      • +
      • xmlMemGet + () which return the current set of functions in use by the parser
      • xmlMemSetup() - which allow to set up a new set of memory allocation functions
      • + which allow to set up a new set of memory allocation functions

      Of course a call to xmlMemSetup() should probably be done before calling @@ -2010,15 +2009,13 @@ amount of memory (a few hundred bytes) which can be recollected if you don't reuse the parser immediately:

      • xmlCleanupParser - () - is a centralized routine to free the parsing states. Note that it won't - deallocate any produced tree if any (use the xmlFreeDoc() and related - routines for this).
      • + () is a centralized routine to free the parsing states. Note that it + won't deallocate any produced tree if any (use the xmlFreeDoc() and + related routines for this).
      • xmlInitParser - () - is the dual routine allowing to preallocate the parsing state which can - be useful for example to avoid initialization reentrancy problems when - using libxml in multithreaded applications
      • + () is the dual routine allowing to preallocate the parsing state + which can be useful for example to avoid initialization reentrancy + problems when using libxml in multithreaded applications

      Generally xmlCleanupParser() is safe, if needed the state will be rebuild @@ -2035,15 +2032,14 @@ or call a specific routine when a given block number is allocated:

      When developping libxml memory debug is enabled, the tests programs call @@ -2546,6 +2542,7 @@ xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) { + }

      @@ -2623,9 +2620,8 @@ started.

      James Clark. This is relatively old and not the preferred mode of operation of libxml.
    • XML - Catalogs - is far more flexible, more recent, uses an XML syntax and should scale - quite better. This is the default option of libxml.
    • + Catalogs is far more flexible, more recent, uses an XML syntax and + should scale quite better. This is the default option of libxml.

    @@ -3674,38 +3670,36 @@ Gnome CVS base under gnome-xml/example

    patches, Gary Pennington worked on the validation API, threading support and Solaris port.
  • John Fleck helps maintaining the documentation and man pages.
  • -
  • Ari Johnson - provides a C++ wrapper for libxml:
    +
  • Ari Johnson provides a C++ wrapper + for libxml:
    Website: http://lusis.org/~ari/xml++/
    Download: http://lusis.org/~ari/xml++/libxml++.tar.gz
  • -
  • Igor Zlatkovic - is now the maintainer of the Windows port, Igor Zlatkovic is now the + maintainer of the Windows port, he provides binaries
  • -
  • Gary Pennington - provides Solaris - binaries
  • +
  • Gary Pennington provides + Solaris binaries
  • Matt - Sergeant - developped XML::LibXSLT, a perl - wrapper for libxml2/libxslt as part of the AxKit XML application server
  • -
  • Felix Natter - and Geert Kloosterman provide developped XML::LibXSLT, a perl wrapper for + libxml2/libxslt as part of the AxKit XML + application server
  • +
  • Felix Natter and Geert Kloosterman provide an emacs module to lookup libxml(2) functions documentation
  • -
  • Ziying Sherwin - provided man - pages
  • +
  • Ziying Sherwin provided man pages
  • there is a module for libxml/libxslt support in OpenNSD/AOLServer
  • -
  • Dave Kuhlman - provides libxml/libxslt wrappers - for Python
  • +
  • Dave Kuhlman provides + libxml/libxslt wrappers for + Python
  • Petr Kozelka provides Pascal units to glue libxml2 with Kylix and Delphi and other Pascal compilers
  • diff --git a/doc/xmlio.html b/doc/xmlio.html index 2f59de36..e462338d 100644 --- a/doc/xmlio.html +++ b/doc/xmlio.html @@ -244,6 +244,7 @@ xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) { + } diff --git a/doc/xmlmem.html b/doc/xmlmem.html index a18b3aba..2542df19 100644 --- a/doc/xmlmem.html +++ b/doc/xmlmem.html @@ -107,11 +107,11 @@ debugging, analysis or to implement a specific behaviour on memory management (like on embedded systems). Two function calls are available to do so:

    • -xmlMemGet () - which return the current set of functions in use by the parser
    • +xmlMemGet + () which return the current set of functions in use by the parser
    • xmlMemSetup() - which allow to set up a new set of memory allocation functions
    • + which allow to set up a new set of memory allocation functions

    Of course a call to xmlMemSetup() should probably be done before calling any other libxml routines (unless you are sure your allocations routines are @@ -125,16 +125,14 @@ reuse the parser immediately:

    • xmlCleanupParser - () - is a centralized routine to free the parsing states. Note that it won't - deallocate any produced tree if any (use the xmlFreeDoc() and related - routines for this).
    • + () is a centralized routine to free the parsing states. Note that it + won't deallocate any produced tree if any (use the xmlFreeDoc() and + related routines for this).
    • xmlInitParser - () - is the dual routine allowing to preallocate the parsing state which can - be useful for example to avoid initialization reentrancy problems when - using libxml in multithreaded applications
    • + () is the dual routine allowing to preallocate the parsing state + which can be useful for example to avoid initialization reentrancy + problems when using libxml in multithreaded applications

    Generally xmlCleanupParser() is safe, if needed the state will be rebuild at the next invocation of parser routines, but be careful of the consequences @@ -152,9 +150,8 @@ or call a specific routine when a given block number is allocated:

    are the memory debugging replacement allocation routines
  • xmlMemoryDump - () - dumps all the informations about the allocated memory block lefts in the - .memdump file
  • + () dumps all the informations about the allocated memory block lefts + in the .memdump file

    When developping libxml memory debug is enabled, the tests programs call xmlMemoryDump () and the "make test" regression tests will check for any diff --git a/include/libxml/xmlwin32version.h b/include/libxml/xmlwin32version.h index 6a51a286..d80540ad 100644 --- a/include/libxml/xmlwin32version.h +++ b/include/libxml/xmlwin32version.h @@ -27,21 +27,21 @@ extern void xmlCheckVersion(int version); * * the version string like "1.2.3" */ -#define LIBXML_DOTTED_VERSION "2.4.16" +#define LIBXML_DOTTED_VERSION "2.4.17" /** * LIBXML_VERSION: * * the version number: 1.2.3 value is 1002003 */ -#define LIBXML_VERSION 20416 +#define LIBXML_VERSION 20417 /** * LIBXML_VERSION_STRING: * * the version number string, 1.2.3 value is "1002003" */ -#define LIBXML_VERSION_STRING "20416" +#define LIBXML_VERSION_STRING "20417" /** * LIBXML_TEST_VERSION: @@ -49,7 +49,7 @@ extern void xmlCheckVersion(int version); * Macro to check that the libxml version in use is compatible with * the version the software has been compiled against */ -#define LIBXML_TEST_VERSION xmlCheckVersion(20416); +#define LIBXML_TEST_VERSION xmlCheckVersion(20417); #if 0 /** diff --git a/python/libxml.c b/python/libxml.c index 026b0bc2..cf7b1492 100644 --- a/python/libxml.c +++ b/python/libxml.c @@ -1730,8 +1730,13 @@ extern void initlibxsltmod(void); #endif void initlibxml2mod(void) { + static int initialized = 0; PyObject *m; + + if (initialized != 0) + return; m = Py_InitModule("libxml2mod", libxmlMethods); + initialized = 1; libxml_xmlErrorInitialize(); #ifdef MERGED_MODULES diff --git a/xpath.c b/xpath.c index 5baacf0b..96b39168 100644 --- a/xpath.c +++ b/xpath.c @@ -3475,7 +3475,7 @@ xmlXPathConvertBoolean(xmlXPathObjectPtr val) { * * Create a new xmlXPathContext * - * Returns the xmlXPathContext just allocated. + * Returns the xmlXPathContext just allocated. The caller will need to free it. */ xmlXPathContextPtr xmlXPathNewContext(xmlDocPtr doc) {

    >xmlSAXUserParseFile ()xmlSAXUserParseFile ()>xmlSAXUserParseMemory ()xmlSAXUserParseMemory ()
    >xmlSAXParseMemory ()xmlSAXParseMemory ()
    work in recovery mode, i.e. tries to read not Well Formed - documents
    >xmlSAXParseFile ()xmlSAXParseFile () work in recovery mode, i.e. tries to read no Well Formed - documents
    >xmlSAXParseFileWithData ()xmlSAXParseFileWithData () work in recovery mode, i.e. tries to read no Well Formed - documents
    >xmlSAXParseEntity ()xmlSAXParseEntity ()>xmlParseEntity ()xmlParseEntity ()
    >xmlParseDTD ()xmlParseDTD ()
    >xmlSAXParseDTD ()xmlSAXParseDTD ()
    >xmlIOParseDTD ()xmlIOParseDTD ()
    >xmlParseBalancedChunkMemory ()xmlParseBalancedChunkMemory ()
    0 if the chunk is well balanced, -1 in case of args problem and - the parser error code otherwise
    >xmlParseExternalEntity ()xmlParseExternalEntity ()0 if the entity is well formed, -1 in case of args problem and - the parser error code otherwise
    >xmlParseCtxtExternalEntity ()xmlParseCtxtExternalEntity ()0 if the entity is well formed, -1 in case of args problem and - the parser error code otherwise
    >xmlInitParserCtxt ()xmlInitParserCtxt ()>xmlClearParserCtxt ()xmlClearParserCtxt ()
    >xmlFreeParserCtxt ()xmlFreeParserCtxt ()
    >xmlSetupParserForBuffer ()xmlSetupParserForBuffer ()
    >xmlCreateDocParserCtxt ()xmlCreateDocParserCtxt ()
    >xmlGetFeaturesList ()xmlGetFeaturesList ()
    -1 in case or error, or the total number of features, - len is updated with the number of strings copied, - strings must not be deallocated
    >xmlGetFeature ()xmlGetFeature ()>xmlSetFeature ()xmlSetFeature ()
    >xmlCreatePushParserCtxt ()xmlCreatePushParserCtxt ()
    >xmlParseChunk ()xmlParseChunk ()
    >xmlCreateIOParserCtxt ()xmlCreateIOParserCtxt ()
    >xmlNewIOInputStream ()xmlNewIOInputStream ()
    >xmlParserFindNodeInfo ()xmlParserFindNodeInfo ()
    >xmlInitNodeInfoSeq ()xmlInitNodeInfoSeq ()
    >xmlClearNodeInfoSeq ()xmlClearNodeInfoSeq ()

    -- Clear (release memory and reinitialize) node - info sequence

    >xmlParserFindNodeInfoIndex ()xmlParserFindNodeInfoIndex ()

    xmlParserFindNodeInfoIndex : Find the index that the info record for - the given node is or should be at in a sorted sequence

    >xmlParserAddNodeInfo ()xmlParserAddNodeInfo ()>xmlSetExternalEntityLoader ()xmlSetExternalEntityLoader ()
    >xmlGetExternalEntityLoader ()xmlGetExternalEntityLoader ()
    >xmlLoadExternalEntity ()xmlLoadExternalEntity ()

    Name

    Synopsis

    Description

    Details

    >XML_MAX_NAMELEN

    XML_MAX_NAMELEN

    >INPUT_CHUNK

    INPUT_CHUNK

    >IS_CHAR()

    IS_CHAR()
    xFFFD] - | [x10000-


    >IS_BLANK()

    IS_BLANK()


    >IS_BASECHAR()

    IS_BASECHAR()


    >IS_DIGIT()

    IS_DIGIT()


    >IS_COMBINING()

    IS_COMBINING()


    >IS_EXTENDER()

    IS_EXTENDER()
    x0640 | - x0E46 | x3035] | - [x309D-


    >IS_IDEOGRAPHIC()

    IS_IDEOGRAPHIC()


    >IS_LETTER()

    IS_LETTER()


    >IS_PUBIDCHAR()

    IS_PUBIDCHAR()


    >SKIP_EOL()

    SKIP_EOL()


    >MOVETO_ENDTAG()

    MOVETO_ENDTAG()


    >MOVETO_STARTTAG()

    MOVETO_STARTTAG()


    >xmlIsBaseChar ()

    xmlIsBaseChar ()


    >xmlIsBlank ()

    xmlIsBlank ()


    >xmlIsPubidChar ()

    xmlIsPubidChar ()


    >xmlIsLetter ()

    xmlIsLetter ()


    >xmlIsDigit ()

    xmlIsDigit ()


    >xmlIsIdeographic ()

    xmlIsIdeographic ()


    >xmlIsExtender ()

    xmlIsExtender ()
    x0640 | - x0E46 | x3035] | - [x309D-


    >xmlIsCombining ()

    xmlIsCombining ()


    >xmlIsChar ()

    xmlIsChar ()
    xFFFD] - | [x10000-


    >xmlCreateFileParserCtxt ()

    xmlCreateFileParserCtxt ()


    >xmlCreateMemoryParserCtxt ()

    xmlCreateMemoryParserCtxt ()


    >xmlNewParserCtxt ()

    xmlNewParserCtxt ()


    >xmlCreateEntityParserCtxt ()

    xmlCreateEntityParserCtxt ()


    >xmlSwitchEncoding ()

    xmlSwitchEncoding ()


    >xmlSwitchToEncoding ()

    xmlSwitchToEncoding ()


    >xmlHandleEntity ()

    xmlHandleEntity ()


    >xmlNewStringInputStream ()

    xmlNewStringInputStream ()


    >xmlNewEntityInputStream ()

    xmlNewEntityInputStream ()


    >xmlPushInput ()

    xmlPushInput ()

    xmlPushInput: switch to a new input stream which is stacked on top - of the previous one(s).


    >xmlPopInput ()

    xmlPopInput ()

    xmlPopInput: the current input pointed by ctxt->input came to an end - pop it and return the next char.


    >xmlFreeInputStream ()

    xmlFreeInputStream ()


    >xmlNewInputFromFile ()

    xmlNewInputFromFile ()


    >xmlNewInputStream ()

    xmlNewInputStream ()


    >xmlSplitQName ()

    xmlSplitQName ()

    the local part, and prefix is updated - to get the Prefix if any.

    >xmlNamespaceParseNCName ()

    xmlNamespaceParseNCName ()parse an XML namespace name.

    TODO: this seems not in use anymore, the namespace handling is done on - top of the SAX interfaces, i.e. not on raw input.

    [NS 3] NCName ::= (Letter | '_') (NCNameChar)*

    [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | - CombiningChar | Extender


    >xmlNamespaceParseQName ()

    xmlNamespaceParseQName ()

    TODO: this seems not in use anymore, the namespace handling is done on - top of the SAX interfaces, i.e. not on raw input.

    parse an XML qualified name

    the local part, and prefix is updated - to get the Prefix if any.

    >xmlNamespaceParseNSDef ()

    xmlNamespaceParseNSDef ()parse a namespace prefix declaration

    TODO: this seems not in use anymore, the namespace handling is done on - top of the SAX interfaces, i.e. not on raw input.

    [NS 1] NSDef ::= PrefixDef Eq SystemLiteral


    >xmlParseQuotedString ()

    xmlParseQuotedString ()


    >xmlParseNamespace ()

    xmlParseNamespace ()


    >xmlScanName ()

    xmlScanName ()

    TODO: seems deprecated now, only used in the default part of - xmlParserHandleReference

    [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | - CombiningChar | Extender

    [5] Name ::= (Letter | '_' | ':') (NameChar)*


    >xmlParseName ()

    xmlParseName ()
    parse an XML name.

    [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | - CombiningChar | Extender

    [5] Name ::= (Letter | '_' | ':') (NameChar)*


    >xmlParseNmtoken ()

    xmlParseNmtoken ()


    >xmlParseEntityValue ()

    xmlParseEntityValue ()
    parse a value for ENTITY declarations

    [9] EntityValue ::= '"' ([^%&"] | PEReference | Reference)* '"' | - "'" ([^%&'] | PEReference | Reference)* "'"


    >xmlParseAttValue ()

    xmlParseAttValue ()

    [10] AttValue ::= '"' ([^<&"] | Reference)* '"' | - "'" ([^<&'] | Reference)* "'"

    3.3.3 Attribute-Value Normalization: Before the value of an attribute is passed to the application or checked for validity, the XML processor must normalize it as follows: - a character reference is processed by appending the referenced - character to the attribute value +character to the attribute value - an entity reference is processed by recursively processing the - replacement text of the entity +replacement text of the entity - a whitespace character (x20x9) is processed by - appending x20 to the normalized value, except that only a single - x20 is appended for a "xA" sequence that is part of an external - parsed entity or the literal entity value of an internal parsed entity +parsed entity or the literal entity value of an internal parsed entity - other characters are processed by appending them to the normalized value If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and @@ -5403,7 +5403,7 @@ by a non-validating parser as if declared CDATA.


    >xmlParseSystemLiteral ()

    xmlParseSystemLiteral ()


    >xmlParsePubidLiteral ()

    xmlParsePubidLiteral ()


    >xmlParseCharData ()

    xmlParseCharData ()


    >xmlParseExternalID ()

    xmlParseExternalID ()
    Parse an External ID or a Public ID

    NOTE: Productions [75] and [83] interact badly since [75] can generate - 'PUBLIC' S PubidLiteral S SystemLiteral

    [75] ExternalID ::= 'SYSTEM' S SystemLiteral - | 'PUBLIC' S PubidLiteral S SystemLiteral

    [83] PublicID ::= 'PUBLIC' S PubidLiteral

    indicate whether we should restrict parsing to only - production [75], see NOTE below
    the function returns SystemLiteral and in the second - case publicID receives PubidLiteral, is strict is off - it is possible to return NULL and have publicID set.

    >xmlParseComment ()

    xmlParseComment ()

    Skip an XML (SGML) comment <!-- .... --> - The spec says that "For compatibility, the string "--" (double-hyphen) - must not occur within comments. "

    [15] Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'


    >xmlParsePITarget ()

    xmlParsePITarget ()


    >xmlParsePI ()

    xmlParsePI ()


    >xmlParseNotationDecl ()

    xmlParseNotationDecl ()
    [82] NotationDecl ::= '<!NOTATION' S Name S (ExternalID | PublicID) S? '>'

    Hence there is actually 3 choices: - 'PUBLIC' S PubidLiteral - 'PUBLIC' S PubidLiteral S SystemLiteral +'PUBLIC' S PubidLiteral +'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S SystemLiteral

    See the NOTE on


    >xmlParseEntityDecl ()

    xmlParseEntityDecl ()


    >xmlParseDefaultDecl ()

    xmlParseDefaultDecl ()

    XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, XML_ATTRIBUTE_IMPLIED - or XML_ATTRIBUTE_FIXED.

    >xmlParseNotationType ()

    xmlParseNotationType ()


    >xmlParseEnumerationType ()

    xmlParseEnumerationType ()


    >xmlParseEnumeratedType ()

    xmlParseEnumeratedType ()


    >xmlParseAttributeType ()

    xmlParseAttributeType ()
    [55] StringType ::= 'CDATA'

    [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | - 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS'

    Validity constraints for attribute values syntax are checked in


    >xmlParseAttributeListDecl ()

    xmlParseAttributeListDecl ()


    >xmlParseElementMixedContentDecl ()

    xmlParseElementMixedContentDecl ()
    PCDATA' (S? '|' S? Name)* S? ')*' | - '(' S? 'PCDATA' S? ')'


    >xmlParseElementChildrenContentD ()

    xmlParseElementChildrenContentD ()

    the tree of xmlElementContentPtr describing the element - hierarchy.

    >xmlParseElementChildrenContentDecl ()

    xmlParseElementChildrenContentDecl ()

    the tree of xmlElementContentPtr describing the element - hierarchy.

    >xmlParseElementContentDecl ()

    xmlParseElementContentDecl ()


    >xmlParseElementDecl ()

    xmlParseElementDecl ()


    >xmlParseMarkupDecl ()

    xmlParseMarkupDecl ()
    parse Markup declarations

    [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | - NotationDecl | PI | Comment

    [ VC: Proper Declaration/PE Nesting ] Parameter-entity replacement text must be properly nested with @@ -7522,7 +7522,7 @@ entities or to the external subset.)


    >xmlParseCharRef ()

    xmlParseCharRef ()
    parse Reference declarations

    [66] CharRef ::= '&#' [0-9]+ ';' | - '&x' [0-9a-fA-F]+ ';'


    >xmlParseEntityRef ()

    xmlParseEntityRef ()


    >xmlParseReference ()

    xmlParseReference ()


    >xmlParsePEReference ()

    xmlParsePEReference ()


    >xmlParseDocTypeDecl ()

    xmlParseDocTypeDecl ()
    parse a DOCTYPE declaration

    [28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S? - ('[' (markupdecl | PEReference | S)* ']' S?)? '>'

    [ VC: Root Element Type ] The Name in the document type declaration must match the element @@ -7966,7 +7966,7 @@ type of the root element.


    >xmlParseAttribute ()

    xmlParseAttribute ()


    >xmlParseStartTag ()

    xmlParseStartTag ()


    >xmlParseEndTag ()

    xmlParseEndTag ()


    >xmlParseCDSect ()

    xmlParseCDSect ()


    >xmlParseContent ()

    xmlParseContent ()


    >xmlParseElement ()

    xmlParseElement ()
    [ VC: Element Valid ] An element is valid if there is a declaration matching elementdecl where the Name matches the element type and one of the following holds: - - The declaration matches EMPTY and the element has no content. - - The declaration matches children and the sequence of child elements - belongs to the language generated by the regular expression in the - content model, with optional white space (characters matching the - nonterminal S) between each pair of child elements. - - The declaration matches Mixed and the content consists of character - data and child elements whose types match names in the content model. - - The declaration matches ANY, and the types of any child elements have - been declared.


    >xmlParseVersionNum ()

    xmlParseVersionNum ()


    >xmlParseVersionInfo ()

    xmlParseVersionInfo ()


    >xmlParseEncName ()

    xmlParseEncName ()


    >xmlParseEncodingDecl ()

    xmlParseEncodingDecl ()


    >xmlParseSDDecl ()

    xmlParseSDDecl ()
    parse the XML standalone declaration

    [32] SDDecl ::= S 'standalone' Eq - (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no')'"'))

    [ VC: Standalone Document Declaration ] TODO The standalone document declaration must have the value "no" if any external markup declarations contain declarations of: - - attributes with default values, if elements to which these - attributes apply appear in the document without specifications - of values for these attributes, or - - entities (other than amp, lt, gt, apos, quot), if references - to those entities appear in the document, or - - attributes with values subject to normalization, where the - attribute appears in the document with a value which will change - as a result of normalization, or - - element types with element content, if white space occurs directly - within any instance of those types.


    >xmlParseXMLDecl ()

    xmlParseXMLDecl ()


    >xmlParseTextDecl ()

    xmlParseTextDecl ()


    >xmlParseMisc ()

    xmlParseMisc ()


    >xmlParseExternalSubset ()

    xmlParseExternalSubset ()


    >XML_SUBSTITUTE_NONE

    XML_SUBSTITUTE_NONE

    >XML_SUBSTITUTE_REF

    XML_SUBSTITUTE_REF

    >XML_SUBSTITUTE_PEREF

    XML_SUBSTITUTE_PEREF

    >XML_SUBSTITUTE_BOTH

    XML_SUBSTITUTE_BOTH

    >xmlDecodeEntities ()

    xmlDecodeEntities ()

    A newly allocated string with the substitution done. The caller - must deallocate it !

    >xmlStringDecodeEntities ()

    xmlStringDecodeEntities ()

    A newly allocated string with the substitution done. The caller - must deallocate it !

    >nodePush ()

    nodePush ()


    >nodePop ()

    nodePop ()


    >inputPush ()

    inputPush ()


    >inputPop ()

    inputPop ()


    >namePop ()

    namePop ()


    >namePush ()

    namePush ()


    >xmlSkipBlankChars ()

    xmlSkipBlankChars ()


    >xmlStringCurrentChar ()

    xmlStringCurrentChar ()


    >xmlParserHandlePEReference ()

    xmlParserHandlePEReference ()

    A PEReference may have been detected in the current input stream the handling is done accordingly to - http://www.w3.org/TR/REC-xmlentproc i.e. - - Included in literal in entity values - - Included as Parameter Entity reference within DTDs


    >xmlParserHandleReference ()

    xmlParserHandleReference ()

    TODO: Remove, now deprecated ... the test is done directly in the - content parsing +content parsing routines.

    [67] Reference ::= EntityRef | CharRef

    [66] CharRef ::= '&#' [0-9]+ ';' | - '&x' [0-9a-fA-F]+ ';'

    A PEReference may have been detected in the current input stream the handling is done accordingly to - http://www.w3.org/TR/REC-xmlentproc


    >xmlCheckLanguageID ()

    xmlCheckLanguageID ()Checks that the value conforms to the LanguageID production:

    NOTE: this is somewhat deprecated, those productions were removed from - the XML Second edition.

    [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode @@ -10835,7 +10835,7 @@ HREF="libxml-tree.html#XMLCHAR" >


    >xmlCurrentChar ()

    xmlCurrentChar ()


    >xmlCopyCharMultiByte ()

    xmlCopyCharMultiByte ()


    >xmlCopyChar ()

    xmlCopyChar ()


    >xmlNextChar ()

    xmlNextChar ()


    >xmlParserInputShrink ()

    xmlParserInputShrink ()


    >htmlInitAutoClose ()

    htmlInitAutoClose ()

    >htmlCreateFileParserCtxt ()

    htmlCreateFileParserCtxt ()


    >xmlEntityReferenceFunc ()

    xmlEntityReferenceFunc ()


    >xmlSetEntityReferenceFunc ()

    xmlSetEntityReferenceFunc ()

    >getPublicId ()getPublicId ()
    >getSystemId ()getSystemId ()
    >setDocumentLocator ()setDocumentLocator ()
    >getLineNumber ()getLineNumber ()
    >getColumnNumber ()getColumnNumber ()
    >isStandalone ()isStandalone ()
    >hasInternalSubset ()hasInternalSubset ()
    >hasExternalSubset ()hasExternalSubset ()
    >internalSubset ()internalSubset ()
    >externalSubset ()externalSubset ()
    >getEntity ()getEntity ()
    >getParameterEntity ()getParameterEntity ()
    >resolveEntity ()resolveEntity ()

    The entity loader, to control the loading of external entities, the application can either: - - override this resolveEntity() callback in the SAX block - - or better use the xmlSetExternalEntityLoader() function to - set up it's own entity resolution routine

    >entityDecl ()entityDecl ()
    >attributeDecl ()attributeDecl ()
    >elementDecl ()elementDecl ()
    >notationDecl ()notationDecl ()
    >unparsedEntityDecl ()unparsedEntityDecl ()
    >startDocument ()startDocument ()
    >endDocument ()endDocument ()
    >attribute ()attribute ()
    >startElement ()startElement ()
    >endElement ()endElement ()
    >reference ()reference ()
    >characters ()characters ()
    >ignorableWhitespace ()ignorableWhitespace ()
    >processingInstruction ()processingInstruction ()
    >globalNamespace ()globalNamespace ()
    >setNamespace ()setNamespace ()
    >getNamespace ()getNamespace ()
    >checkNamespace ()checkNamespace ()
    >namespaceDecl ()namespaceDecl ()
    >comment ()comment ()
    >cdataBlock ()cdataBlock ()
    >initxmlDefaultSAXHandler ()initxmlDefaultSAXHandler ()
    >inithtmlDefaultSAXHandler ()inithtmlDefaultSAXHandler ()
    >initdocbDefaultSAXHandler ()initdocbDefaultSAXHandler ()
    >xmlDefaultSAXHandlerInit ()xmlDefaultSAXHandlerInit ()
    >htmlDefaultSAXHandlerInit ()htmlDefaultSAXHandlerInit ()
    >docbDefaultSAXHandlerInit ()docbDefaultSAXHandlerInit ()

    Name

    Synopsis

    Description

    Details

    >struct xmlMutex

    struct xmlMutex

    >xmlMutexPtr

    xmlMutexPtr

    >struct xmlRMutex

    struct xmlRMutex

    >xmlRMutexPtr

    xmlRMutexPtr

    >xmlNewMutex ()

    xmlNewMutex ()


    >xmlMutexLock ()

    xmlMutexLock ()


    >xmlMutexUnlock ()

    xmlMutexUnlock ()


    >xmlFreeMutex ()

    xmlFreeMutex ()


    >xmlNewRMutex ()

    xmlNewRMutex ()


    >xmlRMutexLock ()

    xmlRMutexLock ()


    >xmlRMutexUnlock ()

    xmlRMutexUnlock ()


    >xmlFreeRMutex ()

    xmlFreeRMutex ()


    >xmlInitThreads ()

    xmlInitThreads ()

    >xmlLockLibrary ()

    xmlLockLibrary ()

    >xmlUnlockLibrary ()

    xmlUnlockLibrary ()

    >xmlGetThreadId ()

    xmlGetThreadId ()


    >xmlIsMainThread ()

    xmlIsMainThread ()


    >xmlCleanupThreads ()

    xmlCleanupThreads ()

    >xmlGetGlobalState ()

    xmlGetGlobalState ()
    >struct xmlParserInputBufferstruct xmlParserInputBuffer>xmlParserInputBufferPtrxmlParserInputBufferPtr
    >struct xmlOutputBufferstruct xmlOutputBuffer
    >xmlOutputBufferPtrxmlOutputBufferPtr
    >struct xmlParserInputstruct xmlParserInput
    >xmlParserInputPtrxmlParserInputPtr
    >struct xmlParserCtxtstruct xmlParserCtxt

    The parser context. NOTE This doesn't completely defines the parser state, the (current ?) - design of the parser uses recursive function calls since this allow - and easy mapping from the production rules of the specification - to the actual code. The drawback is that the actual function call - also reflect the parser state. However most of the parsing routines - takes as the only argument the parser context pointer, so migrating - to a state based parser for progressive parsing shouldn't be too hard.

    >xmlParserCtxtPtrxmlParserCtxtPtr
    >struct xmlSAXLocatorstruct xmlSAXLocator
    >xmlSAXLocatorPtrxmlSAXLocatorPtr
    >struct xmlSAXHandlerstruct xmlSAXHandler
    >xmlSAXHandlerPtrxmlSAXHandlerPtr
    >struct xmlEntitystruct xmlEntity
    >xmlEntityPtrxmlEntityPtr
    >BASE_BUFFER_SIZEBASE_BUFFER_SIZE
    >XML_XML_NAMESPACEXML_XML_NAMESPACE
    >enum xmlElementTypeenum xmlElementType
    >xmlCharxmlChar
    >BAD_CASTBAD_CAST
    >struct xmlNotationstruct xmlNotation
    >xmlNotationPtrxmlNotationPtr
    >enum xmlAttributeTypeenum xmlAttributeType
    >enum xmlAttributeDefaultenum xmlAttributeDefault
    >struct xmlEnumerationstruct xmlEnumeration
    >xmlEnumerationPtrxmlEnumerationPtr
    >struct xmlAttributestruct xmlAttribute
    >xmlAttributePtrxmlAttributePtr
    >enum xmlElementContentTypeenum xmlElementContentType
    >enum xmlElementContentOccurenum xmlElementContentOccur
    >struct xmlElementContentstruct xmlElementContent
    >xmlElementContentPtrxmlElementContentPtr
    >enum xmlElementTypeValenum xmlElementTypeVal
    >struct xmlElementstruct xmlElement
    >xmlElementPtrxmlElementPtr
    >XML_LOCAL_NAMESPACEXML_LOCAL_NAMESPACE
    >xmlNsTypexmlNsType
    >struct xmlNsstruct xmlNs
    >xmlNsPtrxmlNsPtr
    >struct xmlDtdstruct xmlDtd
    >xmlDtdPtrxmlDtdPtr
    >struct xmlAttrstruct xmlAttr
    >xmlAttrPtrxmlAttrPtr
    >struct xmlIDstruct xmlID
    >xmlIDPtrxmlIDPtr
    >struct xmlRefstruct xmlRef
    >xmlRefPtrxmlRefPtr
    >enum xmlBufferAllocationSchemeenum xmlBufferAllocationScheme
    >struct xmlBufferstruct xmlBuffer
    >xmlBufferPtrxmlBufferPtr
    >struct xmlNodestruct xmlNode
    >xmlNodePtrxmlNodePtr
    >XML_GET_CONTENT()XML_GET_CONTENT()
    >XML_GET_LINE()XML_GET_LINE()
    >struct xmlDocstruct xmlDoc
    >xmlDocPtrxmlDocPtr
    >xmlChildrenNodexmlChildrenNode
    >xmlRootNodexmlRootNode
    >xmlSetBufferAllocationScheme ()xmlSetBufferAllocationScheme ()
    Set the buffer allocation method. Types are XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, - improves performance

    >xmlGetBufferAllocationScheme ()xmlGetBufferAllocationScheme ()
    Types are XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, - improves performance

    >xmlBufferCreate ()xmlBufferCreate ()
    >xmlBufferCreateSize ()xmlBufferCreateSize ()
    >xmlBufferResize ()xmlBufferResize ()
    >xmlBufferFree ()xmlBufferFree ()
    >xmlBufferDump ()xmlBufferDump ()
    >xmlBufferAdd ()xmlBufferAdd ()
    >xmlBufferAddHead ()xmlBufferAddHead ()
    >xmlBufferCat ()xmlBufferCat ()
    >xmlBufferCCat ()xmlBufferCCat ()
    >xmlBufferShrink ()xmlBufferShrink ()
    >xmlBufferGrow ()xmlBufferGrow ()
    >xmlBufferEmpty ()xmlBufferEmpty ()
    >xmlBufferContent ()xmlBufferContent ()
    >xmlBufferSetAllocationScheme ()xmlBufferSetAllocationScheme ()
    >xmlBufferLength ()xmlBufferLength ()
    >xmlCreateIntSubset ()xmlCreateIntSubset ()
    >xmlNewDtd ()xmlNewDtd ()
    >xmlGetIntSubset ()xmlGetIntSubset ()
    >xmlFreeDtd ()xmlFreeDtd ()
    >xmlNewGlobalNs ()xmlNewGlobalNs ()

    Creation of a Namespace, the old way using PI and without scoping - DEPRECATED !!! +DEPRECATED !!! It now create a namespace on the root element of the document if found.

    >xmlNewNs ()xmlNewNs ()>xmlFreeNs ()xmlFreeNs ()
    >xmlFreeNsList ()xmlFreeNsList ()
    >xmlNewDoc ()xmlNewDoc ()
    >xmlFreeDoc ()xmlFreeDoc ()
    >xmlNewDocProp ()xmlNewDocProp ()
    >xmlNewProp ()xmlNewProp ()
    >xmlNewNsProp ()xmlNewNsProp ()
    >xmlFreePropList ()xmlFreePropList ()
    >xmlFreeProp ()xmlFreeProp ()
    >xmlCopyProp ()xmlCopyProp ()
    >xmlCopyPropList ()xmlCopyPropList ()
    >xmlCopyDtd ()xmlCopyDtd ()
    >xmlCopyDoc ()xmlCopyDoc ()
    >xmlNewDocNode ()xmlNewDocNode ()
    content is supposed to be a piece of XML CDATA, so it allow entities - references, but XML special chars need to be escaped first by using - xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't - need entities support.

    >xmlNewDocRawNode ()xmlNewDocRawNode ()
    >xmlNewNode ()xmlNewNode ()
    >xmlNewChild ()xmlNewChild ()
    content is supposed to be a piece of XML CDATA, so it allow entities - references, but XML special chars need to be escaped first by using - xmlEncodeEntitiesReentrant(). Use xmlNewTextChild() if entities - support is not needed.

    >xmlNewTextChild ()xmlNewTextChild ()
    >xmlNewDocText ()xmlNewDocText ()
    >xmlNewText ()xmlNewText ()
    >xmlNewPI ()xmlNewPI ()
    >xmlNewDocTextLen ()xmlNewDocTextLen ()
    >xmlNewTextLen ()xmlNewTextLen ()
    >xmlNewDocComment ()xmlNewDocComment ()
    >xmlNewComment ()xmlNewComment ()
    >xmlNewCDataBlock ()xmlNewCDataBlock ()
    >xmlNewCharRef ()xmlNewCharRef ()
    >xmlNewReference ()xmlNewReference ()
    >xmlCopyNode ()xmlCopyNode ()
    >xmlDocCopyNode ()xmlDocCopyNode ()
    >xmlCopyNodeList ()xmlCopyNodeList ()
    >xmlNewDocFragment ()xmlNewDocFragment ()
    >xmlGetLineNo ()xmlGetLineNo ()
    >xmlGetNodePath ()xmlGetNodePath ()
    the new path or NULL in case of error. The caller must free - the returned string
    >xmlDocGetRootElement ()xmlDocGetRootElement ()>xmlGetLastChild ()xmlGetLastChild ()
    >xmlNodeIsText ()xmlNodeIsText ()
    >xmlIsBlankNode ()xmlIsBlankNode ()
    >xmlDocSetRootElement ()xmlDocSetRootElement ()
    >xmlNodeSetName ()xmlNodeSetName ()
    >xmlAddChild ()xmlAddChild ()
    >xmlAddChildList ()xmlAddChildList ()
    >xmlReplaceNode ()xmlReplaceNode ()
    >xmlAddSibling ()xmlAddSibling ()
    >xmlAddPrevSibling ()xmlAddPrevSibling ()
    >xmlAddNextSibling ()xmlAddNextSibling ()
    >xmlUnlinkNode ()xmlUnlinkNode ()
    >xmlTextMerge ()xmlTextMerge ()
    >xmlTextConcat ()xmlTextConcat ()
    >xmlFreeNodeList ()xmlFreeNodeList ()
    >xmlFreeNode ()xmlFreeNode ()
    >xmlSetTreeDoc ()xmlSetTreeDoc ()
    >xmlSetListDoc ()xmlSetListDoc ()
    >xmlSearchNs ()xmlSearchNs ()
    >xmlSearchNsByHref ()xmlSearchNsByHref ()
    >xmlGetNsList ()xmlGetNsList ()
    xmlNsPtr found - that need to be freed by the caller or NULL if no - namespace if defined
    >xmlSetNs ()xmlSetNs ()>xmlCopyNamespace ()xmlCopyNamespace ()
    >xmlCopyNamespaceList ()xmlCopyNamespaceList ()
    >xmlSetProp ()xmlSetProp ()
    >xmlGetProp ()xmlGetProp ()
    the attribute value or NULL if not found. - It's up to the caller to free the memory.
    >xmlHasProp ()xmlHasProp ()the attribute or the attribute declaration or NULL if - neither was found.
    >xmlHasNsProp ()xmlHasNsProp ()the attribute or the attribute declaration or NULL - if neither was found.
    >xmlSetNsProp ()xmlSetNsProp ()>xmlGetNsProp ()xmlGetNsProp ()
    the attribute value or NULL if not found. - It's up to the caller to free the memory.
    >xmlStringGetNodeList ()xmlStringGetNodeList ()>xmlStringLenGetNodeList ()xmlStringLenGetNodeList ()
    >xmlNodeListGetString ()xmlNodeListGetString ()
    >xmlNodeListGetRawString ()xmlNodeListGetRawString ()
    >xmlNodeSetContent ()xmlNodeSetContent ()
    >xmlNodeSetContentLen ()xmlNodeSetContentLen ()
    >xmlNodeAddContent ()xmlNodeAddContent ()
    >xmlNodeAddContentLen ()xmlNodeAddContentLen ()
    >xmlNodeGetContent ()xmlNodeGetContent ()
    xmlChar * or NULL if no content is available. - It's up to the caller to free the memory.
    >xmlNodeGetLang ()xmlNodeGetLang ()a pointer to the lang value, or NULL if not found - It's up to the caller to free the memory.
    >xmlNodeSetLang ()xmlNodeSetLang ()>xmlNodeGetSpacePreserve ()xmlNodeGetSpacePreserve ()
    >xmlNodeSetSpacePreserve ()xmlNodeSetSpacePreserve ()
    >xmlNodeGetBase ()xmlNodeGetBase ()
    a pointer to the base URL, or NULL if not found - It's up to the caller to free the memory.
    >xmlNodeSetBase ()xmlNodeSetBase ()>xmlRemoveProp ()xmlRemoveProp ()
    >xmlUnsetProp ()xmlUnsetProp ()
    >xmlUnsetNsProp ()xmlUnsetNsProp ()
    >xmlBufferWriteXmlCHAR ()xmlBufferWriteXmlCHAR ()
    >xmlBufferWriteCHAR ()xmlBufferWriteCHAR ()
    >xmlBufferWriteChar ()xmlBufferWriteChar ()
    >xmlBufferWriteQuotedString ()xmlBufferWriteQuotedString ()
    >xmlReconciliateNs ()xmlReconciliateNs ()
    >xmlDocDumpFormatMemory ()xmlDocDumpFormatMemory ()
    >xmlDocDumpMemory ()xmlDocDumpMemory ()
    >xmlDocDumpMemoryEnc ()xmlDocDumpMemoryEnc ()
    >xmlDocDumpFormatMemoryEnc ()xmlDocDumpFormatMemoryEnc ()
    >xmlDocDump ()xmlDocDump ()
    >xmlElemDump ()xmlElemDump ()
    >xmlSaveFile ()xmlSaveFile ()
    >xmlSaveFormatFile ()xmlSaveFormatFile ()
    >xmlNodeDump ()xmlNodeDump ()
    >xmlSaveFileTo ()xmlSaveFileTo ()
    >xmlSaveFormatFileTo ()xmlSaveFormatFileTo ()
    >xmlNodeDumpOutput ()xmlNodeDumpOutput ()
    >xmlSaveFormatFileEnc ()xmlSaveFormatFileEnc ()
    >xmlSaveFileEnc ()xmlSaveFileEnc ()
    >xmlGetDocCompressMode ()xmlGetDocCompressMode ()
    >xmlSetDocCompressMode ()xmlSetDocCompressMode ()
    >xmlGetCompressMode ()xmlGetCompressMode ()
    >xmlSetCompressMode ()xmlSetCompressMode ()
    >struct xmlURIstruct xmlURI
    >xmlURIPtrxmlURIPtr
    >xmlCreateURI ()xmlCreateURI ()
    >xmlBuildURI ()xmlBuildURI ()
    a new URI string (to be freed by the caller) or NULL in case - of error.
    >xmlParseURI ()xmlParseURI ()>xmlParseURIReference ()xmlParseURIReference ()
    >xmlSaveUri ()xmlSaveUri ()
    >xmlPrintURI ()xmlPrintURI ()
    >xmlURIEscapeStr ()xmlURIEscapeStr ()
    >xmlURIUnescapeString ()xmlURIUnescapeString ()
    >xmlNormalizeURIPath ()xmlNormalizeURIPath ()
    >xmlURIEscape ()xmlURIEscape ()
    >xmlFreeURI ()xmlFreeURI ()>struct xmlValidStatestruct xmlValidState
    >xmlValidStatePtrxmlValidStatePtr
    >xmlValidityErrorFunc ()xmlValidityErrorFunc ()
    >xmlValidityWarningFunc ()xmlValidityWarningFunc ()
    >struct xmlValidCtxtstruct xmlValidCtxt
    >xmlValidCtxtPtrxmlValidCtxtPtr
    >xmlNotationTablePtrxmlNotationTablePtr
    >xmlElementTablePtrxmlElementTablePtr
    >xmlAttributeTablePtrxmlAttributeTablePtr
    >xmlIDTablePtrxmlIDTablePtr
    >xmlRefTablePtrxmlRefTablePtr
    >xmlSplitQName2 ()xmlSplitQName2 ()
    NULL if not a QName, otherwise the local part, and prefix - is updated to get the Prefix if any.
    >xmlAddNotationDecl ()xmlAddNotationDecl ()>xmlCopyNotationTable ()xmlCopyNotationTable ()
    >xmlFreeNotationTable ()xmlFreeNotationTable ()
    >xmlDumpNotationDecl ()xmlDumpNotationDecl ()
    >xmlDumpNotationTable ()xmlDumpNotationTable ()
    >xmlNewElementContent ()xmlNewElementContent ()
    >xmlCopyElementContent ()xmlCopyElementContent ()
    >xmlFreeElementContent ()xmlFreeElementContent ()
    >xmlSnprintfElementContent ()xmlSnprintfElementContent ()
    >xmlSprintfElementContent ()xmlSprintfElementContent ()
    >xmlAddElementDecl ()xmlAddElementDecl ()
    >xmlCopyElementTable ()xmlCopyElementTable ()
    >xmlFreeElementTable ()xmlFreeElementTable ()
    >xmlDumpElementTable ()xmlDumpElementTable ()
    >xmlDumpElementDecl ()xmlDumpElementDecl ()
    >xmlCreateEnumeration ()xmlCreateEnumeration ()
    the xmlEnumerationPtr just created or NULL in case - of error.
    >xmlFreeEnumeration ()xmlFreeEnumeration ()>xmlCopyEnumeration ()xmlCopyEnumeration ()
    the xmlEnumerationPtr just created or NULL in case - of error.
    >xmlAddAttributeDecl ()xmlAddAttributeDecl ()>xmlCopyAttributeTable ()xmlCopyAttributeTable ()
    >xmlFreeAttributeTable ()xmlFreeAttributeTable ()
    >xmlDumpAttributeTable ()xmlDumpAttributeTable ()
    >xmlDumpAttributeDecl ()xmlDumpAttributeDecl ()
    >xmlAddID ()xmlAddID ()
    >xmlFreeIDTable ()xmlFreeIDTable ()
    >xmlGetID ()xmlGetID ()
    >xmlIsID ()xmlIsID ()
    >xmlRemoveID ()xmlRemoveID ()
    >xmlAddRef ()xmlAddRef ()
    >xmlFreeRefTable ()xmlFreeRefTable ()
    >xmlIsRef ()xmlIsRef ()
    >xmlRemoveRef ()xmlRemoveRef ()
    >xmlGetRefs ()xmlGetRefs ()
    >xmlValidateRoot ()xmlValidateRoot ()
    Try to validate a the root element basically it does the following check as described by the XML-1.0 recommendation: - - [ VC: Root Element Type ] +- [ VC: Root Element Type ] it doesn't try to recurse or apply other check to the element

    >xmlValidateElementDecl ()xmlValidateElementDecl ()
    Try to validate a single element definition basically it does the following checks as described by the XML-1.0 recommendation: - - [ VC: One ID per Element Type ] - - [ VC: No Duplicate Types ] - - [ VC: Unique Element Type Declaration ]

    >xmlValidNormalizeAttributeValue ()xmlValidNormalizeAttributeValue ()
    a new normalized string if normalization is needed, NULL otherwise - the caller must free the returned value.
    >xmlValidCtxtNormalizeAttributeValue ()xmlValidCtxtNormalizeAttributeValue ()) character.

    Also check VC: Standalone Document Declaration in P32, and update - ctxt->valid accordingly

    a new normalized string if normalization is needed, NULL otherwise - the caller must free the returned value.
    >xmlValidateAttributeDecl ()xmlValidateAttributeDecl ()Try to validate a single attribute definition basically it does the following checks as described by the XML-1.0 recommendation: - - [ VC: Attribute Default Legal ] - - [ VC: Enumeration ] - - [ VC: ID Attribute Default ]

    The ID/IDREF uniqueness and matching are done separately

    >xmlValidateAttributeValue ()xmlValidateAttributeValue ()

    >xmlValidateNotationDecl ()xmlValidateNotationDecl ()
    Try to validate a single notation definition basically it does the following checks as described by the XML-1.0 recommendation: - - it seems that no validity constraint exists on notation declarations +- it seems that no validity constraint exists on notation declarations But this function get called anyway ...

    >xmlValidateDtd ()xmlValidateDtd ()
    >xmlValidateDtdFinal ()xmlValidateDtdFinal ()

    basically it does the following checks described by the XML Rec - check that ENTITY and ENTITIES type attributes default or - possible values matches one of the defined entities. +possible values matches one of the defined entities. - check that NOTATION type attributes default or - possible values matches one of the defined notations.

    >xmlValidateDocument ()xmlValidateDocument ()
    >xmlValidateElement ()xmlValidateElement ()
    >xmlValidateOneElement ()xmlValidateOneElement ()
    Try to validate a single element and it's attributes, basically it does the following checks as described by the XML-1.0 recommendation: - - [ VC: Element Valid ] - - [ VC: Required Attribute ] +- [ VC: Element Valid ] +- [ VC: Required Attribute ] Then call xmlValidateOneAttribute>xmlValidateOneAttribute ()xmlValidateOneAttribute ()
    Try to validate a single attribute for an element basically it does the following checks as described by the XML-1.0 recommendation: - - [ VC: Attribute Value Type ] - - [ VC: Fixed Attribute Default ] - - [ VC: Entity Name ] - - [ VC: Name Token ] - - [ VC: ID ] - - [ VC: IDREF ] - - [ VC: Entity Name ] - - [ VC: Notation Attributes ]

    The ID/IDREF uniqueness and matching are done separately

    >xmlValidateDocumentFinal ()xmlValidateDocumentFinal ()

    >xmlValidateNotationUse ()xmlValidateNotationUse ()
    >xmlIsMixedElement ()xmlIsMixedElement ()
    >xmlGetDtdAttrDesc ()xmlGetDtdAttrDesc ()
    >xmlGetDtdQAttrDesc ()xmlGetDtdQAttrDesc ()
    >xmlGetDtdNotationDesc ()xmlGetDtdNotationDesc ()
    >xmlGetDtdQElementDesc ()xmlGetDtdQElementDesc ()
    >xmlGetDtdElementDesc ()xmlGetDtdElementDesc ()
    >xmlValidGetValidElements ()xmlValidGetValidElements ()
    next in the following ways: - to insert before 'node': xmlValidGetValidElements(node->prev, node, ... - to insert next 'node': xmlValidGetValidElements(node, node->next, ... - to replace 'node': xmlValidGetValidElements(node->prev, node->next, ... - to prepend a child to 'node': xmlValidGetValidElements(NULL, node->childs, - to append a child to 'node': xmlValidGetValidElements(node->last, NULL, ...

    pointers to the element names are inserted at the beginning of the array and do not need to be freed.

    the number of element in the list, or -1 in case of error. If - the function returns the value max the caller is invited to grow the - receiving array and retry.
    >xmlValidGetPotentialChildren ()xmlValidGetPotentialChildren ()>xmlXIncludeProcess ()xmlXIncludeProcess ()
    0 if no substitution were done, -1 if some processing failed - or the number of substitutions done.
    >enum xmlParserErrorsenum xmlParserErrors>xmlGenericErrorFunc ()xmlGenericErrorFunc ()
    >xmlSetGenericErrorFunc ()xmlSetGenericErrorFunc ()
    >initGenericErrorDefaultFunc ()initGenericErrorDefaultFunc ()
    >xmlParserError ()xmlParserError ()
    >xmlParserWarning ()xmlParserWarning ()
    >xmlParserValidityError ()xmlParserValidityError ()
    >xmlParserValidityWarning ()xmlParserValidityWarning ()
    >xmlParserPrintFileInfo ()xmlParserPrintFileInfo ()
    >xmlParserPrintFileContext ()xmlParserPrintFileContext ()
    >xmlInputMatchCallback ()xmlInputMatchCallback ()
    >xmlInputOpenCallback ()xmlInputOpenCallback ()
    >xmlInputReadCallback ()xmlInputReadCallback ()
    >xmlInputCloseCallback ()xmlInputCloseCallback ()
    >struct xmlParserInputBufferstruct xmlParserInputBuffer
    >xmlOutputMatchCallback ()xmlOutputMatchCallback ()
    >xmlOutputOpenCallback ()xmlOutputOpenCallback ()
    >xmlOutputWriteCallback ()xmlOutputWriteCallback ()
    >xmlOutputCloseCallback ()xmlOutputCloseCallback ()
    >struct xmlOutputBufferstruct xmlOutputBuffer
    >xmlCleanupInputCallbacks ()xmlCleanupInputCallbacks ()
    >xmlCleanupOutputCallbacks ()xmlCleanupOutputCallbacks ()
    >xmlRegisterDefaultInputCallbacks ()xmlRegisterDefaultInputCallbacks ()
    >xmlAllocParserInputBuffer ()xmlAllocParserInputBuffer ()
    >xmlParserInputBufferCreateFname ()xmlParserInputBufferCreateFname ()
    >xmlParserInputBufferCreateFilename ()xmlParserInputBufferCreateFilename ()
    >xmlParserInputBufferCreateFile ()xmlParserInputBufferCreateFile ()
    >xmlParserInputBufferCreateFd ()xmlParserInputBufferCreateFd ()
    >xmlParserInputBufferCreateMem ()xmlParserInputBufferCreateMem ()
    >xmlParserInputBufferCreateIO ()xmlParserInputBufferCreateIO ()
    >xmlParserInputBufferRead ()xmlParserInputBufferRead ()
    the number of chars read and stored in the buffer, or -1 - in case of error.
    >xmlParserInputBufferGrow ()xmlParserInputBufferGrow ()

    TODO: one should be able to remove one extra copy by copying directly - onto in->buffer or in->raw

    the number of chars read and stored in the buffer, or -1 - in case of error.
    >xmlParserInputBufferPush ()xmlParserInputBufferPush ()the number of chars read and stored in the buffer, or -1 - in case of error.
    >xmlFreeParserInputBuffer ()xmlFreeParserInputBuffer ()>xmlParserGetDirectory ()xmlParserGetDirectory ()
    >xmlRegisterInputCallbacks ()xmlRegisterInputCallbacks ()
    >xmlRegisterDefaultOutputCallbacks ()xmlRegisterDefaultOutputCallbacks ()
    >xmlAllocOutputBuffer ()xmlAllocOutputBuffer ()
    >xmlOutputBufferCreateFilename ()xmlOutputBufferCreateFilename ()

    >xmlOutputBufferCreateFile ()xmlOutputBufferCreateFile ()
    >xmlOutputBufferCreateFd ()xmlOutputBufferCreateFd ()
    >xmlOutputBufferCreateIO ()xmlOutputBufferCreateIO ()
    >xmlOutputBufferWrite ()xmlOutputBufferWrite ()
    the number of chars immediately written, or -1 - in case of error.
    >xmlOutputBufferWriteString ()xmlOutputBufferWriteString ()the number of chars immediately written, or -1 - in case of error.
    >xmlOutputBufferFlush ()xmlOutputBufferFlush ()>xmlOutputBufferClose ()xmlOutputBufferClose ()
    >xmlRegisterOutputCallbacks ()xmlRegisterOutputCallbacks ()
    >xmlIOHTTPOpenW ()xmlIOHTTPOpenW ()
    >xmlRegisterHTTPPostCallbacks ()xmlRegisterHTTPPostCallbacks ()
    >xmlNoNetExternalEntityLoader ()xmlNoNetExternalEntityLoader ()

    Name

    Synopsis

    Description

    Details

    >DEBUG_MEMORY

    DEBUG_MEMORY

    >xmlFreeFunc ()

    xmlFreeFunc ()


    >xmlMallocFunc ()

    xmlMallocFunc ()


    >xmlReallocFunc ()

    xmlReallocFunc ()


    >xmlStrdupFunc ()

    xmlStrdupFunc ()


    >xmlMemSetup ()

    xmlMemSetup ()


    >xmlMemGet ()

    xmlMemGet ()


    >xmlInitMemory ()

    xmlInitMemory ()


    >xmlMemUsed ()

    xmlMemUsed ()


    >xmlMemDisplay ()

    xmlMemDisplay ()

    a FILE descriptor used as the output file, if NULL, the result is - written to the file .memorylist

    >xmlMemShow ()

    xmlMemShow ()


    >xmlMemoryDump ()

    xmlMemoryDump ()

    >xmlMalloc()

    xmlMalloc()


    >xmlRealloc()

    xmlRealloc()


    >xmlMemStrdup()

    xmlMemStrdup()


    >xmlMallocLoc ()

    xmlMallocLoc ()


    >xmlReallocLoc ()

    xmlReallocLoc ()


    >xmlMemStrdupLoc ()

    xmlMemStrdupLoc ()

    >struct xmlXPathContextstruct xmlXPathContext

    Expression evaluation occurs with respect to a context. he context consists of: - - a node (the context node) - - a node list (the context node list) - - a set of variable bindings - - a function library - - the set of namespace declarations in scope for the expression +- a node (the context node) +- a node list (the context node list) +- a set of variable bindings +- a function library +- the set of namespace declarations in scope for the expression Following the switch to hash tables, this need to be trimmed up at the next binary incompatible release.

    >xmlXPathContextPtrxmlXPathContextPtr

    >struct xmlXPathParserContextstruct xmlXPathParserContext
    >xmlXPathParserContextPtrxmlXPathParserContextPtr
    >enum xmlXPathErrorenum xmlXPathError
    >struct xmlNodeSetstruct xmlNodeSet
    >xmlNodeSetPtrxmlNodeSetPtr
    >enum xmlXPathObjectTypeenum xmlXPathObjectType
    >struct xmlXPathObjectstruct xmlXPathObject
    >xmlXPathObjectPtrxmlXPathObjectPtr
    >xmlXPathConvertFunc ()xmlXPathConvertFunc ()
    >struct xmlXPathTypestruct xmlXPathType
    >xmlXPathTypePtrxmlXPathTypePtr
    >struct xmlXPathVariablestruct xmlXPathVariable
    >xmlXPathVariablePtrxmlXPathVariablePtr
    >xmlXPathEvalFunc ()xmlXPathEvalFunc ()
    >struct xmlXPathFunctstruct xmlXPathFunct
    >xmlXPathFuncPtrxmlXPathFuncPtr
    >xmlXPathAxisFunc ()xmlXPathAxisFunc ()
    >struct xmlXPathAxisstruct xmlXPathAxis
    >xmlXPathAxisPtrxmlXPathAxisPtr
    >struct xmlXPathCompExprstruct xmlXPathCompExpr

    [14] Expr ::= OrExpr - [21] OrExpr ::= AndExpr - | OrExpr 'or' AndExpr

    Parse and compile an expression

    >xmlXPathCompExprPtrxmlXPathCompExprPtr>xmlXPathFunction ()xmlXPathFunction ()
    >xmlXPathIsNaN ()xmlXPathIsNaN ()
    >xmlXPathIsInf ()xmlXPathIsInf ()
    >xmlXPathNodeSetGetLength()xmlXPathNodeSetGetLength()
    >xmlXPathNodeSetItem()xmlXPathNodeSetItem()
    >xmlXPathNodeSetIsEmpty()xmlXPathNodeSetIsEmpty()
    >xmlXPathFreeObject ()xmlXPathFreeObject ()
    >xmlXPathNodeSetCreate ()xmlXPathNodeSetCreate ()
    >xmlXPathFreeNodeSetList ()xmlXPathFreeNodeSetList ()
    >xmlXPathFreeNodeSet ()xmlXPathFreeNodeSet ()
    >xmlXPathObjectCopy ()xmlXPathObjectCopy ()
    >xmlXPathCmpNodes ()xmlXPathCmpNodes ()
    -2 in case of error 1 if first point < second point, 0 if - that's the same node, -1 otherwise
    >xmlXPathCastNumberToBoolean ()xmlXPathCastNumberToBoolean ()>xmlXPathCastStringToBoolean ()xmlXPathCastStringToBoolean ()
    >xmlXPathCastNodeSetToBoolean ()xmlXPathCastNodeSetToBoolean ()
    >xmlXPathCastToBoolean ()xmlXPathCastToBoolean ()
    >xmlXPathCastBooleanToNumber ()xmlXPathCastBooleanToNumber ()
    >xmlXPathCastStringToNumber ()xmlXPathCastStringToNumber ()
    >xmlXPathCastNodeToNumber ()xmlXPathCastNodeToNumber ()
    >xmlXPathCastNodeSetToNumber ()xmlXPathCastNodeSetToNumber ()
    >xmlXPathCastToNumber ()xmlXPathCastToNumber ()
    >xmlXPathCastBooleanToString ()xmlXPathCastBooleanToString ()
    >xmlXPathCastNumberToString ()xmlXPathCastNumberToString ()
    >xmlXPathCastNodeToString ()xmlXPathCastNodeToString ()
    >xmlXPathCastNodeSetToString ()xmlXPathCastNodeSetToString ()
    >xmlXPathCastToString ()xmlXPathCastToString ()
    the string value of the object, NULL in case of error. - A new string is allocated only if needed (val isn't a - string object).
    >xmlXPathConvertBoolean ()xmlXPathConvertBoolean ()the new object, the old one is freed (or the operation - is done directly on val>xmlXPathConvertNumber ()xmlXPathConvertNumber ()
    the new object, the old one is freed (or the operation - is done directly on val>xmlXPathConvertString ()xmlXPathConvertString ()
    the new object, the old one is freed (or the operation - is done directly on val>xmlXPathInit ()xmlXPathInit ()
    >xmlXPathNewContext ()xmlXPathNewContext ()
    the xmlXPathContext just allocated.the xmlXPathContext just allocated. The caller will need to free it.
    >xmlXPathFreeContext ()xmlXPathFreeContext ()>xmlXPathEval ()xmlXPathEval ()
    the xmlXPathObjectPtr resulting from the evaluation or NULL. - the caller has to free the object.
    >xmlXPathEvalExpression ()xmlXPathEvalExpression ()the xmlXPathObjectPtr resulting from the evaluation or NULL. - the caller has to free the object.
    >xmlXPathEvalPredicate ()xmlXPathEvalPredicate ()>xmlXPathCompile ()xmlXPathCompile ()
    the xmlXPathObjectPtr resulting from the evaluation or NULL. - the caller has to free the object.
    >xmlXPathCompiledEval ()xmlXPathCompiledEval ()the xmlXPathObjectPtr resulting from the evaluation or NULL. - the caller has to free the object.
    >xmlXPathFreeCompExpr ()xmlXPathFreeCompExpr ()>xmlXPathSetError()xmlXPathSetError()
    >xmlXPathSetArityError()xmlXPathSetArityError()
    >xmlXPathSetTypeError()xmlXPathSetTypeError()
    >xmlXPathGetError()xmlXPathGetError()
    >xmlXPathCheckError()xmlXPathCheckError()
    >xmlXPathGetDocument()xmlXPathGetDocument()
    >xmlXPathGetContextNode()xmlXPathGetContextNode()
    >xmlXPathPopBoolean ()xmlXPathPopBoolean ()
    >xmlXPathPopNumber ()xmlXPathPopNumber ()
    >xmlXPathPopString ()xmlXPathPopString ()
    >xmlXPathPopNodeSet ()xmlXPathPopNodeSet ()
    >xmlXPathPopExternal ()xmlXPathPopExternal ()
    >xmlXPathReturnBoolean()xmlXPathReturnBoolean()
    >xmlXPathReturnTrue()xmlXPathReturnTrue()
    >xmlXPathReturnFalse()xmlXPathReturnFalse()
    >xmlXPathReturnNumber()xmlXPathReturnNumber()
    >xmlXPathReturnString()xmlXPathReturnString()
    >xmlXPathReturnEmptyString()xmlXPathReturnEmptyString()
    >xmlXPathReturnNodeSet()xmlXPathReturnNodeSet()
    >xmlXPathReturnEmptyNodeSet()xmlXPathReturnEmptyNodeSet()
    >xmlXPathReturnExternal()xmlXPathReturnExternal()
    >xmlXPathStackIsNodeSet()xmlXPathStackIsNodeSet()
    >xmlXPathStackIsExternal()xmlXPathStackIsExternal()
    >xmlXPathEmptyNodeSet()xmlXPathEmptyNodeSet()
    >CHECK_ERRORCHECK_ERROR
    >CHECK_ERROR0CHECK_ERROR0
    >XP_ERROR()XP_ERROR()
    >XP_ERROR0()XP_ERROR0()
    >CHECK_TYPE()CHECK_TYPE()
    >CHECK_TYPE0()CHECK_TYPE0()
    >CHECK_ARITY()CHECK_ARITY()
    >CAST_TO_STRINGCAST_TO_STRING
    >CAST_TO_NUMBERCAST_TO_NUMBER
    >CAST_TO_BOOLEANCAST_TO_BOOLEAN
    >xmlXPathVariableLookupFunc ()xmlXPathVariableLookupFunc ()
    >xmlXPathRegisterVariableLookup ()xmlXPathRegisterVariableLookup ()
    >xmlXPathFuncLookupFunc ()xmlXPathFuncLookupFunc ()
    >xmlXPathRegisterFuncLookup ()xmlXPathRegisterFuncLookup ()
    >xmlXPatherror ()xmlXPatherror ()
    >xmlXPathDebugDumpObject ()xmlXPathDebugDumpObject ()
    >xmlXPathDebugDumpCompExpr ()xmlXPathDebugDumpCompExpr ()
    >xmlXPathNodeSetContains ()xmlXPathNodeSetContains ()
    >xmlXPathDifference ()xmlXPathDifference ()
    difference() function: - node-set set:difference (node-set, node-set)

    the difference between the two node sets, or nodes1 if - nodes2 is empty
    >xmlXPathIntersection ()xmlXPathIntersection ()intersection() function: - node-set set:intersection (node-set, node-set)

    a node set comprising the nodes that are within both the - node sets passed as arguments
    >xmlXPathDistinctSorted ()xmlXPathDistinctSorted ()distinct() function: - node-set set:distinct (node-set)

    nodes if - it is empty
    >xmlXPathDistinct ()xmlXPathDistinct ()distinct() function: - node-set set:distinct (node-set) +node-set set:distinct (node-set) nodes if - it is empty
    >xmlXPathHasSameNodes ()xmlXPathHasSameNodes ()

    Implements the EXSLT - Sets has-same-nodes function: - boolean set:has-same-node(node-set, node-set)

    nodes2, false (0) - otherwise
    >xmlXPathNodeLeadingSorted ()xmlXPathNodeLeadingSorted ()leading() function: - node-set set:leading (node-set, node-set)

    node in document order, - nodesnodes - doesn't contain node>xmlXPathLeadingSorted ()xmlXPathLeadingSorted ()
    leading() function: - node-set set:leading (node-set, node-set)

    nodes2 - in document order, nodes1nodes2 is NULL or empty or - an empty node-set if nodes1>xmlXPathNodeLeading ()xmlXPathNodeLeading ()
    leading() function: - node-set set:leading (node-set, node-set) +node-set set:leading (node-set, node-set) node in document order, - nodesnodes - doesn't contain node>xmlXPathLeading ()xmlXPathLeading ()
    leading() function: - node-set set:leading (node-set, node-set) +node-set set:leading (node-set, node-set) nodes2 - in document order, nodes1nodes2 is NULL or empty or - an empty node-set if nodes1>xmlXPathNodeTrailingSorted ()xmlXPathNodeTrailingSorted ()
    trailing() function: - node-set set:trailing (node-set, node-set)

    node in document order, - nodesnodes - doesn't contain node>xmlXPathTrailingSorted ()xmlXPathTrailingSorted ()
    trailing() function: - node-set set:trailing (node-set, node-set)

    nodes2 - in document order, nodes1nodes2 is NULL or empty or - an empty node-set if nodes1>xmlXPathNodeTrailing ()xmlXPathNodeTrailing ()
    trailing() function: - node-set set:trailing (node-set, node-set) +node-set set:trailing (node-set, node-set) node in document order, - nodesnodes - doesn't contain node>xmlXPathTrailing ()xmlXPathTrailing ()
    trailing() function: - node-set set:trailing (node-set, node-set) +node-set set:trailing (node-set, node-set) nodes2 - in document order, nodes1nodes2 is NULL or empty or - an empty node-set if nodes1>xmlXPathRegisterNs ()xmlXPathRegisterNs ()
    >xmlXPathNsLookup ()xmlXPathNsLookup ()
    >xmlXPathRegisteredNsCleanup ()xmlXPathRegisteredNsCleanup ()
    >xmlXPathRegisterFunc ()xmlXPathRegisterFunc ()
    >xmlXPathRegisterFuncNS ()xmlXPathRegisterFuncNS ()
    >xmlXPathRegisterVariable ()xmlXPathRegisterVariable ()
    >xmlXPathRegisterVariableNS ()xmlXPathRegisterVariableNS ()
    >xmlXPathFunctionLookup ()xmlXPathFunctionLookup ()
    >xmlXPathFunctionLookupNS ()xmlXPathFunctionLookupNS ()
    >xmlXPathRegisteredFuncsCleanup ()xmlXPathRegisteredFuncsCleanup ()
    >xmlXPathVariableLookup ()xmlXPathVariableLookup ()
    >xmlXPathVariableLookupNS ()xmlXPathVariableLookupNS ()
    >xmlXPathRegisteredVariablesCleanup ()xmlXPathRegisteredVariablesCleanup ()
    >xmlXPathNewParserContext ()xmlXPathNewParserContext ()
    >xmlXPathFreeParserContext ()xmlXPathFreeParserContext ()
    >valuePop ()valuePop ()
    >valuePush ()valuePush ()
    >xmlXPathNewString ()xmlXPathNewString ()
    >xmlXPathNewCString ()xmlXPathNewCString ()
    >xmlXPathWrapString ()xmlXPathWrapString ()
    >xmlXPathWrapCString ()xmlXPathWrapCString ()
    >xmlXPathNewFloat ()xmlXPathNewFloat ()
    >xmlXPathNewBoolean ()xmlXPathNewBoolean ()
    >xmlXPathNewNodeSet ()xmlXPathNewNodeSet ()
    >xmlXPathNewValueTree ()xmlXPathNewValueTree ()
    >xmlXPathNodeSetAdd ()xmlXPathNodeSetAdd ()
    >xmlXPathNodeSetAddUnique ()xmlXPathNodeSetAddUnique ()
    >xmlXPathNodeSetSort ()xmlXPathNodeSetSort ()
    >xmlXPathRoot ()xmlXPathRoot ()
    >xmlXPathEvalExpr ()xmlXPathEvalExpr ()
    >xmlXPathParseName ()xmlXPathParseName ()
    parse an XML name

    [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | - CombiningChar | Extender

    [5] Name ::= (Letter | '_' | ':') (NameChar)*

    >xmlXPathParseNCName ()xmlXPathParseNCName ()

    [NS 3] NCName ::= (Letter | '_') (NCNameChar)*

    [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | - CombiningChar | Extender

    >xmlXPathStringEvalNumber ()xmlXPathStringEvalNumber ()

    [30a] Float ::= Number ('e' Digits?)?

    [30] Number ::= Digits ('.' Digits?)? - | '.' Digits - [31] Digits ::= [0-9]+

    [30] Number ::= Digits ('.' Digits?)? +| '.' Digits +[31] Digits ::= [0-9]+

    Compile a Number in the string In complement of the Number expression, this function also handles @@ -9662,7 +9662,7 @@ NAME="AEN15338" >>xmlXPathEvaluatePredicateResult ()xmlXPathEvaluatePredicateResult ()

    >xmlXPathRegisterAllFunctions ()xmlXPathRegisterAllFunctions ()
    >xmlXPathNodeSetMerge ()xmlXPathNodeSetMerge ()
    >xmlXPathNodeSetDel ()xmlXPathNodeSetDel ()
    >xmlXPathNodeSetRemove ()xmlXPathNodeSetRemove ()
    >xmlXPathNewNodeSetList ()xmlXPathNewNodeSetList ()
    >xmlXPathWrapNodeSet ()xmlXPathWrapNodeSet ()
    >xmlXPathWrapExternal ()xmlXPathWrapExternal ()
    >xmlXPathEqualValues ()xmlXPathEqualValues ()
    >xmlXPathCompareValues ()xmlXPathCompareValues ()

    Implement the compare operation on XPath objects: - arg1arg2 (1, 1, ... - arg1arg2 (1, 0, ... - arg1arg2 (0, 1, ... - arg1>xmlXPathValueFlipSign ()xmlXPathValueFlipSign ()>xmlXPathAddValues ()xmlXPathAddValues ()
    >xmlXPathSubValues ()xmlXPathSubValues ()
    >xmlXPathMultValues ()xmlXPathMultValues ()
    >xmlXPathDivValues ()xmlXPathDivValues ()
    >xmlXPathModValues ()xmlXPathModValues ()
    >xmlXPathIsNodeType ()xmlXPathIsNodeType ()

    Is the name given a NodeType one.

    [38] NodeType ::= 'comment' - | 'text' - | 'processing-instruction' - | 'node'

    [38] NodeType ::= 'comment' +| 'text' +| 'processing-instruction' +| 'node'

    >xmlXPathNextSelf ()xmlXPathNextSelf ()
    >xmlXPathNextChild ()xmlXPathNextChild ()
    >xmlXPathNextDescendant ()xmlXPathNextDescendant ()
    >xmlXPathNextDescendantOrSelf ()xmlXPathNextDescendantOrSelf ()
    >xmlXPathNextParent ()xmlXPathNextParent ()
    >xmlXPathNextAncestorOrSelf ()xmlXPathNextAncestorOrSelf ()
    >xmlXPathNextFollowingSibling ()xmlXPathNextFollowingSibling ()
    >xmlXPathNextFollowing ()xmlXPathNextFollowing ()
    >xmlXPathNextNamespace ()xmlXPathNextNamespace ()
    >xmlXPathNextAttribute ()xmlXPathNextAttribute ()
    >xmlXPathNextPreceding ()xmlXPathNextPreceding ()
    >xmlXPathNextAncestor ()xmlXPathNextAncestor ()
    >xmlXPathNextPrecedingSibling ()xmlXPathNextPrecedingSibling ()
    >xmlXPathLastFunction ()xmlXPathLastFunction ()
    last() XPath function - number last() @@ -12736,7 +12736,7 @@ NAME="AEN16057" >>xmlXPathPositionFunction ()xmlXPathPositionFunction ()
    position() XPath function - number position() @@ -12835,7 +12835,7 @@ NAME="AEN16080" >>xmlXPathCountFunction ()xmlXPathCountFunction ()
    count() XPath function - number count(node-set)

    >xmlXPathIdFunction ()xmlXPathIdFunction ()
    id() XPath function - node-set id(object) +node-set id(object) The id function selects elements by their unique ID (see [5.2.1 Unique IDs]). When the argument to id is of type node-set, then the result is the union of the result of applying id to the @@ -13025,7 +13025,7 @@ NAME="AEN16122" >>xmlXPathLocalNameFunction ()xmlXPathLocalNameFunction ()
    name() XPath function - string local-name(node-set?) +string local-name(node-set?) The local-name function returns a string containing the local part of the name of the node in the argument node-set that is first in document order. If the node-set is empty or the first node has no @@ -13120,7 +13120,7 @@ NAME="AEN16143" >>xmlXPathNamespaceURIFunction ()xmlXPathNamespaceURIFunction ()
    uri() XPath function - string namespace-uri(node-set?) +string namespace-uri(node-set?) The namespace-uri function returns a string containing the namespace URI of the expanded name of the node in the argument node-set that is first in document order. If the node-set is empty, @@ -13216,7 +13216,7 @@ NAME="AEN16164" >>xmlXPathStringFunction ()xmlXPathStringFunction ()
    string() XPath function - string string(object?) +string string(object?) he string function converts an object to a string as follows: - - A node-set is converted to a string by returning the value of - the node in the node-set that is first in document order. - If the node-set is empty, an empty string is returned. - - A number is converted to a string as follows - + NaN is converted to the string NaN - + positive zero is converted to the string 0 - + negative zero is converted to the string 0 - + positive infinity is converted to the string Infinity - + negative infinity is converted to the string -Infinity - + if the number is an integer, the number is represented in - decimal form as a Number with no decimal point and no leading - zeros, preceded by a minus sign (-) if the number is negative - + otherwise, the number is represented in decimal form as a - Number including a decimal point with at least one digit - before the decimal point and at least one digit after the - decimal point, preceded by a minus sign (-) if the number - is negative; there must be no leading zeros before the decimal - point apart possibly from the one required digit immediately - before the decimal point; beyond the one required digit - after the decimal point there must be as many, but only as - many, more digits as are needed to uniquely distinguish the - number from all other IEEE 754 numeric values. - - The boolean false value is converted to the string false. - The boolean true value is converted to the string true.

    If the argument is omitted, it defaults to a node-set with the context node as its only member.

    >xmlXPathStringLengthFunction ()xmlXPathStringLengthFunction ()
    length() XPath function - number string-length(string?) +number string-length(string?) The string-length returns the number of characters in the string (see [3.6 Strings]). If the argument is omitted, it defaults to the context node converted to a string, in other words the value @@ -13428,7 +13428,7 @@ NAME="AEN16207" >>xmlXPathConcatFunction ()xmlXPathConcatFunction ()
    concat() XPath function - string concat(string, string, string*) +string concat(string, string, string*) The concat function returns the concatenation of its arguments.

    >xmlXPathContainsFunction ()xmlXPathContainsFunction ()
    contains() XPath function - boolean contains(string, string) +boolean contains(string, string) The contains function returns true if the first argument string contains the second argument string, and otherwise returns false.

    >xmlXPathStartsWithFunction ()xmlXPathStartsWithFunction ()

    with() XPath function - boolean starts-with(string, string) +boolean starts-with(string, string) The starts-with function returns true if the first argument string starts with the second argument string, and otherwise returns false.

    >xmlXPathSubstringFunction ()xmlXPathSubstringFunction ()

    substring() XPath function - string substring(string, number, number?) +string substring(string, number, number?) The substring function returns the substring of the first argument starting at the position specified in the second argument with length specified in the third argument. For example, @@ -13741,12 +13741,12 @@ those characters for which the position of the character is greater than or equal to the second argument and, if the third argument is specified, less than the sum of the second and third arguments; the comparisons and addition used for the above follow the standard IEEE 754 rules. Thus: - - substring("12345", 1.5, 2.6) returns "234" - - substring("12345", 0, 3) returns "12" - - substring("12345", 0 div 0, 3) returns "" - - substring("12345", 1, 0 div 0) returns "" - - substring("12345", -42, 1 div 0) returns "12345" - - substring("12345", -1 div 0, 1 div 0) returns ""

    >xmlXPathSubstringBeforeFunction ()xmlXPathSubstringBeforeFunction ()
    before() XPath function - string substring-before(string, string) +string substring-before(string, string) The substring-before function returns the substring of the first argument string that precedes the first occurrence of the second argument string in the first argument string, or the empty string @@ -13908,7 +13908,7 @@ NAME="AEN16312" >>xmlXPathSubstringAfterFunction ()xmlXPathSubstringAfterFunction ()
    after() XPath function - string substring-after(string, string) +string substring-after(string, string) The substring-after function returns the substring of the first argument string that follows the first occurrence of the second argument string in the first argument string, or the empty stringi @@ -14004,7 +14004,7 @@ NAME="AEN16333" >>xmlXPathNormalizeFunction ()xmlXPathNormalizeFunction ()
    space() XPath function - string normalize-space(string?) +string normalize-space(string?) The normalize-space function returns the argument string with white space normalized by stripping leading and trailing whitespace and replacing sequences of whitespace characters by a single @@ -14100,7 +14100,7 @@ NAME="AEN16354" >>xmlXPathTranslateFunction ()xmlXPathTranslateFunction ()
    translate() XPath function - string translate(string, string, string) +string translate(string, string, string) The translate function returns the first argument string with occurrences of characters in the second argument string replaced by the character at the corresponding position in the third argument @@ -14199,7 +14199,7 @@ NAME="AEN16375" >>xmlXPathNotFunction ()xmlXPathNotFunction ()
    not() XPath function - boolean not(boolean) +boolean not(boolean) The not function returns true if its argument is false, and false otherwise.

    >xmlXPathTrueFunction ()xmlXPathTrueFunction ()

    true() XPath function - boolean true()

    >xmlXPathFalseFunction ()xmlXPathFalseFunction ()
    false() XPath function - boolean false()

    >xmlXPathLangFunction ()xmlXPathLangFunction ()
    lang() XPath function - boolean lang(string) +boolean lang(string) The lang function returns true or false depending on whether the language of the context node as specified by xml:lang attributes is the same as or is a sublanguage of the language specified by @@ -14575,7 +14575,7 @@ NAME="AEN16461" >>xmlXPathNumberFunction ()xmlXPathNumberFunction ()
    number() XPath function - number number(object?)

    >xmlXPathSumFunction ()xmlXPathSumFunction ()
    sum() XPath function - number sum(node-set) +number sum(node-set) The sum function returns the sum of the values of the nodes in the argument node-set.

    >xmlXPathFloorFunction ()xmlXPathFloorFunction ()

    floor() XPath function - number floor(number) +number floor(number) The floor function returns the largest (closest to positive infinity) number that is not greater than the argument and that is an integer.

    >xmlXPathCeilingFunction ()xmlXPathCeilingFunction ()

    ceiling() XPath function - number ceiling(number) +number ceiling(number) The ceiling function returns the smallest (closest to negative infinity) number that is not less than the argument and that is an integer.

    >xmlXPathRoundFunction ()xmlXPathRoundFunction ()

    round() XPath function - number round(number) +number round(number) The round function returns the number that is closest to the argument and that is an integer. If there are two such numbers, then the one that is even is returned.

    >xmlXPathBooleanFunction ()xmlXPathBooleanFunction ()
    boolean() XPath function - boolean boolean(object) +boolean boolean(object) he boolean function converts its argument to a boolean as follows: - - a number is true if and only if it is neither positive or - negative zero nor NaN - - a node-set is true if and only if it is non-empty - - a string is true if and only if its length is non-zero

    >struct xmlLocationSetstruct xmlLocationSet
    >xmlLocationSetPtrxmlLocationSetPtr
    >xmlXPtrLocationSetCreate ()xmlXPtrLocationSetCreate ()
    >xmlXPtrFreeLocationSet ()xmlXPtrFreeLocationSet ()
    >xmlXPtrLocationSetMerge ()xmlXPtrLocationSetMerge ()
    >xmlXPtrNewRange ()xmlXPtrNewRange ()
    >xmlXPtrNewRangePoints ()xmlXPtrNewRangePoints ()
    >xmlXPtrNewRangeNodePoint ()xmlXPtrNewRangeNodePoint ()
    >xmlXPtrNewRangePointNode ()xmlXPtrNewRangePointNode ()
    >xmlXPtrNewRangeNodes ()xmlXPtrNewRangeNodes ()
    >xmlXPtrNewLocationSetNodes ()xmlXPtrNewLocationSetNodes ()
    >xmlXPtrNewLocationSetNodeSet ()xmlXPtrNewLocationSetNodeSet ()
    >xmlXPtrNewRangeNodeObject ()xmlXPtrNewRangeNodeObject ()
    >xmlXPtrNewCollapsedRange ()xmlXPtrNewCollapsedRange ()
    >xmlXPtrLocationSetAdd ()xmlXPtrLocationSetAdd ()
    >xmlXPtrWrapLocationSet ()xmlXPtrWrapLocationSet ()
    >xmlXPtrLocationSetDel ()xmlXPtrLocationSetDel ()
    >xmlXPtrLocationSetRemove ()xmlXPtrLocationSetRemove ()
    >xmlXPtrNewContext ()xmlXPtrNewContext ()
    the element from which a user or program initiated traversal of - the link, or NULL.
    >xmlXPtrEval ()xmlXPtrEval ()the xmlXPathObjectPtr resulting from the evaluation or NULL. - the caller has to free the object.
    >xmlXPtrRangeToFunction ()xmlXPtrRangeToFunction ()>xmlXPtrBuildNodeList ()xmlXPtrBuildNodeList ()
    an xmlNodePtr list or NULL. - the caller has to free the node tree.
    >xmlXPtrEvalRangePredicate ()xmlXPtrEvalRangePredicate ()

    [8] Predicate ::= '[' PredicateExpr ']' - [9] PredicateExpr ::= Expr

    Evaluate a predicate as in

  • XML Base: http://www.w3.org/TR/xmlbase/
  • -RFC 2396 - : Uniform Resource Identifiers http://www.ietf.org/rfc/rfc2396.txt +RFC 2396 : + Uniform Resource Identifiers http://www.ietf.org/rfc/rfc2396.txt
  • XML Path Language (XPath) 1.0: http://www.w3.org/TR/xpath
  • @@ -127,11 +127,11 @@ specification but don't claim to implement them:

    it doesn't implement the API itself, gdome2 does this in top of libxml2
  • -RFC 959 - : libxml implements a basic FTP client code
  • +RFC 959 : + libxml implements a basic FTP client code
  • -RFC 1945 - : HTTP/1.0, again a basic HTTP client code
  • +RFC 1945 : + HTTP/1.0, again a basic HTTP client code
  • SAX: a minimal SAX implementation compatible with early expat versions
  • DocBook SGML v4: libxml2 includes a hackish parser to transition to @@ -143,12 +143,11 @@ MacOs, MacOsX, RISC Os, OS/2, VMS, QNX, MVS, ...)

    Separate documents:

    • -the libxslt page - providing an implementation of XSLT 1.0 and extensions on top of - libxml2
    • +the libxslt page providing an + implementation of XSLT 1.0 and extensions on top of libxml2
    • the gdome2 page - : a standard DOM2 implementation based on libxml2
    • + : a standard DOM2 implementation based on libxml2

    Daniel Veillard