From d09ab089457ae3c20cc98f9afa03379c6ebf9598 Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Thu, 25 Mar 2004 06:59:32 +0000 Subject: [svn-inject] Installing original source version --- doc/APIchunk0.html | 277 + doc/APIchunk1.html | 357 + doc/APIchunk10.html | 807 ++ doc/APIchunk11.html | 583 ++ doc/APIchunk12.html | 393 + doc/APIchunk13.html | 394 + doc/APIchunk14.html | 366 + doc/APIchunk15.html | 510 ++ doc/APIchunk16.html | 377 + doc/APIchunk17.html | 311 + doc/APIchunk18.html | 287 + doc/APIchunk19.html | 341 + doc/APIchunk2.html | 414 + doc/APIchunk20.html | 508 ++ doc/APIchunk21.html | 603 ++ doc/APIchunk22.html | 825 ++ doc/APIchunk23.html | 430 + doc/APIchunk24.html | 462 + doc/APIchunk25.html | 492 ++ doc/APIchunk26.html | 109 + doc/APIchunk3.html | 343 + doc/APIchunk4.html | 330 + doc/APIchunk5.html | 276 + doc/APIchunk6.html | 482 ++ doc/APIchunk7.html | 274 + doc/APIchunk8.html | 683 ++ doc/APIchunk9.html | 285 + doc/APIconstructors.html | 522 ++ doc/APIfiles.html | 2868 +++++++ doc/APIfunctions.html | 2073 +++++ doc/APIsymbols.html | 2864 +++++++ doc/DOM.gif | Bin 0 -> 3166 bytes doc/DOM.html | 17 + doc/FAQ.html | 244 + doc/Libxml2-Logo-180x168.gif | Bin 0 -> 8195 bytes doc/Libxml2-Logo-90x34.gif | Bin 0 -> 3070 bytes doc/Makefile.am | 108 + doc/Makefile.in | 708 ++ doc/README.docs | 24 + doc/XMLinfo.html | 35 + doc/XSLT.html | 14 + doc/api.xsl | 394 + doc/apibuild.py | 1913 +++++ doc/architecture.html | 23 + doc/bugs.html | 56 + doc/catalog.gif | Bin 0 -> 6105 bytes doc/catalog.html | 256 + doc/contribs.html | 39 + doc/docs.html | 33 + doc/downloads.html | 36 + doc/encoding.html | 210 + doc/entities.html | 64 + doc/example.html | 186 + doc/examples/Makefile.am | 93 + doc/examples/Makefile.in | 665 ++ doc/examples/examples.xml | 602 ++ doc/examples/examples.xsl | 169 + doc/examples/index.py | 296 + doc/examples/io1.c | 166 + doc/examples/io1.res | 5 + doc/examples/parse1.c | 56 + doc/examples/parse2.c | 72 + doc/examples/reader1.c | 107 + doc/examples/reader1.res | 14 + doc/examples/reader2.c | 122 + doc/examples/reader3.c | 119 + doc/examples/reader3.res | 13 + doc/examples/test1.xml | 1 + doc/examples/test2.xml | 13 + doc/examples/test3.xml | 39 + doc/examples/testWriter.c | 1198 +++ doc/examples/tree1.c | 94 + doc/examples/tree1.res | 4 + doc/examples/tree2.c | 118 + doc/examples/tree2.res | 18 + doc/examples/writer.xml | 2 + doc/examples/xpath1.c | 249 + doc/guidelines.html | 374 + doc/help.html | 25 + doc/html/book1.html | 13 + doc/html/home.png | Bin 0 -> 654 bytes doc/html/index.html | 13 + doc/html/left.png | Bin 0 -> 459 bytes doc/html/libxml-DOCBparser.html | 51 + doc/html/libxml-HTMLparser.html | 176 + doc/html/libxml-HTMLtree.html | 70 + doc/html/libxml-SAX.html | 125 + doc/html/libxml-SAX2.html | 143 + doc/html/libxml-c14n.html | 32 + doc/html/libxml-catalog.html | 142 + doc/html/libxml-chvalid.html | 72 + doc/html/libxml-debugXML.html | 117 + doc/html/libxml-dict.html | 43 + doc/html/libxml-encoding.html | 118 + doc/html/libxml-entities.html | 76 + doc/html/libxml-globals.html | 125 + doc/html/libxml-hash.html | 112 + doc/html/libxml-lib.html | 13 + doc/html/libxml-list.html | 120 + doc/html/libxml-nanoftp.html | 92 + doc/html/libxml-nanohttp.html | 62 + doc/html/libxml-parser.html | 499 ++ doc/html/libxml-parserInternals.html | 316 + doc/html/libxml-pattern.html | 31 + doc/html/libxml-relaxng.html | 153 + doc/html/libxml-schemasInternals.html | 191 + doc/html/libxml-threads.html | 69 + doc/html/libxml-tree.html | 881 ++ doc/html/libxml-uri.html | 63 + doc/html/libxml-valid.html | 278 + doc/html/libxml-xinclude.html | 53 + doc/html/libxml-xlink.html | 82 + doc/html/libxml-xmlIO.html | 197 + doc/html/libxml-xmlautomata.html | 72 + doc/html/libxml-xmlerror.html | 615 ++ doc/html/libxml-xmlexports.html | 19 + doc/html/libxml-xmlmemory.html | 101 + doc/html/libxml-xmlreader.html | 283 + doc/html/libxml-xmlregexp.html | 57 + doc/html/libxml-xmlsave.html | 43 + doc/html/libxml-xmlschemas.html | 125 + doc/html/libxml-xmlschemastypes.html | 47 + doc/html/libxml-xmlstring.html | 106 + doc/html/libxml-xmlunicode.html | 512 ++ doc/html/libxml-xmlversion.html | 51 + doc/html/libxml-xmlwriter.html | 258 + doc/html/libxml-xpath.html | 284 + doc/html/libxml-xpathInternals.html | 406 + doc/html/libxml-xpointer.html | 83 + doc/html/right.png | Bin 0 -> 472 bytes doc/html/up.png | Bin 0 -> 406 bytes doc/index.html | 290 + doc/index.py | 1249 +++ doc/interface.html | 59 + doc/intro.html | 31 + doc/library.html | 145 + doc/libxml.gif | Bin 0 -> 7692 bytes doc/libxml2-api.xml | 14791 ++++++++++++++++++++++++++++++++ doc/libxml2.xsa | 39 + doc/namespaces.html | 50 + doc/newapi.xsl | 763 ++ doc/news.html | 892 ++ doc/news.xsl | 44 + doc/parsers.html | 65 + doc/python.html | 241 + doc/redhat.gif | Bin 0 -> 697 bytes doc/search.php | 422 + doc/site.xsl | 730 ++ doc/smallfootonly.gif | Bin 0 -> 2772 bytes doc/structure.gif | Bin 0 -> 5559 bytes doc/threads.html | 27 + doc/tree.html | 53 + doc/tutorial/apa.html | 8 + doc/tutorial/apb.html | 14 + doc/tutorial/apc.html | 82 + doc/tutorial/apd.html | 68 + doc/tutorial/ape.html | 78 + doc/tutorial/apf.html | 67 + doc/tutorial/apg.html | 75 + doc/tutorial/aph.html | 76 + doc/tutorial/api.html | 4 + doc/tutorial/ar01s02.html | 14 + doc/tutorial/ar01s03.html | 47 + doc/tutorial/ar01s04.html | 54 + doc/tutorial/ar01s05.html | 56 + doc/tutorial/ar01s06.html | 35 + doc/tutorial/ar01s07.html | 30 + doc/tutorial/ar01s08.html | 38 + doc/tutorial/ar01s09.html | 63 + doc/tutorial/images/blank.png | Bin 0 -> 374 bytes doc/tutorial/images/callouts/1.png | Bin 0 -> 329 bytes doc/tutorial/images/callouts/10.png | Bin 0 -> 361 bytes doc/tutorial/images/callouts/2.png | Bin 0 -> 353 bytes doc/tutorial/images/callouts/3.png | Bin 0 -> 350 bytes doc/tutorial/images/callouts/4.png | Bin 0 -> 345 bytes doc/tutorial/images/callouts/5.png | Bin 0 -> 348 bytes doc/tutorial/images/callouts/6.png | Bin 0 -> 355 bytes doc/tutorial/images/callouts/7.png | Bin 0 -> 344 bytes doc/tutorial/images/callouts/8.png | Bin 0 -> 357 bytes doc/tutorial/images/callouts/9.png | Bin 0 -> 357 bytes doc/tutorial/images/caution.png | Bin 0 -> 1250 bytes doc/tutorial/images/draft.png | Bin 0 -> 17454 bytes doc/tutorial/images/home.png | Bin 0 -> 1156 bytes doc/tutorial/images/important.png | Bin 0 -> 722 bytes doc/tutorial/images/next.png | Bin 0 -> 1150 bytes doc/tutorial/images/note.png | Bin 0 -> 490 bytes doc/tutorial/images/prev.png | Bin 0 -> 1132 bytes doc/tutorial/images/tip.png | Bin 0 -> 449 bytes doc/tutorial/images/toc-blank.png | Bin 0 -> 318 bytes doc/tutorial/images/toc-minus.png | Bin 0 -> 259 bytes doc/tutorial/images/toc-plus.png | Bin 0 -> 264 bytes doc/tutorial/images/up.png | Bin 0 -> 1111 bytes doc/tutorial/images/warning.png | Bin 0 -> 1241 bytes doc/tutorial/includeaddattribute.c | 64 + doc/tutorial/includeaddkeyword.c | 75 + doc/tutorial/includeconvert.c | 73 + doc/tutorial/includegetattribute.c | 72 + doc/tutorial/includekeyword.c | 79 + doc/tutorial/includexpath.c | 65 + doc/tutorial/index.html | 14 + doc/tutorial/ix01.html | 1 + doc/tutorial/xmltutorial.pdf | 1342 +++ doc/upgrade.html | 106 + doc/w3c.png | Bin 0 -> 2028 bytes doc/xml.html | 4452 ++++++++++ doc/xmlcatalog.1 | 148 + doc/xmlcatalog_man.html | 101 + doc/xmlcatalog_man.xml | 298 + doc/xmldtd.html | 100 + doc/xmlio.html | 137 + doc/xmllint.1 | 281 + doc/xmllint.html | 153 + doc/xmllint.xml | 643 ++ doc/xmlmem.html | 102 + doc/xmlreader.html | 475 + doc/xsa.xsl | 54 + 216 files changed, 65965 insertions(+) create mode 100644 doc/APIchunk0.html create mode 100644 doc/APIchunk1.html create mode 100644 doc/APIchunk10.html create mode 100644 doc/APIchunk11.html create mode 100644 doc/APIchunk12.html create mode 100644 doc/APIchunk13.html create mode 100644 doc/APIchunk14.html create mode 100644 doc/APIchunk15.html create mode 100644 doc/APIchunk16.html create mode 100644 doc/APIchunk17.html create mode 100644 doc/APIchunk18.html create mode 100644 doc/APIchunk19.html create mode 100644 doc/APIchunk2.html create mode 100644 doc/APIchunk20.html create mode 100644 doc/APIchunk21.html create mode 100644 doc/APIchunk22.html create mode 100644 doc/APIchunk23.html create mode 100644 doc/APIchunk24.html create mode 100644 doc/APIchunk25.html create mode 100644 doc/APIchunk26.html create mode 100644 doc/APIchunk3.html create mode 100644 doc/APIchunk4.html create mode 100644 doc/APIchunk5.html create mode 100644 doc/APIchunk6.html create mode 100644 doc/APIchunk7.html create mode 100644 doc/APIchunk8.html create mode 100644 doc/APIchunk9.html create mode 100644 doc/APIconstructors.html create mode 100644 doc/APIfiles.html create mode 100644 doc/APIfunctions.html create mode 100644 doc/APIsymbols.html create mode 100644 doc/DOM.gif create mode 100644 doc/DOM.html create mode 100644 doc/FAQ.html create mode 100644 doc/Libxml2-Logo-180x168.gif create mode 100644 doc/Libxml2-Logo-90x34.gif create mode 100644 doc/Makefile.am create mode 100644 doc/Makefile.in create mode 100644 doc/README.docs create mode 100644 doc/XMLinfo.html create mode 100644 doc/XSLT.html create mode 100644 doc/api.xsl create mode 100755 doc/apibuild.py create mode 100644 doc/architecture.html create mode 100644 doc/bugs.html create mode 100644 doc/catalog.gif create mode 100644 doc/catalog.html create mode 100644 doc/contribs.html create mode 100644 doc/docs.html create mode 100644 doc/downloads.html create mode 100644 doc/encoding.html create mode 100644 doc/entities.html create mode 100644 doc/example.html create mode 100644 doc/examples/Makefile.am create mode 100644 doc/examples/Makefile.in create mode 100644 doc/examples/examples.xml create mode 100644 doc/examples/examples.xsl create mode 100755 doc/examples/index.py create mode 100644 doc/examples/io1.c create mode 100644 doc/examples/io1.res create mode 100644 doc/examples/parse1.c create mode 100644 doc/examples/parse2.c create mode 100644 doc/examples/reader1.c create mode 100644 doc/examples/reader1.res create mode 100644 doc/examples/reader2.c create mode 100644 doc/examples/reader3.c create mode 100644 doc/examples/reader3.res create mode 100644 doc/examples/test1.xml create mode 100644 doc/examples/test2.xml create mode 100644 doc/examples/test3.xml create mode 100644 doc/examples/testWriter.c create mode 100644 doc/examples/tree1.c create mode 100644 doc/examples/tree1.res create mode 100644 doc/examples/tree2.c create mode 100644 doc/examples/tree2.res create mode 100644 doc/examples/writer.xml create mode 100644 doc/examples/xpath1.c create mode 100644 doc/guidelines.html create mode 100644 doc/help.html create mode 100644 doc/html/book1.html create mode 100644 doc/html/home.png create mode 100644 doc/html/index.html create mode 100644 doc/html/left.png create mode 100644 doc/html/libxml-DOCBparser.html create mode 100644 doc/html/libxml-HTMLparser.html create mode 100644 doc/html/libxml-HTMLtree.html create mode 100644 doc/html/libxml-SAX.html create mode 100644 doc/html/libxml-SAX2.html create mode 100644 doc/html/libxml-c14n.html create mode 100644 doc/html/libxml-catalog.html create mode 100644 doc/html/libxml-chvalid.html create mode 100644 doc/html/libxml-debugXML.html create mode 100644 doc/html/libxml-dict.html create mode 100644 doc/html/libxml-encoding.html create mode 100644 doc/html/libxml-entities.html create mode 100644 doc/html/libxml-globals.html create mode 100644 doc/html/libxml-hash.html create mode 100644 doc/html/libxml-lib.html create mode 100644 doc/html/libxml-list.html create mode 100644 doc/html/libxml-nanoftp.html create mode 100644 doc/html/libxml-nanohttp.html create mode 100644 doc/html/libxml-parser.html create mode 100644 doc/html/libxml-parserInternals.html create mode 100644 doc/html/libxml-pattern.html create mode 100644 doc/html/libxml-relaxng.html create mode 100644 doc/html/libxml-schemasInternals.html create mode 100644 doc/html/libxml-threads.html create mode 100644 doc/html/libxml-tree.html create mode 100644 doc/html/libxml-uri.html create mode 100644 doc/html/libxml-valid.html create mode 100644 doc/html/libxml-xinclude.html create mode 100644 doc/html/libxml-xlink.html create mode 100644 doc/html/libxml-xmlIO.html create mode 100644 doc/html/libxml-xmlautomata.html create mode 100644 doc/html/libxml-xmlerror.html create mode 100644 doc/html/libxml-xmlexports.html create mode 100644 doc/html/libxml-xmlmemory.html create mode 100644 doc/html/libxml-xmlreader.html create mode 100644 doc/html/libxml-xmlregexp.html create mode 100644 doc/html/libxml-xmlsave.html create mode 100644 doc/html/libxml-xmlschemas.html create mode 100644 doc/html/libxml-xmlschemastypes.html create mode 100644 doc/html/libxml-xmlstring.html create mode 100644 doc/html/libxml-xmlunicode.html create mode 100644 doc/html/libxml-xmlversion.html create mode 100644 doc/html/libxml-xmlwriter.html create mode 100644 doc/html/libxml-xpath.html create mode 100644 doc/html/libxml-xpathInternals.html create mode 100644 doc/html/libxml-xpointer.html create mode 100644 doc/html/right.png create mode 100644 doc/html/up.png create mode 100644 doc/index.html create mode 100755 doc/index.py create mode 100644 doc/interface.html create mode 100644 doc/intro.html create mode 100644 doc/library.html create mode 100644 doc/libxml.gif create mode 100644 doc/libxml2-api.xml create mode 100644 doc/libxml2.xsa create mode 100644 doc/namespaces.html create mode 100644 doc/newapi.xsl create mode 100644 doc/news.html create mode 100644 doc/news.xsl create mode 100644 doc/parsers.html create mode 100644 doc/python.html create mode 100644 doc/redhat.gif create mode 100644 doc/search.php create mode 100644 doc/site.xsl create mode 100644 doc/smallfootonly.gif create mode 100644 doc/structure.gif create mode 100644 doc/threads.html create mode 100644 doc/tree.html create mode 100644 doc/tutorial/apa.html create mode 100644 doc/tutorial/apb.html create mode 100644 doc/tutorial/apc.html create mode 100644 doc/tutorial/apd.html create mode 100644 doc/tutorial/ape.html create mode 100644 doc/tutorial/apf.html create mode 100644 doc/tutorial/apg.html create mode 100644 doc/tutorial/aph.html create mode 100644 doc/tutorial/api.html create mode 100644 doc/tutorial/ar01s02.html create mode 100644 doc/tutorial/ar01s03.html create mode 100644 doc/tutorial/ar01s04.html create mode 100644 doc/tutorial/ar01s05.html create mode 100644 doc/tutorial/ar01s06.html create mode 100644 doc/tutorial/ar01s07.html create mode 100644 doc/tutorial/ar01s08.html create mode 100644 doc/tutorial/ar01s09.html create mode 100644 doc/tutorial/images/blank.png create mode 100644 doc/tutorial/images/callouts/1.png create mode 100644 doc/tutorial/images/callouts/10.png create mode 100644 doc/tutorial/images/callouts/2.png create mode 100644 doc/tutorial/images/callouts/3.png create mode 100644 doc/tutorial/images/callouts/4.png create mode 100644 doc/tutorial/images/callouts/5.png create mode 100644 doc/tutorial/images/callouts/6.png create mode 100644 doc/tutorial/images/callouts/7.png create mode 100644 doc/tutorial/images/callouts/8.png create mode 100644 doc/tutorial/images/callouts/9.png create mode 100644 doc/tutorial/images/caution.png create mode 100644 doc/tutorial/images/draft.png create mode 100644 doc/tutorial/images/home.png create mode 100644 doc/tutorial/images/important.png create mode 100644 doc/tutorial/images/next.png create mode 100644 doc/tutorial/images/note.png create mode 100644 doc/tutorial/images/prev.png create mode 100644 doc/tutorial/images/tip.png create mode 100644 doc/tutorial/images/toc-blank.png create mode 100644 doc/tutorial/images/toc-minus.png create mode 100644 doc/tutorial/images/toc-plus.png create mode 100644 doc/tutorial/images/up.png create mode 100644 doc/tutorial/images/warning.png create mode 100644 doc/tutorial/includeaddattribute.c create mode 100644 doc/tutorial/includeaddkeyword.c create mode 100644 doc/tutorial/includeconvert.c create mode 100644 doc/tutorial/includegetattribute.c create mode 100644 doc/tutorial/includekeyword.c create mode 100644 doc/tutorial/includexpath.c create mode 100644 doc/tutorial/index.html create mode 100644 doc/tutorial/ix01.html create mode 100644 doc/tutorial/xmltutorial.pdf create mode 100644 doc/upgrade.html create mode 100644 doc/w3c.png create mode 100644 doc/xml.html create mode 100644 doc/xmlcatalog.1 create mode 100644 doc/xmlcatalog_man.html create mode 100644 doc/xmlcatalog_man.xml create mode 100644 doc/xmldtd.html create mode 100644 doc/xmlio.html create mode 100644 doc/xmllint.1 create mode 100644 doc/xmllint.html create mode 100644 doc/xmllint.xml create mode 100644 doc/xmlmem.html create mode 100644 doc/xmlreader.html create mode 100644 doc/xsa.xsl (limited to 'doc') diff --git a/doc/APIchunk0.html b/doc/APIchunk0.html new file mode 100644 index 0000000..d7a5ef0 --- /dev/null +++ b/doc/APIchunk0.html @@ -0,0 +1,277 @@ + + +API Alphabetic Index A-B for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index A-B for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter A:

A-Z
xmlCheckLanguageID
+
A-Za-z
xmlParseEncName
+
A-Za-z0-9
xmlParseEncName
+
ABC
xmlXPathTranslateFunction
+
ALL
xmlAutomataNewAllTrans
+
ANY
xmlIsMixedElement
+xmlParseElementContentDecl
+
API
LIBXML_TREE_ENABLED
+xmlInputCloseCallback
+xmlInputMatchCallback
+xmlInputOpenCallback
+xmlInputReadCallback
+xmlLoadExternalEntity
+xmlOutputCloseCallback
+xmlOutputMatchCallback
+xmlOutputOpenCallback
+xmlOutputWriteCallback
+xmlRelaxNGValidateDoc
+xmlSchemaValPredefTypeNode
+xmlSchemaValidateDoc
+xmlSchemaValidateFacet
+xmlSchemaValidatePredefinedType
+xmlSchemaValidateStream
+xmlValidateNCName
+xmlValidateNMToken
+xmlValidateName
+xmlValidateQName
+
APIs
LIBXML_LEGACY_ENABLED
+
ARRAY
xmlStrlen
+xmlUTF8Strsize
+
ASCII
UTF8ToHtml
+docbEncodeEntities
+htmlEncodeEntities
+xmlAddEncodingAlias
+xmlDelEncodingAlias
+xmlEncodeEntitiesReentrant
+xmlGetEncodingAlias
+xmlNewCharEncodingHandler
+xmlParseCharEncoding
+
ATTLIST
xmlTextWriterStartDTDAttlist
+xmlTextWriterStartDTDEntity
+xmlTextWriterWriteDTDAttlist
+xmlTextWriterWriteFormatDTDAttlist
+xmlTextWriterWriteVFormatDTDAttlist
+
ATTRIBUTE
xmlAddChild
+xmlAddNextSibling
+xmlAddPrevSibling
+
Absolute
xmlBuildURI
+
Activation
xmlTextReaderRelaxNGSetSchema
+xmlTextReaderRelaxNGValidate
+
Add
xmlACatalogAdd
+xmlAddChild
+xmlAddChildList
+xmlAddNextSibling
+xmlAddPrevSibling
+xmlAddSibling
+xmlBufferAdd
+xmlBufferAddHead
+xmlCatalogAdd
+xmlCatalogAddLocal
+xmlDictLookup
+xmlDictQLookup
+xmlHashAddEntry
+xmlHashAddEntry2
+xmlHashAddEntry3
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+
Additional
_htmlElemDesc
+xmlCleanupGlobals
+xmlInitGlobals
+
AegeanNumbers
xmlUCSIsAegeanNumbers
+
All
xmlNanoFTPGet
+xmlNanoFTPList
+xmlParseAttValue
+xmlTextWriterEndDocument
+
Allocate
xmlNanoFTPNewCtxt
+xmlNewElementContent
+xmlNewParserCtxt
+xmlNewValidCtxt
+xmlSchemaNewFacet
+
Allows
xmlCatalogSetDefaultPrefer
+
AlphabeticPresentationForms
xmlUCSIsAlphabeticPresentationForms
+
Also
xmlCheckUTF8
+xmlParseAttribute
+xmlValidCtxtNormalizeAttributeValue
+
Always
IS_COMBINING_CH
+
Append
xmlBufferCCat
+xmlBufferCat
+xmlNodeAddContent
+xmlNodeAddContentLen
+
Appendix
xmlRegexpCompile
+
Applies
htmlCtxtUseOptions
+xmlCtxtUseOptions
+xmlNormalizeURIPath
+
Apply
XML_SCHEMAS_ANYATTR_STRICT
+
Arabic
xmlUCSIsArabic
+
ArabicPresentationForms-A
xmlUCSIsArabicPresentationFormsA
+
ArabicPresentationForms-B
xmlUCSIsArabicPresentationFormsB
+
Armenian
xmlUCSIsArmenian
+
Array
_xmlXPathContext
+
Arrows
xmlUCSIsArrows
+
Associate
xmlSetNs
+
Att
xmlParseStartTag
+
AttDef
xmlParseAttributeListDecl
+
AttType
xmlParseAttributeListDecl
+xmlParseAttributeType
+
AttValue
htmlParseElement
+xmlParseAttValue
+xmlParseAttribute
+xmlParseDefaultDecl
+
AttlistDecl
xmlParseAttributeListDecl
+xmlParseMarkupDecl
+
Attribute
_xmlAttribute
+htmlNodeStatus
+htmlParseElement
+xmlParseAttribute
+xmlParseAttributeListDecl
+xmlParseAttributeType
+xmlParseDefaultDecl
+xmlParseStartTag
+xmlTextReaderIsDefault
+xmlTextReaderMoveToElement
+xmlValidateAttributeDecl
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+
Attribute-Value
xmlParseAttValue
+
Attributes
_htmlElemDesc
+xmlParseNotationType
+xmlValidateOneAttribute
+xmlValidateOneNamespace
+xmlXPtrBuildNodeList
+
Automatic
docbCreateFileParserCtxt
+docbParseFile
+docbSAXParseFile
+htmlCreateFileParserCtxt
+htmlParseFile
+htmlSAXParseFile
+xmlCreateEntityParserCtxt
+xmlCreateFileParserCtxt
+xmlCreateURLParserCtxt
+xmlOutputBufferCreateFilename
+xmlParseFile
+xmlParserInputBufferCreateFilename
+xmlRecoverFile
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXUserParseFile
+
Automatically
xmlIsBaseCharQ
+xmlIsBaseChar_ch
+xmlIsBlankQ
+xmlIsBlank_ch
+xmlIsCharQ
+xmlIsChar_ch
+xmlIsCombiningQ
+xmlIsDigitQ
+xmlIsDigit_ch
+xmlIsExtenderQ
+xmlIsExtender_ch
+xmlIsIdeographicQ
+xmlIsPubidCharQ
+xmlIsPubidChar_ch
+

Letter B:

BASE
xmlNodeGetBase
+
BAr
xmlXPathTranslateFunction
+
BOM
xmlCharEncOutFunc
+
Balanced
xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseEntity
+xmlSAXParseEntity
+
Base
_xmlParserInput
+xmlNodeGetBase
+
BaseChar
IS_BASECHAR
+IS_LETTER
+xmlIsLetter
+
Based
xmlXPathIsInf
+xmlXPathIsNaN
+
BasicLatin
xmlUCSIsBasicLatin
+
Before
xmlParseAttValue
+
Behaves
IS_CHAR_CH
+IS_DIGIT_CH
+IS_EXTENDER_CH
+
Behaviour
IS_BLANK_CH
+
Bengali
xmlUCSIsBengali
+
BinHex
xmlTextWriterWriteBinHex
+
Bit
XML_COMPLETE_ATTRS
+XML_DETECT_IDS
+XML_SKIP_IDS
+
BlockElements
xmlUCSIsBlockElements
+
Blocks
xmlStopParser
+
Bopomofo
xmlUCSIsBopomofo
+
BopomofoExtended
xmlUCSIsBopomofoExtended
+
Both
XML_SUBSTITUTE_BOTH
+
BoxDrawing
xmlUCSIsBoxDrawing
+
BraillePatterns
xmlUCSIsBraillePatterns
+
Buffer
xmlIOParseDTD
+
Bugs:
_htmlElemDesc
+
Buhid
xmlUCSIsBuhid
+
Build
xmlCopyAttributeTable
+xmlCopyElementContent
+xmlCopyElementTable
+xmlCopyEntitiesTable
+xmlCopyNotationTable
+xmlGetNodePath
+xmlNodeListGetString
+xmlRegNewExecCtxt
+xmlValidBuildContentModel
+xmlValidGetPotentialChildren
+xmlXPtrBuildNodeList
+
Builds
xmlBuildQName
+xmlNodeListGetRawString
+
But
xmlValidateNotationDecl
+
ByzantineMusicalSymbols
xmlUCSIsByzantineMusicalSymbols
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk1.html b/doc/APIchunk1.html new file mode 100644 index 0000000..fcb4784 --- /dev/null +++ b/doc/APIchunk1.html @@ -0,0 +1,357 @@ + + +API Alphabetic Index C-C for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index C-C for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter C:

C14N
xmlC14NDocSaveTo
+xmlC14NExecute
+
CATALOG
xmlLoadACatalog
+xmlLoadCatalog
+xmlLoadSGMLSuperCatalog
+
CDATA
HTML_PRESERVE_NODE
+_htmlElemDesc
+xmlKeepBlanksDefault
+xmlNewCDataBlock
+xmlNewChild
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlParseAttValue
+xmlParseAttributeType
+xmlParseCDSect
+xmlParseCharData
+xmlTextWriterEndCDATA
+xmlTextWriterStartCDATA
+xmlTextWriterWriteCDATA
+xmlTextWriterWriteFormatCDATA
+xmlTextWriterWriteVFormatCDATA
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+
CDEnd
xmlParseCDSect
+
CDSect
xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseCDSect
+xmlParseContent
+
CDStart
xmlParseCDSect
+
CData
xmlParseCDSect
+xmlRelaxNGValidatePushCData
+xmlValidatePushCData
+
CJKCompatibility
xmlUCSIsCJKCompatibility
+
CJKCompatibilityForms
xmlUCSIsCJKCompatibilityForms
+
CJKCompatibilityIdeographs
xmlUCSIsCJKCompatibilityIdeographs
+
CJKCompatibilityIdeographsSupplement
xmlUCSIsCJKCompatibilityIdeographsSupplement
+
CJKRadicalsSupplement
xmlUCSIsCJKRadicalsSupplement
+
CJKSymbolsandPunctuation
xmlUCSIsCJKSymbolsandPunctuation
+
CJKUnifiedIdeographs
xmlUCSIsCJKUnifiedIdeographs
+
CJKUnifiedIdeographsExtensionA
xmlUCSIsCJKUnifiedIdeographsExtensionA
+
CJKUnifiedIdeographsExtensionB
xmlUCSIsCJKUnifiedIdeographsExtensionB
+
CWD
xmlNanoFTPCwd
+
Call
htmlInitAutoClose
+xmlInitParser
+xmlXPathOrderDocElems
+
Callback
externalSubset
+externalSubsetSAXFunc
+internalSubset
+internalSubsetSAXFunc
+xmlEntityReferenceFunc
+xmlHashCopier
+xmlHashDeallocator
+xmlHashScanner
+xmlHashScannerFull
+xmlInputCloseCallback
+xmlInputMatchCallback
+xmlInputOpenCallback
+xmlInputReadCallback
+xmlListDataCompare
+xmlListDeallocator
+xmlListWalker
+xmlOutputCloseCallback
+xmlOutputMatchCallback
+xmlOutputOpenCallback
+xmlOutputWriteCallback
+xmlParserInputDeallocate
+xmlSAX2ExternalSubset
+xmlSAX2InternalSubset
+xmlValidityErrorFunc
+xmlValidityWarningFunc
+
Callback:
resolveEntitySAXFunc
+
Called
cdataBlockSAXFunc
+endDocumentSAXFunc
+endElementSAXFunc
+referenceSAXFunc
+startDocumentSAXFunc
+startElementSAXFunc
+
Calling
xmlCleanupParser
+xmlRegisterHTTPPostCallbacks
+
Canonical
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
Canonicalization
LIBXML_C14N_ENABLED
+xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
Carl
xmlURIEscape
+
Catalog
LIBXML_CATALOG_ENABLED
+XML_CATALOG_PI
+xmlACatalogAdd
+xmlACatalogDump
+xmlACatalogRemove
+xmlACatalogResolve
+xmlACatalogResolvePublic
+xmlACatalogResolveSystem
+xmlACatalogResolveURI
+xmlCatalogSetDefaultPrefer
+xmlFreeCatalog
+xmlLoadACatalog
+xmlNewCatalog
+
Catalogs
XML_CATALOGS_NAMESPACE
+xmlLoadACatalog
+xmlLoadSGMLSuperCatalog
+
Change
xmlSetFeature
+xmlTextReaderSetParserProp
+
Changes
xmlSetExternalEntityLoader
+
Char
IS_BYTE_CHAR
+IS_CHAR
+xmlGetUTF8Char
+xmlParseCDSect
+xmlParseCharRef
+xmlParseComment
+xmlParsePI
+
CharData
xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseCharData
+xmlParseContent
+
CharRef
htmlParseCharRef
+xmlCharEncOutFunc
+xmlDecodeEntities
+xmlEncodeEntitiesReentrant
+xmlParseCharRef
+xmlParseReference
+xmlParserHandleReference
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+
Character
xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemoryEnc
+xmlGetCharEncodingName
+xmlParseCharEncoding
+xmlParseCharRef
+
Characters
xmlParseCharRef
+
Checks
htmlAttrAllowed
+htmlElementAllowedHere
+htmlElementAllowedHereDesc
+htmlElementStatusHere
+htmlNodeStatus
+xmlAutomataIsDeterminist
+xmlCheckLanguageID
+xmlCheckUTF8
+xmlIsBlankNode
+xmlSchemaCheckFacet
+xmlXPathNodeSetIsEmpty
+xmlXPathStackIsExternal
+
Cherokee
xmlUCSIsCherokee
+
Children
xmlParseElementContentDecl
+
Chunk
docbParseChunk
+htmlParseChunk
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseChunk
+
Cleanup
xmlCleanupCharEncodingHandlers
+xmlCleanupParser
+xmlCleanupPredefinedEntities
+xmlCtxtResetLastError
+xmlNanoFTPCleanup
+xmlNanoHTTPCleanup
+xmlRelaxNGCleanupTypes
+xmlResetError
+xmlResetLastError
+xmlSchemaCleanupTypes
+xmlSchemaFreeValue
+xmlXPathRegisteredFuncsCleanup
+xmlXPathRegisteredNsCleanup
+xmlXPathRegisteredVariablesCleanup
+
Clear
xmlClearNodeInfoSeq
+xmlClearParserCtxt
+
Clears
xmlSetupParserForBuffer
+
Close
xmlFileClose
+xmlIOFTPClose
+xmlIOHTTPClose
+xmlNanoFTPClose
+xmlNanoFTPCloseConnection
+xmlSaveClose
+
Closed
xmlTextReaderClose
+
CombiningChar
IS_COMBINING
+xmlNamespaceParseNCName
+xmlParseName
+xmlScanName
+xmlXPathParseNCName
+xmlXPathParseName
+
CombiningDiacriticalMarks
xmlUCSIsCombiningDiacriticalMarks
+
CombiningDiacriticalMarksforSymbols
xmlUCSIsCombiningDiacriticalMarksforSymbols
+
CombiningHalfMarks
xmlUCSIsCombiningHalfMarks
+
CombiningMarksforSymbols
xmlUCSIsCombiningMarksforSymbols
+
Comment
xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseComment
+xmlParseContent
+xmlParseMarkupDecl
+xmlParseMisc
+
Compare
xmlParseCharEncoding
+xmlSchemaCompareValues
+xmlXPathCmpNodes
+
Compile
xmlAutomataCompile
+xmlPatterncompile
+xmlXPathCompile
+xmlXPathCtxtCompile
+xmlXPathStringEvalNumber
+
Compress
docbCreateFileParserCtxt
+docbParseFile
+docbSAXParseFile
+htmlCreateFileParserCtxt
+htmlParseFile
+htmlSAXParseFile
+xmlCreateEntityParserCtxt
+xmlCreateFileParserCtxt
+xmlCreateURLParserCtxt
+xmlOutputBufferCreateFilename
+xmlParseFile
+xmlParserInputBufferCreateFilename
+xmlRecoverFile
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXUserParseFile
+
Computes
xmlBuildURI
+
Concat
xmlTextConcat
+
Constructs
xmlCanonicPath
+
Content
xmlNodeGetBase
+xmlParseElementContentDecl
+
Content-Type
xmlNanoHTTPFetch
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+
Contrary
xmlEncodeEntitiesReentrant
+
ControlPictures
xmlUCSIsControlPictures
+
Convenient
xmlBoolToText
+
Convert
xmlCatalogConvert
+xmlConvertSGMLCatalog
+
Converts
xmlXPathCastBooleanToNumber
+xmlXPathCastBooleanToString
+xmlXPathCastNodeSetToBoolean
+xmlXPathCastNodeSetToNumber
+xmlXPathCastNodeSetToString
+xmlXPathCastNodeToNumber
+xmlXPathCastNodeToString
+xmlXPathCastNumberToBoolean
+xmlXPathCastNumberToString
+xmlXPathCastStringToBoolean
+xmlXPathCastStringToNumber
+xmlXPathCastToBoolean
+xmlXPathCastToNumber
+xmlXPathCastToString
+xmlXPathConvertBoolean
+xmlXPathConvertNumber
+xmlXPathConvertString
+
Copy
xmlCopyEnumeration
+xmlGetFeaturesList
+xmlReconciliateNs
+
Correct
xmlSetCompressMode
+xmlSetDocCompressMode
+
Count
xmlLsCountNode
+
Creates
htmlNewDoc
+htmlNewDocNoDtD
+xmlCreateDocParserCtxt
+xmlNewDoc
+xmlXIncludeNewContext
+
Creation
xmlNewCDataBlock
+xmlNewCharRef
+xmlNewChild
+xmlNewComment
+xmlNewDocComment
+xmlNewDocFragment
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNewDocRawNode
+xmlNewDocText
+xmlNewDocTextLen
+xmlNewDtd
+xmlNewGlobalNs
+xmlNewNode
+xmlNewNodeEatName
+xmlNewNs
+xmlNewPI
+xmlNewReference
+xmlNewText
+xmlNewTextChild
+xmlNewTextLen
+
CurrencySymbols
xmlUCSIsCurrencySymbols
+
Current
_xmlParserCtxt
+_xmlParserInput
+_xmlValidCtxt
+
Currently
xmlNanoFTPGetConnection
+xmlNanoFTPInit
+xmlNanoHTTPInit
+xmlTextReaderNextSibling
+
Cut
xmlReconciliateNs
+
CypriotSyllabary
xmlUCSIsCypriotSyllabary
+
Cyrillic
xmlUCSIsCyrillic
+
CyrillicSupplement
xmlUCSIsCyrillicSupplement
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk10.html b/doc/APIchunk10.html new file mode 100644 index 0000000..baeacb6 --- /dev/null +++ b/doc/APIchunk10.html @@ -0,0 +1,807 @@ + + +API Alphabetic Index c-c for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index c-c for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter c:

cae
xmlSchemaCheckFacet
+
calculates
xmlUTF8Size
+
call
xmlCharEncOutFunc
+xmlCharEncodingOutputFunc
+xmlCleanupParser
+xmlCleanupPredefinedEntities
+xmlFreeElementContent
+xmlInitializePredefinedEntities
+xmlNanoFTPRead
+xmlNanoHTTPRead
+xmlParseReference
+xmlSAXUserParseFile
+xmlSAXUserParseMemory
+xmlSaveFormatFileTo
+xmlSetEntityReferenceFunc
+xmlTextReaderCurrentDoc
+xmlTextReaderExpand
+xmlTextReaderSetErrorHandler
+xmlTextReaderSetParserProp
+xmlTextReaderSetStructuredErrorHandler
+xmlValidateOneElement
+xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+xmlXPathIdFunction
+
callbacks
_xmlParserCtxt
+docbCreatePushParserCtxt
+docbSAXParseDoc
+docbSAXParseFile
+fatalErrorSAXFunc
+htmlCreatePushParserCtxt
+htmlSAXParseDoc
+htmlSAXParseFile
+xlinkNodeDetectFunc
+xmlCleanupOutputCallbacks
+xmlCreateIOParserCtxt
+xmlCreatePushParserCtxt
+xmlKeepBlanksDefault
+xmlNanoFTPGet
+xmlNanoFTPList
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseExternalEntity
+xmlRegExecPushString
+xmlRegExecPushString2
+xmlRelaxNGGetParserErrors
+xmlRelaxNGSetParserErrors
+xmlSAXUserParseFile
+xmlSAXUserParseMemory
+xmlSchemaSetParserErrors
+xmlXPathFuncLookupFunc
+xmlXPathVariableLookupFunc
+
calling
_xmlXPathContext
+xmlC14NDocDumpMemory
+xmlCheckFilename
+xmlGetLineNo
+xmlTextReaderCurrentDoc
+xmlXPathAddValues
+xmlXPathDivValues
+xmlXPathModValues
+xmlXPathMultValues
+xmlXPathSubValues
+xmlXPathValueFlipSign
+
calls
xlinkNodeDetectFunc
+xmlXPathAxisFunc
+
came
xmlPopInput
+
cannot
xmlParseAttribute
+
canonic
xmlCanonicPath
+
canonical
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlGetCharEncodingName
+
canonicalization
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
canonicalized
xmlNormalizeWindowsPath
+
canonization
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
canonized
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
capable
xmlCheckUTF8
+
carried
xmlNewDocProp
+xmlNewNsProp
+xmlNewNsPropEatName
+xmlNewProp
+xmlNodeBufGetContent
+xmlNodeGetContent
+xmlNodeGetLang
+xmlNodeGetSpacePreserve
+xmlSetNsProp
+xmlSetProp
+xmlUnsetNsProp
+xmlUnsetProp
+
carries
xlinkIsLink
+
carrying
xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+xlinkSimpleLinkFunk
+xmlIsID
+xmlIsRef
+xmlNewGlobalNs
+xmlNewNs
+
case-ignoring
xmlStrcasestr
+
cases
XML_SKIP_IDS
+xmlC14NExecute
+xmlParseElementContentDecl
+xmlScanName
+
cast
BAD_CAST
+CAST_TO_BOOLEAN
+CAST_TO_NUMBER
+CAST_TO_STRING
+xmlXPathConvertFunc
+
cat
xmlShellCat
+
catalogs
xmlACatalogDump
+xmlCatalogAddLocal
+xmlCatalogCleanup
+xmlCatalogDump
+xmlCatalogFreeLocal
+xmlCatalogGetDefaults
+xmlCatalogLocalResolve
+xmlCatalogLocalResolveURI
+xmlCatalogSetDebug
+xmlCatalogSetDefaults
+xmlLoadCatalogs
+
category
xmlUCSIsCat
+
cause
xmlShellPrintXPathError
+
ceiling
xmlXPathCeilingFunction
+
chained
xmlFreeNsList
+
change
htmlSetMetaEncoding
+xmlCtxtResetLastError
+xmlNanoFTPCwd
+xmlParseSDDecl
+xmlRelaxNGParse
+xmlResetLastError
+xmlSchemaParse
+xmlSubstituteEntitiesDefault
+xmlSwitchEncoding
+xmlSwitchInputEncoding
+xmlSwitchToEncoding
+
changed
xmlNodeSetBase
+xmlNodeSetLang
+xmlNodeSetName
+xmlNodeSetSpacePreserve
+xmlTextReaderSetParserProp
+
changes
xmlRegisterHTTPPostCallbacks
+xmlTextReaderClose
+
changing
xmlSubstituteEntitiesDefault
+xmlTextReaderSetParserProp
+
channel
xmlFileClose
+xmlFileRead
+xmlIOFTPClose
+xmlIOFTPOpen
+xmlIOFTPRead
+xmlIOHTTPClose
+xmlIOHTTPOpen
+xmlIOHTTPRead
+xmlOutputBufferClose
+xmlOutputBufferFlush
+xmlShellPrintXPathError
+
characters
ignorableWhitespace
+ignorableWhitespaceSAXFunc
+xmlCreatePushParserCtxt
+xmlKeepBlanksDefault
+xmlParseAttValue
+xmlStrPrintf
+xmlStrVPrintf
+xmlURIEscapeStr
+xmlUTF8Strlen
+xmlUTF8Strsize
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlXPathIdFunction
+xmlXPathNormalizeFunction
+xmlXPathStringLengthFunction
+xmlXPathSubstringFunction
+xmlXPathTranslateFunction
+
charencoding
xmlGetCharEncodingName
+
chars??
xmlTextWriterWriteRawLen
+
charset
xmlAllocParserInputBuffer
+xmlCreateIOParserCtxt
+xmlIOParseDTD
+xmlNewIOInputStream
+xmlOutputBufferCreateIO
+xmlParserInputBufferCreateFd
+xmlParserInputBufferCreateFile
+xmlParserInputBufferCreateFilename
+xmlParserInputBufferCreateIO
+xmlParserInputBufferCreateMem
+xmlParserInputBufferCreateStatic
+
checked
xmlNodeGetBase
+xmlNodeGetLang
+xmlNodeGetSpacePreserve
+xmlParseAttValue
+xmlParseAttributeType
+xmlSetNsProp
+
checking
xlinkIsLink
+xmlBufferWriteQuotedString
+xmlBuildURI
+xmlMemFree
+xmlUTF8Strlen
+
checkings
xmlValidateOneElement
+
checks
htmlAutoCloseTag
+htmlIsAutoClosed
+htmlNodeStatus
+xmlCheckFilename
+xmlCheckHTTPInput
+xmlCheckUTF8
+xmlNanoFTPInit
+xmlNanoHTTPInit
+xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+xmlReconciliateNs
+xmlURIEscape
+xmlURIUnescapeString
+xmlValidateAttributeDecl
+xmlValidateDocument
+xmlValidateDocumentFinal
+xmlValidateDtdFinal
+xmlValidateElementDecl
+xmlValidateNotationDecl
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+xmlXPathNodeSetContains
+
child-
_xmlAttr
+_xmlDoc
+_xmlDtd
+_xmlNode
+
childrens
_xmlEntity
+
childs
_xmlNode
+xmlIsMixedElement
+xmlValidGetValidElements
+
choice
xmlParseElementChildrenContentDecl
+
choices
xmlParseElementMixedContentDecl
+
choices:
xmlParseNotationDecl
+
chunk
docbParseChunk
+htmlParseChunk
+xmlEntityReferenceFunc
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseChunk
+xmlParseEntity
+xmlParseExternalEntity
+xmlSAXParseEntity
+
cleanly
xmlCheckHTTPInput
+
cleans
xmlNanoFTPScanProxy
+xmlNanoHTTPScanProxy
+
cleanup
xmlCleanupGlobals
+xmlCleanupThreads
+xmlNanoFTPCleanup
+
clear
xmlListMerge
+
clears
xmlCleanupInputCallbacks
+xmlCleanupOutputCallbacks
+
client
xmlKeepBlanksDefault
+
close
htmlAutoCloseTag
+htmlCtxtReadIO
+htmlIsAutoClosed
+htmlReadIO
+xmlCharEncCloseFunc
+xmlCreateIOParserCtxt
+xmlCtxtReadIO
+xmlInputCloseCallback
+xmlOutputBufferClose
+xmlOutputBufferCreateIO
+xmlOutputCloseCallback
+xmlParserInputBufferCreateIO
+xmlReadIO
+xmlReaderForIO
+xmlReaderNewIO
+xmlSaveToIO
+xmlTextReaderClose
+
closed
xmlCtxtReadFd
+xmlReadFd
+xmlReaderForFd
+xmlReaderNewFd
+xmlSaveFormatFileTo
+xmlTextWriterEndDocument
+
closes
xmlNanoHTTPClose
+xmlNanoHTTPSave
+
closest
xmlXPathCeilingFunction
+xmlXPathFloorFunction
+xmlXPathRoundFunction
+
closing
htmlInitAutoClose
+xmlNanoFTPFreeCtxt
+xmlParseElementChildrenContentDecl
+xmlParseStartTag
+
cncerning
xmlDebugDumpDocumentHead
+
collapse
XML_SCHEMAS_FACET_COLLAPSE
+
collect
DEBUG_MEMORY
+xmlIOHTTPOpenW
+
collected
xmlGcMemGet
+xmlGcMemSetup
+
colon
xmlLoadCatalogs
+
column
getColumnNumber
+xmlSAX2GetColumnNumber
+
com
getSystemId
+xmlSAX2GetSystemId
+
combining
IS_COMBINING_CH
+
coment
xmlTextWriterEndComment
+
coming
xmlXIncludeProcessNode
+
command
ftpDataCallback
+ftpListCallback
+xmlNanoFTPCheckResponse
+xmlNanoFTPGetResponse
+xmlNanoFTPQuit
+xmlShellDu
+
commandline
xmlShell
+
commands
xmlShellPwd
+
comment
HTML_COMMENT_NODE
+comment
+commentSAXFunc
+xmlNewComment
+xmlNewDocComment
+xmlParseComment
+xmlTextWriterStartComment
+xmlTextWriterWriteComment
+xmlTextWriterWriteFormatComment
+xmlTextWriterWriteVFormatComment
+xmlXPathIsNodeType
+
comments
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlDocGetRootElement
+xmlDocSetRootElement
+xmlParseComment
+
commodity
xmlKeepBlanksDefault
+
common
_xmlDoc
+_xmlDtd
+_xmlNode
+
comp
xmlFreePattern
+xmlFreePatternList
+xmlXPathFreeCompExpr
+
compare
xmlListDataCompare
+xmlUTF8Charcmp
+xmlXPathCompareValues
+
compared
xmlXPathCompareValues
+
compares
xmlUTF8Charcmp
+
comparing
xmlXPathCompareValues
+
comparison
xmlHashScan3
+xmlHashScanFull3
+xmlListCreate
+xmlParseCharEncoding
+xmlStrcasecmp
+xmlStrcmp
+xmlStrncasecmp
+xmlStrncmp
+xmlXPathCompareValues
+
comparisons
xmlTextReaderConstString
+xmlXPathSubstringFunction
+
compatibility
LIBXML_LEGACY_ENABLED
+xmlChildrenNode
+xmlCopyChar
+xmlEncodeEntities
+xmlKeepBlanksDefault
+xmlParseCharData
+xmlParseComment
+xmlParseNamespace
+xmlParseQuotedString
+xmlRootNode
+
compatible
LIBXML_TEST_VERSION
+xmlShellPwd
+
compilation
xmlPatterncompile
+xmlXPathCompile
+xmlXPathCtxtCompile
+
compile
xmlPatterncompile
+
compile-time
docbCreateFileParserCtxt
+docbParseFile
+docbSAXParseFile
+htmlCreateFileParserCtxt
+htmlParseFile
+htmlSAXParseFile
+xmlCreateEntityParserCtxt
+xmlCreateFileParserCtxt
+xmlCreateURLParserCtxt
+xmlOutputBufferCreateFilename
+xmlParseFile
+xmlParserInputBufferCreateFilename
+xmlRecoverFile
+xmlSAXParseFile
+xmlSAXParseFileWithData
+
compiled
LIBXML_AUTOMATA_ENABLED
+LIBXML_LEGACY_ENABLED
+LIBXML_REGEXP_ENABLED
+LIBXML_SCHEMAS_ENABLED
+LIBXML_TEST_VERSION
+LIBXML_UNICODE_ENABLED
+xmlAutomataCompile
+xmlCheckVersion
+xmlGetLastError
+xmlPatterncompile
+xmlRegexpCompile
+xmlRegexpExec
+xmlRegexpIsDeterminist
+xmlRegexpPrint
+xmlSaveFile
+xmlSaveFormatFile
+xmlXPathCompiledEval
+xmlXPathDebugDumpCompExpr
+
compiled-in
xmlCleanupInputCallbacks
+xmlCleanupOutputCallbacks
+xmlRegisterDefaultInputCallbacks
+xmlRegisterDefaultOutputCallbacks
+
compiling
xmlRelaxNGNewDocParserCtxt
+
complement
xmlXPathStringEvalNumber
+
complete
XML_COMPLETE_ATTRS
+_xmlParserCtxt
+xmlACatalogResolve
+xmlACatalogResolveURI
+xmlCatalogLocalResolve
+xmlCatalogLocalResolveURI
+xmlCatalogResolve
+xmlCatalogResolveURI
+
completed
xmlValidateDocumentFinal
+
completely
xmlNodeGetBase
+
compound
xmlXPathFreeNodeSet
+xmlXPtrFreeLocationSet
+
compress
xmlNewTextWriterDoc
+xmlNewTextWriterFilename
+xmlNewTextWriterMemory
+xmlNewTextWriterPushParser
+xmlNewTextWriterTree
+
compressed
_xmlParserInputBuffer
+docbCreateFileParserCtxt
+docbParseFile
+docbSAXParseFile
+htmlCreateFileParserCtxt
+htmlParseFile
+htmlSAXParseFile
+xmlCreateEntityParserCtxt
+xmlCreateFileParserCtxt
+xmlCreateURLParserCtxt
+xmlOutputBufferCreateFilename
+xmlParseFile
+xmlParserInputBufferCreateFilename
+xmlRecoverFile
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXUserParseFile
+
compression
_xmlDoc
+xmlC14NDocSave
+xmlGetCompressMode
+xmlGetDocCompressMode
+xmlIOHTTPOpenW
+xmlNewTextWriterMemory
+xmlNewTextWriterPushParser
+xmlOutputBufferCreateFilename
+xmlSaveFile
+xmlSaveFormatFile
+xmlSetCompressMode
+xmlSetDocCompressMode
+
comprising
xmlXPathIntersection
+
computation
xmlXPathOrderDocElems
+
compute
xmlUTF8Strlen
+
computed
_xmlEntity
+xmlByteConsumed
+xmlSchemaValPredefTypeNode
+xmlSchemaValidatePredefinedType
+
concat
xmlXPathConcatFunction
+
concatenated
xmlStrcat
+
concatenation
xmlXPathConcatFunction
+
condition
xmlSchemaValidateFacet
+
conditionalSect
xmlParseExternalSubset
+
configured
DEBUG_MEMORY
+DEBUG_MEMORY_LOCATION
+LIBXML_C14N_ENABLED
+LIBXML_CATALOG_ENABLED
+LIBXML_DEBUG_ENABLED
+LIBXML_DOCB_ENABLED
+LIBXML_FTP_ENABLED
+LIBXML_HTML_ENABLED
+LIBXML_HTTP_ENABLED
+LIBXML_OUTPUT_ENABLED
+LIBXML_PATTERN_ENABLED
+LIBXML_PUSH_ENABLED
+LIBXML_READER_ENABLED
+LIBXML_SAX1_ENABLED
+LIBXML_THREAD_ENABLED
+LIBXML_TREE_ENABLED
+LIBXML_VALID_ENABLED
+LIBXML_WRITER_ENABLED
+LIBXML_XINCLUDE_ENABLED
+LIBXML_XPATH_ENABLED
+LIBXML_XPTR_ENABLED
+WITHOUT_TRIO
+WITH_TRIO
+
conforming
xmlRegexpCompile
+
conforms
xmlCheckLanguageID
+xmlSchemaValPredefTypeNode
+xmlSchemaValidatePredefinedType
+xmlValidateNCName
+xmlValidateNMToken
+xmlValidateName
+xmlValidateQName
+
connection
xmlNanoFTPClose
+xmlNanoFTPCloseConnection
+xmlNanoFTPConnect
+xmlNanoFTPConnectTo
+xmlNanoFTPFreeCtxt
+xmlNanoFTPGetConnection
+xmlNanoFTPGetSocket
+xmlNanoFTPRead
+xmlNanoFTPUpdateURL
+xmlNanoHTTPClose
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+xmlNanoHTTPRead
+
connector
xmlParseElementChildrenContentDecl
+
consequent
_xmlError
+
considered
xmlHashScan3
+xmlHashScanFull3
+xmlParserInputBufferRead
+xmlXPathSubstringFunction
+
consist
xmlXPathNextAncestor
+
constant
XML_SAX2_MAGIC
+xmlByteConsumed
+
constraint
xmlParseEntityRef
+xmlValidateNotationDecl
+
constraints
xmlParseAttributeType
+xmlParseDefaultDecl
+xmlValidGetValidElements
+
construct
xmlParseElementChildrenContentDecl
+
construction
xmlCanonicPath
+
constructs
xmlParseNamespace
+
consumed
UTF8ToHtml
+UTF8Toisolat1
+_xmlParserInput
+_xmlParserInputBuffer
+docbEncodeEntities
+htmlEncodeEntities
+isolat1ToUTF8
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+xmlGetUTF8Char
+xmlParserInputBufferRead
+
consuming
xmlScanName
+
contain
xmlNewTextChild
+xmlParseAttribute
+xmlParseEntityRef
+xmlParsePEReference
+xmlParseSDDecl
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlRelaxNGNewMemParserCtxt
+xmlRelaxNGNewParserCtxt
+xmlSchemaNewMemParserCtxt
+xmlSchemaNewParserCtxt
+xmlXPathLeading
+xmlXPathLeadingSorted
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPathSubstringAfterFunction
+xmlXPathSubstringBeforeFunction
+xmlXPathTrailing
+xmlXPathTrailingSorted
+
contained
xmlNodeListGetRawString
+xmlNodeListGetString
+xmlParseElementChildrenContentDecl
+xmlParseMarkupDecl
+xmlStrlen
+xmlXPathDistinct
+xmlXPathDistinctSorted
+
contains
xmlCurrentChar
+xmlParseEntityRef
+xmlParsePEReference
+xmlParserHandlePEReference
+xmlTextReaderMoveToElement
+xmlXPathContainsFunction
+xmlXPathNextAncestor
+xmlXPathNextAncestorOrSelf
+xmlXPathNextChild
+xmlXPathNextDescendant
+xmlXPathNextDescendantOrSelf
+xmlXPathNextFollowing
+xmlXPathNextFollowingSibling
+xmlXPathNextNamespace
+xmlXPathNextParent
+xmlXPathNextPreceding
+xmlXPathNextPrecedingSibling
+xmlXPathNextSelf
+xmlXPathNodeSetContains
+xmlXPathSubstringFunction
+xmlXPtrNewContext
+
content:
xmlParseContent
+xmlXPathEqualValues
+xmlXPathNotEqualValues
+
contentType
xmlNanoHTTPFetch
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+
contents
xmlDictFree
+xmlHashFree
+xmlLineNumbersDefault
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlSetupParserForBuffer
+xmlTextReaderExpand
+xmlTextReaderReadInnerXml
+xmlTextReaderReadOuterXml
+xmlTextReaderReadString
+xmlTextWriterWriteDTDExternalEntityContents
+
contentspec
xmlParseElementContentDecl
+xmlParseElementDecl
+
contextual
xmlRelaxNGGetParserErrors
+xmlRelaxNGSetParserErrors
+xmlSchemaSetParserErrors
+
continuing
xmlXPathSubstringFunction
+
contrary
xmlNodeListGetRawString
+xmlXPathFreeNodeSetList
+
control
resolveEntity
+resolveEntitySAXFunc
+xmlNanoFTPClose
+xmlNanoFTPConnect
+xmlNanoFTPConnectTo
+xmlSAX2ResolveEntity
+
conveniently
xmlCurrentChar
+
conversion
_xmlXPathType
+xmlCharEncOutFunc
+xmlParseEncodingDecl
+xmlXPathConvertFunc
+xmlXPathPopBoolean
+xmlXPathPopExternal
+xmlXPathPopNodeSet
+xmlXPathPopNumber
+xmlXPathPopString
+
conversions
_xmlOutputBuffer
+_xmlParserInputBuffer
+
convert
UTF8ToHtml
+UTF8Toisolat1
+attribute
+attributeSAXFunc
+docbEncodeEntities
+htmlEncodeEntities
+isolat1ToUTF8
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+xmlEncodeEntities
+xmlEncodeEntitiesReentrant
+xmlEncodeSpecialChars
+xmlXPathAddValues
+xmlXPathDivValues
+xmlXPathModValues
+xmlXPathMultValues
+xmlXPathSubValues
+xmlXPathValueFlipSign
+
converted
xmlCatalogConvert
+xmlConvertSGMLCatalog
+xmlXPathCompareValues
+xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+xmlXPathIdFunction
+xmlXPathNormalizeFunction
+xmlXPathStringFunction
+xmlXPathStringLengthFunction
+
converter
xmlAllocOutputBuffer
+xmlOutputBufferCreateFd
+xmlOutputBufferCreateFile
+xmlOutputBufferCreateFilename
+
converting
xmlSaveFileEnc
+xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+
converts
xmlXPathBooleanFunction
+xmlXPathStringFunction
+
copied
xmlBufferCreateStatic
+xmlCopyDoc
+xmlGetFeaturesList
+xmlXPathNodeSetMerge
+
copier
xmlHashCopy
+
copying
xmlParserInputBufferGrow
+
correct
xmlCheckLanguageID
+
correctly
xmlURIEscape
+
correponding
xmlTextReaderCurrentDoc
+xmlTextReaderCurrentNode
+
correspond
xmlIsXHTML
+xmlParseEntity
+xmlSAXParseEntity
+
corresponding
xmlGetDocEntity
+xmlGetDtdEntity
+xmlGetParameterEntity
+xmlXPathTranslateFunction
+
cost
xmlByteConsumed
+
costly
XML_MAX_NAMELEN
+xmlByteConsumed
+
could
xmlByteConsumed
+xmlTextReaderRelaxNGSetSchema
+xmlTextReaderRelaxNGValidate
+
count
ftpListCallback
+xmlLsCountNode
+xmlTextReaderAttributeCount
+xmlXPathCountFunction
+
counter
xmlAutomataNewCountedTrans
+xmlAutomataNewCounter
+xmlAutomataNewCounterTrans
+xmlDictReference
+
counterparts
xmlEncodeEntitiesReentrant
+
course
xmlTextReaderNormalization
+
cover
xmlSearchNs
+
create
xmlAutomataNewAllTrans
+xmlAutomataNewCountTrans
+xmlAutomataNewCountedTrans
+xmlAutomataNewCounterTrans
+xmlAutomataNewEpsilon
+xmlAutomataNewOnceTrans
+xmlAutomataNewTransition
+xmlAutomataNewTransition2
+xmlBufferCreate
+xmlBufferCreateSize
+xmlBufferCreateStatic
+xmlCatalogIsEmpty
+xmlCreateEntitiesTable
+xmlCreateEnumeration
+xmlNewCatalog
+xmlNewDtd
+xmlNewGlobalNs
+xmlNewNs
+
creates
xmlCreateURI
+xmlStrncatNew
+
creation
xmlIOHTTPOpenW
+xmlNewNs
+xmlRegisterNodeDefault
+
cross
xmlSearchNs
+
crossed
xmlAutomataNewOnceTrans
+
ctrio
xmlXPathIsInf
+xmlXPathIsNaN
+
ctxt-
docbFreeParserCtxt
+htmlFreeParserCtxt
+xmlFreeParserCtxt
+xmlPopInput
+xmlValidCtxtNormalizeAttributeValue
+
cur
xmlXPathAxisFunc
+
currently
xmlGcMemGet
+xmlMemGet
+xmlMemUsed
+xmlOutputBufferCreateFilename
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk11.html b/doc/APIchunk11.html new file mode 100644 index 0000000..d8c2951 --- /dev/null +++ b/doc/APIchunk11.html @@ -0,0 +1,583 @@ + + +API Alphabetic Index d-d for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index d-d for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter d:

dangerous
xmlTextReaderCurrentNode
+xmlTextReaderPreserve
+
day
ftpListCallback
+
day:minute
ftpListCallback
+
deactivated
xmlTextReaderRelaxNGSetSchema
+
deallocate
_xmlParserInput
+xmlCleanupParser
+xmlDecodeEntities
+xmlListDeallocator
+xmlParserInputDeallocate
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+xmlXPathFreeNodeSetList
+
deallocated
xmlDictFree
+xmlEncodeEntitiesReentrant
+xmlEncodeSpecialChars
+xmlGetFeaturesList
+xmlHashFree
+xmlSaveUri
+xmlTextReaderConstBaseUri
+xmlTextReaderConstLocalName
+xmlTextReaderConstName
+xmlTextReaderConstNamespaceUri
+xmlTextReaderConstPrefix
+xmlTextReaderConstString
+xmlTextReaderConstValue
+xmlTextReaderGetAttribute
+xmlTextReaderGetAttributeNo
+xmlTextReaderGetAttributeNs
+xmlTextReaderLookupNamespace
+xmlTextReaderReadInnerXml
+xmlTextReaderReadOuterXml
+xmlTextReaderReadString
+xmlTextReaderRelaxNGSetSchema
+xmlTextReaderValue
+
deallocation
xmlListRemoveAll
+xmlListRemoveFirst
+xmlListRemoveLast
+
deallocator
xmlHashFree
+xmlHashRemoveEntry
+xmlHashRemoveEntry2
+xmlHashRemoveEntry3
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+xmlListCreate
+
debug
DEBUG_MEMORY
+xmlCatalogSetDebug
+xmlDebugDumpAttr
+xmlDebugDumpAttrList
+xmlDebugDumpDTD
+xmlDebugDumpDocument
+xmlDebugDumpDocumentHead
+xmlDebugDumpEntities
+xmlDebugDumpNode
+xmlDebugDumpNodeList
+xmlDebugDumpOneNode
+xmlRegexpPrint
+xmlSnprintfElementContent
+
debugging
DEBUG_MEMORY
+DEBUG_MEMORY_LOCATION
+xmlCatalogSetDebug
+xmlXPathDebugDumpObject
+
decimal
xmlXPathStringFunction
+
decl
xmlAddAttributeDecl
+xmlNewElementContent
+
declarations
_xmlXPathContext
+htmlParseCharRef
+startElementNsSAX2Func
+xmlParseCharRef
+xmlParseEntityDecl
+xmlParseEntityRef
+xmlParseEntityValue
+xmlParseExternalSubset
+xmlParseMarkupDecl
+xmlParsePEReference
+xmlParseSDDecl
+xmlReconciliateNs
+xmlSAX2StartElementNs
+xmlTextWriterWriteFormatDTD
+xmlTextWriterWriteVFormatDTD
+xmlValidateNotationDecl
+xmlXPtrBuildNodeList
+
declare
xmlParseEntityRef
+xmlParserHandleReference
+xmlSearchNs
+
declared
_xmlElement
+_xmlParserCtxt
+xmlParseAttValue
+xmlParseAttribute
+xmlParseAttributeType
+xmlParseDefaultDecl
+xmlParseElementDecl
+xmlParseEntityDecl
+xmlParseEntityRef
+xmlParseNamespace
+xmlParseNotationType
+xmlReconciliateNs
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+
declaring
xmlGetID
+
decode
xmlDecodeEntities
+
def
xmlParseAttributeListDecl
+xmlParseAttributeType
+
defaulted
XML_COMPLETE_ATTRS
+_xmlParserCtxt
+startElementNsSAX2Func
+xmlSAX2StartElementNs
+xmlTextReaderIsDefault
+
defaultexternal
xmlSetExternalEntityLoader
+
defaults
xmlShell
+xmlXPathLocalNameFunction
+xmlXPathNamespaceURIFunction
+xmlXPathNormalizeFunction
+xmlXPathStringFunction
+xmlXPathStringLengthFunction
+
define
DEBUG_MEMORY
+xmlHandleEntity
+
defined
WITHOUT_TRIO
+WITH_TRIO
+_xmlXPathContext
+xmlGetNsList
+xmlHandleEntity
+xmlNewNs
+xmlNodeGetBase
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseElementContentDecl
+xmlSearchNs
+xmlSearchNsByHref
+xmlTextReaderIsDefault
+xmlValidGetValidElements
+xmlValidateDtdFinal
+xmlXPathNextAncestorOrSelf
+
defining
XINCLUDE_FALLBACK
+XINCLUDE_HREF
+XINCLUDE_NODE
+XINCLUDE_NS
+XINCLUDE_OLD_NS
+XINCLUDE_PARSE
+XINCLUDE_PARSE_ENCODING
+XINCLUDE_PARSE_TEXT
+XINCLUDE_PARSE_XML
+XINCLUDE_PARSE_XPOINTER
+xmlGetID
+xmlReconciliateNs
+xmlShellDu
+xmlTextReaderConstNamespaceUri
+xmlTextReaderNamespaceUri
+
definitions
_xmlNode
+startElementNsSAX2Func
+xmlLoadCatalog
+xmlLoadCatalogs
+xmlPatterncompile
+xmlSAX2StartElementNs
+xmlTextReaderPreservePattern
+xmlValidateDtd
+
delayed
xmlOutputBufferWrite
+xmlOutputBufferWriteString
+
delegation
xmlCatalogSetDefaultPrefer
+
delete
xmlNanoFTPDele
+
deletion
xmlCatalogSetDefaultPrefer
+
depending
xmlIsID
+xmlIsRef
+xmlListDataCompare
+xmlParseReference
+xmlXPathEqualValues
+xmlXPathLangFunction
+xmlXPathNotEqualValues
+
deprecated
LIBXML_LEGACY_ENABLED
+_htmlElemDesc
+htmlAttrAllowed
+htmlElementAllowedHere
+htmlElementStatusHere
+htmlNodeStatus
+xmlCheckLanguageID
+xmlDecodeEntities
+xmlParserHandleReference
+xmlScanName
+
depth
_xmlParserCtxt
+_xmlValidCtxt
+xmlTextReaderDepth
+
deregistration
xmlDeregisterNodeDefault
+
des
xmlTextReaderRelaxNGSetSchema
+xmlTextReaderRelaxNGValidate
+
desactivated
xmlTextReaderRelaxNGSetSchema
+xmlTextReaderRelaxNGValidate
+
descendant
xmlXPathNextDescendant
+
descendant-or-self
xmlXPathNextDescendantOrSelf
+
descendants
xmlXPathNextDescendant
+xmlXPathNextDescendantOrSelf
+xmlXPathNextFollowing
+
described
xmlValidateAttributeDecl
+xmlValidateDocument
+xmlValidateDocumentFinal
+xmlValidateDtdFinal
+xmlValidateElementDecl
+xmlValidateNotationDecl
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+xmlValidateRoot
+
describing
docbParseDoc
+docbParseFile
+docbSAXParseDoc
+docbSAXParseFile
+htmlCreateFileParserCtxt
+htmlParseDoc
+htmlParseFile
+htmlSAXParseDoc
+htmlSAXParseFile
+xmlFindCharEncodingHandler
+xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+
description
_htmlElemDesc
+_htmlEntityDesc
+htmlElementAllowedHereDesc
+xmlCopyElementContent
+xmlGetDtdAttrDesc
+xmlGetDtdElementDesc
+xmlGetDtdNotationDesc
+xmlGetDtdQAttrDesc
+xmlGetDtdQElementDesc
+xmlIsMixedElement
+xmlNodeSetLang
+
descriptor
htmlCtxtReadFd
+htmlReadFd
+xmlCtxtReadFd
+xmlMemDisplay
+xmlMemShow
+xmlOutputBufferCreateFd
+xmlParserInputBufferCreateFd
+xmlReadFd
+xmlReaderForFd
+xmlReaderNewFd
+xmlSaveToFd
+xmlSaveToIO
+
designed
xmlCharEncodingOutputFunc
+xmlLoadExternalEntity
+
desired
xmlBufferResize
+xmlIOHTTPOpenW
+xmlUTF8Strloc
+xmlUTF8Strpos
+
destination
xmlIOHTTPOpenW
+xmlURIUnescapeString
+
destroy
xmlTextReaderCurrentDoc
+
destroyed
xmlAddChild
+xmlAddNextSibling
+xmlAddPrevSibling
+xmlTextReaderCurrentNode
+xmlTextReaderPreserve
+
destruction
xmlDeregisterNodeDefault
+
details
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
detect
xlinkIsLink
+xmlCreatePushParserCtxt
+xmlInputMatchCallback
+xmlKeepBlanksDefault
+xmlOutputMatchCallback
+xmlXPathIsInf
+xmlXPathIsNaN
+
detected
CHECK_ERROR
+CHECK_ERROR0
+endDocument
+endDocumentSAXFunc
+endElement
+endElementNsSAX2Func
+endElementSAXFunc
+reference
+referenceSAXFunc
+startElementNsSAX2Func
+xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+xlinkIsLink
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlSAX2EndDocument
+xmlSAX2EndElement
+xmlSAX2EndElementNs
+xmlSAX2Reference
+xmlSAX2StartElementNs
+
detection
docbCreatePushParserCtxt
+xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+xlinkGetDefaultDetect
+xlinkNodeDetectFunc
+xlinkSetDefaultDetect
+xlinkSimpleLinkFunk
+xmlCreatePushParserCtxt
+xmlIsID
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseExternalEntity
+
determine
xmlC14NExecute
+xmlCharInRange
+
determined
xmlXPathLangFunction
+
determinist
xmlAutomataIsDeterminist
+xmlRegexpIsDeterminist
+
dict
_xmlDoc
+
dictionary
_xmlParserCtxt
+xmlDictCreate
+xmlDictCreateSub
+xmlDictReference
+
dictionnary
_xmlParserCtxt
+_xmlXPathContext
+xmlDictCreate
+xmlDictCreateSub
+xmlDictFree
+xmlDictLookup
+xmlDictOwns
+xmlDictQLookup
+xmlDictReference
+xmlDictSize
+xmlPatterncompile
+
did
xmlTextReaderGetRemainder
+
difference
xmlXPathDifference
+
different
xmlACatalogAdd
+xmlBuildQName
+xmlCatalogAdd
+xmlNodeGetBase
+xmlStrEqual
+xmlStrQEqual
+
differentiate
xmlXPathOrderDocElems
+
digit
xmlXPathStringFunction
+
digits
xmlXPathStringFunction
+
dir
xmlShellDir
+
direct
htmlElementAllowedHere
+htmlElementAllowedHereDesc
+htmlElementStatusHere
+xmlParseAttribute
+xmlURIUnescapeString
+
direction
xmlXPathNextAncestor
+xmlXPathNextAncestorOrSelf
+xmlXPathNextAttribute
+xmlXPathNextChild
+xmlXPathNextDescendant
+xmlXPathNextDescendantOrSelf
+xmlXPathNextFollowing
+xmlXPathNextFollowingSibling
+xmlXPathNextNamespace
+xmlXPathNextParent
+xmlXPathNextPreceding
+xmlXPathNextPrecedingSibling
+xmlXPathNextSelf
+
directly
xmlNodeBufGetContent
+xmlNodeGetContent
+xmlNormalizeURIPath
+xmlParseAttribute
+xmlParseElementContentDecl
+xmlParsePEReference
+xmlParseSDDecl
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlParserInputBufferGrow
+xmlXPathConvertBoolean
+xmlXPathConvertNumber
+xmlXPathConvertString
+xmlXPtrNewContext
+
directories
xmlLoadCatalogs
+
directory
_xmlParserCtxt
+_xmlParserInput
+xmlCheckFilename
+xmlNanoFTPCwd
+xmlNanoFTPDele
+xmlParserGetDirectory
+xmlShellList
+
disable
xmlCatalogSetDebug
+
disabled
_xmlParserCtxt
+
disabling
xmlNoNetExternalEntityLoader
+
discard
xmlParserInputRead
+
discarding
xmlParseAttValue
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+
disconnected
xmlAutomataNewState
+
discovering
xmlSwitchEncoding
+xmlSwitchInputEncoding
+xmlSwitchToEncoding
+
disctionary
xmlDictOwns
+
display
errorSAXFunc
+fatalErrorSAXFunc
+warningSAXFunc
+xmlMemShow
+xmlParserError
+xmlParserValidityError
+xmlParserValidityWarning
+xmlParserWarning
+
distinct
xmlXPathDistinct
+xmlXPathDistinctSorted
+
distinguish
xmlXPathStringFunction
+
div
xmlXPathDivValues
+xmlXPathSubstringFunction
+
doc
htmlNodeDumpFileFormat
+xmlNewTextWriterDoc
+
doc-
xmlDocGetRootElement
+xmlDocSetRootElement
+xmlNewTextWriterTree
+
doctypedecl
xmlParseDocTypeDecl
+xmlParseDocument
+
documents
xmlIsID
+xmlParseEntityRef
+xmlParserHandleReference
+xmlSAXParseDoc
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+xmlXPathOrderDocElems
+
does
_xmlEntity
+xmlCheckUTF8
+xmlCtxtResetLastError
+xmlGetNoNsProp
+xmlGetNsProp
+xmlGetProp
+xmlHasNsProp
+xmlNodeGetBase
+xmlParseMarkupDecl
+xmlResetLastError
+xmlURIEscape
+xmlURIUnescapeString
+xmlValidateAttributeDecl
+xmlValidateDocument
+xmlValidateDocumentFinal
+xmlValidateDtd
+xmlValidateDtdFinal
+xmlValidateElementDecl
+xmlValidateNotationDecl
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+xmlValidateRoot
+xmlXPathSubstringAfterFunction
+xmlXPathSubstringBeforeFunction
+
doesn
_htmlElemDesc
+htmlElementAllowedHere
+xmlCleanupParser
+xmlFreeNode
+xmlInitCharEncodingHandlers
+xmlKeepBlanksDefault
+xmlNodeListGetRawString
+xmlParserInputRead
+xmlPatternMatch
+xmlRemoveProp
+xmlUTF8Strlen
+xmlValidateRoot
+xmlXPathLeading
+xmlXPathLeadingSorted
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPathTrailing
+xmlXPathTrailingSorted
+
don
xlinkIsLink
+xmlCreatePushParserCtxt
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlParseStartTag
+xmlSearchNs
+xmlXPathFreeNodeSetList
+xmlXPathNodeSetFreeNs
+
dotgnu
xmlTextReaderNodeType
+
double
val
+xmlBufferWriteQuotedString
+xmlGetBufferAllocationScheme
+xmlSetBufferAllocationScheme
+xmlXPathIsInf
+xmlXPathIsNaN
+xmlXPathNewFloat
+xmlXPathNodeSetCreate
+xmlXPathReturnNumber
+xmlXPathStringEvalNumber
+xmlXPtrLocationSetCreate
+
double-hyphen
xmlParseComment
+
double-quotes
xmlBufferWriteQuotedString
+
doublequotes
xmlParseQuotedString
+
down
xmlGetBufferAllocationScheme
+xmlSetBufferAllocationScheme
+
draft
XINCLUDE_OLD_NS
+
drop
xmlFileRead
+xmlIOFTPRead
+xmlIOHTTPRead
+xmlParseNamespace
+xmlParseQuotedString
+xmlXPtrBuildNodeList
+
dtd
getSystemId
+htmlNewDoc
+htmlNewDocNoDtD
+xmlCopyDtd
+xmlSAX2GetSystemId
+xmlValidateDtd
+
dtds
getSystemId
+xmlSAX2GetSystemId
+xmlValidateDtdFinal
+
dump
xmlBufferAdd
+xmlBufferCCat
+xmlBufferCat
+xmlBufferDump
+xmlBufferShrink
+xmlDumpAttributeDecl
+xmlDumpAttributeTable
+xmlDumpElementDecl
+xmlDumpElementTable
+xmlDumpEntitiesTable
+xmlDumpEntityDecl
+xmlDumpNotationDecl
+xmlDumpNotationTable
+xmlLsOneNode
+xmlMemShow
+xmlSnprintfElementContent
+xmlXPathDebugDumpObject
+
dumps
xmlShellBase
+xmlShellCat
+xmlShellDir
+
duplicate
xmlCanonicPath
+
duplicated
xmlRelaxNGNewDocParserCtxt
+xmlXPathNodeSetFreeNs
+
during
xmlSchemaNewDocParserCtxt
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk12.html b/doc/APIchunk12.html new file mode 100644 index 0000000..2782913 --- /dev/null +++ b/doc/APIchunk12.html @@ -0,0 +1,393 @@ + + +API Alphabetic Index e-e for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index e-e for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter e:

each
_xmlParserCtxt
+xmlHashCopy
+xmlHashScan
+xmlHashScan3
+xmlHashScanFull
+xmlHashScanFull3
+xmlParseAttributeType
+xmlValidateOneElement
+xmlXPathIdFunction
+xmlXPathSubstringFunction
+
edition
xmlCheckLanguageID
+
effective
xmlLoadCatalog
+xmlLoadCatalogs
+
either
xmlBoolToText
+xmlCurrentChar
+xmlLoadACatalog
+xmlNodeBufGetContent
+xmlNodeGetContent
+xmlParseElementChildrenContentDecl
+xmlParseElementContentDecl
+xmlParseMarkupDecl
+xmlParsePEReference
+xmlParseStartTag
+xmlParserHandlePEReference
+xmlTextReaderNormalization
+
either:
resolveEntity
+resolveEntitySAXFunc
+xmlSAX2ResolveEntity
+
element-
xmlXPathOrderDocElems
+
elementdecl
xmlParseElementDecl
+xmlParseMarkupDecl
+
elements
XML_CATALOGS_NAMESPACE
+XML_COMPLETE_ATTRS
+XML_SCHEMAS_ATTR_NSDEFAULT
+XML_SCHEMAS_ELEM_NSDEFAULT
+XML_SCHEMAS_QUALIF_ELEM
+_xmlDtd
+htmlElementAllowedHere
+htmlNodeStatus
+xlinkIsLink
+xmlDictSize
+xmlFreePatternList
+xmlHashSize
+xmlLineNumbersDefault
+xmlListMerge
+xmlListReverse
+xmlListSize
+xmlListSort
+xmlParseAttributeType
+xmlParseDefaultDecl
+xmlParseSDDecl
+xmlShellPwd
+xmlTextWriterEndDocument
+xmlXPathIdFunction
+xmlXPathOrderDocElems
+
else
UTF8ToHtml
+UTF8Toisolat1
+docbEncodeEntities
+htmlEncodeEntities
+isolat1ToUTF8
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+
emitted
xmlSetGenericErrorFunc
+
empty-element
xmlParseStartTag
+
enable
xmlCatalogSetDebug
+
enabled
xmlSaveFile
+xmlSaveFormatFile
+
enabling
xmlLineNumbersDefault
+xmlPedanticParserDefault
+
enc
xmlParserInputBufferCreateFilename
+
encapsulate
xmlBufferFree
+
encapsulating
_htmlElemDesc
+xmlNewIOInputStream
+
enclose
xmlTextReaderQuoteChar
+
encode
xmlTextWriterWriteBase64
+xmlTextWriterWriteBinHex
+
encoded
_xmlOutputBuffer
+_xmlParserInput
+_xmlParserInputBuffer
+xmlCheckUTF8
+xmlGetUTF8Char
+xmlSplitQName
+xmlStrcat
+xmlStrdup
+xmlTextWriterWriteBase64
+xmlTextWriterWriteBinHex
+xmlUTF8Strlen
+xmlUTF8Strsize
+xmlUTF8Strsub
+
encoder
_xmlOutputBuffer
+_xmlParserInputBuffer
+xmlCharEncOutFunc
+xmlCharEncodingOutputFunc
+
encoder==NULL
xmlC14NDocSaveTo
+xmlC14NExecute
+
enconding
xmlCharEncCloseFunc
+xmlCharEncFirstLine
+xmlCharEncOutFunc
+
encountered
xmlEncodeEntities
+
end-tag
xmlParseElement
+
end-up
xmlParseReference
+
ended
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlCleanupThreads
+
ending
xmlXPtrNewCollapsedRange
+xmlXPtrNewRange
+xmlXPtrNewRangeNodeObject
+xmlXPtrNewRangeNodePoint
+xmlXPtrNewRangeNodes
+xmlXPtrNewRangePointNode
+xmlXPtrNewRangePoints
+
ends
_xmlParserNodeInfo
+xmlNanoHTTPClose
+
engine
xmlXPathAxisFunc
+xmlXPathFuncLookupFunc
+xmlXPathVariableLookupFunc
+
englobing
xmlSnprintfElementContent
+xmlSprintfElementContent
+
enhancements
htmlNodeStatus
+
enough
xmlBuildQName
+
ensure
xmlNewTextChild
+
entire
xmlCleanupInputCallbacks
+xmlCleanupOutputCallbacks
+
entities:
xmlParseEntityRef
+xmlParserHandleReference
+
entproc
xmlParserHandlePEReference
+xmlParserHandleReference
+
entries
xmlACatalogAdd
+xmlACatalogRemove
+xmlCatalogAdd
+xmlCatalogConvert
+xmlCatalogRemove
+xmlConvertSGMLCatalog
+xmlHashAddEntry3
+xmlLoadACatalog
+xmlLoadCatalog
+xmlLoadSGMLSuperCatalog
+xmlMemShow
+
entry
xmlACatalogAdd
+xmlACatalogRemove
+xmlCatalogAdd
+xmlCatalogAddLocal
+xmlCatalogRemove
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+xmlXPathNodeSetRemove
+xmlXPtrLocationSetRemove
+
enumerated
attributeDecl
+attributeDeclSAXFunc
+xmlSAX2AttributeDecl
+
enumeration
_xmlAttribute
+xmlAddAttributeDecl
+xmlCopyEnumeration
+xmlCreateEnumeration
+xmlFreeEnumeration
+xmlParseAttributeType
+xmlParseEnumeratedType
+xmlParseEnumerationType
+
environment
xmlNanoFTPProxy
+xmlReconciliateNs
+xmlShell
+xmlXPathInit
+
epsilon
xmlAutomataNewAllTrans
+xmlAutomataNewCountedTrans
+xmlAutomataNewCounterTrans
+xmlAutomataNewEpsilon
+
equal
xmlAddChild
+xmlAddNextSibling
+xmlAddPrevSibling
+xmlStrEqual
+xmlStrQEqual
+xmlTextReaderConstName
+xmlTextReaderName
+xmlXPathCompareValues
+xmlXPathEqualValues
+xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+xmlXPathIdFunction
+xmlXPathNotEqualValues
+xmlXPathPositionFunction
+xmlXPathSubstringFunction
+
equality
_xmlParserInput
+xmlListDataCompare
+
equivalent
xmlMallocAtomicLoc
+xmlMallocLoc
+xmlMemFree
+xmlMemMalloc
+xmlMemRealloc
+xmlMemStrdupLoc
+xmlMemoryStrdup
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlReallocLoc
+xmlUTF8Strpos
+xmlXPathCastToString
+xmlXPathConvertBoolean
+xmlXPathConvertNumber
+xmlXPathConvertString
+
errors
INPUT_CHUNK
+_xmlSAXHandler
+_xmlSAXHandlerV1
+_xmlValidCtxt
+_xmlXPathContext
+fatalErrorSAXFunc
+initGenericErrorDefaultFunc
+xmlCharEncOutFunc
+xmlCheckHTTPInput
+xmlHashAddEntry
+xmlHashAddEntry2
+xmlHashAddEntry3
+xmlRelaxNGGetParserErrors
+xmlRelaxNGSetParserErrors
+xmlSchemaSetParserErrors
+xmlShellCmd
+
escape
docbEncodeEntities
+htmlEncodeEntities
+xmlURIEscape
+xmlURIEscapeStr
+
escaped
xmlNewChild
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNewTextChild
+xmlParseCDSect
+xmlParseCharData
+xmlSaveUri
+xmlURIEscape
+xmlURIEscapeStr
+
escapes
xmlURIEscapeStr
+
especially
xmlSchemaCheckFacet
+
established
xmlNanoFTPUpdateURL
+
etc
xmlDocGetRootElement
+xmlDocSetRootElement
+
evaluate
xmlXPathEvalExpr
+
evaluated
xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+xmlXPtrNewContext
+
evaluating
xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+
evaluation
_xmlXPathFunct
+_xmlXPathParserContext
+valuePop
+valuePush
+xmlRegNewExecCtxt
+xmlShellPrintXPathResult
+xmlXPathCompiledEval
+xmlXPathEval
+xmlXPathEvalExpression
+xmlXPathEvalFunc
+xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+xmlXPtrBuildNodeList
+xmlXPtrEval
+
evaulation
xmlRegFreeExecCtxt
+
even
_xmlParserInput
+xmlNodeGetBase
+xmlParseBalancedChunkMemoryRecover
+xmlTextWriterFullEndElement
+xmlXPathRoundFunction
+
events
htmlSAXParseDoc
+xmlSchemaValidateStream
+
everywhere
xmlSAXParseFileWithData
+xmlSAXParseMemoryWithData
+
exact
xmlGetBufferAllocationScheme
+xmlSetBufferAllocationScheme
+
example
xmlParserInputBufferCreateStatic
+xmlReconciliateNs
+xmlTextReaderConstString
+xmlXPathSubstringAfterFunction
+xmlXPathSubstringBeforeFunction
+xmlXPathSubstringFunction
+xmlXPathTranslateFunction
+
except
xmlGetNoNsProp
+xmlParseAttValue
+xmlParseCatalogFile
+xmlParseEntityRef
+xmlParserHandleReference
+
exception
xmlURIEscapeStr
+
excluding
IS_CHAR
+xmlXPathNextFollowing
+xmlXPathNextPreceding
+
exclusive
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
executed
xmlAutomataCompile
+
execution
xmlRegExecPushString
+xmlRegExecPushString2
+
exist
xmlXPtrLocationSetAdd
+
exists
xmlShellPwd
+xmlTextReaderConstXmlLang
+xmlTextReaderXmlLang
+xmlValidateNotationDecl
+
expand
xmlLoadSGMLSuperCatalog
+
expanded
xmlRelaxNGValidateFullElement
+xmlXPathNamespaceURIFunction
+
expected
x
+xmlBufferCreateStatic
+xmlParserInputBufferCreateStatic
+xmlRelaxNGNewMemParserCtxt
+xmlRelaxNGNewParserCtxt
+xmlSchemaNewMemParserCtxt
+xmlSchemaNewParserCtxt
+
explored
xmlXPathAxisFunc
+
exposing
xmlTextReaderRead
+
expressions
LIBXML_REGEXP_ENABLED
+
exslSetsDistinctSorted
xmlXPathDistinct
+
exslSetsLeadingSorted
xmlXPathLeading
+
exslSetsNodeLeadingSorted
xmlXPathNodeLeading
+
ext
_xmlParserCtxt
+
extParsedEnt
xmlParseCtxtExternalEntity
+xmlParseEntity
+xmlParseExtParsedEnt
+xmlParseExternalEntity
+xmlSAXParseEntity
+
extSubset
xmlParseExternalSubset
+
extSubsetDecl
xmlParseExternalSubset
+
extend
xmlStrncat
+xmlValidGetPotentialChildren
+
extended
xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+xmlXPathNodeSetMerge
+xmlXPtrLocationSetMerge
+
extensions
_xmlSAXHandler
+
extract
XML_GET_CONTENT
+XML_GET_LINE
+xmlBufferContent
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk13.html b/doc/APIchunk13.html new file mode 100644 index 0000000..a1ce710 --- /dev/null +++ b/doc/APIchunk13.html @@ -0,0 +1,394 @@ + + +API Alphabetic Index f-f for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index f-f for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter f:

fTP
xmlNanoFTPConnectTo
+
facet
XML_SCHEMAS_FACET_COLLAPSE
+XML_SCHEMAS_FACET_PRESERVE
+XML_SCHEMAS_FACET_REPLACE
+XML_SCHEMAS_FACET_UNKNOWN
+xmlSchemaCheckFacet
+xmlSchemaFreeFacet
+xmlSchemaValidateFacet
+
facets
xmlSchemaCheckFacet
+
fail
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlShellPrintXPathError
+
failed
xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+xmlNanoFTPConnectTo
+xmlNanoFTPCwd
+xmlNanoFTPDele
+xmlRemoveID
+xmlRemoveRef
+xmlShellLoad
+xmlXIncludeProcess
+xmlXIncludeProcessFlags
+xmlXIncludeProcessNode
+xmlXIncludeProcessTree
+xmlXIncludeProcessTreeFlags
+xmlXPathCompareValues
+
fails
UTF8ToHtml
+UTF8Toisolat1
+_htmlElemDesc
+docbEncodeEntities
+htmlEncodeEntities
+xmlCanonicPath
+xmlCharEncFirstLine
+xmlCharEncInFunc
+xmlCharEncOutFunc
+xmlCheckFilename
+xmlFileOpen
+
failure
CHECK_TYPE0
+htmlDocDump
+htmlNodeDumpFileFormat
+htmlSaveFile
+htmlSaveFileEnc
+htmlSaveFileFormat
+xmlBufferShrink
+xmlDocDump
+xmlDocFormatDump
+xmlFileOpen
+xmlListAppend
+xmlListInsert
+xmlNanoHTTPFetch
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+xmlNanoHTTPSave
+xmlNewAutomata
+xmlPatternMatch
+xmlRelaxNGGetParserErrors
+xmlSaveFile
+xmlSaveFileEnc
+xmlSaveFileTo
+xmlSaveFormatFile
+xmlSaveFormatFileTo
+
fallback
XINCLUDE_FALLBACK
+docbSAXParseDoc
+docbSAXParseFile
+htmlSAXParseDoc
+htmlSAXParseFile
+xmlFileOpen
+xmlSAXParseDoc
+xmlSAXParseEntity
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+
far
_xmlParserCtxt
+fatalErrorSAXFunc
+
fashion
xmlNewRMutex
+
fast
htmlInitAutoClose
+
faster
htmlNodeStatus
+xmlStrEqual
+
fatal
fatalErrorSAXFunc
+
fatalError
fatalErrorSAXFunc
+
feature
xmlGetFeature
+xmlGetFeaturesList
+xmlSetFeature
+
features
xmlGetFeaturesList
+
fed
xmlCreatePushParserCtxt
+xmlNewTextReader
+xmlNewTextReaderFilename
+
fetch
xmlNanoFTPGetSocket
+xmlNanoFTPOpen
+xmlNanoHTTPFetch
+
fetching
docbCreatePushParserCtxt
+htmlCreatePushParserCtxt
+xmlCreatePushParserCtxt
+xmlUTF8Strpos
+
field
XML_COMPLETE_ATTRS
+XML_DETECT_IDS
+XML_SKIP_IDS
+xmlParseMisc
+xmlXPathOrderDocElems
+
fields
XML_SAX2_MAGIC
+_htmlElemDesc
+_xmlParserCtxt
+_xmlSAXHandler
+xmlParseURIReference
+
files
xmlNanoFTPList
+
filesystem
htmlCtxtReadFile
+htmlReadFile
+xmlCanonicPath
+xmlCtxtReadFile
+xmlReadFile
+xmlReaderForFile
+xmlReaderNewFile
+
filled
xmlGetFeaturesList
+
fills
xmlParseURIReference
+
filters
xmlParseEncodingDecl
+
final
xmlAutomataSetFinalState
+xmlBuildURI
+xmlRegExecPushString
+xmlRegExecPushString2
+xmlValidateDocumentFinal
+xmlValidateDtdFinal
+
find
xmlGetThreadId
+xmlIsXHTML
+
finding
xmlNanoFTPScanProxy
+xmlNanoFTPUpdateURL
+xmlNanoHTTPScanProxy
+
finds
xmlSearchNs
+xmlSearchNsByHref
+
finished
_xmlValidCtxt
+xmlCleanupParser
+xmlSkipBlankChars
+xmlTextReaderCurrentDoc
+xmlTextReaderPreservePattern
+
finishing
xmlByteConsumed
+
firs
xmlCharEncOutFunc
+
fist
xmlEntityReferenceFunc
+
fit
xmlCharEncFirstLine
+xmlCharEncInFunc
+xmlCharEncOutFunc
+
fixed
XML_SCHEMAS_ELEM_FIXED
+xmlParseDefaultDecl
+
flag
htmlSetMetaEncoding
+initxmlDefaultSAXHandler
+xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlSAX2InitDefaultSAXHandler
+xmlTextReaderIsValid
+
flagged
_htmlElemDesc
+htmlGetMetaEncoding
+
flags
xmlPatterncompile
+xmlReaderForDoc
+xmlReaderForFd
+xmlReaderForFile
+xmlReaderForIO
+xmlReaderForMemory
+xmlReaderNewDoc
+xmlReaderNewFd
+xmlReaderNewFile
+xmlReaderNewIO
+xmlReaderNewMemory
+xmlRelaxParserSetFlag
+xmlXIncludeSetFlags
+
flat
xmlStringGetNodeList
+xmlStringLenGetNodeList
+
floor
xmlXPathFloorFunction
+
flow
xmlScanName
+
flushes
xmlOutputBufferClose
+xmlOutputBufferFlush
+
follow
xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPathSubstringFunction
+xmlXPathTrailing
+xmlXPathTrailingSorted
+
following-sibling
xmlXPathNextFollowingSibling
+
follows
xmlXPathStringFunction
+xmlXPathSubstringAfterFunction
+
follows:
xmlParseAttValue
+xmlXPathBooleanFunction
+xmlXPathStringFunction
+
fonctionnalities
xmlInputMatchCallback
+xmlOutputMatchCallback
+
force
xmlKeepBlanksDefault
+xmlSetGenericErrorFunc
+
forced
xmlValidGetValidElements
+
form
docbParseDoc
+docbParseFile
+docbSAXParseDoc
+docbSAXParseFile
+htmlCreateFileParserCtxt
+htmlParseDoc
+htmlParseFile
+htmlSAXParseDoc
+htmlSAXParseFile
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlXPathStringFunction
+
formatted
xmlTextWriterWriteFormatAttribute
+xmlTextWriterWriteFormatAttributeNS
+xmlTextWriterWriteFormatCDATA
+xmlTextWriterWriteFormatDTD
+xmlTextWriterWriteFormatDTDAttlist
+xmlTextWriterWriteFormatDTDElement
+xmlTextWriterWriteFormatDTDInternalEntity
+xmlTextWriterWriteFormatElement
+xmlTextWriterWriteFormatElementNS
+xmlTextWriterWriteFormatPI
+xmlTextWriterWriteFormatRaw
+xmlTextWriterWriteFormatString
+xmlTextWriterWriteVFormatAttribute
+xmlTextWriterWriteVFormatAttributeNS
+xmlTextWriterWriteVFormatCDATA
+xmlTextWriterWriteVFormatDTD
+xmlTextWriterWriteVFormatDTDAttlist
+xmlTextWriterWriteVFormatDTDElement
+xmlTextWriterWriteVFormatDTDInternalEntity
+xmlTextWriterWriteVFormatElement
+xmlTextWriterWriteVFormatElementNS
+xmlTextWriterWriteVFormatPI
+xmlTextWriterWriteVFormatRaw
+xmlTextWriterWriteVFormatString
+
formatting
htmlDocContentDumpFormatOutput
+htmlNodeDump
+htmlNodeDumpFile
+htmlNodeDumpFileFormat
+htmlNodeDumpFormatOutput
+htmlNodeDumpOutput
+htmlSaveFileEnc
+htmlSaveFileFormat
+xmlDocDumpFormatMemory
+xmlDocDumpFormatMemoryEnc
+xmlDocFormatDump
+xmlNodeDump
+xmlNodeDumpOutput
+xmlSaveFormatFile
+xmlSaveFormatFileEnc
+xmlSaveFormatFileTo
+xmlStrPrintf
+xmlStrVPrintf
+
formed
_xmlParserCtxt
+htmlSAXParseDoc
+htmlSAXParseFile
+xmlParseCtxtExternalEntity
+xmlParseExternalEntity
+
fragment
_xmlURI
+xmlNewDocFragment
+xmlParseURI
+xmlParseURIReference
+xmlPushInput
+
freeing
xmlCanonicPath
+xmlParserInputDeallocate
+
frees
xmlBufferFree
+
front
xmlValidateNCName
+xmlValidateNMToken
+xmlValidateName
+xmlValidateQName
+
front-end
xmlCharEncCloseFunc
+xmlCharEncInFunc
+xmlCharEncOutFunc
+
ftp:
xmlNanoFTPOpen
+xmlNanoFTPScanProxy
+
ftp_proxy
xmlNanoFTPProxy
+
ftp_proxy_password
xmlNanoFTPProxy
+
ftp_proxy_user
xmlNanoFTPProxy
+
full
_xmlEntity
+_xmlXPathParserContext
+htmlAttrAllowed
+xlinkIsLink
+xmlHashScannerFull
+xmlRelaxNGValidateFullElement
+xmlRelaxNGValidatePushElement
+xmlSaveDoc
+xmlShellPwd
+xmlSplitQName2
+xmlSplitQName3
+xmlTextReaderExpand
+xmlURIUnescapeString
+xmlUTF8Strlen
+
fully
_htmlElemDesc
+
func
_xmlXPathContext
+
funcs
_xmlXPathContext
+
function:
xmlXPathDifference
+xmlXPathDistinct
+xmlXPathDistinctSorted
+xmlXPathHasSameNodes
+xmlXPathIntersection
+xmlXPathLeading
+xmlXPathLeadingSorted
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPathTrailing
+xmlXPathTrailingSorted
+
functionality
xmlNewGlobalNs
+xmlXPathNodeSetGetLength
+xmlXPathNodeSetItem
+
functions
htmlCtxtReadIO
+htmlReadIO
+xmlC14NDocDumpMemory
+xmlCtxtReadIO
+xmlGcMemGet
+xmlGcMemSetup
+xmlMemGet
+xmlMemSetup
+xmlReadIO
+xmlReaderForIO
+xmlReaderNewIO
+xmlRelaxNGGetValidErrors
+xmlRelaxNGSetParserErrors
+xmlRelaxNGSetValidErrors
+xmlSchemaSetParserErrors
+xmlSchemaSetValidErrors
+xmlShellCmd
+xmlSwitchEncoding
+xmlSwitchInputEncoding
+xmlSwitchToEncoding
+xmlXPathRegisterAllFunctions
+xmlXPathRegisteredFuncsCleanup
+
further
xmlParseAttValue
+xmlStopParser
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlXIncludeSetFlags
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk14.html b/doc/APIchunk14.html new file mode 100644 index 0000000..8f43429 --- /dev/null +++ b/doc/APIchunk14.html @@ -0,0 +1,366 @@ + + +API Alphabetic Index g-h for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index g-h for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter g:

garbage
xmlGcMemGet
+xmlGcMemSetup
+
genChRanges
xmlIsBaseCharQ
+xmlIsBaseChar_ch
+xmlIsBlankQ
+xmlIsBlank_ch
+xmlIsCharQ
+xmlIsChar_ch
+xmlIsCombiningQ
+xmlIsDigitQ
+xmlIsDigit_ch
+xmlIsExtenderQ
+xmlIsExtender_ch
+xmlIsIdeographicQ
+xmlIsPubidCharQ
+xmlIsPubidChar_ch
+
general
XML_SUBSTITUTE_BOTH
+XML_SUBSTITUTE_REF
+xmlCharEncFirstLine
+xmlCharEncInFunc
+xmlCharEncOutFunc
+xmlParseCtxtExternalEntity
+xmlParseEntityRef
+xmlParseExtParsedEnt
+xmlParseExternalEntity
+
generate
xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemoryEnc
+xmlHashAddEntry
+xmlHashAddEntry2
+xmlHashAddEntry3
+xmlLoadExternalEntity
+xmlParseExternalID
+xmlRegexpExec
+
generated
xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemoryEnc
+xmlIsBaseCharQ
+xmlIsBaseChar_ch
+xmlIsBlankQ
+xmlIsBlank_ch
+xmlIsCharQ
+xmlIsChar_ch
+xmlIsCombiningQ
+xmlIsDigitQ
+xmlIsDigit_ch
+xmlIsExtenderQ
+xmlIsExtender_ch
+xmlIsIdeographicQ
+xmlIsPubidCharQ
+xmlIsPubidChar_ch
+xmlKeepBlanksDefault
+xmlSearchNs
+xmlShellPrintXPathResult
+xmlTextReaderIsDefault
+
generating
xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemoryEnc
+xmlKeepBlanksDefault
+
generic
initGenericErrorDefaultFunc
+xmlLoadExternalEntity
+xmlShellCmd
+xmlShellReadlineFunc
+
get
_xmlSAXHandler
+_xmlSAXHandlerV1
+fatalErrorSAXFunc
+xmlBufferLength
+xmlCatalogGetDefaults
+xmlGetCompressMode
+xmlGetDocCompressMode
+xmlGetNoNsProp
+xmlGetNsProp
+xmlGetProp
+xmlNamespaceParseQName
+xmlNanoFTPInit
+xmlSplitQName
+xmlSplitQName2
+xmlTextReaderCurrentDoc
+xmlTextReaderCurrentNode
+xmlTextReaderGetParserProp
+xmlTextReaderGetRemainder
+xmlValidateNotationDecl
+
give
_xmlParserInput
+
gives
xmlParserError
+xmlParserValidityError
+xmlParserValidityWarning
+xmlParserWarning
+
giving
xmlNewDoc
+xmlParseVersionNum
+
global
XML_SCHEMAS_ELEM_GLOBAL
+_xmlNs
+globalNamespace
+xmlCleanupParser
+xmlCtxtResetLastError
+xmlEncodeEntitiesReentrant
+xmlEncodeSpecialChars
+xmlGetGlobalState
+xmlGetLastError
+xmlInitializeGlobalState
+xmlResetLastError
+
globally
xmlSAXDefaultVersion
+
good
xmlSAXDefaultVersion
+
grafted
xmlCopyProp
+xmlCopyPropList
+
grammar:
xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+
greater
xmlXPathCompareValues
+xmlXPathFloorFunction
+xmlXPathSubstringFunction
+
greater-than
xmlNewTextChild
+
group
_xmlSchemaAttribute
+_xmlSchemaAttributeGroup
+ftpListCallback
+
groups
xmlParseElementChildrenContentDecl
+
grow
xmlValidGetValidElements
+
grows
xmlBufferWriteCHAR
+xmlBufferWriteChar
+xmlBufferWriteQuotedString
+

Letter h:

had
xmlNewGlobalNs
+
hand
xmlLoadACatalog
+
handle
docbSAXParseDoc
+docbSAXParseFile
+htmlSAXParseDoc
+htmlSAXParseFile
+xmlCharEncFirstLine
+xmlCheckHTTPInput
+xmlHandleEntity
+xmlNewTextWriterMemory
+xmlNewTextWriterPushParser
+xmlOutputBufferWrite
+xmlOutputBufferWriteString
+xmlParseReference
+xmlParserInputBufferGrow
+xmlParserInputBufferPush
+xmlParserInputBufferRead
+xmlRelaxNGGetParserErrors
+xmlRelaxNGSetParserErrors
+xmlSAXParseDoc
+xmlSAXParseEntity
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+xmlSchemaSetParserErrors
+xmlSetGenericErrorFunc
+xmlTextReaderPreservePattern
+
handled
xmlLoadACatalog
+xmlParseAttValue
+xmlParseAttribute
+xmlParseDefaultDecl
+xmlParseElementContentDecl
+xmlParsePEReference
+xmlParserHandlePEReference
+
handlers
xlinkSetDefaultHandler
+xmlCleanupCharEncodingHandlers
+xmlRegisterDefaultInputCallbacks
+xmlRegisterDefaultOutputCallbacks
+xmlTextReaderSetErrorHandler
+xmlTextReaderSetStructuredErrorHandler
+
handles
xmlSaveFileTo
+xmlSaveFormatFileTo
+xmlStructuredErrorFunc
+xmlXPathStringEvalNumber
+
handling
XML_SCHEMAS_FACET_UNKNOWN
+attribute
+attributeSAXFunc
+htmlHandleOmittedElem
+xmlHandleEntity
+xmlNamespaceParseNCName
+xmlNamespaceParseNSDef
+xmlNamespaceParseQName
+xmlNodeListGetRawString
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlRegNewExecCtxt
+xmlRegisterInputCallbacks
+xmlRegisterOutputCallbacks
+xmlSetGenericErrorFunc
+xmlSetStructuredErrorFunc
+xmlXPathPopBoolean
+xmlXPathPopExternal
+xmlXPathPopNodeSet
+xmlXPathPopNumber
+xmlXPathPopString
+
has-same-nodes
xmlXPathHasSameNodes
+
have
INPUT_CHUNK
+_htmlElemDesc
+htmlParseEntityRef
+xmlAutomataNewAllTrans
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlIsID
+xmlIsRef
+xmlParseAttribute
+xmlParseAttributeType
+xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+xmlParseExternalID
+xmlParseSDDecl
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlSaveClose
+xmlSaveFlush
+xmlStrEqual
+xmlTextReaderHasValue
+xmlTextReaderReadAttributeValue
+xmlTextWriterWriteDTDExternalEntity
+xmlValidateDocumentFinal
+xmlValidateDtdFinal
+xmlXPathIdFunction
+xmlXPathSubstringFunction
+
haystack
xmlStrcasestr
+xmlStrstr
+xmlStrsub
+
header
xmlNanoHTTPAuthHeader
+xmlNanoHTTPRedir
+xmlParseTextDecl
+xmlParseXMLDecl
+
headers
xmlNanoHTTPEncoding
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPMimeType
+
heading
xmlCharEncodingOutputFunc
+
here
_xmlXPathContext
+htmlNodeStatus
+xmlParseAttValue
+xmlParseElementContentDecl
+xmlParseNamespace
+xmlXPathNextAncestorOrSelf
+
heuristic
xmlKeepBlanksDefault
+xmlURIEscape
+
heuristic:
xmlIsRef
+
hex
xmlURIEscapeStr
+
hierarchy
xmlParseElementChildrenContentDecl
+
highly
htmlParseElement
+xmlParseElement
+xmlRelaxNGParse
+xmlSchemaParse
+
hold
xmlNewTextWriterDoc
+xmlNewTextWriterPushParser
+xmlReconciliateNs
+
holding
_xmlAttribute
+_xmlID
+_xmlRef
+xmlAddID
+xmlAddRef
+xmlNewNsProp
+xmlNewNsPropEatName
+xmlNewProp
+
holds
xmlBufferWriteQuotedString
+
host
xmlNanoFTPProxy
+xmlNanoFTPScanProxy
+xmlNanoFTPUpdateURL
+xmlNanoHTTPScanProxy
+
hosting
xmlXPathFuncLookupFunc
+xmlXPathNodeSetAddNs
+xmlXPathVariableLookupFunc
+
hostname
xmlNanoFTPInit
+xmlNanoFTPUpdateURL
+
hour
ftpListCallback
+
how
_xmlError
+
href
XINCLUDE_HREF
+
href==NULL
xmlNewNs
+
hrefs
xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+
html
xmlTextReaderNodeType
+
htmlAttrAllowed
htmlNodeStatus
+
htmlElemDescPtr
htmlTagLookup
+
htmlElementAllowedHere
htmlNodeStatus
+
htmlElementStatusHere
htmlNodeStatus
+
htmlEntityDescPtr
htmlEntityLookup
+htmlEntityValueLookup
+htmlParseEntityRef
+
htmlNodePtr
htmlNodeStatus
+
htmlParserOption
htmlCtxtReadDoc
+htmlCtxtReadFd
+htmlCtxtReadFile
+htmlCtxtReadIO
+htmlCtxtReadMemory
+htmlCtxtUseOptions
+htmlReadDoc
+htmlReadFd
+htmlReadFile
+htmlReadIO
+htmlReadMemory
+
htmlStartClose
htmlAutoCloseTag
+htmlIsAutoClosed
+
htmlStartCloseIndex
htmlInitAutoClose
+
http:
XINCLUDE_NS
+XINCLUDE_OLD_NS
+getSystemId
+xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlGetCharEncodingName
+xmlNanoHTTPScanProxy
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlSAX2GetSystemId
+xmlSchemaGetPredefinedType
+xmlTextReaderNodeType
+xmlXPathIsInf
+xmlXPathIsNaN
+
human-readable
_xmlError
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk15.html b/doc/APIchunk15.html new file mode 100644 index 0000000..b82ce9a --- /dev/null +++ b/doc/APIchunk15.html @@ -0,0 +1,510 @@ + + +API Alphabetic Index i-i for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index i-i for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter i:

iconv
LIBXML_ICONV_ENABLED
+LIBXML_ISO8859X_ENABLED
+
identify
xmlParseAttributeType
+
ignorable
ignorableWhitespace
+ignorableWhitespaceSAXFunc
+xmlIsBlankNode
+xmlKeepBlanksDefault
+xmlSAX2IgnorableWhitespace
+
ignorableWhitespace
xmlKeepBlanksDefault
+
ignored
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
ignoring
xmlURIEscapeStr
+
image
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
imbrication
xmlNodeDump
+xmlNodeDumpOutput
+
immediately
xmlCheckVersion
+xmlOutputBufferWrite
+xmlOutputBufferWriteString
+xmlXPathStringFunction
+
immutable
xmlBufferCreateStatic
+xmlParserInputBufferCreateStatic
+
implementation
xmlFreeFunc
+xmlMallocFunc
+xmlReallocFunc
+xmlStrdupFunc
+xmlXPathRegisterFunc
+xmlXPathRegisterFuncNS
+
implementation-defined
xmlXPathNextNamespace
+
implemented
HTML_COMMENT_NODE
+HTML_ENTITY_REF_NODE
+HTML_PI_NODE
+HTML_PRESERVE_NODE
+HTML_TEXT_NODE
+xmlTextReaderNextSibling
+
implicitly
htmlAutoCloseTag
+htmlIsAutoClosed
+
implied
_htmlElemDesc
+
impossible
xmlURIEscape
+
improves
xmlGetBufferAllocationScheme
+xmlSetBufferAllocationScheme
+
in-
xmlParserInputBufferGrow
+
in-extenso
xmlMemDisplay
+xmlMemoryDump
+
in-memory
_xmlDoc
+_xmlParserCtxt
+docbParseDoc
+docbSAXParseDoc
+htmlCreateMemoryParserCtxt
+htmlCtxtReadDoc
+htmlCtxtReadMemory
+htmlParseDoc
+htmlReadDoc
+htmlReadMemory
+htmlSAXParseDoc
+xmlCreateDocParserCtxt
+xmlCreateMemoryParserCtxt
+xmlCtxtReadDoc
+xmlCtxtReadMemory
+xmlParseDoc
+xmlParseMemory
+xmlReadDoc
+xmlReadMemory
+xmlReaderForDoc
+xmlReaderForMemory
+xmlReaderNewDoc
+xmlReaderNewMemory
+xmlRecoverDoc
+xmlRecoverMemory
+xmlSAXParseDoc
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+xmlSAXUserParseMemory
+
incase
xmlNanoFTPClose
+xmlNanoFTPCloseConnection
+xmlNanoFTPCwd
+xmlNanoFTPDele
+xmlNanoFTPGet
+xmlNanoFTPGetConnection
+xmlNanoFTPList
+xmlNanoHTTPFetch
+xmlNanoHTTPSave
+
include
XINCLUDE_NODE
+xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlCheckVersion
+xmlListMerge
+
included
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlDocDumpMemory
+xmlFreeDoc
+xmlParseNotationType
+
includes
_xmlSchema
+xmlCleanupInputCallbacks
+xmlCleanupOutputCallbacks
+xmlXIncludeProcessFlags
+xmlXIncludeProcessTreeFlags
+xmlXIncludeSetFlags
+
including
attribute
+attributeSAXFunc
+ftpListCallback
+startElement
+startElementSAXFunc
+xmlSAX2StartElement
+xmlTextReaderReadInnerXml
+xmlTextReaderReadOuterXml
+xmlXPathStringFunction
+
inclusive
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
increase
xmlParserInputGrow
+
increment
xmlAutomataNewCountedTrans
+
incremental
xmlValidateDocumentFinal
+
indent
xmlTextWriterSetIndent
+
indentation
xmlDebugDumpAttr
+xmlDebugDumpAttrList
+xmlDebugDumpNode
+xmlDebugDumpNodeList
+xmlDebugDumpOneNode
+xmlKeepBlanksDefault
+xmlTextWriterSetIndent
+xmlTextWriterSetIndentString
+xmlXPathDebugDumpCompExpr
+xmlXPathDebugDumpObject
+
indentation?
xmlTextWriterSetIndent
+
indented
xmlSaveFormatFile
+
indenting
xmlDocDumpFormatMemory
+xmlDocDumpFormatMemoryEnc
+xmlDocFormatDump
+xmlNodeDump
+xmlNodeDumpOutput
+xmlSaveFormatFile
+xmlSaveFormatFileEnc
+
independently
xmlGetProp
+xmlParseAttribute
+
index
index
+inputPush
+namePush
+nodePush
+xmlByteConsumed
+xmlParserFindNodeInfoIndex
+xmlStrsub
+xmlTextReaderGetAttributeNo
+xmlTextReaderMoveToAttributeNo
+xmlXPathNodeSetRemove
+xmlXPtrLocationSetRemove
+xmlXPtrNewRange
+
indicate
xmlParseExternalID
+xmlParserInputGrow
+xmlParserInputRead
+xmlRegExecPushString
+xmlRegExecPushString2
+xmlURIUnescapeString
+
indicated
xmlNanoHTTPFetch
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+
indicates
xmlNanoFTPRead
+xmlNanoFTPScanProxy
+xmlNanoFTPUpdateURL
+xmlNanoHTTPRead
+xmlNanoHTTPScanProxy
+
indicating
xmlParseCharData
+xmlParserFindNodeInfoIndex
+xmlShellCmd
+xmlTextReaderNormalization
+xmlXPathAxisFunc
+
indication
xmlNanoFTPRead
+xmlNanoHTTPRead
+
indicative
xmlParserInputBufferGrow
+xmlParserInputBufferRead
+xmlParserInputGrow
+xmlParserInputRead
+
indicator
docbParseChunk
+htmlParseChunk
+xmlParseChunk
+
indirect
xmlParseAttribute
+
indirectly
xmlParseAttribute
+xmlParsePEReference
+xmlParserHandlePEReference
+
infinity
xmlXPathCeilingFunction
+xmlXPathFloorFunction
+xmlXPathStringFunction
+
info
_xmlParserCtxt
+xmlCharEncodingOutputFunc
+xmlClearNodeInfoSeq
+xmlCopyDoc
+xmlInitNodeInfoSeq
+xmlMallocAtomicLoc
+xmlMallocLoc
+xmlMemMalloc
+xmlMemRealloc
+xmlMemStrdupLoc
+xmlMemoryStrdup
+xmlNanoFTPList
+xmlParserAddNodeInfo
+xmlParserFindNodeInfo
+xmlParserFindNodeInfoIndex
+xmlReallocLoc
+
information
_xmlError
+xmlDebugDumpAttr
+xmlDebugDumpAttrList
+xmlDebugDumpDTD
+xmlDebugDumpDocument
+xmlDebugDumpDocumentHead
+xmlDebugDumpEntities
+xmlDebugDumpNode
+xmlDebugDumpNodeList
+xmlDebugDumpOneNode
+xmlNanoFTPUpdateURL
+xmlNanoHTTPFetch
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+xmlNewTextReader
+xmlRelaxNGGetParserErrors
+xmlSchemaValidateStream
+xmlXPathOrderDocElems
+
informations
_xmlAttr
+_xmlDoc
+_xmlNode
+_xmlParserCtxt
+endElementNsSAX2Func
+startElementNsSAX2Func
+xmlDebugDumpString
+xmlErrMemory
+xmlNanoFTPCleanup
+xmlNanoFTPInit
+xmlNanoFTPProxy
+xmlNanoFTPScanProxy
+xmlNanoHTTPInit
+xmlNanoHTTPScanProxy
+xmlParserPrintFileInfo
+xmlRelaxNGGetValidErrors
+xmlRelaxNGSetValidErrors
+xmlRelaxParserSetFlag
+xmlSAX2EndElementNs
+xmlSAX2StartElementNs
+xmlSchemaSetValidErrors
+xmlShellDir
+xmlXIncludeProcessNode
+
informative
_xmlError
+
infos
_xmlParserCtxt
+
inherited
_xmlParserCtxt
+xmlEntityReferenceFunc
+xmlNodeGetSpacePreserve
+xmlXPathNextAttribute
+
inheriting
xmlDictCreateSub
+
inherits
xmlNewChild
+xmlNewTextChild
+
initial
_xmlDoc
+xmlAutomataGetInitState
+xmlBufferCreateSize
+xmlInitNodeInfoSeq
+xmlMemRealloc
+xmlMemStrdupLoc
+xmlMemoryStrdup
+xmlReallocLoc
+xmlShell
+xmlXPathNodeSetAdd
+xmlXPathNodeSetAddNs
+xmlXPathNodeSetAddUnique
+xmlXPathNodeSetCreate
+xmlXPathNodeSetDel
+xmlXPathNodeSetRemove
+xmlXPtrLocationSetAdd
+xmlXPtrLocationSetCreate
+xmlXPtrLocationSetDel
+xmlXPtrLocationSetRemove
+
initialisation
xmlInitGlobals
+
initialization
xmlInitializeCatalog
+xmlLoadCatalog
+xmlLoadCatalogs
+
initialize
XML_COMPLETE_ATTRS
+XML_DETECT_IDS
+XML_SKIP_IDS
+htmlNewDocNoDtD
+xmlCharEncodingOutputFunc
+xmlCreateEntitiesTable
+xmlCreateEnumeration
+xmlInitThreads
+xmlInitializeGlobalState
+xmlNanoFTPNewCtxt
+xmlNanoFTPScanProxy
+xmlNanoHTTPScanProxy
+xmlNewParserCtxt
+xmlXPathNewNodeSet
+xmlXPathNewNodeSetList
+xmlXPathNewValueTree
+xmlXPtrNewLocationSetNodeSet
+xmlXPtrNewLocationSetNodes
+
initialized
XML_SAX2_MAGIC
+
initiate
xmlCharEncOutFunc
+
initiated
xmlXPtrNewContext
+
inline
_htmlElemDesc
+
inlined
resolveEntity
+resolveEntitySAXFunc
+xmlSAX2ResolveEntity
+
inputs
_xmlParserCtxt
+
insensitive
xmlParseCharEncoding
+
insert
xmlValidGetValidElements
+
inserted
xmlAddNextSibling
+xmlAddPrevSibling
+xmlAddSibling
+xmlReplaceNode
+xmlValidGetValidElements
+
insertion
htmlHandleOmittedElem
+xmlValidGetValidElements
+
inspect
xmlXPathDebugDumpObject
+
installed
xmlDictSize
+xmlHashSize
+
instances
_xmlParserInput
+xmlParseDefaultDecl
+xmlRelaxNGParse
+xmlSchemaParse
+
instead
xmlAddChild
+xmlAddNextSibling
+xmlAddPrevSibling
+xmlIsBaseChar
+xmlIsBlank
+xmlIsChar
+xmlIsCombining
+xmlIsDigit
+xmlIsExtender
+xmlIsIdeographic
+xmlIsPubidChar
+xmlKeepBlanksDefault
+xmlRegisterHTTPPostCallbacks
+xmlSubstituteEntitiesDefault
+xmlXPtrEvalRangePredicate
+
instruction
HTML_PI_NODE
+processingInstruction
+processingInstructionSAXFunc
+xmlNewPI
+xmlSAX2ProcessingInstruction
+
insufficient
xmlCanonicPath
+
integer
xmlStrcasecmp
+xmlStrcmp
+xmlStrncasecmp
+xmlStrncmp
+xmlXPathCeilingFunction
+xmlXPathFloorFunction
+xmlXPathRoundFunction
+xmlXPathStringFunction
+
interact
xmlParseExternalID
+
interface
LIBXML_PATTERN_ENABLED
+LIBXML_READER_ENABLED
+LIBXML_SAX1_ENABLED
+LIBXML_WRITER_ENABLED
+_xmlParserCtxt
+docbParseDocument
+htmlParseDocument
+xmlParseDocument
+xmlParseReference
+xmlRelaxNGParse
+xmlSchemaParse
+xmlTextReaderCurrentDoc
+xmlTextReaderCurrentNode
+
interfaces
LIBXML_AUTOMATA_ENABLED
+LIBXML_PUSH_ENABLED
+LIBXML_REGEXP_ENABLED
+LIBXML_SCHEMAS_ENABLED
+LIBXML_UNICODE_ENABLED
+xmlNamespaceParseNCName
+xmlNamespaceParseNSDef
+xmlNamespaceParseQName
+
intern
xmlTextReaderConstString
+
internally
xmlBufferWriteQuotedString
+xmlRelaxNGNewDocParserCtxt
+xmlRemoveID
+xmlRemoveRef
+
interned
xmlPatterncompile
+xmlTextReaderConstString
+
interoperability
xmlParseElementChildrenContentDecl
+
interprestation
xmlXPathFunction
+
interpreter
xmlXPathAxisFunc
+
intersection
xmlXPathIntersection
+
into
attribute
+attributeSAXFunc
+xmlAddChild
+xmlAddNextSibling
+xmlAddPrevSibling
+xmlAutomataCompile
+xmlBoolToText
+xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlCharEncFirstLine
+xmlCharEncInFunc
+xmlCharEncOutFunc
+xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemoryEnc
+xmlGetFeaturesList
+xmlNewIOInputStream
+xmlParserAddNodeInfo
+xmlStrPrintf
+xmlStrVPrintf
+xmlTextMerge
+xmlTextReaderReadAttributeValue
+xmlXPathIdFunction
+xmlXPathWrapCString
+xmlXPathWrapExternal
+xmlXPathWrapString
+
invalid
xmlReconciliateNs
+xmlValidateDtdFinal
+
invited
xmlValidGetValidElements
+
invoking
xmlGetLineNo
+
isinf
xmlXPathIsInf
+
isn
xmlRegisterCharEncodingHandler
+xmlXPathCastToString
+
isnan
xmlXPathIsNaN
+
issue
xmlEncodeEntities
+
issued
xlinkIsLink
+
item
_xmlXPathContext
+xmlHashRemoveEntry
+xmlHashRemoveEntry2
+xmlHashRemoveEntry3
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+xmlNanoFTPDele
+xmlXPathNodeSetItem
+
items
valuePush
+xmlHashCopy
+xmlHashFree
+xmlHashScan
+xmlHashScan3
+xmlHashScanFull
+xmlHashScanFull3
+
itself
_xmlDoc
+xlinkIsLink
+xmlCharEncFirstLine
+xmlParsePEReference
+xmlParserHandlePEReference
+xmlXPathNextSelf
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk16.html b/doc/APIchunk16.html new file mode 100644 index 0000000..09a4a00 --- /dev/null +++ b/doc/APIchunk16.html @@ -0,0 +1,377 @@ + + +API Alphabetic Index j-l for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index j-l for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter j:

just
htmlSetMetaEncoding
+inputPop
+namePop
+nodePop
+valuePop
+xmlCopyEnumeration
+xmlCreateEntitiesTable
+xmlCreateEnumeration
+xmlHandleEntity
+xmlNanoFTPInit
+xmlNanoHTTPInit
+xmlSnprintfElementContent
+xmlXPathNewContext
+xmlXPathNewParserContext
+xmlXPathNextSelf
+xmlXPtrNewContext
+

Letter k:

keep
xmlParserInputGrow
+xmlSubstituteEntitiesDefault
+xmlTextReaderPreservePattern
+xmlXPathNextNamespace
+
keeps
xmlGetBufferAllocationScheme
+xmlSetBufferAllocationScheme
+
kept
_xmlParserCtxt
+_xmlXPathContext
+htmlAutoCloseTag
+htmlIsAutoClosed
+xmlKeepBlanksDefault
+xmlXPathOrderDocElems
+
keyword
xmlParseDefaultDecl
+
kill
xmlCheckVersion
+
kind
_xmlSchemaAttribute
+_xmlSchemaAttributeGroup
+_xmlSchemaElement
+_xmlSchemaFacet
+_xmlSchemaNotation
+_xmlSchemaType
+
know
BAD_CAST
+
knowledge
htmlAttrAllowed
+
known
_xmlParserInput
+xmlAllocParserInputBuffer
+xmlCreateIOParserCtxt
+xmlIOParseDTD
+xmlNewIOInputStream
+xmlOutputBufferCreateIO
+xmlParseCharEncoding
+xmlParserInputBufferCreateFd
+xmlParserInputBufferCreateFile
+xmlParserInputBufferCreateFilename
+xmlParserInputBufferCreateIO
+xmlParserInputBufferCreateMem
+xmlParserInputBufferCreateStatic
+

Letter l:

labeled
xmlParseCtxtExternalEntity
+xmlParseExtParsedEnt
+xmlParseExternalEntity
+
lack
xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+xmlMallocAtomicLoc
+xmlMallocLoc
+xmlMemMalloc
+xmlMemRealloc
+xmlReallocLoc
+
lang
xmlNodeGetLang
+xmlXPathLangFunction
+
language
xmlNodeGetLang
+xmlNodeSetLang
+xmlXPathLangFunction
+
large
_xmlParserCtxt
+_xmlParserInput
+
largest
xmlXPathFloorFunction
+
later
xmlHashAddEntry
+xmlHashAddEntry2
+xmlHashAddEntry3
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+xmlKeepBlanksDefault
+xmlParseAttValue
+
latest
xmlNanoHTTPReturnCode
+
layer
xmlChildrenNode
+xmlInitMemory
+xmlNanoFTPCleanup
+xmlNanoFTPInit
+xmlNanoHTTPCleanup
+xmlNanoHTTPInit
+xmlRootNode
+xmlSaveFileTo
+xmlSaveFormatFileTo
+
leading
xmlParseAttValue
+xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+xmlParseNotationType
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlXPathLeading
+xmlXPathLeadingSorted
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+xmlXPathNormalizeFunction
+xmlXPathStringFunction
+
least
xmlDetectCharEncoding
+xmlXPathStringFunction
+
left
xmlTextReaderGetRemainder
+
legacy
htmlNodeStatus
+
len
xmlBufferAdd
+xmlBufferAddHead
+xmlCharStrndup
+xmlDecodeEntities
+xmlGetFeaturesList
+xmlGetUTF8Char
+xmlNewDocTextLen
+xmlNewTextLen
+xmlSplitQName3
+xmlStrncat
+xmlStrncatNew
+xmlStrndup
+xmlUTF8Strndup
+xmlUTF8Strsize
+
lenght
xmlRelaxNGValidatePushCData
+xmlSplitQName3
+xmlValidatePushCData
+
length-1
xmlXPathNodeSetItem
+
less
xmlSaveToFilename
+xmlXPathCeilingFunction
+xmlXPathCompareValues
+xmlXPathSubstringFunction
+
less-than
xmlNewTextChild
+
level
XML_SCHEMAS_ELEM_TOPLEVEL
+_xmlDoc
+xmlC14NDocSave
+xmlCatalogSetDebug
+xmlDebugDumpAttr
+xmlDebugDumpAttrList
+xmlDebugDumpNode
+xmlDebugDumpNodeList
+xmlDebugDumpOneNode
+xmlNodeDump
+xmlNodeDumpOutput
+xmlShellPwd
+xmlXPathDebugDumpCompExpr
+xmlXPathDebugDumpObject
+
lexical
xmlParseDefaultDecl
+xmlSchemaValPredefTypeNode
+xmlSchemaValidateFacet
+xmlSchemaValidatePredefinedType
+xmlValidateNCName
+xmlValidateNMToken
+xmlValidateName
+xmlValidateQName
+
lib
xmlCheckVersion
+
libc
DEBUG_MEMORY
+
library
_xmlError
+_xmlSchema
+xmlCleanupParser
+xmlCleanupThreads
+xmlInitThreads
+xmlInitializeGlobalState
+xmlLockLibrary
+xmlOutputBufferCreateFilename
+xmlParseNamespace
+xmlRelaxNGCleanupTypes
+xmlSAXDefaultVersion
+xmlSchemaCleanupTypes
+xmlSchemaFreeValue
+xmlSchemaGetPredefinedType
+xmlSchemaInitTypes
+xmlUnlockLibrary
+
libs
xmlKeepBlanksDefault
+
libxml
DEBUG_MEMORY
+LIBXML_TEST_VERSION
+_xmlParserCtxt
+xmlC14NDocSave
+xmlGcMemSetup
+xmlMemSetup
+xmlRegisterHTTPPostCallbacks
+xmlSAXParseFileWithData
+xmlSAXParseMemoryWithData
+xmlShellPrintXPathError
+xmlXPathNodeSetFreeNs
+
libxml1
xmlChildrenNode
+xmlRootNode
+
libxml2
xmlCleanupThreads
+xmlFreeMutex
+xmlInitThreads
+xmlLockLibrary
+xmlMutexLock
+xmlMutexUnlock
+xmlNewMutex
+xmlRMutexLock
+xmlRMutexUnlock
+xmlUnlockLibrary
+
lifetime
xmlBufferCreateStatic
+
like
IS_CHAR_CH
+IS_DIGIT_CH
+IS_EXTENDER_CH
+IS_LETTER_CH
+LIBXML_DOTTED_VERSION
+LIBXML_TREE_ENABLED
+xmlCharEncOutFunc
+xmlLoadSGMLSuperCatalog
+xmlNanoFTPScanProxy
+xmlNanoHTTPScanProxy
+xmlParseCatalogFile
+xmlShellList
+xmlTextReaderNormalization
+xmlValidityErrorFunc
+xmlValidityWarningFunc
+
limit
xmlCharEncFirstLine
+xmlDecodeEntities
+
limited
_htmlElemDesc
+
linear
htmlEntityLookup
+htmlEntityValueLookup
+
linking
xlinkIsLink
+
links
ftpListCallback
+
listing
xmlNanoFTPList
+xmlShellList
+
lists
XML_COMPLETE_ATTRS
+_xmlXPathContext
+
literal
xmlCurrentChar
+xmlParseAttValue
+xmlParsePubidLiteral
+xmlParserHandlePEReference
+
load
xmlLoadExternalEntity
+xmlNanoHTTPFetch
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+xmlNoNetExternalEntityLoader
+xmlParseCtxtExternalEntity
+xmlParseExternalEntity
+xmlShell
+xmlShellLoad
+
loaded
_xmlParserCtxt
+
loader
resolveEntity
+resolveEntitySAXFunc
+xmlLoadCatalog
+xmlLoadCatalogs
+xmlNoNetExternalEntityLoader
+xmlSAX2ResolveEntity
+
loaders
xmlExternalEntityLoader
+
loading
resolveEntity
+resolveEntitySAXFunc
+xmlIsID
+xmlSAX2ResolveEntity
+xmlShellLoad
+
loads
xmlShellLoad
+
loadsubset
XML_COMPLETE_ATTRS
+XML_DETECT_IDS
+XML_SKIP_IDS
+
local-name
xmlXPathLocalNameFunction
+
localname
startElementNsSAX2Func
+xmlSAX2StartElementNs
+xmlStrQEqual
+
location
htmlParseEntityRef
+xmlGetFeature
+xmlNanoHTTPFetch
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+xmlRelaxNGNewParserCtxt
+xmlSchemaNewParserCtxt
+xmlSetFeature
+xmlUTF8Strloc
+xmlXPtrLocationSetAdd
+
locations
_xmlLocationSet
+
locator
setDocumentLocator
+setDocumentLocatorSAXFunc
+xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+xmlCanonicPath
+xmlSAX2SetDocumentLocator
+xmlTextReaderLocatorBaseURI
+xmlTextReaderLocatorLineNumber
+
locators
xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+
lock
xmlLockLibrary
+xmlMutexLock
+xmlNewRMutex
+xmlRMutexLock
+xmlUnlockLibrary
+
logging
xmlMallocAtomicLoc
+xmlMallocLoc
+xmlMemMalloc
+xmlMemRealloc
+xmlMemStrdupLoc
+xmlMemoryStrdup
+xmlReallocLoc
+
long
IS_BASECHAR
+IS_COMBINING
+IS_DIGIT
+xmlDetectCharEncoding
+xmlParserFindNodeInfoIndex
+
longer
XML_MAX_NAMELEN
+xmlCheckUTF8
+xmlXPathTranslateFunction
+
look-ahead
_xmlParserCtxt
+
lookahead
xmlParserInputGrow
+xmlParserInputRead
+
looked
_xmlNodeSet
+
looks
xmlGetNoNsProp
+xmlGetNsProp
+xmlGetProp
+xmlHasNsProp
+xmlHasProp
+
lookups
XML_DETECT_IDS
+xmlParseCatalogFile
+
loop
xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseExternalEntity
+
loops
_xmlParserCtxt
+
lossless
xmlOutputBufferWrite
+xmlOutputBufferWriteString
+
lowercase
htmlTagLookup
+xmlIsRef
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk17.html b/doc/APIchunk17.html new file mode 100644 index 0000000..bea20d1 --- /dev/null +++ b/doc/APIchunk17.html @@ -0,0 +1,311 @@ + + +API Alphabetic Index m-m for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index m-m for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter m:

machine
xmlCheckFilename
+
macro
xmlTextWriterWriteDocType
+xmlTextWriterWriteProcessingInstruction
+
made
LIBXML_ISO8859X_ENABLED
+xmlCharEncOutFunc
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlSetEntityReferenceFunc
+xmlXPtrNewLocationSetNodes
+
main
xmlIsMainThread
+
maintained
xmlRemoveID
+xmlRemoveRef
+
major
xmlDecodeEntities
+
make
xmlNewNode
+xmlSaveClose
+xmlSaveFlush
+
makes
xmlLoadCatalog
+xmlLoadCatalogs
+xmlTextReaderExpand
+
malloc
xmlGcMemGet
+xmlGcMemSetup
+xmlMallocAtomicLoc
+xmlMallocFunc
+xmlMallocLoc
+xmlMemGet
+xmlMemMalloc
+xmlMemSetup
+
mallocAtomicFunc
xmlGcMemGet
+xmlGcMemSetup
+
manage
xmlBufferWriteChar
+xmlBufferWriteQuotedString
+
manages
xmlBufferWriteCHAR
+
mandatory
xmlParseTextDecl
+
manipulated
xmlNewRMutex
+
manipulating
xmlLoadSGMLSuperCatalog
+
manipulation
LIBXML_TREE_ENABLED
+
many
_xmlParserInput
+xmlXPathStringFunction
+
maps
xmlTextReaderLookupNamespace
+xmlTextWriterWriteDocType
+xmlTextWriterWriteProcessingInstruction
+
mark
xmlStrcat
+xmlStrdup
+xmlTextReaderQuoteChar
+
marked
_xmlParserInput
+
marker
xmlDecodeEntities
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+
marking
xmlParseCharData
+
marks
xmlParseCharData
+
markup
xmlParseMarkupDecl
+xmlParseSDDecl
+xmlTextReaderReadInnerXml
+xmlTextReaderReadOuterXml
+xmlTextWriterWriteFormatDTD
+xmlTextWriterWriteVFormatDTD
+
markupdecl
xmlParseDocTypeDecl
+xmlParseExternalSubset
+xmlParseMarkupDecl
+
masked
xmlReconciliateNs
+
matched
xmlTextReaderPreservePattern
+
matches
CHECK_ARITY
+xmlFileMatch
+xmlIOFTPMatch
+xmlIOHTTPMatch
+xmlParseCtxtExternalEntity
+xmlParseExtParsedEnt
+xmlParseExternalEntity
+xmlPatternMatch
+xmlRegexpExec
+xmlValidateDtdFinal
+
matching
xmlFileMatch
+xmlFileOpen
+xmlHashScan3
+xmlHashScanFull3
+xmlIOFTPMatch
+xmlIOFTPOpen
+xmlIOHTTPMatch
+xmlIOHTTPOpen
+xmlRegNewExecCtxt
+xmlValidateAttributeDecl
+xmlValidateOneAttribute
+xmlValidateOneNamespace
+xmlXPathIdFunction
+
max
_xmlXPathContext
+_xmlXPathParserContext
+xmlGetCompressMode
+xmlGetDocCompressMode
+xmlOutputBufferCreateFilename
+xmlSetCompressMode
+xmlSetDocCompressMode
+xmlStrncasecmp
+xmlStrncmp
+
maximal
xmlAutomataNewCounter
+
maximum
xmlAutomataNewCountTrans
+xmlAutomataNewOnceTrans
+xmlCheckUTF8
+
means
xmlSetGenericErrorFunc
+xmlSetStructuredErrorFunc
+
mechanism
_xmlXPathContext
+xmlStructuredErrorFunc
+xmlXPathRegisterFuncLookup
+xmlXPathRegisterVariableLookup
+
mechanisms
xmlNodeGetBase
+
meet
xmlParseDefaultDecl
+
member
xmlSAXParseFileWithData
+xmlSAXParseMemoryWithData
+xmlTextWriterWriteVFormatAttribute
+xmlTextWriterWriteVFormatAttributeNS
+xmlTextWriterWriteVFormatCDATA
+xmlTextWriterWriteVFormatComment
+xmlTextWriterWriteVFormatDTD
+xmlTextWriterWriteVFormatDTDAttlist
+xmlTextWriterWriteVFormatDTDElement
+xmlTextWriterWriteVFormatDTDInternalEntity
+xmlTextWriterWriteVFormatElement
+xmlTextWriterWriteVFormatElementNS
+xmlTextWriterWriteVFormatPI
+xmlTextWriterWriteVFormatRaw
+xmlTextWriterWriteVFormatString
+xmlXPathStringFunction
+
memo
getSystemId
+xmlSAX2GetSystemId
+
memorylist
xmlMemDisplay
+xmlMemoryDump
+
memorys
xmlCleanupMemory
+
merged
xmlTextMerge
+
merging
xmlAddChild
+xmlAddChildList
+xmlAddNextSibling
+xmlAddPrevSibling
+xmlAddSibling
+
message
_xmlError
+errorSAXFunc
+fatalErrorSAXFunc
+warningSAXFunc
+xmlGenericErrorFunc
+xmlParserError
+xmlParserValidityError
+xmlParserValidityWarning
+xmlParserWarning
+xmlStrPrintf
+xmlStrVPrintf
+xmlValidityErrorFunc
+xmlValidityWarningFunc
+xmlXPatherror
+
messages
errorSAXFunc
+fatalErrorSAXFunc
+warningSAXFunc
+xmlParserError
+xmlParserValidityError
+xmlParserValidityWarning
+xmlParserWarning
+xmlSetGenericErrorFunc
+xmlSetStructuredErrorFunc
+
method
_xmlBuffer
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlRegisterHTTPPostCallbacks
+xmlSetBufferAllocationScheme
+xmlTextReaderClose
+xmlTextReaderGetRemainder
+
might
xmlNewTextChild
+
migrate
xmlEncodeEntities
+
minimal
xmlAutomataNewCounter
+
minimum
xmlAutomataNewCountTrans
+xmlAutomataNewOnceTrans
+xmlBufferGrow
+xmlBufferResize
+
minus
xmlXPathStringFunction
+
minute
ftpListCallback
+
misleading
xmlParsePEReference
+xmlParserHandlePEReference
+
mixed
XML_SCHEMAS_TYPE_MIXED
+xmlKeepBlanksDefault
+
mixed-content
xmlParseElementMixedContentDecl
+
mmap
xmlParserInputBufferCreateStatic
+
mod
xmlXPathModValues
+
mode
_xmlParserCtxt
+docbCreatePushParserCtxt
+htmlCreatePushParserCtxt
+xmlCreatePushParserCtxt
+xmlGetCompressMode
+xmlKeepBlanksDefault
+xmlNanoFTPGetConnection
+xmlParseReference
+xmlParserInputBufferGrow
+xmlParserInputBufferPush
+xmlSAXParseDoc
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+xmlSetCompressMode
+
model
xmlValidBuildContentModel
+
modified
xmlBufferCreateStatic
+xmlNodeAddContent
+xmlNodeAddContentLen
+xmlNodeSetContent
+xmlNodeSetContentLen
+xmlSchemaNewDocParserCtxt
+
modifies
xmlRelaxNGNewDocParserCtxt
+
modify
xmlShell
+
module
LIBXML_DEBUG_ENABLED
+xmlInputMatchCallback
+xmlOutputMatchCallback
+xmlStructuredErrorFunc
+
month
ftpListCallback
+
more
XML_MAX_NAMELEN
+xmlLoadExternalEntity
+xmlParseAttributeType
+xmlParseElementDecl
+xmlParseElementMixedContentDecl
+xmlParseStartTag
+xmlStrEqual
+xmlTextReaderNext
+xmlTextReaderNextSibling
+xmlTextReaderRead
+xmlTextReaderReadAttributeValue
+xmlXPathStringFunction
+
moreover
xmlAutomataNewOnceTrans
+
most
xmlC14NExecute
+xmlGetFeaturesList
+
moved
xmlTextReaderMoveToElement
+
much
xmlReconciliateNs
+
multi-threading
xmlCleanupGlobals
+xmlInitGlobals
+
multiple
xmlCurrentChar
+xmlStringCurrentChar
+
multiply
xmlXPathMultValues
+
multithreaded
htmlInitAutoClose
+xmlInitParser
+
mutex
xmlFreeMutex
+xmlFreeRMutex
+xmlMutexLock
+xmlMutexUnlock
+xmlNewMutex
+xmlNewRMutex
+xmlRMutexLock
+xmlRMutexUnlock
+
myDoc
docbFreeParserCtxt
+htmlFreeParserCtxt
+xmlFreeParserCtxt
+
myproxy
xmlNanoFTPScanProxy
+xmlNanoHTTPScanProxy
+
myproxy:3128
xmlNanoFTPScanProxy
+xmlNanoHTTPScanProxy
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk18.html b/doc/APIchunk18.html new file mode 100644 index 0000000..62d47a2 --- /dev/null +++ b/doc/APIchunk18.html @@ -0,0 +1,287 @@ + + +API Alphabetic Index n-n for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index n-n for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter n:

named
xmlAddEncodingAlias
+
names
_xmlDoc
+_xmlParserCtxt
+htmlInitAutoClose
+xmlGetFeaturesList
+xmlHashAddEntry
+xmlHashScan3
+xmlHashScanFull3
+xmlParseNotationType
+xmlValidGetPotentialChildren
+xmlValidGetValidElements
+
namespace-uri
xmlXPathNamespaceURIFunction
+
namespace:
XINCLUDE_NS
+XINCLUDE_OLD_NS
+xmlParseAttribute
+xmlParseStartTag
+
namespaces
_xmlParserCtxt
+_xmlXPathContext
+xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlCopyDoc
+xmlCopyNode
+xmlDocCopyNode
+xmlFreeNsList
+xmlGetProp
+xmlReconciliateNs
+
naming
xmlChildrenNode
+xmlRootNode
+
ncname
xmlBuildQName
+
ndata
_xmlEntity
+
nearest
xmlNodeGetLang
+xmlNodeGetSpacePreserve
+xmlXPathLangFunction
+
nearly
xmlSAXParseFileWithData
+xmlSAXParseMemoryWithData
+
necessary
_htmlElemDesc
+xmlCheckUTF8
+xmlDebugDumpString
+
need
WITH_TRIO
+XML_SUBSTITUTE_BOTH
+XML_SUBSTITUTE_NONE
+XML_SUBSTITUTE_PEREF
+XML_SUBSTITUTE_REF
+xmlCreatePushParserCtxt
+xmlGetNsList
+xmlInitCharEncodingHandlers
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNewTextChild
+xmlParseEntityRef
+xmlParserHandleReference
+xmlValidGetValidElements
+xmlXPathNewContext
+
needed
_xmlParserCtxt
+_xmlXPathContext
+htmlEntityLookup
+htmlEntityValueLookup
+xlinkIsLink
+xmlGetBufferAllocationScheme
+xmlLoadSGMLSuperCatalog
+xmlNewNodeEatName
+xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+xmlReconciliateNs
+xmlSetBufferAllocationScheme
+xmlShellPwd
+xmlStrncat
+xmlTextReaderCurrentDoc
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlXPathCastToString
+xmlXPathPopBoolean
+xmlXPathPopExternal
+xmlXPathPopNodeSet
+xmlXPathPopNumber
+xmlXPathPopString
+xmlXPathStringFunction
+
needing
xmlCharEncOutFunc
+xmlURIEscape
+
needle
xmlStrcasestr
+xmlStrstr
+
needs
xmlEntityReferenceFunc
+xmlXPathNodeSetFreeNs
+
negativa
xmlRegexpExec
+xmlRegexpIsDeterminist
+
negative
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlRegExecPushString
+xmlRegExecPushString2
+xmlShellCmd
+xmlXPathBooleanFunction
+xmlXPathCeilingFunction
+xmlXPathStringEvalNumber
+xmlXPathStringFunction
+
neither
xmlHasNsProp
+xmlHasProp
+xmlParseElementChildrenContentDecl
+xmlTextReaderReadInnerXml
+xmlTextReaderReadOuterXml
+xmlXPathBooleanFunction
+xmlXPathCompareValues
+
nested
xmlParseElementChildrenContentDecl
+xmlParseMarkupDecl
+
net
xmlXPathIsInf
+xmlXPathIsNaN
+
network
htmlCtxtReadFile
+htmlReadFile
+xmlCtxtReadFile
+xmlNoNetExternalEntityLoader
+xmlReadFile
+xmlReaderForFile
+xmlReaderNewFile
+
nillable
XML_SCHEMAS_ELEM_NILLABLE
+
nod
xmlEntityReferenceFunc
+
node-
xmlValidGetValidElements
+
node-set?
xmlXPathLocalNameFunction
+xmlXPathNamespaceURIFunction
+
nodelist
xmlParseBalancedChunkMemoryRecover
+
nodes1
xmlXPathDifference
+
nodes2
xmlXPathDifference
+
nodeset
xmlXPathNodeSetFreeNs
+
nodesets
xmlXPathNodeSetMerge
+
non
XML_SCHEMAS_ANYATTR_LAX
+xmlEncodeEntitiesReentrant
+xmlNewChild
+xmlNewTextChild
+xmlXPathParseNCName
+
non-CDATA
_xmlParserCtxt
+
non-NULL
htmlParseEntityRef
+xmlCreatePushParserCtxt
+xmlParseEntityValue
+
non-UTF-8
xmlByteConsumed
+
non-blank
xmlParseElementChildrenContentDecl
+
non-determinist
_xmlValidCtxt
+
non-empty
xmlXPathBooleanFunction
+
non-exclusive
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
non-final
xmlRegExecPushString
+xmlRegExecPushString2
+
non-negative
xmlC14NDocSaveTo
+xmlC14NExecute
+
non-normative
xmlDetectCharEncoding
+
non-null
xmlShellPrintNode
+
non-stateless
xmlCharEncOutFunc
+
non-validating
xmlParseAttValue
+xmlParseEntityRef
+
non-zero
initxmlDefaultSAXHandler
+xmlIsLetter
+xmlSAX2InitDefaultSAXHandler
+xmlXPathBooleanFunction
+
none
getNamespace
+xmlDecodeEntities
+xmlGetLastChild
+xmlOutputBufferCreateFilename
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+xmlTextReaderConstXmlLang
+xmlTextReaderXmlLang
+
nor
xmlBufferCreateStatic
+xmlBuildQName
+xmlParseElementChildrenContentDecl
+xmlSetGenericErrorFunc
+xmlSetStructuredErrorFunc
+xmlTextReaderReadInnerXml
+xmlTextReaderReadOuterXml
+xmlXPathBooleanFunction
+
normal
xmlInitCharEncodingHandlers
+xmlParserInputBufferGrow
+
normalization
xmlNormalizeURIPath
+xmlParseSDDecl
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+
normalization:
xmlCurrentChar
+
normalizations
xmlTextReaderNormalization
+
normalize
xmlParseAttValue
+xmlTextReaderNormalization
+
normalize-space
xmlXPathNormalizeFunction
+
normalized
xmlParseAttValue
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlXPathNormalizeFunction
+
normalizing
xmlCurrentChar
+
normally
c
+
notations
_xmlDtd
+xmlValidateDtdFinal
+
note
xmlCheckUTF8
+xmlLoadExternalEntity
+
now
_xmlSchema
+xmlDecodeEntities
+xmlNewGlobalNs
+xmlParserHandleReference
+xmlScanName
+
null
xmlHashScan3
+xmlHashScanFull3
+xmlShellDu
+
null-terminated
xmlCheckUTF8
+
number:
LIBXML_VERSION
+
number?
xmlXPathSubstringFunction
+
numbers
xmlLineNumbersDefault
+xmlUTF8Size
+xmlXPathAddValues
+xmlXPathCompareValues
+xmlXPathDivValues
+xmlXPathModValues
+xmlXPathMultValues
+xmlXPathOrderDocElems
+xmlXPathRoundFunction
+xmlXPathSubValues
+xmlXPathValueFlipSign
+
numeric
xmlXPathAddValues
+xmlXPathDivValues
+xmlXPathModValues
+xmlXPathMultValues
+xmlXPathStringFunction
+xmlXPathSubValues
+xmlXPathSubstringFunction
+xmlXPathValueFlipSign
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk19.html b/doc/APIchunk19.html new file mode 100644 index 0000000..cbce12b --- /dev/null +++ b/doc/APIchunk19.html @@ -0,0 +1,341 @@ + + +API Alphabetic Index o-o for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index o-o for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter o:

object?
xmlXPathNumberFunction
+xmlXPathStringFunction
+
objects
xmlXPathCompareValues
+xmlXPathDivValues
+xmlXPathEqualValues
+xmlXPathFreeNodeSetList
+xmlXPathNotEqualValues
+
objects:
xmlXPathAddValues
+xmlXPathCompareValues
+xmlXPathModValues
+xmlXPathMultValues
+xmlXPathSubValues
+
obligated
xmlParseEntityRef
+
obsolete
xmlNormalizeWindowsPath
+
occupied
xmlCanonicPath
+
occur
xmlParseComment
+xmlParseMarkupDecl
+
occured
xmlCtxtGetLastError
+xmlDictCreate
+xmlDictCreateSub
+xmlGetLastError
+xmlHashCreate
+xmlListRemoveFirst
+xmlListRemoveLast
+
occurences
xmlAutomataNewCountTrans
+xmlAutomataNewOnceTrans
+
occurred
xmlMemStrdupLoc
+xmlMemoryStrdup
+
occurrence
xmlStrcasestr
+xmlStrchr
+xmlStrstr
+xmlStrsub
+xmlXPathSubstringAfterFunction
+xmlXPathSubstringBeforeFunction
+
occurrences
xmlXPathTranslateFunction
+
occurs
xmlNormalizeURIPath
+xmlParseSDDecl
+xmlStrPrintf
+xmlStrVPrintf
+
octets
UTF8ToHtml
+UTF8Toisolat1
+docbEncodeEntities
+htmlEncodeEntities
+isolat1ToUTF8
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+
of:
xmlParseSDDecl
+
off
xmlGetNoNsProp
+xmlGetNsProp
+xmlGetProp
+xmlHasNsProp
+xmlHasProp
+xmlLineNumbersDefault
+xmlParseExternalID
+
okay
_xmlParserCtxt
+xmlSchemaCheckFacet
+
old
_xmlDoc
+globalNamespace
+xmlDocSetRootElement
+xmlKeepBlanksDefault
+xmlLineNumbersDefault
+xmlListCopy
+xmlNewGlobalNs
+xmlParserInputBufferGrow
+xmlParserInputBufferRead
+xmlRegisterNodeDefault
+xmlReplaceNode
+xmlXPathConvertBoolean
+xmlXPathConvertNumber
+xmlXPathConvertString
+
older
LIBXML_SAX1_ENABLED
+xmlParseNamespace
+
omitted
htmlHandleOmittedElem
+xmlXPathLocalNameFunction
+xmlXPathNamespaceURIFunction
+xmlXPathNormalizeFunction
+xmlXPathStringFunction
+xmlXPathStringLengthFunction
+
once
htmlInitAutoClose
+xmlAutomataNewOnceTrans
+xmlCleanupThreads
+xmlEncodeEntities
+xmlInitParser
+xmlInitializeCatalog
+xmlLoadCatalog
+xmlLoadCatalogs
+xmlParseAttributeType
+xmlParseElementDecl
+xmlParseElementMixedContentDecl
+xmlParsePI
+xmlParseStartTag
+xmlTextReaderCurrentDoc
+xmlTextReaderPreservePattern
+xmlValidateDocumentFinal
+xmlValidateDtdFinal
+xmlXPathNodeSetMerge
+xmlXPtrLocationSetMerge
+
ones
XML_COMPLETE_ATTRS
+startElementNsSAX2Func
+xmlCatalogConvert
+xmlConvertSGMLCatalog
+
onto
xmlParserInputBufferGrow
+
opaque
_xmlSchema
+_xmlURI
+
open
htmlCtxtReadFd
+htmlDocDump
+htmlReadFd
+xmlCtxtReadFd
+xmlDocDump
+xmlDocFormatDump
+xmlIOFTPOpen
+xmlIOHTTPOpen
+xmlInputOpenCallback
+xmlNanoFTPConnect
+xmlNanoFTPConnectTo
+xmlNanoFTPGetConnection
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+xmlOutputOpenCallback
+xmlReadFd
+xmlReaderForFd
+xmlReaderNewFd
+xmlTextWriterEndDocument
+
opening
startElement
+startElementSAXFunc
+xmlParseElementChildrenContentDecl
+xmlSAX2StartElement
+
operands
xmlXPathAddValues
+xmlXPathDivValues
+xmlXPathModValues
+xmlXPathMultValues
+xmlXPathSubValues
+xmlXPathValueFlipSign
+
operating
_xmlParserCtxt
+xmlParserInputBufferGrow
+xmlParserInputBufferPush
+
operation
xmlCatalogSetDebug
+xmlTextReaderConstValue
+xmlXPathAddValues
+xmlXPathCompareValues
+xmlXPathConvertBoolean
+xmlXPathConvertNumber
+xmlXPathConvertString
+xmlXPathDivValues
+xmlXPathEqualValues
+xmlXPathModValues
+xmlXPathMultValues
+xmlXPathNotEqualValues
+xmlXPathSubValues
+xmlXPathValueFlipSign
+
operations
xmlReconciliateNs
+
operator
xmlXPathCompareValues
+
operators
xmlXPathAddValues
+xmlXPathDivValues
+xmlXPathModValues
+xmlXPathMultValues
+xmlXPathSubValues
+xmlXPathValueFlipSign
+
optimized
xmlXPathNodeSetAddUnique
+
option
xmlGetLineNo
+
optional
docbCreatePushParserCtxt
+htmlCreatePushParserCtxt
+xmlCreatePushParserCtxt
+xmlCtxtResetPush
+xmlListCreate
+xmlNanoFTPList
+xmlNewChild
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNewDocRawNode
+xmlNewNode
+xmlNewNodeEatName
+xmlNewTextChild
+xmlNodeDumpOutput
+xmlParseMisc
+xmlPatterncompile
+xmlSchemaValidateStream
+xmlShellSave
+xmlShellValidate
+xmlURIUnescapeString
+
options
htmlCtxtUseOptions
+xmlCtxtUseOptions
+xmlSaveToBuffer
+xmlSaveToFd
+xmlSaveToFilename
+xmlSaveToIO
+
ordered
xmlListAppend
+xmlListInsert
+xmlXPathNextAncestor
+xmlXPathNextFollowing
+xmlXPathNextPreceding
+
ordering
xmlListDataCompare
+
org
XINCLUDE_NS
+XINCLUDE_OLD_NS
+xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlGetCharEncodingName
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlSchemaGetPredefinedType
+xmlTextReaderNodeType
+
oriented
xmlValidityErrorFunc
+xmlValidityWarningFunc
+
origin
_xmlXPathContext
+
original
xmlCharEncodingInputFunc
+xmlCopyError
+xmlGetEncodingAlias
+xmlListMerge
+xmlParseEntityValue
+xmlShellSave
+xmlStrcat
+xmlStrncat
+xmlStrncatNew
+xmlXPathObjectCopy
+
other
htmlAutoCloseTag
+htmlIsAutoClosed
+htmlNodeStatus
+xmlCatalogAdd
+xmlGcMemSetup
+xmlLoadACatalog
+xmlMemSetup
+xmlNanoFTPUpdateURL
+xmlParseAttValue
+xmlParseAttribute
+xmlParseNamespace
+xmlParseSDDecl
+xmlTextReaderReadString
+xmlValidateRoot
+xmlXPathIdFunction
+xmlXPathNormalizeFunction
+xmlXPathStringFunction
+xmlXPathStringLengthFunction
+
our
setDocumentLocator
+setDocumentLocatorSAXFunc
+xmlSAX2SetDocumentLocator
+
out
UTF8ToHtml
+UTF8Toisolat1
+docbEncodeEntities
+htmlEncodeEntities
+isolat1ToUTF8
+xmlCharEncodingInputFunc
+xmlLockLibrary
+xmlParseEntity
+xmlSAXParseEntity
+xmlSetGenericErrorFunc
+xmlSetStructuredErrorFunc
+xmlTextReaderNormalization
+xmlXPathFunction
+xmlXPathNodeSetItem
+
output?
xmlNewTextWriterDoc
+xmlNewTextWriterFilename
+xmlNewTextWriterMemory
+xmlNewTextWriterPushParser
+xmlNewTextWriterTree
+
outside
xmlReconciliateNs
+
overflow
_xmlParserInput
+
override
resolveEntity
+resolveEntitySAXFunc
+xmlCatalogAdd
+xmlSAX2ResolveEntity
+
overwrite
xmlACatalogAdd
+xmlCatalogAdd
+
overwritten
xmlAddEncodingAlias
+
own
_xmlEntity
+_xmlParserCtxt
+resolveEntity
+resolveEntitySAXFunc
+xmlSAX2ResolveEntity
+
owned
xmlClearParserCtxt
+xmlDictOwns
+
owner
ftpListCallback
+
ownership
xmlAddAttributeDecl
+
owning
xmlNewDocFragment
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk2.html b/doc/APIchunk2.html new file mode 100644 index 0000000..52e3b64 --- /dev/null +++ b/doc/APIchunk2.html @@ -0,0 +1,414 @@ + + +API Alphabetic Index D-E for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index D-E for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter D:

DEBUG_MEMORY
DEBUG_MEMORY
+
DEBUG_MEMORY_FREED
DEBUG_MEMORY
+
DEBUG_MEMORY_LOCATION
DEBUG_MEMORY
+
DELE
xmlNanoFTPDele
+
DELEGATE
xmlLoadSGMLSuperCatalog
+
DEMO
getPublicId
+xmlSAX2GetPublicId
+
DEPRECATED
checkNamespace
+getNamespace
+globalNamespace
+namespaceDecl
+setDocumentLocator
+setNamespace
+xmlCatalogGetPublic
+xmlCatalogGetSystem
+xmlIsBaseChar
+xmlIsBlank
+xmlIsChar
+xmlIsCombining
+xmlIsDigit
+xmlIsExtender
+xmlIsIdeographic
+xmlIsPubidChar
+xmlNewGlobalNs
+
DOCTYPE
xmlParseDocTypeDecl
+
DOM
LIBXML_TREE_ENABLED
+_xmlParserCtxt
+attribute
+attributeSAXFunc
+docbSAXParseDoc
+docbSAXParseFile
+htmlSAXParseDoc
+htmlSAXParseFile
+ignorableWhitespace
+ignorableWhitespaceSAXFunc
+resolveEntity
+resolveEntitySAXFunc
+xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemoryEnc
+xmlKeepBlanksDefault
+xmlSAX2IgnorableWhitespace
+xmlSAX2ResolveEntity
+xmlSAXParseDoc
+xmlSAXParseEntity
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+xmlXPathNodeSetGetLength
+xmlXPathNodeSetItem
+
DTDs
XML_COMPLETE_ATTRS
+xmlParserHandlePEReference
+
Data
xmlParseCDSect
+
Datatype
xmlRegexpCompile
+
Deallocate
xmlFreeAttributeTable
+xmlFreeElementTable
+xmlFreeEntitiesTable
+xmlFreeIDTable
+xmlFreeNotationTable
+xmlFreeRefTable
+xmlFreeTextReader
+xmlFreeTextWriter
+xmlRelaxNGFree
+xmlSchemaFree
+xmlSchemaFreeFacet
+xmlSchemaFreeType
+
Debugging
LIBXML_DEBUG_ENABLED
+
Declaration
xmlParseElementDecl
+xmlParseMarkupDecl
+xmlParseSDDecl
+xmlValidCtxtNormalizeAttributeValue
+xmlValidateElementDecl
+
Declared
xmlParseEntityDecl
+xmlParseEntityRef
+xmlParsePEReference
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlValidateNotationUse
+
Default
xmlHandleEntity
+xmlParseAttributeType
+xmlParseDefaultDecl
+xmlValidateAttributeDecl
+xmlValidateOneAttribute
+xmlValidateOneNamespace
+
DefaultDecl
xmlParseAttributeListDecl
+xmlParseDefaultDecl
+
Deletes
xmlListDelete
+
Deprecated
htmlAttrAllowed
+xmlCleanupPredefinedEntities
+xmlInitializePredefinedEntities
+xmlParseQuotedString
+xmlSprintfElementContent
+
Depth
_xmlParserCtxt
+_xmlValidCtxt
+
DeregisterNodeFunc
xmlDeregisterNodeDefault
+
Deseret
xmlUCSIsDeseret
+
Determine
htmlIsBooleanAttr
+xmlIsID
+xmlIsRef
+
Devanagari
xmlUCSIsDevanagari
+
Digit
IS_DIGIT
+xmlNamespaceParseNCName
+xmlParseName
+xmlScanName
+xmlXPathParseNCName
+xmlXPathParseName
+
Digits
xmlXPathStringEvalNumber
+
Digits?
xmlXPathStringEvalNumber
+
Dingbats
xmlUCSIsDingbats
+
Display
errorSAXFunc
+fatalErrorSAXFunc
+warningSAXFunc
+xmlParserError
+xmlParserValidityError
+xmlParserValidityWarning
+xmlParserWarning
+
Displays
xmlParserPrintFileContext
+xmlParserPrintFileInfo
+
DocBook
docbCreatePushParserCtxt
+initdocbDefaultSAXHandler
+xmlSAX2InitDocbDefaultSAXHandler
+
Docbook
LIBXML_DOCB_ENABLED
+_xmlParserCtxt
+docbParseFile
+
Document
xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemoryEnc
+xmlNodeGetBase
+xmlParseSDDecl
+xmlValidCtxtNormalizeAttributeValue
+xmlXIncludeNewContext
+
Does
hasExternalSubset
+hasExternalSubsetSAXFunc
+hasInternalSubset
+hasInternalSubsetSAXFunc
+xmlCharInRange
+xmlSAX2HasExternalSubset
+xmlSAX2HasInternalSubset
+xmlShellList
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlValidateDocumentFinal
+xmlValidateDtdFinal
+
Douglas
xmlURIEscape
+
Draft
xmlParseNamespace
+
DtD
xmlGetDtdAttrDesc
+xmlGetDtdElementDesc
+xmlGetDtdNotationDesc
+xmlGetDtdQAttrDesc
+xmlGetDtdQElementDesc
+xmlValidateDtd
+
DtDs
xlinkIsLink
+xmlIsMixedElement
+
Dtd
_xmlValidCtxt
+xmlValidGetValidElements
+
Dumps
xmlBufferDump
+xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlDebugDumpAttr
+xmlDebugDumpAttrList
+xmlDebugDumpDTD
+xmlDebugDumpDocument
+xmlDebugDumpDocumentHead
+xmlDebugDumpEntities
+xmlDebugDumpNode
+xmlDebugDumpNodeList
+xmlDebugDumpOneNode
+xmlDebugDumpString
+xmlXPathDebugDumpCompExpr
+
Duplicate
xmlHashAddEntry
+xmlHashAddEntry2
+xmlHashAddEntry3
+xmlListDup
+xmlParseElementMixedContentDecl
+xmlValidateElementDecl
+

Letter E:

ELEMENT
_xmlElementContent
+
EMPTY
xmlParseElementContentDecl
+
ENTITIES
xmlParseAttributeType
+xmlValidateAttributeValue
+xmlValidateDtdFinal
+
ENTITY
htmlParseEntityRef
+xmlParseAttributeType
+xmlParseEntityRef
+xmlParseEntityValue
+xmlValidateAttributeValue
+xmlValidateDtdFinal
+
ENTITY_REF
xmlNodeBufGetContent
+xmlNodeGetContent
+
ENTITY_REFs
xmlNewChild
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlStringGetNodeList
+xmlStringLenGetNodeList
+
ETag
htmlParseElement
+xmlParseElement
+xmlParseEndTag
+
EXSLT
xmlXPathDifference
+xmlXPathDistinct
+xmlXPathDistinctSorted
+xmlXPathHasSameNodes
+xmlXPathIntersection
+xmlXPathLeading
+xmlXPathLeadingSorted
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPathTrailing
+xmlXPathTrailingSorted
+
Element
_xmlAttribute
+_xmlElement
+_xmlElementContent
+htmlNodeStatus
+xmlParseAttributeType
+xmlParseDocTypeDecl
+xmlParseElement
+xmlParseElementChildrenContentDecl
+xmlParseElementContentDecl
+xmlParseElementDecl
+xmlParseElementMixedContentDecl
+xmlTextReaderReadString
+xmlValidateElementDecl
+xmlValidateOneElement
+xmlValidateRoot
+
ElementTable
htmlTagLookup
+
Empties
xmlXPathEmptyNodeSet
+
EmptyElemTag
htmlParseElement
+xmlParseElement
+xmlParseStartTag
+
EmptyElement
xmlParseStartTag
+
EncName
xmlParseEncName
+xmlParseEncodingDecl
+
Encapsulating
xmlNodeGetBase
+
EnclosedAlphanumerics
xmlUCSIsEnclosedAlphanumerics
+
EnclosedCJKLettersandMonths
xmlUCSIsEnclosedCJKLettersandMonths
+
Encoding
htmlGetMetaEncoding
+xmlGetCharEncodingName
+xmlParseCharEncoding
+
EncodingDecl
xmlParseEncodingDecl
+xmlParseTextDecl
+
EncodingDecl?
xmlParseXMLDecl
+
End
_xmlDoc
+_xmlDtd
+_xmlNode
+xmlTextReaderGetRemainder
+xmlTextWriterEndAttribute
+xmlTextWriterEndCDATA
+xmlTextWriterEndComment
+xmlTextWriterEndDTD
+xmlTextWriterEndDTDAttlist
+xmlTextWriterEndDTDElement
+xmlTextWriterEndDTDEntity
+xmlTextWriterEndDocument
+xmlTextWriterEndElement
+xmlTextWriterEndPI
+xmlTextWriterFullEndElement
+
End-of-Line
xmlCurrentChar
+
Entities
xmlGetCharEncodingName
+xmlParseCharEncoding
+
EntitiesTable
htmlEntityLookup
+htmlEntityValueLookup
+
Entity
_xmlEntity
+xmlNewEntityInputStream
+xmlNodeBufGetContent
+xmlNodeGetBase
+xmlNodeGetContent
+xmlParseAttribute
+xmlParseAttributeType
+xmlParseEntityRef
+xmlParsePEReference
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlValidateAttributeValue
+xmlValidateOneAttribute
+xmlValidateOneNamespace
+
EntityDecl
xmlParseEntityDecl
+xmlParseMarkupDecl
+
EntityDef
xmlParseEntityDecl
+
EntityRef
htmlParseEntityRef
+xmlDecodeEntities
+xmlParseEntityRef
+xmlParseReference
+xmlParserHandleReference
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+
EntityReference
xmlTextReaderReadAttributeValue
+
EntityValue
xmlParseEntityDecl
+xmlParseEntityValue
+
Enumerated
xmlParseEnumeratedType
+
EnumeratedType
xmlParseAttributeType
+xmlParseEnumeratedType
+
Enumeration
_xmlEnumeration
+xmlParseEnumeratedType
+xmlParseEnumerationType
+xmlValidateAttributeDecl
+
Equal
xmlStrQEqual
+
Escaping
xmlURIEscape
+
Ethiopic
xmlUCSIsEthiopic
+
Evaluate
xmlXPathCompiledEval
+xmlXPathEval
+xmlXPathEvalExpression
+xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+xmlXPtrEval
+xmlXPtrEvalRangePredicate
+
Everything
_xmlParserCtxt
+setDocumentLocator
+setDocumentLocatorSAXFunc
+xmlSAX2SetDocumentLocator
+
Exclusive
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
Existing
xmlAddEncodingAlias
+xmlHashRemoveEntry
+xmlHashRemoveEntry2
+xmlHashRemoveEntry3
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+
Exp
xmlAutomataCompile
+
Experimental
htmlNodeStatus
+
Expr
xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+xmlXPtrEvalRangePredicate
+
Expression
xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+
Extender
IS_EXTENDER
+xmlNamespaceParseNCName
+xmlParseName
+xmlScanName
+xmlXPathParseNCName
+xmlXPathParseName
+
External
_xmlDtd
+_xmlEntity
+xmlACatalogResolve
+xmlCatalogLocalResolve
+xmlCatalogResolve
+xmlExternalEntityLoader
+xmlLoadExternalEntity
+xmlParseAttribute
+xmlParseDTD
+xmlParseExternalID
+xmlSAXParseDTD
+
ExternalID
xmlParseDocTypeDecl
+xmlParseEntityDecl
+xmlParseExternalID
+xmlParseNotationDecl
+
Extract
xmlStrsub
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk20.html b/doc/APIchunk20.html new file mode 100644 index 0000000..b335510 --- /dev/null +++ b/doc/APIchunk20.html @@ -0,0 +1,508 @@ + + +API Alphabetic Index p-p for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index p-p for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter p:

pairs
startElement
+startElementNsSAX2Func
+startElementSAXFunc
+xmlSAX2StartElement
+xmlSAX2StartElementNs
+
param
_xmlDtd
+
parameter-entity
xmlParseElementChildrenContentDecl
+xmlParseMarkupDecl
+
parameters
ATTRIBUTE_UNUSED
+errorSAXFunc
+fatalErrorSAXFunc
+warningSAXFunc
+xmlNewChild
+xmlNewTextChild
+xmlParserError
+xmlParserValidityError
+xmlParserValidityWarning
+xmlParserWarning
+xmlStrPrintf
+xmlStrVPrintf
+xmlTextWriterWriteFormatAttribute
+xmlTextWriterWriteFormatAttributeNS
+xmlTextWriterWriteFormatCDATA
+xmlTextWriterWriteFormatComment
+xmlTextWriterWriteFormatDTD
+xmlTextWriterWriteFormatDTDAttlist
+xmlTextWriterWriteFormatDTDElement
+xmlTextWriterWriteFormatDTDInternalEntity
+xmlTextWriterWriteFormatElement
+xmlTextWriterWriteFormatElementNS
+xmlTextWriterWriteFormatPI
+xmlTextWriterWriteFormatRaw
+xmlTextWriterWriteFormatString
+xmlXPathEvalFunc
+
parent-
_xmlNode
+
parentheses
xmlParseElementChildrenContentDecl
+
parenthesis
xmlSnprintfElementContent
+xmlSprintfElementContent
+
parenthesized
xmlParseElementChildrenContentDecl
+
parents
xmlSearchNs
+xmlSearchNsByHref
+
partial
xmlOutputBufferWrite
+xmlOutputBufferWriteString
+
particular
_xmlNodeSet
+
pass
xmlCurrentChar
+xmlRelaxParserSetFlag
+xmlTextReaderSetErrorHandler
+xmlTextReaderSetStructuredErrorHandler
+
passed
CHECK_ARITY
+xmlAutomataNewTransition
+xmlAutomataNewTransition2
+xmlHashScan
+xmlHashScan3
+xmlHashScanFull
+xmlHashScanFull3
+xmlListReverseWalk
+xmlListWalk
+xmlNanoFTPGet
+xmlNanoFTPList
+xmlParseAttValue
+xmlSetGenericErrorFunc
+xmlSetStructuredErrorFunc
+xmlXPathEvalFunc
+xmlXPathIntersection
+
passive
xmlNanoFTPGetConnection
+
password
xmlNanoFTPProxy
+
past
attribute
+attributeSAXFunc
+
paste
xmlReconciliateNs
+
path
_xmlURI
+xmlCanonicPath
+xmlCheckFilename
+xmlGetNodePath
+xmlLoadACatalog
+xmlLoadCatalog
+xmlLoadSGMLSuperCatalog
+xmlNanoFTPGetSocket
+xmlNanoFTPUpdateURL
+xmlNormalizeURIPath
+xmlNormalizeWindowsPath
+xmlParserGetDirectory
+xmlShellPwd
+xmlShellValidate
+xmlTextReaderRelaxNGValidate
+
pattern
xmlPatternMatch
+xmlPatterncompile
+xmlTextReaderPreservePattern
+
pcdata
cdataBlock
+cdataBlockSAXFunc
+xmlSAX2CDataBlock
+
pedantic
_xmlParserCtxt
+xmlPedanticParserDefault
+
per
xmlGetLastError
+xmlParseAttributeType
+xmlValidateElementDecl
+
performance
xmlGetBufferAllocationScheme
+xmlSetBufferAllocationScheme
+
performed
htmlNodeStatus
+
pertain
xmlNewDocTextLen
+
pertains
xmlNodeGetBase
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseExternalEntity
+
phase
xmlRegNewExecCtxt
+
piece
xmlNewChild
+xmlNewDocNode
+xmlNewDocNodeEatName
+
place
xmlCatalogAdd
+xmlCopyError
+xmlGcMemGet
+xmlMemGet
+xmlReplaceNode
+
places
xmlStrPrintf
+xmlStrVPrintf
+
plug
xmlXPathFuncLookupFunc
+xmlXPathVariableLookupFunc
+
plus
UTF8ToHtml
+docbEncodeEntities
+htmlEncodeEntities
+
pnetlib-doc
xmlTextReaderNodeType
+
pointed
xmlPopInput
+
pointers
xmlParserInputGrow
+xmlParserInputRead
+xmlReconciliateNs
+xmlValidGetValidElements
+
points
_xmlChRangeGroup
+
pop
xmlPopInput
+
popped
xmlXPathFunction
+
pops
xmlSkipBlankChars
+
port
_xmlURI
+xmlNanoFTPConnectTo
+xmlNanoFTPProxy
+xmlNanoFTPScanProxy
+xmlNanoFTPUpdateURL
+xmlNanoHTTPScanProxy
+
portable
xmlXPathIsInf
+xmlXPathIsNaN
+
pos
xmlUTF8Strsub
+
position:
xmlXPathSubstringFunction
+
positioned
xmlTextReaderReadString
+
positionned
xmlTextReaderReadAttributeValue
+
positions
xmlUTF8Strsub
+
positive
UTF8ToHtml
+UTF8Toisolat1
+docbEncodeEntities
+htmlEncodeEntities
+isolat1ToUTF8
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+xmlRelaxNGValidateDoc
+xmlSchemaValPredefTypeNode
+xmlSchemaValidateDoc
+xmlSchemaValidateFacet
+xmlSchemaValidatePredefinedType
+xmlSchemaValidateStream
+xmlTextReaderPreservePattern
+xmlValidateNCName
+xmlValidateNMToken
+xmlValidateName
+xmlValidateQName
+xmlXPathBooleanFunction
+xmlXPathFloorFunction
+xmlXPathStringFunction
+
possible
_xmlSchemaType
+xmlCreateEntityParserCtxt
+xmlParseDefaultDecl
+xmlParseExternalID
+xmlReconciliateNs
+xmlTextReaderRelaxNGSetSchema
+xmlTextReaderRelaxNGValidate
+xmlValidateDtdFinal
+
possibly
xmlDocGetRootElement
+xmlDocSetRootElement
+xmlIsBlankNode
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseExternalEntity
+xmlSaveToFilename
+xmlXPathStringFunction
+
posteriori
xmlSetNs
+
potential
xmlValidGetPotentialChildren
+
potentially
_xmlURI
+
pre-interned
_xmlParserCtxt
+
preallocated
xmlBuildQName
+
precede
xmlParseEntityRef
+xmlParsePEReference
+xmlParserHandlePEReference
+xmlXPathLeading
+xmlXPathLeadingSorted
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+
preceded
xmlXPathStringFunction
+
precedes
xmlXPathSubstringBeforeFunction
+
preceding
_xmlXPathParserContext
+xmlXPathNextPreceding
+xmlXPathNextPrecedingSibling
+
preceding-sibling
xmlXPathNextPrecedingSibling
+
precisely
xmlXPathSubstringFunction
+
precompiled
_xmlXPathParserContext
+xmlPatternMatch
+xmlRegNewExecCtxt
+xmlRelaxNGNewValidCtxt
+xmlSchemaNewValidCtxt
+xmlTextReaderRelaxNGSetSchema
+xmlXPathDebugDumpCompExpr
+
precomputed
xmlSchemaValidateFacet
+
predefined
XML_XML_NAMESPACE
+xmlCleanupPredefinedEntities
+xmlEncodeEntitiesReentrant
+xmlEncodeSpecialChars
+xmlGetDocEntity
+xmlGetPredefinedEntity
+xmlInitializePredefinedEntities
+xmlParseReference
+xmlSchemaValPredefTypeNode
+xmlSchemaValidatePredefinedType
+
predicate
xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+xmlXPtrEvalRangePredicate
+
preferably
xmlInitializeCatalog
+xmlLoadCatalog
+xmlLoadCatalogs
+
preference
xmlCatalogGetDefaults
+xmlCatalogSetDefaultPrefer
+xmlCatalogSetDefaults
+
prefixes
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
preparsed
xmlReaderNewWalker
+xmlReaderWalker
+xmlRelaxNGNewDocParserCtxt
+xmlSchemaNewDocParserCtxt
+
prepend
xmlValidGetValidElements
+
present
xmlBufferCreateStatic
+xmlDictLookup
+xmlDictQLookup
+xmlNewNs
+xmlTextReaderConstValue
+xmlTextReaderValue
+xmlValidateDocument
+xmlValidateOneElement
+
preserve
XML_SCHEMAS_FACET_PRESERVE
+_xmlParserCtxt
+xmlNodeGetSpacePreserve
+xmlNodeSetSpacePreserve
+xmlParserInputGrow
+xmlParserInputRead
+xmlTextReaderPreservePattern
+
preserved
HTML_PRESERVE_NODE
+xmlNewTextChild
+xmlParserInputBufferGrow
+
preserving
xmlNodeGetSpacePreserve
+xmlNodeSetSpacePreserve
+
prev
xmlValidGetValidElements
+
prevent
_xmlParserCtxt
+xmlCleanupParser
+
previous
_xmlAttr
+_xmlAttribute
+_xmlDoc
+_xmlDtd
+_xmlElement
+_xmlEntity
+_xmlNode
+htmlHandleOmittedElem
+xmlAddPrevSibling
+xmlCatalogSetDebug
+xmlCatalogSetDefaultPrefer
+xmlDeregisterNodeDefault
+xmlKeepBlanksDefault
+xmlLineNumbersDefault
+xmlPedanticParserDefault
+xmlPushInput
+xmlSAXDefaultVersion
+xmlSubstituteEntitiesDefault
+xmlXPathAxisFunc
+
primitive
xmlXPathConvertFunc
+
print
xmlShellPrintNode
+xmlSnprintfElementContent
+xmlSprintfElementContent
+
printed
htmlNodeDump
+htmlNodeDumpFile
+htmlNodeDumpFileFormat
+htmlNodeDumpFormatOutput
+htmlNodeDumpOutput
+xmlElemDump
+xmlNodeDump
+xmlNodeDumpOutput
+
prior
xmlSetupParserForBuffer
+
private
xmlCatalogLocalResolve
+xmlCatalogLocalResolveURI
+xmlRelaxParserSetFlag
+
problem
xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseCtxtExternalEntity
+xmlParseExternalEntity
+xmlRelaxNGValidateFullElement
+xmlRelaxNGValidatePopElement
+xmlRelaxNGValidatePushCData
+xmlRelaxNGValidatePushElement
+xmlUTF8Strsub
+xmlValidatePopElement
+xmlValidatePushCData
+xmlValidatePushElement
+
problems
xmlBufferResize
+xmlLoadExternalEntity
+
procedure
initxmlDefaultSAXHandler
+xmlSAX2InitDefaultSAXHandler
+
process
xmlCleanupParser
+xmlDecodeEntities
+xmlNewTextReaderFilename
+xmlParseAttValue
+xmlParseEntityRef
+xmlRelaxNGNewDocParserCtxt
+xmlSchemaNewDocParserCtxt
+xmlSkipBlankChars
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+
processed
_xmlParserCtxt
+startDocument
+startDocumentSAXFunc
+startElement
+startElementSAXFunc
+xmlBuildURI
+xmlParseAttValue
+xmlSAX2StartDocument
+xmlSAX2StartElement
+xmlTextReaderRelaxNGSetSchema
+xmlTextReaderRelaxNGValidate
+
processing-instruction
xmlXPathIsNodeType
+
processor
xmlCurrentChar
+xmlParseAttValue
+xmlParseEntityRef
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+
produce
xmlCharEncodingOutputFunc
+xmlStringGetNodeList
+xmlStringLenGetNodeList
+
produced
xmlCharEncodingOutputFunc
+xmlCurrentChar
+
producing
xmlCheckUTF8
+
production:
xmlCheckLanguageID
+
productions
xmlCheckLanguageID
+
program
xmlXPtrNewContext
+
programs
htmlInitAutoClose
+xmlInitParser
+
progresses
xmlRegNewExecCtxt
+
progressive
_xmlParserCtxt
+xmlAllocParserInputBuffer
+xmlOutputBufferCreateFd
+xmlOutputBufferCreateFile
+xmlOutputBufferCreateFilename
+xmlOutputBufferCreateIO
+xmlParserInputBufferCreateFd
+xmlParserInputBufferCreateFile
+xmlParserInputBufferCreateFilename
+xmlParserInputBufferCreateIO
+xmlParserInputBufferCreateMem
+xmlParserInputBufferCreateStatic
+xmlParserInputBufferPush
+xmlRegNewExecCtxt
+
projects
xmlXPathIsInf
+xmlXPathIsNaN
+
prolog
xmlParseDocument
+
prompt
xmlShellReadlineFunc
+
proper
xmlValidateAttributeValue
+
properly
xmlParseElementChildrenContentDecl
+xmlParseMarkupDecl
+xmlReconciliateNs
+
properties
_xmlNode
+xmlAddChild
+xmlAddNextSibling
+xmlAddPrevSibling
+xmlCopyNode
+xmlDocCopyNode
+xmlTextReaderRead
+xmlTextReaderSetParserProp
+
property
_xmlAttr
+_xmlDtd
+xmlAddChild
+xmlFreePropList
+xmlNewDocProp
+xmlNewNsProp
+xmlNewNsPropEatName
+xmlNewProp
+xmlTextReaderGetParserProp
+
protocol
xmlNanoFTPCleanup
+xmlNanoFTPInit
+xmlNanoFTPScanProxy
+xmlNanoFTPUpdateURL
+xmlNanoHTTPCleanup
+xmlNanoHTTPInit
+xmlNanoHTTPScanProxy
+
prototype
xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+xlinkNodeDetectFunc
+xlinkSimpleLinkFunk
+
provenance
xmlEntityReferenceFunc
+
provide
xmlDocDumpFormatMemory
+xmlDocDumpFormatMemoryEnc
+xmlDocFormatDump
+xmlInputMatchCallback
+xmlNodeDump
+xmlNodeDumpOutput
+xmlOutputMatchCallback
+xmlSaveFormatFile
+xmlSaveFormatFileEnc
+xmlSchemaValidateStream
+xmlUTF8Strloc
+xmlUTF8Strpos
+
provides
endElementNsSAX2Func
+startElementNsSAX2Func
+xmlByteConsumed
+xmlSAX2EndElementNs
+xmlSAX2StartElementNs
+
providing
INPUT_CHUNK
+
provoked
xmlCheckUTF8
+
proximity
_xmlXPathContext
+
proxy
xmlNanoFTPCleanup
+xmlNanoFTPInit
+xmlNanoFTPProxy
+xmlNanoFTPScanProxy
+xmlNanoHTTPInit
+xmlNanoHTTPScanProxy
+
prune
xmlReplaceNode
+
publicID
xmlParseExternalID
+
pull
xmlParserInputBufferGrow
+
pure
xmlParseCDSect
+
purposes
xmlXPathDebugDumpObject
+
push
LIBXML_PUSH_ENABLED
+_xmlParserCtxt
+docbCreatePushParserCtxt
+htmlCreatePushParserCtxt
+xmlCreatePushParserCtxt
+xmlCtxtResetPush
+xmlParserInputBufferPush
+xmlXPathEvalExpr
+
pushed
xmlXPathFunction
+
pushing
xmlParsePEReference
+
put
xmlCatalogAdd
+
putative
xmlCheckUTF8
+
pwd
xmlShellPwd
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk21.html b/doc/APIchunk21.html new file mode 100644 index 0000000..84fe917 --- /dev/null +++ b/doc/APIchunk21.html @@ -0,0 +1,603 @@ + + +API Alphabetic Index q-r for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index q-r for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter q:

qualified
XML_SCHEMAS_QUALIF_ATTR
+XML_SCHEMAS_QUALIF_ELEM
+xmlGetDtdQAttrDesc
+xmlNamespaceParseQName
+xmlSplitQName
+xmlSplitQName2
+xmlSplitQName3
+xmlTextReaderConstName
+xmlTextReaderGetAttribute
+xmlTextReaderMoveToAttribute
+xmlTextReaderName
+xmlValidatePopElement
+xmlValidatePushElement
+xmlXPathParseNCName
+
query
_xmlURI
+
quot
xmlParseEntityRef
+xmlParseSDDecl
+xmlParserHandleReference
+
quotation
xmlTextReaderQuoteChar
+
quote
docbEncodeEntities
+htmlEncodeEntities
+xmlBufferWriteQuotedString
+
quoted
xmlBufferWriteQuotedString
+
quotes
xmlParseQuotedString
+

Letter r:

raise
XP_ERROR
+XP_ERROR0
+
raised
_xmlError
+xmlCheckHTTPInput
+xmlNanoFTPUpdateURL
+xmlStructuredErrorFunc
+xmlXPathCheckError
+
range
IS_BYTE_CHAR
+xmlAutomataNewCounterTrans
+xmlBufferAdd
+xmlBufferAddHead
+xmlCharInRange
+xmlTextReaderNormalization
+xmlXPathNodeSetItem
+xmlXPtrLocationSetAdd
+xmlXPtrLocationSetDel
+xmlXPtrLocationSetRemove
+xmlXPtrNewCollapsedRange
+xmlXPtrNewLocationSetNodes
+xmlXPtrNewRange
+xmlXPtrNewRangeNodeObject
+xmlXPtrNewRangeNodePoint
+xmlXPtrNewRangeNodes
+xmlXPtrNewRangePointNode
+xmlXPtrNewRangePoints
+
range-to
xmlXPtrRangeToFunction
+
ranges
_xmlChRangeGroup
+xmlXPtrFreeLocationSet
+xmlXPtrLocationSetMerge
+
rangesets
xmlXPtrLocationSetMerge
+
ratio
xmlGetDocCompressMode
+xmlSetCompressMode
+xmlSetDocCompressMode
+
ration
xmlOutputBufferCreateFilename
+
raw
_xmlParserInputBuffer
+xmlNamespaceParseNCName
+xmlNamespaceParseNSDef
+xmlNamespaceParseQName
+xmlParseCDSect
+xmlParserInputBufferGrow
+xmlTextWriterWriteFormatRaw
+xmlTextWriterWriteRaw
+xmlTextWriterWriteVFormatRaw
+
re-entrant
xmlLockLibrary
+xmlNewRMutex
+xmlUnlockLibrary
+
reached
xmlRegExecPushString
+xmlRegExecPushString2
+
read-only
xmlDictCreateSub
+
readable
xmlStrEqual
+
reader
xmlCtxtReadFd
+xmlFreeTextReader
+xmlReadFd
+xmlReaderForDoc
+xmlReaderForFd
+xmlReaderForFile
+xmlReaderForIO
+xmlReaderForMemory
+xmlReaderNewDoc
+xmlReaderNewFd
+xmlReaderNewFile
+xmlReaderNewIO
+xmlReaderNewMemory
+xmlReaderNewWalker
+xmlReaderWalker
+xmlTextReaderConstBaseUri
+xmlTextReaderConstLocalName
+xmlTextReaderConstName
+xmlTextReaderConstNamespaceUri
+xmlTextReaderConstPrefix
+xmlTextReaderConstString
+xmlTextReaderCurrentDoc
+xmlTextReaderReadAttributeValue
+xmlTextReaderReadState
+xmlTextReaderReadString
+xmlTextReaderRelaxNGSetSchema
+
reading
xmlSchemaValidateStream
+xmlShell
+
ready
INPUT_CHUNK
+xmlAutomataCompile
+
realloc
_xmlBuffer
+xmlGcMemGet
+xmlGcMemSetup
+xmlMemGet
+xmlMemRealloc
+xmlMemSetup
+xmlReallocFunc
+xmlReallocLoc
+
reallocated
xmlReallocFunc
+xmlStrncat
+
really
HTML_COMMENT_NODE
+HTML_ENTITY_REF_NODE
+HTML_PI_NODE
+HTML_PRESERVE_NODE
+HTML_TEXT_NODE
+htmlEntityLookup
+htmlEntityValueLookup
+
received
ftpDataCallback
+xmlNanoHTTPReturnCode
+
receives
xmlParseExternalID
+
receiving
characters
+ignorableWhitespace
+xmlParseExternalID
+xmlSAX2Characters
+xmlSAX2IgnorableWhitespace
+xmlValidGetValidElements
+
reclaim
xmlCleanupParser
+xmlFreeMutex
+xmlFreeRMutex
+
recognized
xmlParseCharEncoding
+
recommendation
xmlDetectCharEncoding
+
recommendation:
xmlValidateAttributeDecl
+xmlValidateElementDecl
+xmlValidateNotationDecl
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+xmlValidateRoot
+
recomputed
xmlBufferAdd
+xmlBufferAddHead
+xmlDictLookup
+
reconciliate
xmlReconciliateNs
+
record
xmlACatalogAdd
+xmlCatalogAdd
+xmlParserAddNodeInfo
+xmlParserFindNodeInfoIndex
+
recover
xmlParseBalancedChunkMemoryRecover
+
recovery
_xmlParserCtxt
+xmlSAXParseDoc
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+
recurse
xmlLoadACatalog
+xmlLoadCatalog
+xmlSearchNs
+xmlValidateRoot
+
recursive
htmlNodeDump
+htmlNodeDumpFile
+htmlNodeDumpFileFormat
+htmlNodeDumpFormatOutput
+htmlNodeDumpOutput
+htmlParseElement
+xmlCopyDoc
+xmlCopyEnumeration
+xmlCopyNode
+xmlCopyNodeList
+xmlDebugDumpDocument
+xmlDebugDumpDocumentHead
+xmlDebugDumpNode
+xmlDebugDumpNodeList
+xmlDebugDumpOneNode
+xmlDocCopyNode
+xmlElemDump
+xmlFreeElementContent
+xmlFreeEnumeration
+xmlFreeNode
+xmlFreeNodeList
+xmlNewRMutex
+xmlNodeDump
+xmlNodeDumpOutput
+xmlParseElement
+xmlParsePEReference
+xmlParserHandlePEReference
+
recursively
xmlLoadACatalog
+xmlParseAttValue
+
redeclared
xmlReconciliateNs
+
redefinition
xmlErrMemory
+
redefinitions
_xmlSchemaType
+
redir
xmlNanoHTTPMethodRedir
+
redirected
xmlNanoHTTPMethodRedir
+xmlNanoHTTPOpenRedir
+xmlNanoHTTPRedir
+
redirection
xmlCheckHTTPInput
+xmlNanoHTTPRedir
+
reentrant
htmlInitAutoClose
+xmlEncodeEntitiesReentrant
+xmlEncodeSpecialChars
+xmlFreeRMutex
+xmlInitParser
+xmlNewRMutex
+xmlRMutexLock
+xmlRMutexUnlock
+
ref
_xmlEntity
+xmlAddRef
+xmlFreeRefTable
+xmlNewCharRef
+
referenced
xmlLinkGetData
+xmlParseAttValue
+
references
htmlParseEntityRef
+xmlGetRefs
+xmlLoadSGMLSuperCatalog
+xmlNewChild
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNodeBufGetContent
+xmlNodeGetContent
+xmlParseAttribute
+xmlParseCharRef
+xmlParseEntityRef
+xmlParseMarkupDecl
+xmlParsePEReference
+xmlParseReference
+xmlParseSDDecl
+xmlParserHandlePEReference
+xmlScanName
+xmlSubstituteEntitiesDefault
+
referencing
xmlGetDocEntity
+xmlGetDtdEntity
+xmlGetParameterEntity
+
referred
xmlParseAttribute
+xmlParseCharRef
+
refresh
xmlParserInputRead
+
refs
_xmlDoc
+_xmlParserCtxt
+
refuse
xmlNewNs
+
regexp
_xmlElement
+xmlAutomataCompile
+xmlRegExecPushString
+xmlRegExecPushString2
+xmlRegFreeRegexp
+xmlRegNewExecCtxt
+xmlRegexpPrint
+
register
xmlXPathRegisterVariableLookup
+
registered
xmlCtxtGetLastError
+xmlCtxtResetLastError
+xmlFindCharEncodingHandler
+xmlGetCharEncodingHandler
+xmlGetLastError
+xmlRegisterInputCallbacks
+xmlRegisterOutputCallbacks
+xmlResetLastError
+xmlSearchNs
+xmlTextReaderGetErrorHandler
+xmlXPathRegisteredFuncsCleanup
+xmlXPathRegisteredNsCleanup
+xmlXPathRegisteredVariablesCleanup
+
registers
xmlInitCharEncodingHandlers
+xmlNewCharEncodingHandler
+
registration
XML_SKIP_IDS
+xmlRegisterNodeDefault
+
regular
LIBXML_REGEXP_ENABLED
+xmlRegFreeExecCtxt
+xmlRegNewExecCtxt
+xmlRegexpCompile
+xmlRegexpExec
+xmlRegexpIsDeterminist
+xmlRegexpPrint
+
reinitialize
xmlClearNodeInfoSeq
+xmlClearParserCtxt
+
related
LIBXML_UNICODE_ENABLED
+htmlTagLookup
+xmlCleanupParser
+xmlCleanupThreads
+xmlInitThreads
+xmlNanoHTTPClose
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+
relationships
_htmlElemDesc
+
relative
xmlByteConsumed
+xmlTextReaderGetAttributeNo
+xmlTextReaderMoveToAttributeNo
+xmlUTF8Strloc
+xmlUTF8Strsub
+
relativeURI
xmlParseURI
+xmlParseURIReference
+
release
xmlClearNodeInfoSeq
+xmlClearParserCtxt
+xmlDecodeEntities
+xmlUnlockLibrary
+
releases
xmlTextReaderClose
+
reliable
xmlSaveToFilename
+
rely
xmlParseNamespace
+
remainder
xmlTextReaderGetRemainder
+
remaining
xmlCreatePushParserCtxt
+xmlValidityErrorFunc
+xmlValidityWarningFunc
+
remapped
xmlCharEncOutFunc
+
remote
xmlNanoFTPCwd
+
removal
xmlHashRemoveEntry
+xmlHashRemoveEntry2
+xmlHashRemoveEntry3
+
remove
xmlACatalogRemove
+xmlBufferShrink
+xmlCatalogRemove
+xmlDecodeEntities
+xmlEncodeEntities
+xmlHashRemoveEntry
+xmlHashRemoveEntry2
+xmlHashRemoveEntry3
+xmlParseNamespace
+xmlParserInputBufferGrow
+xmlXPathNodeSetRemove
+xmlXPtrLocationSetRemove
+
removed
inputPop
+namePop
+nodePop
+valuePop
+xmlACatalogRemove
+xmlBufferShrink
+xmlCatalogRemove
+xmlCheckLanguageID
+xmlHandleEntity
+xmlHashRemoveEntry
+xmlHashRemoveEntry2
+xmlHashRemoveEntry3
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+xmlNewGlobalNs
+xmlParseNamespace
+xmlParseQuotedString
+xmlXPathTranslateFunction
+
removes
xmlParserInputShrink
+
removing
xmlLoadSGMLSuperCatalog
+
repeat
xmlXPathAxisFunc
+
replace
XML_SCHEMAS_FACET_REPLACE
+_xmlParserCtxt
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlValidGetValidElements
+
replaced
xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+xmlNewTextChild
+xmlXPathTranslateFunction
+
replacement
xmlACatalogAdd
+xmlCatalogAdd
+xmlEntityReferenceFunc
+xmlParseAttValue
+xmlParseAttribute
+xmlParseElementChildrenContentDecl
+xmlParseMarkupDecl
+
replaces
DEBUG_MEMORY
+
replacing
xmlEncodeEntitiesReentrant
+xmlEncodeSpecialChars
+xmlParseAttValue
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlXPathNormalizeFunction
+
reporting
INPUT_CHUNK
+_xmlXPathContext
+xmlStructuredErrorFunc
+
reports
docbCreatePushParserCtxt
+htmlCreatePushParserCtxt
+xmlCreatePushParserCtxt
+
repr
xmlSchemaValidateFacet
+
representation
_htmlElemDesc
+
representations
xmlNewTextChild
+
represented
xmlParseCharData
+xmlXPathStringFunction
+
represented:
_htmlElemDesc
+
representing
xmlMemUsed
+
request
xmlIOHTTPOpenW
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+xmlNanoHTTPReturnCode
+
requested
xmlExternalEntityLoader
+xmlIsID
+xmlMallocFunc
+xmlReallocFunc
+
requests
xmlRegisterHTTPPostCallbacks
+
required
htmlRequiredAttrs
+xmlCatalogSetDebug
+xmlXPathStringFunction
+
requires
XML_SCHEMAS_QUALIF_ATTR
+XML_SCHEMAS_QUALIF_ELEM
+_htmlElemDesc
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlGetLineNo
+xmlRelaxNGValidatePushElement
+
requred
xmlC14NDocSave
+
reserved
xmlNewTextChild
+xmlURIEscapeStr
+
reset
initGenericErrorDefaultFunc
+xmlCtxtReadFd
+xmlNodeSetBase
+xmlNodeSetName
+xmlNodeSetSpacePreserve
+xmlReadFd
+xmlReaderForFd
+xmlReaderNewFd
+xmlSetGenericErrorFunc
+xmlSetNsProp
+xmlSetProp
+xmlSetStructuredErrorFunc
+
resides
xmlTextReaderConstXmlLang
+xmlTextReaderXmlLang
+
resize
xmlBufferResize
+
resolution
resolveEntity
+resolveEntitySAXFunc
+xmlACatalogResolve
+xmlACatalogResolveURI
+xmlCatalogLocalResolve
+xmlCatalogLocalResolveURI
+xmlCatalogResolve
+xmlCatalogResolveURI
+xmlCatalogSetDefaultPrefer
+xmlNoNetExternalEntityLoader
+xmlSAX2ResolveEntity
+
resolveEntity
resolveEntity
+resolveEntitySAXFunc
+
resolved
xmlTextReaderLookupNamespace
+
resolver
xmlGetExternalEntityLoader
+xmlSetExternalEntityLoader
+
resources
xmlClearParserCtxt
+xmlFreeMutex
+xmlFreeRMutex
+xmlFreeTextReader
+xmlFreeTextWriter
+xmlOutputBufferClose
+xmlRelaxNGFreeParserCtxt
+xmlRelaxNGFreeValidCtxt
+xmlSchemaFreeParserCtxt
+xmlSchemaFreeValidCtxt
+xmlTextReaderClose
+xmlXIncludeSetFlags
+
respecting
xmlValidGetValidElements
+
response
xmlNanoFTPCheckResponse
+xmlNanoFTPGetResponse
+
responsible
xmlC14NDocDumpMemory
+xmlCanonicPath
+
restored
xmlTextReaderSetErrorHandler
+xmlTextReaderSetStructuredErrorHandler
+
restrict
xmlParseExternalID
+
results
xmlXPathEqualValues
+xmlXPathNotEqualValues
+
retrieve
xmlGetGlobalState
+xmlNanoFTPGet
+xmlNanoFTPGetSocket
+
retrieved
xmlHashAddEntry
+xmlHashAddEntry2
+xmlHashAddEntry3
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+
retry
xmlValidGetValidElements
+
returning
xmlXPathStringFunction
+
reuse
xmlReconciliateNs
+xmlRegExecPushString
+xmlRegExecPushString2
+
reuses
htmlCtxtReadDoc
+htmlCtxtReadFd
+htmlCtxtReadFile
+htmlCtxtReadIO
+htmlCtxtReadMemory
+xmlCtxtReadDoc
+xmlCtxtReadFd
+xmlCtxtReadFile
+xmlCtxtReadIO
+xmlCtxtReadMemory
+xmlReaderNewDoc
+xmlReaderNewFd
+xmlReaderNewFile
+xmlReaderNewIO
+xmlReaderNewMemory
+xmlReaderNewWalker
+
reusing
xmlCleanupParser
+xmlXIncludeProcessNode
+
reverse
xmlListReverseSearch
+xmlListReverseWalk
+xmlXPathNextAncestor
+xmlXPathNextAncestorOrSelf
+xmlXPathNextPreceding
+xmlXPathNextPrecedingSibling
+
right
xmlAutomataNewCounterTrans
+xmlCheckFilename
+xmlParseCharData
+xmlSetListDoc
+xmlSetTreeDoc
+
role
xlinkSimpleLinkFunk
+
roles
xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+
rollback
xmlScanName
+
root
externalSubset
+externalSubsetSAXFunc
+internalSubset
+internalSubsetSAXFunc
+xmlDocGetRootElement
+xmlDocSetRootElement
+xmlNewGlobalNs
+xmlParseDocTypeDecl
+xmlParseNamespace
+xmlSAX2ExternalSubset
+xmlSAX2InternalSubset
+xmlShellPwd
+xmlValidateRoot
+xmlXPathNewValueTree
+xmlXPathRoot
+
round
xmlXPathRoundFunction
+
routines
docbSAXParseDoc
+docbSAXParseFile
+htmlSAXParseFile
+xmlGcMemSetup
+xmlMemSetup
+xmlParserHandleReference
+xmlSAXParseDoc
+xmlSAXParseEntity
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+xmlSAXUserParseFile
+xmlSAXUserParseMemory
+
rule
xmlParseEntityRef
+xmlParseStartTag
+
rules
XML_SCHEMAS_ANYATTR_STRICT
+xmlXPathSubstringFunction
+
run
_xmlParserCtxt
+xmlByteConsumed
+
running
xmlKeepBlanksDefault
+
runtime
XML_MAX_NAMELEN
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk22.html b/doc/APIchunk22.html new file mode 100644 index 0000000..bac0673 --- /dev/null +++ b/doc/APIchunk22.html @@ -0,0 +1,825 @@ + + +API Alphabetic Index s-s for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index s-s for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter s:

safe
BAD_CAST
+xmlInitializeCatalog
+xmlLoadCatalog
+xmlLoadCatalogs
+
same
HTML_COMMENT_NODE
+HTML_ENTITY_REF_NODE
+HTML_PI_NODE
+HTML_PRESERVE_NODE
+HTML_TEXT_NODE
+IS_BLANK_CH
+checkNamespace
+xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+xmlParseMarkupDecl
+xmlParseStartTag
+xmlReplaceNode
+xmlStrEqual
+xmlStrncatNew
+xmlXPathCmpNodes
+xmlXPathIdFunction
+xmlXPathLangFunction
+xmlXPathNextAncestorOrSelf
+xmlXPathNextFollowing
+xmlXPathNextPreceding
+xmlXPathNormalizeFunction
+
save
htmlNodeDumpFileFormat
+xmlGcMemGet
+xmlMemGet
+xmlNanoHTTPFetch
+xmlShell
+xmlShellSave
+
saved
_htmlElemDesc
+xmlNanoHTTPFetch
+xmlNanoHTTPSave
+xmlSaveFormatFileEnc
+
saves
xmlNanoFTPRead
+xmlNanoHTTPRead
+xmlNanoHTTPSave
+xmlShellWrite
+
saving
LIBXML_OUTPUT_ENABLED
+LIBXML_WRITER_ENABLED
+xmlKeepBlanksDefault
+xmlOutputBufferCreateFd
+xmlOutputBufferCreateFile
+xmlOutputBufferCreateFilename
+xmlOutputBufferCreateIO
+xmlSaveClose
+xmlSaveDoc
+xmlSaveFlush
+xmlSaveToBuffer
+xmlSaveToFd
+xmlSaveToFilename
+xmlSaveToIO
+xmlSaveTree
+
sax
docbSAXParseDoc
+docbSAXParseFile
+htmlSAXParseDoc
+htmlSAXParseFile
+xmlSAXParseDoc
+xmlSAXParseEntity
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+
say
xmlParseElementChildrenContentDecl
+xmlParseMarkupDecl
+
says
xmlParseComment
+
scan
htmlEntityLookup
+htmlEntityValueLookup
+xmlXPathStringEvalNumber
+
scanner
xmlHashScan
+xmlHashScan3
+xmlHashScanFull
+xmlHashScanFull3
+xmlHashScanner
+xmlHashScannerFull
+
scanning
xmlHashScanner
+xmlHashScannerFull
+
scannner
xmlHashScanner
+xmlHashScannerFull
+
schemas
xmlRelaxNGNewDocParserCtxt
+xmlRelaxNGNewMemParserCtxt
+xmlSchemaNewMemParserCtxt
+xmlSchemaValidateDoc
+xmlSchemaValidateFacet
+xmlSchemaValidateStream
+
scheme
_xmlURI
+xmlBufferSetAllocationScheme
+xmlGetBufferAllocationScheme
+
schemes
xmlParseCharEncoding
+
scope
_xmlXPathContext
+xmlSetNsProp
+xmlTextReaderConstXmlLang
+xmlTextReaderLookupNamespace
+xmlTextReaderXmlLang
+
scoping
xmlNewGlobalNs
+
script
htmlIsScriptAttribute
+
search
_xmlXPathAxis
+xmlCharInRange
+xmlGetDtdAttrDesc
+xmlGetDtdElementDesc
+xmlGetDtdNotationDesc
+xmlGetDtdQAttrDesc
+xmlGetDtdQElementDesc
+xmlListReverseSearch
+xmlListSearch
+xmlSearchNs
+xmlStrcasestr
+xmlStrchr
+xmlStrstr
+
searched
xmlDictCreateSub
+
section
HTML_PRESERVE_NODE
+xmlBuildURI
+xmlCatalogSetDefaultPrefer
+xmlParseCharData
+xmlParseCharEncoding
+xmlTextWriterEndCDATA
+xmlTextWriterStartCDATA
+
sections
xmlKeepBlanksDefault
+xmlNodeGetBase
+
seems
xmlNamespaceParseNCName
+xmlNamespaceParseNSDef
+xmlNamespaceParseQName
+xmlScanName
+xmlValidateNotationDecl
+
selection
LIBXML_PATTERN_ENABLED
+
selects
xmlXPathIdFunction
+
self
xmlXPathNextSelf
+
semantic
xmlXPathNodeSetFreeNs
+
separated
xmlLoadCatalogs
+
separately
xmlValidateAttributeDecl
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+
seq
xmlParseElementChildrenContentDecl
+
sequence
_xmlSchemaElement
+_xmlSchemaFacet
+_xmlSchemaType
+xmlCharEncOutFunc
+xmlClearNodeInfoSeq
+xmlCurrentChar
+xmlGetUTF8Char
+xmlInitNodeInfoSeq
+xmlParseAttValue
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParserAddNodeInfo
+xmlParserFindNodeInfoIndex
+xmlUTF8Strlen
+xmlUTF8Strsize
+xmlUTF8Strsub
+xmlXPathIdFunction
+
sequences
xmlCheckUTF8
+xmlParseAttValue
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlXPathNormalizeFunction
+
serialization
LIBXML_OUTPUT_ENABLED
+xmlSaveToBuffer
+xmlSaveToFd
+xmlSaveToFilename
+xmlSaveToIO
+xmlShellCat
+xmlShellWrite
+xmlValidatePopElement
+xmlValidatePushElement
+
serializing
xmlSaveToBuffer
+xmlSaveToFd
+xmlSaveToFilename
+xmlSaveToIO
+
server
_xmlURI
+xmlNanoFTPCheckResponse
+xmlNanoFTPCloseConnection
+xmlNanoFTPConnectTo
+xmlNanoFTPCwd
+xmlNanoFTPDele
+xmlNanoFTPGet
+xmlNanoFTPGetConnection
+xmlNanoFTPGetResponse
+xmlNanoFTPGetSocket
+xmlNanoFTPList
+xmlNanoFTPQuit
+
set:difference
xmlXPathDifference
+
set:distinct
xmlXPathDistinct
+xmlXPathDistinctSorted
+
set:has-same-node
xmlXPathHasSameNodes
+
set:intersection
xmlXPathIntersection
+
set:leading
xmlXPathLeading
+xmlXPathLeadingSorted
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+
set:trailing
xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPathTrailing
+xmlXPathTrailingSorted
+
sets
initxmlDefaultSAXHandler
+xmlSAX2InitDefaultSAXHandler
+xmlXPathDifference
+xmlXPathIntersection
+
setting
xmlSetGenericErrorFunc
+
setups
xmlParseEncodingDecl
+
sgmlsource
getSystemId
+xmlSAX2GetSystemId
+
shall
_xmlParserCtxt
+
shared
xmlCatalogAdd
+
shares
xmlXPathHasSameNodes
+
shell
DEBUG_MEMORY
+xmlShell
+xmlShellBase
+xmlShellCat
+xmlShellCmd
+xmlShellDir
+xmlShellDu
+xmlShellList
+xmlShellLoad
+xmlShellPwd
+xmlShellReadlineFunc
+xmlShellSave
+xmlShellValidate
+xmlShellWrite
+
shemas
XML_SCHEMAS_QUALIF_ATTR
+XML_SCHEMAS_QUALIF_ELEM
+
shorten
xmlDebugDumpString
+
shorthand
xmlTextReaderConstPrefix
+xmlTextReaderPrefix
+
show
xlinkExtendedLinkFunk
+xmlMemDisplay
+xmlMemShow
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlShellDu
+
shown
ftpListCallback
+
sibling
_xmlAttr
+_xmlAttribute
+_xmlDoc
+_xmlDtd
+_xmlElement
+_xmlEntity
+_xmlNode
+xmlAddNextSibling
+xmlAddPrevSibling
+xmlXPathNextPrecedingSibling
+
siblings
xmlAddSibling
+xmlFreeNodeList
+xmlFreePropList
+xmlXPathNextFollowingSibling
+xmlXPathNextPrecedingSibling
+
sign
xmlXPathStringFunction
+
signal
ATTRIBUTE_UNUSED
+_xmlParserCtxt
+
signature
xmlShellCmd
+xmlShellReadlineFunc
+
signs
xmlNewTextChild
+
similar
xmlGetNoNsProp
+xmlNewNs
+xmlShell
+xmlShellPwd
+xmlValidityErrorFunc
+xmlValidityWarningFunc
+xmlXPathNodeSetGetLength
+xmlXPathNodeSetItem
+
simple
xlinkSimpleLinkFunk
+xmlAttrSerializeTxtContent
+xmlFreeMutex
+xmlHashScanner
+xmlIsRef
+xmlMutexLock
+xmlMutexUnlock
+xmlNewMutex
+
simply
xmlSetGenericErrorFunc
+xmlSetStructuredErrorFunc
+
since
xmlParseExternalID
+xmlRelaxNGNewDocParserCtxt
+
single
IS_DIGIT_CH
+xmlCurrentChar
+xmlParseAttValue
+xmlParseElementMixedContentDecl
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlValidateAttributeDecl
+xmlValidateElementDecl
+xmlValidateNotationDecl
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+xmlXPathNewNodeSet
+xmlXPathNormalizeFunction
+xmlXPtrNewCollapsedRange
+xmlXPtrNewLocationSetNodes
+
single-byte
IS_CHAR_CH
+IS_EXTENDER_CH
+IS_PUBIDCHAR_CH
+
sizes
xmlGetBufferAllocationScheme
+xmlSetBufferAllocationScheme
+
skip
xmlSkipBlankChars
+
skipped
xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+xmlSkipBlankChars
+
smallest
xmlXPathCeilingFunction
+
socket
xmlCheckFilename
+xmlNanoFTPGetSocket
+
software
LIBXML_TEST_VERSION
+
solution
xmlNormalizeWindowsPath
+
some
XML_SKIP_IDS
+characters
+charactersSAXFunc
+ignorableWhitespace
+ignorableWhitespaceSAXFunc
+xmlGcMemSetup
+xmlHandleEntity
+xmlMemSetup
+xmlParseAttributeType
+xmlParserInputDeallocate
+xmlRelaxNGValidatePushCData
+xmlSAX2Characters
+xmlSAX2IgnorableWhitespace
+xmlTextReaderSetParserProp
+xmlValidatePushCData
+xmlXIncludeProcess
+xmlXIncludeProcessFlags
+xmlXIncludeProcessNode
+xmlXIncludeProcessTree
+xmlXIncludeProcessTreeFlags
+
somewhat
xmlCheckLanguageID
+
sorted
xmlParserAddNodeInfo
+xmlParserFindNodeInfoIndex
+xmlXPathDistinct
+xmlXPathDistinctSorted
+xmlXPathLeading
+xmlXPathLeadingSorted
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPathTrailing
+xmlXPathTrailingSorted
+
source
_xmlXPathContext
+htmlCtxtReadIO
+htmlGetMetaEncoding
+htmlReadIO
+xlinkExtendedLinkFunk
+xmlCheckFilename
+xmlCopyError
+xmlCtxtReadIO
+xmlNewTextReader
+xmlReadIO
+xmlReaderForIO
+xmlReaderNewIO
+
sourceforge
xmlXPathIsInf
+xmlXPathIsNaN
+
space
_xmlParserCtxt
+xmlBufferGrow
+xmlBuildQName
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+xmlLoadCatalogs
+xmlNodeGetSpacePreserve
+xmlNodeSetSpacePreserve
+xmlParseAttValue
+xmlParseSDDecl
+xmlSchemaValPredefTypeNode
+xmlSchemaValidatePredefinedType
+xmlSearchNs
+xmlSkipBlankChars
+xmlTextReaderNormalization
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlValidateNCName
+xmlValidateNMToken
+xmlValidateName
+xmlValidateQName
+xmlXPathNormalizeFunction
+
spaces
_xmlParserCtxt
+htmlDocContentDumpFormatOutput
+htmlDocContentDumpOutput
+htmlNodeDumpFileFormat
+htmlNodeDumpFormatOutput
+htmlNodeDumpOutput
+htmlSaveFileEnc
+htmlSaveFileFormat
+xmlDocDumpFormatMemory
+xmlDocDumpFormatMemoryEnc
+xmlDocFormatDump
+xmlKeepBlanksDefault
+xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+xmlSaveFormatFile
+xmlSaveFormatFileEnc
+xmlSaveFormatFileTo
+xmlValidateNCName
+xmlValidateNMToken
+xmlValidateName
+xmlValidateQName
+
span
xmlCurrentChar
+xmlStringCurrentChar
+
spec
xmlCatalogSetDefaultPrefer
+xmlParseComment
+
spec:
IS_BASECHAR
+IS_BLANK
+IS_BYTE_CHAR
+IS_CHAR
+IS_COMBINING
+IS_DIGIT
+IS_EXTENDER
+IS_IDEOGRAPHIC
+IS_LETTER
+IS_PUBIDCHAR
+
special
XML_SKIP_IDS
+XML_XML_NAMESPACE
+xmlNewChild
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlTextWriterWriteRawLen
+
specialized
xmlGcMemGet
+xmlGcMemSetup
+
specific
XML_CATALOG_PI
+_xmlValidCtxt
+_xmlXPathContext
+xmlNoNetExternalEntityLoader
+xmlParseNamespace
+
specifically
xmlSAXDefaultVersion
+
specification
XML_XML_NAMESPACE
+xmlTextReaderNormalization
+
specifications
xmlParseSDDecl
+
specify
xmlTextReaderLookupNamespace
+
specifying
xmlMallocAtomicLoc
+xmlMallocLoc
+xmlMemMalloc
+xmlMemRealloc
+xmlReallocLoc
+
speed
xmlXPathOrderDocElems
+
speedup
xmlTextReaderConstString
+
split
xmlXPathIdFunction
+
stacked
_xmlXPathParserContext
+xmlPushInput
+
stamps
xmlXPathOrderDocElems
+
standalone
_xmlDoc
+_xmlParserCtxt
+_xmlParserInput
+isStandalone
+xmlCurrentChar
+xmlParseSDDecl
+xmlSAX2IsStandalone
+
standalone=
xmlParseEntityRef
+xmlParsePEReference
+xmlParserHandlePEReference
+
standalone?
isStandaloneSAXFunc
+
standard
docbParseDocument
+htmlParseDocument
+xmlKeepBlanksDefault
+xmlParseDocument
+xmlXPathSubstringFunction
+
start
_htmlElemDesc
+startDocument
+startDocumentSAXFunc
+startElementNsSAX2Func
+xmlByteConsumed
+xmlParseStartTag
+xmlRelaxNGValidatePushElement
+xmlSAX2StartDocument
+xmlSAX2StartElementNs
+xmlValidatePushElement
+xmlXPtrNewLocationSetNodes
+xmlXPtrNewRange
+
start-tag
xmlParseElement
+xmlParseStartTag
+
started
xmlTextWriterWriteDTDExternalEntity
+
starting
xmlAutomataNewAllTrans
+xmlAutomataNewCountTrans
+xmlAutomataNewCountedTrans
+xmlAutomataNewCounterTrans
+xmlAutomataNewEpsilon
+xmlAutomataNewOnceTrans
+xmlAutomataNewTransition
+xmlAutomataNewTransition2
+xmlByteConsumed
+xmlNewCharRef
+xmlNewTextWriterTree
+xmlSaveTree
+xmlXPathOrderDocElems
+xmlXPathSubstringFunction
+xmlXPtrNewCollapsedRange
+xmlXPtrNewRange
+xmlXPtrNewRangeNodeObject
+xmlXPtrNewRangeNodePoint
+xmlXPtrNewRangeNodes
+xmlXPtrNewRangePointNode
+xmlXPtrNewRangePoints
+
starts
xmlXPathStartsWithFunction
+
starts-with
xmlXPathStartsWithFunction
+
startup
setDocumentLocator
+setDocumentLocatorSAXFunc
+xmlInitializeCatalog
+xmlLoadCatalog
+xmlLoadCatalogs
+xmlSAX2SetDocumentLocator
+
stashed
xmlNanoHTTPAuthHeader
+
stat
xmlCheckFilename
+
stateful
xmlCharEncodingOutputFunc
+
states
_xmlValidCtxt
+
static
xmlXPathOrderDocElems
+
status
xmlTextReaderIsValid
+
stderr
xmlSetGenericErrorFunc
+
stdin
xmlParserInputBufferCreateFilename
+
stdout
htmlSaveFile
+xmlOutputBufferCreateFilename
+xmlSaveFile
+xmlSaveFormatFile
+xmlShell
+
step
xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlValidateDocumentFinal
+xmlValidateDtdFinal
+
steps
xmlNormalizeURIPath
+xmlValidateDocumentFinal
+
still
xmlNoNetExternalEntityLoader
+xmlParseNamespace
+xmlReconciliateNs
+
stop
xmlListWalker
+
stops
xmlTextReaderGetRemainder
+
storage
xmlUTF8Strsize
+
store
UTF8ToHtml
+UTF8Toisolat1
+docbEncodeEntities
+htmlEncodeEntities
+htmlParseEntityRef
+isolat1ToUTF8
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+xmlGetFeature
+xmlInputReadCallback
+xmlOutputBufferWrite
+xmlOutputBufferWriteString
+xmlParseAttribute
+xmlParseEntityValue
+xmlValidGetPotentialChildren
+xmlValidGetValidElements
+
stored
xmlParseElementContentDecl
+xmlParserInputBufferGrow
+xmlParserInputBufferPush
+xmlParserInputBufferRead
+xmlSAXParseFileWithData
+xmlSAXParseMemoryWithData
+xmlXPathOrderDocElems
+
str
htmlParseEntityRef
+xmlBufferAdd
+
strcasecmp
xmlStrcasecmp
+
strcat
xmlStrcat
+
strchr
xmlStrchr
+
strcmp
xmlStrcmp
+
strdup
xmlCharStrdup
+xmlGcMemGet
+xmlGcMemSetup
+xmlMemGet
+xmlMemSetup
+xmlMemStrdupLoc
+xmlMemoryStrdup
+xmlStrdup
+xmlStrdupFunc
+
stream
_xmlParserCtxt
+xmlCheckHTTPInput
+xmlCreateIOParserCtxt
+xmlFreeInputStream
+xmlHandleEntity
+xmlNewEntityInputStream
+xmlNewIOInputStream
+xmlNewInputFromFile
+xmlNewInputStream
+xmlNewStringInputStream
+xmlParsePEReference
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlPrintURI
+xmlPushInput
+xmlSwitchInputEncoding
+xmlTextReaderGetRemainder
+xmlTextReaderRead
+
streams
_xmlParserCtxt
+xmlSkipBlankChars
+
strict
XML_SCHEMAS_ANYATTR_STRICT
+xmlParseExternalID
+xmlXPathCompareValues
+
string--that
xmlNormalizeURIPath
+
string-length
xmlXPathStringLengthFunction
+
string?
xmlXPathNormalizeFunction
+xmlXPathStringLengthFunction
+
stringi
xmlXPathSubstringAfterFunction
+
strings
_xmlParserCtxt
+xmlDictCreateSub
+xmlGetFeaturesList
+xmlPatterncompile
+xmlRegexpCompile
+xmlStrncatNew
+
stripping
xmlXPathNormalizeFunction
+
strncasecmp
xmlStrncasecmp
+
strncat
xmlStrncat
+
strncmp
xmlStrncmp
+
strndup
xmlCharStrndup
+xmlStrndup
+xmlUTF8Strndup
+
strstr
xmlStrcasestr
+xmlStrstr
+
struct
xmlFreeMutex
+xmlFreeURI
+xmlNewMutex
+xmlParserFindNodeInfo
+
structured
xmlSetStructuredErrorFunc
+
structures
xmlFreeDoc
+xmlFreeNs
+xmlFreeNsList
+xmlLoadACatalog
+xmlNewRMutex
+xmlRegFreeExecCtxt
+
struture
xmlRelaxNGParse
+xmlSchemaParse
+
stuff
_xmlXPathContext
+xmlParseNamespace
+
sub-elements
_htmlElemDesc
+
subelement
_htmlElemDesc
+htmlDefaultSubelement
+xmlNewElementContent
+
subelements
_htmlElemDesc
+
subject
xmlParseSDDecl
+xmlRelaxNGParse
+xmlSchemaParse
+
sublanguage
xmlXPathLangFunction
+
submits
xmlRegisterHTTPPostCallbacks
+
subsequent
xmlIOHTTPOpenW
+xmlSetGenericErrorFunc
+xmlSetStructuredErrorFunc
+
subset?
hasExternalSubsetSAXFunc
+
subsets
xmlGetParameterEntity
+xmlValidateDtdFinal
+
substituted
XML_SUBSTITUTE_BOTH
+XML_SUBSTITUTE_NONE
+XML_SUBSTITUTE_PEREF
+XML_SUBSTITUTE_REF
+xmlNodeBufGetContent
+xmlNodeGetContent
+xmlParseEntityValue
+
substituting
xmlSubstituteEntitiesDefault
+
substitution
_xmlEntity
+_xmlParserCtxt
+xmlDecodeEntities
+xmlEncodeEntitiesReentrant
+xmlEncodeSpecialChars
+xmlGetNoNsProp
+xmlGetNsProp
+xmlGetProp
+xmlHasNsProp
+xmlKeepBlanksDefault
+xmlLineNumbersDefault
+xmlParseAttValue
+xmlPedanticParserDefault
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+xmlSubstituteEntitiesDefault
+xmlXIncludeProcess
+xmlXIncludeProcessFlags
+xmlXIncludeProcessNode
+xmlXIncludeProcessTree
+xmlXIncludeProcessTreeFlags
+
substitutions
xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+xmlXIncludeProcess
+xmlXIncludeProcessFlags
+xmlXIncludeProcessNode
+xmlXIncludeProcessTree
+xmlXIncludeProcessTreeFlags
+
substring
xmlNodeAddContent
+xmlNodeAddContentLen
+xmlStrsub
+xmlUTF8Strsub
+xmlXPathSubstringAfterFunction
+xmlXPathSubstringBeforeFunction
+xmlXPathSubstringFunction
+
substring-after
xmlXPathSubstringAfterFunction
+
substring-before
xmlXPathSubstringBeforeFunction
+
subtraction
xmlXPathSubValues
+
subtree
attribute
+attributeSAXFunc
+xmlReconciliateNs
+xmlRelaxNGValidateFullElement
+xmlSaveTree
+xmlShellDu
+xmlShellWrite
+xmlTextReaderExpand
+xmlTextReaderNext
+xmlTextReaderNextSibling
+xmlValidateElement
+xmlXIncludeProcessNode
+xmlXIncludeProcessTree
+xmlXIncludeProcessTreeFlags
+
succeeded
xmlHashAddEntry
+xmlHashAddEntry2
+xmlHashAddEntry3
+xmlHashRemoveEntry
+xmlHashRemoveEntry2
+xmlHashRemoveEntry3
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+xmlXPathCompareValues
+
succeeds
xmlCheckFilename
+
successful
xmlACatalogAdd
+xmlACatalogRemove
+xmlCatalogAdd
+xmlCatalogConvert
+xmlCatalogRemove
+xmlConvertSGMLCatalog
+xmlGetLineNo
+xmlListPushBack
+xmlListPushFront
+xmlTextReaderSetParserProp
+xmlUnsetNsProp
+xmlUnsetProp
+
successfully
xmlTextReaderNext
+xmlTextReaderNextSibling
+xmlTextReaderRead
+
succession
xmlAutomataNewCountTrans
+xmlAutomataNewOnceTrans
+
successive
xmlAutomataNewCountTrans
+xmlAutomataNewOnceTrans
+
such
xmlNewTextChild
+xmlParseEntityRef
+xmlXPathLangFunction
+xmlXPathNodeSetFreeNs
+xmlXPathRoundFunction
+
suggested
_htmlElemDesc
+
suitable
xmlNewIOInputStream
+xmlRegexpCompile
+
sum
xmlXPathSubstringFunction
+xmlXPathSumFunction
+
super
xmlLoadSGMLSuperCatalog
+
super-strict
xmlCheckUTF8
+
supplied
xmlGetRefs
+
supported
xmlInitCharEncodingHandlers
+xmlNanoFTPGetConnection
+xmlTextReaderNormalization
+
supposed
xmlIsMixedElement
+xmlNewChild
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlStrcat
+xmlStrdup
+
sure
xmlSaveClose
+xmlSaveFlush
+xmlURIEscape
+xmlXPathNodeSetAddUnique
+
surprising
xmlRegisterCharEncodingHandler
+
surrogate
IS_CHAR
+
switch
xmlKeepBlanksDefault
+xmlParseReference
+xmlPushInput
+
synchronizing
xmlNewMutex
+xmlNewRMutex
+
syntax
xmlParseAttributeType
+
systematically
xmlIsID
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk23.html b/doc/APIchunk23.html new file mode 100644 index 0000000..325cdae --- /dev/null +++ b/doc/APIchunk23.html @@ -0,0 +1,430 @@ + + +API Alphabetic Index t-t for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index t-t for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter t:

tag
_htmlElemDesc
+htmlAutoCloseTag
+htmlIsAutoClosed
+htmlTagLookup
+startElement
+startElementSAXFunc
+xmlNodeSetName
+xmlParseEndTag
+xmlParseStartTag
+xmlSAX2StartElement
+xmlTextWriterFullEndElement
+
tagged
isStandalone
+isStandaloneSAXFunc
+xmlNewNsProp
+xmlNewNsPropEatName
+xmlSAX2IsStandalone
+
tags
htmlAutoCloseTag
+htmlGetMetaEncoding
+htmlHandleOmittedElem
+htmlInitAutoClose
+htmlIsAutoClosed
+htmlSetMetaEncoding
+
take
xmlLockLibrary
+
tell
XML_COMPLETE_ATTRS
+XML_DETECT_IDS
+XML_SKIP_IDS
+_htmlElemDesc
+
tells
xmlTextReaderPreservePattern
+
temporary
_xmlValidCtxt
+_xmlXPathContext
+xmlIOHTTPOpenW
+
terminated
htmlCtxtReadDoc
+htmlReadDoc
+startElement
+startElementSAXFunc
+xmlBufferCCat
+xmlBufferCat
+xmlCtxtReadDoc
+xmlDocDumpMemory
+xmlGetNsList
+xmlOutputBufferWriteString
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlReadDoc
+xmlReaderForDoc
+xmlReaderNewDoc
+xmlSAX2StartElement
+xmlStrdupFunc
+
termination
xmlStrcat
+xmlStrdup
+
test
xmlParserHandleReference
+xmlXPathEqualValues
+xmlXPathNotEqualValues
+
tested
_xmlParserInput
+
testing
xmlRegexpCompile
+
text-node
xmlIsBlankNode
+
textDecl?
xmlParseExternalSubset
+
than
xmlCheckUTF8
+xmlNewNs
+xmlParseAttribute
+xmlParseAttributeType
+xmlParseElementDecl
+xmlParseElementMixedContentDecl
+xmlParseSDDecl
+xmlParseStartTag
+xmlSetGenericErrorFunc
+xmlStrEqual
+xmlXPathCeilingFunction
+xmlXPathCompareValues
+xmlXPathFloorFunction
+xmlXPathSubstringFunction
+xmlXPathTranslateFunction
+
their
xmlCharEncOutFunc
+xmlEncodeEntities
+xmlEncodeEntitiesReentrant
+xmlLoadCatalogs
+xmlNewTextChild
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlParseEntityRef
+xmlXPathAddValues
+xmlXPathDivValues
+xmlXPathIdFunction
+xmlXPathModValues
+xmlXPathMultValues
+xmlXPathSubValues
+xmlXPathValueFlipSign
+
them
xmlNanoFTPRead
+xmlNanoHTTPRead
+xmlParseAttValue
+xmlParseAttributeType
+
there
_xmlParserCtxt
+_xmlParserInput
+xlinkIsLink
+xmlAddChild
+xmlAddNextSibling
+xmlAddPrevSibling
+xmlBuildQName
+xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlCanonicPath
+xmlGcMemSetup
+xmlGenericErrorFunc
+xmlMemSetup
+xmlNanoFTPCheckResponse
+xmlNanoFTPUpdateURL
+xmlParseNotationDecl
+xmlParseReference
+xmlStructuredErrorFunc
+xmlTextReaderNext
+xmlTextReaderNextSibling
+xmlTextReaderRead
+xmlXPathLangFunction
+xmlXPathNextParent
+xmlXPathRoundFunction
+xmlXPathStringFunction
+xmlXPathTranslateFunction
+
these
_htmlElemDesc
+xmlCheckUTF8
+xmlParseSDDecl
+
they
_htmlElemDesc
+xmlCreatePushParserCtxt
+xmlStrEqual
+xmlStrQEqual
+xmlStrcat
+xmlStrdup
+
thing
xmlSAXDefaultVersion
+
third
xmlHashAddEntry3
+xmlHashLookup3
+xmlHashQLookup3
+xmlHashRemoveEntry3
+xmlHashScan3
+xmlHashScanFull3
+xmlHashScannerFull
+xmlHashUpdateEntry3
+xmlXPathSubstringFunction
+xmlXPathTranslateFunction
+
those
xmlCheckLanguageID
+xmlKeepBlanksDefault
+xmlParseSDDecl
+xmlSearchNs
+xmlXPathSubstringFunction
+
though
xmlDocDumpMemory
+xmlNoNetExternalEntityLoader
+
thread
LIBXML_THREAD_ENABLED
+xmlCleanupThreads
+xmlGetGlobalState
+xmlGetLastError
+xmlGetThreadId
+xmlInitThreads
+xmlInitializeCatalog
+xmlIsMainThread
+xmlLoadCatalog
+xmlLoadCatalogs
+
through
xmlCreatePushParserCtxt
+xmlDecodeEntities
+xmlNormalizeURIPath
+
thumblers
xmlShellPwd
+
thus
xmlNewRMutex
+xmlXPathNextAncestor
+xmlXPathNextAncestorOrSelf
+xmlXPathNextDescendantOrSelf
+
time
xmlXPathAxisFunc
+
title
xlinkSimpleLinkFunk
+
titles
xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+
token
xmlAutomataNewCountTrans
+xmlAutomataNewOnceTrans
+xmlFreeMutex
+xmlMutexLock
+xmlMutexUnlock
+xmlNewMutex
+xmlRegExecPushString
+xmlRegExecPushString2
+
token_r
xmlNewRMutex
+xmlRMutexLock
+xmlRMutexUnlock
+
tokens
xmlParseEnumerationType
+xmlXPathIdFunction
+
too
DEBUG_MEMORY
+htmlNodeDump
+htmlNodeDumpFile
+htmlNodeDumpFileFormat
+htmlNodeDumpFormatOutput
+htmlNodeDumpOutput
+xmlCopyDoc
+xmlElemDump
+xmlFreeNode
+xmlFreeNodeList
+xmlFreeProp
+xmlFreePropList
+xmlGetDocEntity
+xmlNodeDump
+xmlNodeDumpOutput
+xmlParseElementMixedContentDecl
+xmlRemoveProp
+
top
CAST_TO_BOOLEAN
+CAST_TO_NUMBER
+CAST_TO_STRING
+CHECK_TYPE
+CHECK_TYPE0
+XML_SCHEMAS_ELEM_TOPLEVEL
+inputPop
+inputPush
+namePop
+namePush
+nodePop
+nodePush
+valuePop
+valuePush
+xmlNamespaceParseNCName
+xmlNamespaceParseNSDef
+xmlNamespaceParseQName
+xmlPushInput
+xmlReconciliateNs
+xmlSetTreeDoc
+
total
_xmlOutputBuffer
+xmlGetFeaturesList
+xmlUTF8Strsub
+
touch
_xmlParserCtxt
+
track
xmlEntityReferenceFunc
+
tracking
xmlParserPrintFileContext
+
trailing
xmlParseAttValue
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPathNormalizeFunction
+xmlXPathTrailing
+xmlXPathTrailingSorted
+
trancoding
xmlSaveFileTo
+xmlSaveFormatFileTo
+
transaction
xmlNanoHTTPSave
+
transcoding
UTF8ToHtml
+UTF8Toisolat1
+docbEncodeEntities
+htmlEncodeEntities
+xmlCharEncFirstLine
+xmlCharEncInFunc
+xmlCharEncOutFunc
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+xmlOutputBufferWrite
+xmlOutputBufferWriteString
+xmlParserInputBufferGrow
+xmlParserInputBufferPush
+xmlParserInputBufferRead
+
transfered
xmlParsePI
+
transformation
xmlCharEncCloseFunc
+xmlCharEncFirstLine
+xmlCharEncInFunc
+xmlCharEncOutFunc
+
transformed
xmlRelaxNGDumpTree
+
transistion
xmlAutomataNewOnceTrans
+
transitions
xmlAutomataNewAllTrans
+
translate
xmlXPathTranslateFunction
+
translation
xmlURIUnescapeString
+
transmit
errorSAXFunc
+fatalErrorSAXFunc
+warningSAXFunc
+xmlParserError
+xmlParserValidityError
+xmlParserValidityWarning
+xmlParserWarning
+
transport
xmlNanoFTPClose
+
traversal
xmlXPathAxisFunc
+xmlXPathNextAncestor
+xmlXPathNextAncestorOrSelf
+xmlXPathNextAttribute
+xmlXPathNextChild
+xmlXPathNextDescendant
+xmlXPathNextDescendantOrSelf
+xmlXPathNextFollowing
+xmlXPathNextFollowingSibling
+xmlXPathNextNamespace
+xmlXPathNextParent
+xmlXPathNextPreceding
+xmlXPathNextPrecedingSibling
+xmlXPathNextSelf
+xmlXPtrNewContext
+
traverse
xmlXPathAxisFunc
+
treaming
_xmlParserCtxt
+
treated
xmlParseAttValue
+
tries
INPUT_CHUNK
+xlinkIsLink
+xmlCleanupParser
+xmlNanoFTPRead
+xmlNanoHTTPRead
+xmlParserInputGrow
+xmlSAXParseDoc
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+
trio
WITHOUT_TRIO
+WITH_TRIO
+xmlXPathIsInf
+xmlXPathIsNaN
+
troubles
_xmlParserInput
+xmlSearchNs
+
try
CAST_TO_BOOLEAN
+CAST_TO_NUMBER
+CAST_TO_STRING
+UTF8ToHtml
+UTF8Toisolat1
+_xmlParserCtxt
+docbEncodeEntities
+htmlEncodeEntities
+htmlNodeDumpFileFormat
+isolat1ToUTF8
+xlinkIsLink
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+xmlFileOpen
+xmlKeepBlanksDefault
+xmlNanoHTTPFetch
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+xmlParserInputRead
+xmlReconciliateNs
+xmlURIEscape
+xmlValidateRoot
+
ttribute
xmlTextReaderReadAttributeValue
+
tune
xmlBufferSetAllocationScheme
+
tuple
xmlHashAddEntry2
+xmlHashAddEntry3
+xmlHashLookup2
+xmlHashLookup3
+xmlHashQLookup2
+xmlHashQLookup3
+xmlHashRemoveEntry
+xmlHashRemoveEntry2
+xmlHashRemoveEntry3
+xmlHashScan3
+xmlHashScanFull3
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+
tuples
xmlHashAddEntry2
+
turn
xmlBoolToText
+
turned
xmlGetNoNsProp
+xmlGetNsProp
+xmlGetProp
+xmlHasNsProp
+xmlHasProp
+xmlLineNumbersDefault
+
two
_xmlParserCtxt
+xmlStrncatNew
+xmlTextMerge
+xmlUTF8Charcmp
+xmlXPathCmpNodes
+xmlXPathDifference
+xmlXPathNodeSetMerge
+xmlXPathRoundFunction
+xmlXPtrLocationSetMerge
+xmlXPtrNewLocationSetNodes
+
two-character
xmlCurrentChar
+
types
XML_SCHEMAS_FACET_COLLAPSE
+_xmlXPathContext
+xmlExternalEntityLoader
+xmlParseSDDecl
+xmlSchemaCheckFacet
+
typo
xmlParseTextDecl
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk24.html b/doc/APIchunk24.html new file mode 100644 index 0000000..d418a4f --- /dev/null +++ b/doc/APIchunk24.html @@ -0,0 +1,462 @@ + + +API Alphabetic Index u-w for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index u-w for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter u:

ugly
_xmlParserCtxt
+htmlEntityLookup
+htmlEntityValueLookup
+
unary
xmlXPathValueFlipSign
+
unclean
_xmlURI
+
uncompressed
xmlC14NDocSave
+xmlGetCompressMode
+xmlGetDocCompressMode
+xmlSetCompressMode
+xmlSetDocCompressMode
+
undefined
xmlPatterncompile
+
under
xmlSearchNs
+xmlSetTreeDoc
+xmlShellDu
+xmlShellWrite
+xmlValidateElement
+
underlying
xmlTextReaderClose
+xmlTextReaderCurrentNode
+xmlTextReaderPreserve
+
unescape
xmlURIUnescapeString
+
unescaped
xmlFileOpen
+xmlURIUnescapeString
+
unicode
htmlEntityValueLookup
+xmlIsLetter
+
unimplemented
htmlCtxtUseOptions
+xmlCtxtUseOptions
+
union
xmlXPathIdFunction
+
unique
_xmlParserInput
+xmlXPathIdFunction
+
uniquely
xmlParseAttributeType
+xmlXPathStringFunction
+
uniqueness
xmlValidateAttributeDecl
+xmlValidateOneAttribute
+xmlValidateOneNamespace
+
units
xmlUTF8Strsub
+
unknown
XML_SCHEMAS_ANYATTR_SKIP
+XML_SCHEMAS_FACET_UNKNOWN
+htmlCtxtUseOptions
+xmlCtxtUseOptions
+xmlUCSIsBlock
+xmlUCSIsCat
+
unless
htmlSAXParseDoc
+htmlSAXParseFile
+xmlGetNoNsProp
+xmlGetNsProp
+xmlGetProp
+xmlHasNsProp
+xmlHasProp
+xmlXPathNextNamespace
+
unlink
xmlFreeNode
+
unlinked
xmlAddNextSibling
+xmlAddPrevSibling
+xmlAddSibling
+xmlReplaceNode
+
unlock
xmlMutexUnlock
+xmlRMutexUnlock
+
unparsed
_xmlEntity
+unparsedEntityDecl
+unparsedEntityDeclSAXFunc
+xmlLoadExternalEntity
+xmlParseAttributeType
+xmlParseEntityRef
+xmlParserHandleReference
+xmlSAX2UnparsedEntityDecl
+
unpredictable
UTF8ToHtml
+UTF8Toisolat1
+docbEncodeEntities
+htmlEncodeEntities
+isolat1ToUTF8
+
unpredictiable
xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+
unregisters
xmlCleanupCharEncodingHandlers
+xmlXPathRegisterFunc
+xmlXPathRegisterFuncNS
+xmlXPathRegisterNs
+xmlXPathRegisterVariable
+xmlXPathRegisterVariableNS
+
unsafe
xmlSprintfElementContent
+
unsigned
c
+xmlURIUnescapeString
+
until
xmlBufferCreateStatic
+xmlParserInputBufferCreateStatic
+xmlSearchNs
+xmlSearchNsByHref
+xmlTextReaderExpand
+xmlTextReaderRelaxNGSetSchema
+xmlXPathAxisFunc
+
unused
ATTRIBUTE_UNUSED
+_xmlEntity
+_xmlSAXHandler
+_xmlSAXHandlerV1
+_xmlSchema
+_xmlXPathContext
+xmlShellBase
+xmlShellCat
+xmlShellDir
+xmlShellDu
+xmlShellList
+xmlShellLoad
+xmlShellPwd
+xmlShellSave
+xmlShellValidate
+xmlShellWrite
+
update
xmlCheckHTTPInput
+xmlNanoFTPUpdateURL
+xmlSetListDoc
+xmlSetTreeDoc
+xmlSplitQName3
+xmlValidCtxtNormalizeAttributeValue
+
updated
xmlCatalogAddLocal
+xmlGetFeaturesList
+xmlNamespaceParseQName
+xmlSplitQName
+xmlSplitQName2
+
updates
xmlGetUTF8Char
+
upon
checkNamespace
+xlinkNodeDetectFunc
+
upper
xmlIsRef
+
uri
xmlNormalizeWindowsPath
+
usage
xmlGetBufferAllocationScheme
+xmlSetBufferAllocationScheme
+
used:
XML_DEFAULT_VERSION
+
useful
xmlGcMemGet
+xmlGcMemSetup
+xmlNewRMutex
+xmlParserInputBufferCreateStatic
+
useless
setDocumentLocator
+setDocumentLocatorSAXFunc
+xmlSAX2SetDocumentLocator
+
users
_xmlSchema
+
uses
htmlNodeStatus
+
usually
c
+xmlInitCharEncodingHandlers
+xmlSchemaGetPredefinedType
+xmlTextReaderGetParserProp
+xmlTextReaderSetParserProp
+
utf8
xmlCharEncFirstLine
+xmlCharEncInFunc
+xmlCharEncOutFunc
+

Letter v:

val1
xmlXPtrLocationSetMerge
+
validated
xmlCharInRange
+
validates
xmlSchemaValPredefTypeNode
+xmlSchemaValidatePredefinedType
+xmlValidateDocument
+xmlValidateNCName
+xmlValidateNMToken
+xmlValidateName
+xmlValidateQName
+
validating
_xmlAttr
+_xmlElement
+_xmlValidCtxt
+xmlKeepBlanksDefault
+xmlRelaxNGValidatePushElement
+xmlSetGenericErrorFunc
+xmlSetStructuredErrorFunc
+
validity
_xmlParserCtxt
+_xmlValidCtxt
+xlinkIsLink
+xmlGenericErrorFunc
+xmlParseAttValue
+xmlParserValidityError
+xmlParserValidityWarning
+xmlTextReaderIsValid
+xmlURIEscape
+xmlURIUnescapeString
+xmlValidGetValidElements
+xmlValidateDocumentFinal
+xmlValidateNotationDecl
+xmlValidityErrorFunc
+xmlValidityWarningFunc
+
value:
xmlCheckUTF8
+
values:
xmlSetCompressMode
+xmlSetDocCompressMode
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+
varags
xmlGenericErrorFunc
+
vararg
xmlValidityErrorFunc
+xmlValidityWarningFunc
+
variables
_xmlXPathContext
+xmlNanoFTPProxy
+xmlXPathRegisteredNsCleanup
+xmlXPathRegisteredVariablesCleanup
+
variant
xmlDetectCharEncoding
+
very
_htmlElemDesc
+_xmlParserInput
+xmlCharEncFirstLine
+
via
xmlNanoHTTPFetch
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+
view
xmlShell
+
visible
xmlC14NExecute
+
void
xmlSAXParseFileWithData
+xmlSAXParseMemoryWithData
+

Letter w:

walker
xmlListReverseWalk
+xmlListWalk
+xmlListWalker
+
walking
_xmlXPathContext
+_xmlXPathParserContext
+xmlListWalker
+
want
xmlCharEncFirstLine
+xmlCharEncInFunc
+xmlCharEncOutFunc
+
warn
xmlCheckVersion
+
warning
_xmlValidCtxt
+docbCreatePushParserCtxt
+htmlCreatePushParserCtxt
+initxmlDefaultSAXHandler
+warningSAXFunc
+xmlCreatePushParserCtxt
+xmlEncodeEntities
+xmlParserValidityWarning
+xmlParserWarning
+xmlRelaxNGGetParserErrors
+xmlRelaxNGGetValidErrors
+xmlRelaxNGSetParserErrors
+xmlRelaxNGSetValidErrors
+xmlSAX2InitDefaultSAXHandler
+xmlSchemaSetParserErrors
+xmlSchemaSetValidErrors
+xmlSearchNs
+xmlTextReaderSetErrorHandler
+xmlTextReaderSetStructuredErrorHandler
+xmlValidityWarningFunc
+
warnings
_xmlParserCtxt
+xmlPedanticParserDefault
+xmlTextReaderSetErrorHandler
+xmlTextReaderSetStructuredErrorHandler
+
way
HTML_COMMENT_NODE
+HTML_ENTITY_REF_NODE
+HTML_PI_NODE
+HTML_PRESERVE_NODE
+HTML_TEXT_NODE
+_xmlDoc
+xmlBoolToText
+xmlKeepBlanksDefault
+xmlNewGlobalNs
+
ways:
xmlValidGetValidElements
+
well
_xmlParserCtxt
+htmlSAXParseDoc
+htmlSAXParseFile
+startElementNsSAX2Func
+xmlCopyDoc
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseCtxtExternalEntity
+xmlParseExternalEntity
+xmlSAX2StartElementNs
+
well-balanced
xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+
well-formed
xmlParseCtxtExternalEntity
+xmlParseEntityRef
+xmlParseExtParsedEnt
+xmlParseExternalEntity
+xmlParserHandleReference
+xmlValidateDtdFinal
+
well-formedness
xmlCtxtResetLastError
+xmlParseEntityRef
+xmlResetLastError
+
wellformed
xmlParseFile
+
were
_xmlParserCtxt
+xmlCheckLanguageID
+xmlKeepBlanksDefault
+xmlMemShow
+xmlXIncludeProcess
+xmlXIncludeProcessFlags
+xmlXIncludeProcessNode
+xmlXIncludeProcessTree
+xmlXIncludeProcessTreeFlags
+
wether
_xmlNodeSet
+xmlPatternMatch
+
what
xmlCatalogGetDefaults
+xmlCatalogSetDefaults
+xmlParseNamespace
+xmlTextReaderGetRemainder
+xmlTextWriterWriteRawLen
+
where
_htmlElemDesc
+xmlCopyProp
+xmlCopyPropList
+xmlFileRead
+xmlIOFTPRead
+xmlIOHTTPRead
+xmlNanoHTTPFetch
+xmlNanoHTTPSave
+xmlNewNs
+xmlParseMarkupDecl
+xmlParseSDDecl
+
while
xmlInitCharEncodingHandlers
+xmlParseAttributeType
+xmlParseEnumeratedType
+xmlParseEnumerationType
+xmlParseNotationType
+xmlSetGenericErrorFunc
+xmlSetStructuredErrorFunc
+xmlTextReaderNext
+xmlTextReaderNextSibling
+xmlValidGetValidElements
+
white
xmlKeepBlanksDefault
+xmlParseSDDecl
+xmlTextReaderNormalization
+xmlXPathNormalizeFunction
+
whitespace
xmlIsBlankNode
+xmlParseAttValue
+xmlXPathIdFunction
+xmlXPathNormalizeFunction
+
whitespace-separated
xmlXPathIdFunction
+
whitespaces
ignorableWhitespace
+ignorableWhitespaceSAXFunc
+xmlSAX2IgnorableWhitespace
+
whose
xmlAutomataNewCountTrans
+xmlAutomataNewOnceTrans
+xmlTextReaderLookupNamespace
+
with_ns
_xmlNodeSet
+
within
_xmlValidCtxt
+xmlAutomataNewCounterTrans
+xmlNewDocComment
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNewDocRawNode
+xmlNewDocText
+xmlNodeGetBase
+xmlParseCharData
+xmlParseComment
+xmlParseCtxtExternalEntity
+xmlParseMarkupDecl
+xmlParseSDDecl
+xmlParserFindNodeInfo
+xmlParserHandlePEReference
+xmlParserPrintFileContext
+xmlReconciliateNs
+xmlSAXParseFileWithData
+xmlSAXParseMemoryWithData
+xmlSearchNs
+xmlTextReaderConstXmlLang
+xmlTextReaderXmlLang
+xmlTextWriterWriteBase64
+xmlTextWriterWriteBinHex
+xmlValidGetValidElements
+xmlXPathIntersection
+
without
_xmlEntity
+entityDecl
+entityDeclSAXFunc
+htmlNewDocNoDtD
+xmlNewGlobalNs
+xmlParseEntityRef
+xmlParsePEReference
+xmlParseSDDecl
+xmlParserHandlePEReference
+xmlSAX2EntityDecl
+xmlScanName
+xmlValidateOneAttribute
+xmlValidateOneNamespace
+
won
_xmlParserCtxt
+xmlBufferCreateStatic
+xmlLoadSGMLSuperCatalog
+xmlParseAttValue
+
word
_htmlElemDesc
+
words
xmlXPathNormalizeFunction
+xmlXPathStringLengthFunction
+
work
xmlNodeGetBase
+xmlRemoveProp
+xmlSAXParseDoc
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+
worked
xmlNanoFTPCwd
+xmlNanoFTPDele
+
works
xmlShellDu
+
would
htmlAutoCloseTag
+
write
xmlFileRead
+xmlFindCharEncodingHandler
+xmlGetCharEncodingHandler
+xmlIOFTPRead
+xmlIOHTTPRead
+xmlNewCharEncodingHandler
+xmlOutputBufferCreateIO
+xmlOutputWriteCallback
+xmlSaveToIO
+xmlShellWrite
+
writer
xmlFreeTextWriter
+
writes
xmlBufferWriteQuotedString
+xmlOutputBufferWrite
+xmlOutputBufferWriteString
+
writing
xmlOutputBufferCreateFilename
+
www
XINCLUDE_NS
+XINCLUDE_OLD_NS
+getSystemId
+xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlGetCharEncodingName
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlSAX2GetSystemId
+xmlSchemaGetPredefinedType
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk25.html b/doc/APIchunk25.html new file mode 100644 index 0000000..8dc92c9 --- /dev/null +++ b/doc/APIchunk25.html @@ -0,0 +1,492 @@ + + +API Alphabetic Index x-x for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index x-x for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter x:

x00B7
IS_EXTENDER
+
x02D0
IS_EXTENDER
+
x02D1
IS_EXTENDER
+
x0387
IS_EXTENDER
+
x0640
IS_EXTENDER
+
x0E46
IS_EXTENDER
+
x0EC6
IS_EXTENDER
+
x10000-
IS_CHAR
+
x10FFFF
IS_CHAR
+
x20
IS_BLANK
+IS_BYTE_CHAR
+IS_PUBIDCHAR
+xmlParseAttValue
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+
x20-
IS_CHAR
+
x3005
IS_EXTENDER
+
x3007
IS_IDEOGRAPHIC
+
x3021-
IS_IDEOGRAPHIC
+
x3029
IS_IDEOGRAPHIC
+
x3031-
IS_EXTENDER
+
x3035
IS_EXTENDER
+
x309D-
IS_EXTENDER
+
x309E
IS_EXTENDER
+
x30FC-
IS_EXTENDER
+
x30FE
IS_EXTENDER
+
x4E00-
IS_IDEOGRAPHIC
+
x9FA5
IS_IDEOGRAPHIC
+
xD7FF
IS_CHAR
+
xE000-
IS_CHAR
+
xFFFD
IS_CHAR
+
xlink
xlinkGetDefaultDetect
+xlinkGetDefaultHandler
+xlinkSetDefaultDetect
+xlinkSetDefaultHandler
+
xlinkHandlerPtr
xlinkGetDefaultHandler
+
xlinkType
xlinkIsLink
+
xml-c14n
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
xml-exc-c14n
xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+
xml-name
xmlParseNamespace
+
xml:
XML_XML_NAMESPACE
+
xml:base
xmlNodeSetBase
+
xml:lang
xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+xmlNodeGetLang
+xmlNodeSetLang
+xmlTextReaderConstXmlLang
+xmlTextReaderXmlLang
+xmlXPathLangFunction
+
xml:space
_xmlParserCtxt
+xmlNodeGetSpacePreserve
+xmlNodeSetSpacePreserve
+
xmlAttr
attribute
+attributeSAXFunc
+
xmlAttrPtr
xmlCopyProp
+xmlCopyPropList
+xmlGetID
+
xmlAttributePtr
xmlGetDtdAttrDesc
+xmlGetDtdQAttrDesc
+
xmlAttributeTablePtr
xmlCopyAttributeTable
+
xmlBuffer
xmlCharEncFirstLine
+xmlCharEncInFunc
+xmlCharEncOutFunc
+
xmlBufferPtr
xmlNewTextWriterMemory
+
xmlCatalogAllow
xmlCatalogGetDefaults
+
xmlCatalogPtr
xmlNewCatalog
+
xmlCatalogResolvePublic
xmlCatalogGetPublic
+
xmlCatalogResolveSystem
xmlCatalogGetSystem
+
xmlCharEncoding
_xmlDoc
+_xmlParserCtxt
+xmlGetCharEncodingHandler
+
xmlCharEncodingHandler
xmlNewCharEncodingHandler
+
xmlCharEncodingHandlerPtr
xmlNewCharEncodingHandler
+xmlRegisterCharEncodingHandler
+
xmlCharEncodingInputFunc
xmlNewCharEncodingHandler
+
xmlCharEncodingOutputFunc
xmlNewCharEncodingHandler
+
xmlChars
_xmlParserInput
+xmlBufferWriteCHAR
+xmlParserInputGrow
+xmlParserInputRead
+
xmlCleanupParser
xmlCleanupParser
+
xmlCleanupThreads
xmlCleanupThreads
+
xmlCreateIntSubset
xmlNewDtd
+
xmlDefaultSAXLocator
setDocumentLocator
+setDocumentLocatorSAXFunc
+xmlSAX2SetDocumentLocator
+
xmlDocPtr
xmlCopyDoc
+xmlNewTextWriterDoc
+xmlNewTextWriterTree
+xmlTextReaderCurrentDoc
+
xmlDocumentGetBase
xmlNodeGetBase
+
xmlDtdPtr
xmlCopyDtd
+xmlIOParseDTD
+xmlParseDTD
+xmlSAXParseDTD
+
xmlElementContentPtr
xmlCopyElementContent
+xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+
xmlElementPtr
xmlGetDtdElementDesc
+xmlGetDtdQElementDesc
+
xmlElementTablePtr
xmlCopyElementTable
+
xmlEncodeEntities
xmlEncodeEntities
+xmlEncodeEntitiesReentrant
+
xmlEncodeEntitiesReentrant
xmlEncodeEntities
+xmlNewChild
+xmlNewDocNode
+xmlNewDocNodeEatName
+
xmlEntitiesTablePtr
xmlCopyEntitiesTable
+xmlCreateEntitiesTable
+
xmlEntityPtr
getEntity
+getEntitySAXFunc
+getParameterEntity
+getParameterEntitySAXFunc
+xmlNewEntityInputStream
+xmlParseEntityRef
+xmlSAX2GetEntity
+xmlSAX2GetParameterEntity
+
xmlEnumerationPtr
xmlCopyEnumeration
+xmlCreateEnumeration
+
xmlExternalEntityLoader
xmlGetExternalEntityLoader
+
xmlFileOpen_real
xmlFileOpen
+
xmlFree
xmlC14NDocDumpMemory
+xmlDocDumpFormatMemory
+xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemory
+xmlDocDumpMemoryEnc
+xmlGetNoNsProp
+xmlGetNsProp
+xmlGetProp
+xmlNodeGetBase
+xmlNodeGetContent
+xmlNodeGetLang
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlTextReaderValue
+
xmlFreeDoc
xmlTextReaderCurrentDoc
+
xmlFreeMutex
xmlFreeMutex
+
xmlGetGlobalState
xmlGetGlobalState
+
xmlGetNoNsProp
xmlGetProp
+
xmlGetNsProp
xmlGetProp
+
xmlGetProp
xmlGetNoNsProp
+
xmlGetThreadId
xmlGetThreadId
+
xmlHashTablePtr
xmlHashCreate
+
xmlIDPtr
xmlAddID
+
xmlIndentTreeOutput
xmlDocDumpFormatMemory
+xmlDocDumpFormatMemoryEnc
+xmlDocFormatDump
+xmlNodeDump
+xmlNodeDumpOutput
+xmlSaveFormatFile
+xmlSaveFormatFileEnc
+
xmlInitParser
htmlInitAutoClose
+
xmlInitThreads
xmlInitThreads
+
xmlInitializeCatalog
xmlCatalogAdd
+
xmlInitializeGlobalState
xmlInitializeGlobalState
+
xmlInputCloseCallback
xmlRegisterInputCallbacks
+
xmlInputMatchCallback
xmlRegisterInputCallbacks
+
xmlInputOpenCallback
xmlRegisterInputCallbacks
+
xmlInputReadCallback
xmlRegisterInputCallbacks
+
xmlIsBaseCharQ
xmlIsBaseChar
+
xmlIsBaseChar_ch
xmlIsBaseChar
+
xmlIsBlankNode
xmlKeepBlanksDefault
+
xmlIsBlankQ
xmlIsBlank
+
xmlIsBlank_ch
xmlIsBlank
+
xmlIsCharQ
xmlIsChar
+
xmlIsChar_ch
xmlIsChar
+
xmlIsCombiningQ
xmlIsCombining
+
xmlIsDigitQ
xmlIsDigit
+
xmlIsDigit_ch
xmlIsDigit
+
xmlIsExtenderQ
xmlIsExtender
+
xmlIsExtender_ch
xmlIsExtender
+
xmlIsIdeographicQ
xmlIsIdeographic
+
xmlIsMainThread
xmlIsMainThread
+
xmlIsPubidCharQ
xmlIsPubidChar
+
xmlIsPubidChar_ch
xmlIsPubidChar
+
xmlKeepBlanksDefault
xmlDocDumpFormatMemory
+xmlDocDumpFormatMemoryEnc
+xmlDocFormatDump
+xmlNodeDump
+xmlNodeDumpOutput
+xmlSaveFormatFile
+xmlSaveFormatFileEnc
+
xmlLineNumbersDefault
xmlGetLineNo
+
xmlListWalk
xmlListWalker
+
xmlLoadExtDtdDefaultValue
XML_COMPLETE_ATTRS
+XML_DETECT_IDS
+XML_SKIP_IDS
+
xmlLocationSetPtr
xmlXPtrFreeLocationSet
+xmlXPtrLocationSetCreate
+
xmlLockLibrary
xmlLockLibrary
+
xmlMutexLock
xmlMutexLock
+
xmlMutexUnlock
xmlMutexUnlock
+
xmlNanoFTPGet
ftpDataCallback
+
xmlNanoFTPList
ftpListCallback
+
xmlNewChild
xmlNewTextChild
+
xmlNewDocRawNode
xmlNewDocNode
+xmlNewDocNodeEatName
+
xmlNewMutex
xmlNewMutex
+
xmlNewNode
xmlNewNodeEatName
+
xmlNewTextChild
xmlNewChild
+xmlNewTextChild
+
xmlNewTextWriter
xmlNewTextWriter
+xmlNewTextWriterDoc
+xmlNewTextWriterFilename
+xmlNewTextWriterMemory
+xmlNewTextWriterPushParser
+xmlNewTextWriterTree
+
xmlNodeListGetString
xmlNodeListGetRawString
+
xmlNodePtr
xmlCopyNode
+xmlCopyNodeList
+xmlDocCopyNode
+xmlDocGetRootElement
+xmlNewTextWriterTree
+xmlTextReaderCurrentNode
+xmlTextReaderPreserve
+xmlXPathNodeSetAdd
+xmlXPathNodeSetAddUnique
+xmlXPathNodeSetCreate
+xmlXPathNodeSetDel
+xmlXPathNodeSetItem
+xmlXPtrBuildNodeList
+
xmlNodeSetPtr
xmlXPathFreeNodeSet
+xmlXPathNodeSetCreate
+
xmlNodeType
xmlTextReaderNodeType
+
xmlNotationPtr
xmlGetDtdNotationDesc
+
xmlNotationTablePtr
xmlCopyNotationTable
+
xmlNsPtr
getNamespace
+xmlCopyNamespace
+xmlCopyNamespaceList
+xmlGetNsList
+
xmlOutputBufferPtr
xmlNewTextWriter
+
xmlOutputCloseCallback
xmlRegisterOutputCallbacks
+
xmlOutputMatchCallback
xmlRegisterOutputCallbacks
+
xmlOutputOpenCallback
xmlRegisterOutputCallbacks
+
xmlOutputWriteCallback
xmlRegisterOutputCallbacks
+
xmlParseAttValue
xmlParseDefaultDecl
+
xmlParseChunk
xmlCreatePushParserCtxt
+
xmlParseElementContentDecl
xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+
xmlParseElementDecl
xmlParseElementContentDecl
+
xmlParseExternalID
xmlParseNotationDecl
+
xmlParseFile
xmlParseCatalogFile
+
xmlParseNamespace:
xmlParseNamespace
+
xmlParseURI
xmlURIEscape
+
xmlParserCtxtPtr
xmlNewParserCtxt
+xmlNewTextWriterPushParser
+
xmlParserError
_xmlError
+
xmlParserErrors
docbParseChunk
+htmlParseChunk
+xmlParseChunk
+
xmlParserFindNodeInfoIndex
xmlParserFindNodeInfoIndex
+
xmlParserHandleReference
xmlScanName
+
xmlParserInputBufferPtr
xmlNewTextReader
+xmlTextReaderGetRemainder
+
xmlParserInputPtr
resolveEntity
+resolveEntitySAXFunc
+xmlFreeInputStream
+xmlLoadExternalEntity
+xmlNoNetExternalEntityLoader
+xmlParserPrintFileContext
+xmlParserPrintFileInfo
+xmlSAX2ResolveEntity
+
xmlParserNodeInfo
xmlParserFindNodeInfo
+
xmlParserProperties
xmlTextReaderGetParserProp
+xmlTextReaderSetParserProp
+
xmlPattern
LIBXML_PATTERN_ENABLED
+
xmlPopInput:
xmlPopInput
+
xmlPushInput:
xmlPushInput
+
xmlRFreeMutex
xmlFreeRMutex
+
xmlRMutexLock
xmlRMutexLock
+
xmlRMutexUnlock
xmlRMutexUnlock
+
xmlRNewMutex
xmlNewRMutex
+
xmlReader
LIBXML_READER_ENABLED
+
xmlRefPtr
xmlAddRef
+
xmlRelaxNGParserFlag
xmlRelaxParserSetFlag
+
xmlRelaxNGValidatePushElement
xmlRelaxNGValidateFullElement
+
xmlSAX2Attribute
attribute
+
xmlSAX2AttributeDecl
attributeDecl
+
xmlSAX2CDataBlock
cdataBlock
+
xmlSAX2Characters
characters
+xmlSAX2IgnorableWhitespace
+
xmlSAX2Comment
comment
+xmlSAX2Comment
+
xmlSAX2ElementDecl
elementDecl
+
xmlSAX2EndDocument
endDocument
+
xmlSAX2EndElement
endElement
+
xmlSAX2EntityDecl
entityDecl
+
xmlSAX2ExternalSubset
externalSubset
+
xmlSAX2GetColumnNumber
getColumnNumber
+
xmlSAX2GetEntity
getEntity
+
xmlSAX2GetLineNumber
getLineNumber
+
xmlSAX2GetParameterEntity
getParameterEntity
+
xmlSAX2GetPublicId
getPublicId
+
xmlSAX2GetSystemId
getSystemId
+
xmlSAX2HasExternalSubset
hasExternalSubset
+
xmlSAX2HasInternalSubset
hasInternalSubset
+
xmlSAX2IgnorableWhitespace
ignorableWhitespace
+xmlKeepBlanksDefault
+
xmlSAX2InitDefaultSAXHandler
initxmlDefaultSAXHandler
+
xmlSAX2InitDocbDefaultSAXHandler
initdocbDefaultSAXHandler
+
xmlSAX2InitHtmlDefaultSAXHandler
inithtmlDefaultSAXHandler
+
xmlSAX2InternalSubset
internalSubset
+
xmlSAX2IsStandalone
isStandalone
+
xmlSAX2NotationDecl
notationDecl
+
xmlSAX2ProcessingInstruction
processingInstruction
+
xmlSAX2Reference
reference
+xmlSAX2Reference
+
xmlSAX2ResolveEntity
resolveEntity
+xmlSAX2ResolveEntity
+
xmlSAX2StartDocument
startDocument
+
xmlSAX2StartElement
startElement
+
xmlSAX2UnparsedEntityDecl
unparsedEntityDecl
+
xmlSAXVersion
xmlSAXDefaultVersion
+
xmlSaveOptions
xmlSaveToBuffer
+xmlSaveToFd
+xmlSaveToFilename
+xmlSaveToIO
+
xmlSetExternalEntityLoader
resolveEntity
+resolveEntitySAXFunc
+xmlSAX2ResolveEntity
+
xmlSnprintfElementContent
xmlSprintfElementContent
+
xmlStrEqual
xmlStrEqual
+
xmlStrdup
xmlNewNode
+
xmlStringDecodeEntities
xmlDecodeEntities
+
xmlStringGetNodeList
xmlParseAttValue
+
xmlStrncat
xmlStrncatNew
+
xmlStrncmp
xmlUTF8Charcmp
+
xmlTextReader
xmlNewTextReader
+xmlNewTextReaderFilename
+xmlReaderNewDoc
+xmlReaderNewFd
+xmlReaderNewFile
+xmlReaderNewIO
+xmlReaderNewMemory
+xmlReaderNewWalker
+xmlTextReaderCurrentDoc
+xmlTextReaderCurrentNode
+xmlTextReaderPreserve
+
xmlTextReaderCurrentDoc
xmlTextReaderPreservePattern
+
xmlTextReaderLocatorPtr
xmlTextReaderLocatorBaseURI
+xmlTextReaderLocatorLineNumber
+
xmlTextReaderRead
xmlTextReaderExpand
+
xmlTextWriterStartDTDEntity
xmlTextWriterWriteDTDExternalEntity
+
xmlTextWriterWriteDTD
xmlTextWriterWriteDocType
+
xmlTextWriterWritePI
xmlTextWriterWriteProcessingInstruction
+
xmlURI
xmlCreateURI
+xmlFreeURI
+xmlPrintURI
+xmlSaveUri
+
xmlURIEscapeStr
xmlURIEscape
+
xmlURIFromPath
xmlNormalizeWindowsPath
+
xmlURIPtr
xmlParseURI
+
xmlUnlinkNode
xmlFreeNode
+
xmlUnlockLibrary
xmlUnlockLibrary
+
xmlValidCtxtPtr
xmlValidityErrorFunc
+xmlValidityWarningFunc
+
xmlValidGetValidElements
xmlValidGetValidElements
+
xmlValidateAttributeDecl
xmlParseDefaultDecl
+
xmlValidateAttributeValue
xmlParseAttributeType
+
xmlValidateOneAttribute
xmlValidateOneElement
+
xmlWriter
LIBXML_WRITER_ENABLED
+
xmlXPathCheckError
xmlXPathPopBoolean
+xmlXPathPopExternal
+xmlXPathPopNodeSet
+xmlXPathPopNumber
+xmlXPathPopString
+
xmlXPathCompExprPtr
xmlXPathCompile
+xmlXPathCtxtCompile
+
xmlXPathContext
xmlXPathFreeContext
+xmlXPathNewContext
+xmlXPtrNewContext
+
xmlXPathError
err
+
xmlXPathEvalPredicate
xmlXPtrEvalRangePredicate
+
xmlXPathFreeObject
xmlXPathFreeNodeSetList
+
xmlXPathFunction
xmlXPathFunctionLookup
+xmlXPathFunctionLookupNS
+
xmlXPathNodeTrailingSorted
xmlXPathNodeTrailing
+
xmlXPathObjectPtr
xmlXPathCompiledEval
+xmlXPathEval
+xmlXPathEvalExpression
+xmlXPathFreeNodeSetList
+xmlXPathFreeObject
+xmlXPathNewBoolean
+xmlXPathNewCString
+xmlXPathNewFloat
+xmlXPathNewNodeSet
+xmlXPathNewNodeSetList
+xmlXPathNewString
+xmlXPathNewValueTree
+xmlXPathWrapNodeSet
+xmlXPtrEval
+xmlXPtrLocationSetAdd
+xmlXPtrLocationSetCreate
+xmlXPtrLocationSetDel
+xmlXPtrNewCollapsedRange
+xmlXPtrNewLocationSetNodeSet
+xmlXPtrNewLocationSetNodes
+xmlXPtrNewRange
+xmlXPtrNewRangeNodeObject
+xmlXPtrNewRangeNodePoint
+xmlXPtrNewRangeNodes
+xmlXPtrNewRangePointNode
+xmlXPtrNewRangePoints
+xmlXPtrWrapLocationSet
+
xmlXPathParserContext
xmlXPathFreeParserContext
+xmlXPathNewParserContext
+
xmlXPathTrailingSorted
xmlXPathTrailing
+
xmlns
xmlNamespaceParseNSDef
+
xmlns:???
xmlParseAttribute
+
xmltextReader
xmlReaderForDoc
+xmlReaderForFd
+xmlReaderForIO
+xmlReaderForMemory
+xmlReaderNewDoc
+xmlReaderNewFd
+xmlReaderNewIO
+xmlReaderNewMemory
+xmlReaderNewWalker
+xmlReaderWalker
+
xpath
xmlShellPrintXPathError
+xmlShellPrintXPathResult
+
xpointer
XINCLUDE_PARSE_XPOINTER
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk26.html b/doc/APIchunk26.html new file mode 100644 index 0000000..6c22f43 --- /dev/null +++ b/doc/APIchunk26.html @@ -0,0 +1,109 @@ + + +API Alphabetic Index y-z for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index y-z for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter y:

year
ftpListCallback
+
yes
xmlInputMatchCallback
+xmlIsBlankNode
+xmlIsMixedElement
+xmlNodeIsText
+xmlOutputMatchCallback
+xmlParseEntityRef
+xmlParsePEReference
+xmlParseSDDecl
+xmlParserHandlePEReference
+xmlRegexpIsDeterminist
+xmlTextWriterStartDocument
+
yet
xmlPatterncompile
+
you
xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNewTextChild
+xmlSearchNs
+

Letter z:

zero
docbEncodeEntities
+docbParseChunk
+htmlCtxtReadDoc
+htmlEncodeEntities
+htmlParseChunk
+htmlReadDoc
+xmlBufferCCat
+xmlBufferCat
+xmlByteConsumed
+xmlCopyDoc
+xmlCtxtReadDoc
+xmlDocDumpMemory
+xmlOutputBufferWriteString
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseChunk
+xmlReadDoc
+xmlReaderForDoc
+xmlReaderNewDoc
+xmlStrdupFunc
+xmlStrsub
+xmlXPathBooleanFunction
+xmlXPathStringFunction
+
zero-based
xmlTextReaderGetAttributeNo
+xmlTextReaderMoveToAttributeNo
+
zeros
xmlXPathStringFunction
+
zlib
_xmlDoc
+xmlC14NDocSave
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk3.html b/doc/APIchunk3.html new file mode 100644 index 0000000..90610c8 --- /dev/null +++ b/doc/APIchunk3.html @@ -0,0 +1,343 @@ + + +API Alphabetic Index F-I for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index F-I for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter F:

FALSE
xmlTextWriterStartDTDEntity
+xmlTextWriterWriteDTDEntity
+xmlTextWriterWriteDTDExternalEntity
+xmlTextWriterWriteDTDInternalEntity
+xmlTextWriterWriteFormatDTDInternalEntity
+xmlTextWriterWriteVFormatDTDInternalEntity
+
FFFE
IS_CHAR
+
FFFF
IS_CHAR
+
FIXED
xmlGetNoNsProp
+xmlGetNsProp
+xmlGetProp
+xmlHasNsProp
+xmlHasProp
+xmlParseDefaultDecl
+
Facet
xmlSchemaFreeFacet
+xmlSchemaNewFacet
+
False
xmlBoolToText
+
Fetch
xmlNanoFTPGet
+
File
xmlTextReaderGetRemainder
+
Fills
xmlNodeBufGetContent
+
Find
xmlGetRefs
+xmlHashLookup
+xmlHashLookup2
+xmlHashLookup3
+xmlHashQLookup
+xmlHashQLookup2
+xmlHashQLookup3
+xmlHashRemoveEntry
+xmlHashRemoveEntry2
+xmlHashRemoveEntry3
+xmlParserFindNodeInfo
+xmlParserFindNodeInfoIndex
+
First
_xmlEntity
+
Fixed
xmlParseDefaultDecl
+xmlValidateOneAttribute
+xmlValidateOneNamespace
+
Float
xmlXPathStringEvalNumber
+
Flush
xmlSaveFlush
+xmlTextWriterFlush
+
For
_xmlParserCtxt
+xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlCtxtResetLastError
+xmlParseComment
+xmlParseElementChildrenContentDecl
+xmlResetLastError
+xmlXPathSubstringAfterFunction
+xmlXPathSubstringBeforeFunction
+xmlXPathSubstringFunction
+xmlXPathTranslateFunction
+
Form
xmlBuildURI
+
Formating
htmlDocContentDumpOutput
+
Formats
xmlStrPrintf
+xmlStrVPrintf
+xmlXPatherror
+
Formed
xmlRecoverDoc
+xmlRecoverFile
+xmlRecoverMemory
+xmlSAXParseDoc
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+
Fragment
xmlNewDocFragment
+
Frameset
_htmlElemDesc
+
Frees
xmlBufferFree
+xmlNanoFTPFreeCtxt
+
Front-end
xmlCharEncFirstLine
+
Function
xmlBufferContent
+xmlBufferLength
+xmlSetGenericErrorFunc
+xmlSetStructuredErrorFunc
+xmlXPathFunctionLookup
+xmlXPathFunctionLookupNS
+

Letter G:

GCC
ATTRIBUTE_UNUSED
+
GEDecl
xmlParseEntityDecl
+
GET
xmlNanoHTTPFetch
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+
GeneralPunctuation
xmlUCSIsGeneralPunctuation
+
Generic
xmlCharEncCloseFunc
+xmlCharEncInFunc
+xmlCharEncOutFunc
+
GeometricShapes
xmlUCSIsGeometricShapes
+
Georgian
xmlUCSIsGeorgian
+
Get
getEntity
+getEntitySAXFunc
+getNamespace
+getParameterEntity
+getParameterEntitySAXFunc
+xlinkGetDefaultDetect
+xlinkGetDefaultHandler
+xmlCtxtGetLastError
+xmlDocGetRootElement
+xmlGetExternalEntityLoader
+xmlGetIntSubset
+xmlGetLastError
+xmlGetLineNo
+xmlListEnd
+xmlListFront
+xmlListSize
+xmlNanoFTPGetResponse
+xmlNanoHTTPAuthHeader
+xmlNanoHTTPReturnCode
+xmlRelaxNGGetParserErrors
+xmlRelaxNGGetValidErrors
+xmlSAX2GetEntity
+xmlSAX2GetParameterEntity
+xmlTextReaderConstString
+xmlTextReaderNodeType
+xmlXPathGetContextNode
+xmlXPathGetDocument
+xmlXPathGetError
+
Gets
xmlTextReaderReadState
+
Global
_xmlDoc
+
Gothic
xmlUCSIsGothic
+
Greek
xmlUCSIsGreek
+
GreekExtended
xmlUCSIsGreekExtended
+
GreekandCoptic
xmlUCSIsGreekandCoptic
+
Group
xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+
Grow
xmlBufferGrow
+xmlParserInputBufferGrow
+
Guess
xmlDetectCharEncoding
+
Gujarati
xmlUCSIsGujarati
+
Gurmukhi
xmlUCSIsGurmukhi
+

Letter H:

HTML_DEPRECATED
htmlAttrAllowed
+htmlElementStatusHere
+
HTML_INVALID
htmlAttrAllowed
+htmlElementStatusHere
+
HTML_NA
htmlNodeStatus
+
HTML_REQUIRED
htmlAttrAllowed
+
HTML_VALID
htmlAttrAllowed
+htmlElementStatusHere
+
Hacking
xmlTextReaderCurrentDoc
+xmlTextReaderCurrentNode
+
HalfwidthandFullwidthForms
xmlUCSIsHalfwidthandFullwidthForms
+
Handle
attribute
+attributeSAXFunc
+xmlErrMemory
+xmlXPathErr
+
Handling
xmlCurrentChar
+
HangulCompatibilityJamo
xmlUCSIsHangulCompatibilityJamo
+
HangulJamo
xmlUCSIsHangulJamo
+
HangulSyllables
xmlUCSIsHangulSyllables
+
Hanunoo
xmlUCSIsHanunoo
+
Has
htmlAttrAllowed
+
Hash
_xmlDoc
+_xmlDtd
+_xmlXPathContext
+
Hebrew
xmlUCSIsHebrew
+
Hence
xmlParseNotationDecl
+
HighPrivateUseSurrogates
xmlUCSIsHighPrivateUseSurrogates
+
HighSurrogates
xmlUCSIsHighSurrogates
+
Hiragana
xmlUCSIsHiragana
+
How
_xmlParserInput
+
However
docbFreeParserCtxt
+htmlFreeParserCtxt
+xmlFreeParserCtxt
+xmlNodeGetBase
+

Letter I:

I18N
_xmlOutputBuffer
+_xmlParserInputBuffer
+xmlOutputBufferWrite
+xmlOutputBufferWriteString
+xmlParserInputBufferGrow
+xmlParserInputBufferPush
+xmlParserInputBufferRead
+
IDREF
xmlParseAttributeType
+xmlValidateAttributeDecl
+xmlValidateAttributeValue
+xmlValidateDocumentFinal
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+
IDREFS
xmlParseAttributeType
+xmlValidateAttributeValue
+xmlValidateDocumentFinal
+
IDREFs
_xmlDoc
+
IDs
xmlXPathIdFunction
+
IEEE
xmlXPathCompareValues
+xmlXPathStringFunction
+xmlXPathSubstringFunction
+
IMPLIED
xmlParseAttributeType
+xmlParseDefaultDecl
+
IPAExtensions
xmlUCSIsIPAExtensions
+
ISO
UTF8Toisolat1
+isolat1ToUTF8
+
ISO-8859-
LIBXML_ISO8859X_ENABLED
+
ISO-Latin
xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+
ISO639Code
xmlCheckLanguageID
+
ISOLatin
_xmlOutputBuffer
+
IS_BLANK
IS_BLANK_CH
+
IS_CHAR
IS_CHAR_CH
+
IS_DIGIT
IS_DIGIT_CH
+
IS_EXTENDER
IS_EXTENDER_CH
+
IS_LETTER
IS_LETTER_CH
+
IS_PUBIDCHAR
IS_PUBIDCHAR_CH
+
IanaCode
xmlCheckLanguageID
+
Identifier
xmlACatalogResolve
+xmlCatalogLocalResolve
+xmlCatalogResolve
+
Identifiers
XML_MAX_NAMELEN
+
Ideographic
IS_IDEOGRAPHIC
+IS_LETTER
+xmlIsLetter
+
IdeographicDescriptionCharacters
xmlUCSIsIdeographicDescriptionCharacters
+
Ignore
XML_SCHEMAS_ANYATTR_LAX
+
Ignored
xmlCopyChar
+
Implements
xmlShell
+xmlShellBase
+xmlShellCat
+xmlShellDir
+xmlShellDu
+xmlShellList
+xmlShellLoad
+xmlShellPwd
+xmlShellSave
+xmlShellValidate
+xmlShellWrite
+xmlXPathDifference
+xmlXPathDistinct
+xmlXPathDistinctSorted
+xmlXPathHasSameNodes
+xmlXPathIntersection
+xmlXPathLeading
+xmlXPathLeadingSorted
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+xmlXPathNodeSetItem
+xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPathTrailing
+xmlXPathTrailingSorted
+
Included
xmlParserHandlePEReference
+
Increment
xmlDictReference
+
Infinity
xmlXPathStringFunction
+
Initial
xmlAutomataGetInitState
+
Initialization
xmlInitParser
+
Initialize
docbDefaultSAXHandlerInit
+htmlDefaultSAXHandlerInit
+htmlInitAutoClose
+initdocbDefaultSAXHandler
+inithtmlDefaultSAXHandler
+initxmlDefaultSAXHandler
+xmlDefaultSAXHandlerInit
+xmlInitCharEncodingHandlers
+xmlInitMemory
+xmlInitNodeInfoSeq
+xmlInitParserCtxt
+xmlNanoFTPInit
+xmlNanoFTPScanProxy
+xmlNanoHTTPInit
+xmlNanoHTTPScanProxy
+xmlSAX2InitDefaultSAXHandler
+xmlSAX2InitDocbDefaultSAXHandler
+xmlSAX2InitHtmlDefaultSAXHandler
+xmlSAXVersion
+xmlSchemaInitTypes
+xmlXPathInit
+xmlXPathRoot
+
Initially
xmlSubstituteEntitiesDefault
+
Initiate
xmlNanoFTPGetSocket
+
Input
_xmlParserCtxt
+xmlIOParseDTD
+xmlInputCloseCallback
+xmlInputMatchCallback
+xmlInputOpenCallback
+xmlInputReadCallback
+xmlNewIOInputStream
+
Insert
xmlListAppend
+xmlListInsert
+xmlParserAddNodeInfo
+
Instruction
xmlParsePI
+
Instuction
XML_CATALOG_PI
+
Intended
xmlSnprintfElementContent
+
Internal
xmlParseMarkupDecl
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk4.html b/doc/APIchunk4.html new file mode 100644 index 0000000..eded8bb --- /dev/null +++ b/doc/APIchunk4.html @@ -0,0 +1,330 @@ + + +API Alphabetic Index J-N for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index J-N for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter J:

Jan
_htmlElemDesc
+
Java
xmlCheckUTF8
+

Letter K:

Kanbun
xmlUCSIsKanbun
+
KangxiRadicals
xmlUCSIsKangxiRadicals
+
Kannada
xmlUCSIsKannada
+
Katakana
xmlUCSIsKatakana
+
KatakanaPhoneticExtensions
xmlUCSIsKatakanaPhoneticExtensions
+
Khmer
xmlUCSIsKhmer
+
KhmerSymbols
xmlUCSIsKhmerSymbols
+

Letter L:

Langcode
xmlCheckLanguageID
+
LanguageID
xmlCheckLanguageID
+
Lao
xmlUCSIsLao
+
Last
_xmlEntity
+
Latin
UTF8Toisolat1
+isolat1ToUTF8
+
Latin-1Supplement
xmlUCSIsLatin1Supplement
+
LatinExtended-A
xmlUCSIsLatinExtendedA
+
LatinExtended-B
xmlUCSIsLatinExtendedB
+
LatinExtendedAdditional
xmlUCSIsLatinExtendedAdditional
+
Legal
xmlParseCharRef
+xmlParseDefaultDecl
+xmlValidateAttributeDecl
+
Length
xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemoryEnc
+
Letter
IS_LETTER
+xmlIsLetter
+xmlNamespaceParseNCName
+xmlParseName
+xmlScanName
+xmlXPathParseNCName
+xmlXPathParseName
+
LetterlikeSymbols
xmlUCSIsLetterlikeSymbols
+
Like
xmlXPathOrderDocElems
+
Limbu
xmlUCSIsLimbu
+
LinearBIdeograms
xmlUCSIsLinearBIdeograms
+
LinearBSyllabary
xmlUCSIsLinearBSyllabary
+
List
_xmlElement
+_xmlParserCtxt
+
Literal
xmlParseSystemLiteral
+
Load
xmlIOParseDTD
+xmlLoadACatalog
+xmlLoadCatalog
+xmlLoadCatalogs
+xmlLoadExternalEntity
+xmlLoadSGMLSuperCatalog
+xmlParseDTD
+xmlSAXParseDTD
+
Local
_xmlOutputBuffer
+_xmlParserInputBuffer
+
LocalPart
xmlNamespaceParseQName
+xmlSplitQName
+xmlSplitQName2
+
Location
xmlXPathEval
+xmlXPtrEval
+xmlXPtrEvalRangePredicate
+
LocationSet
xmlXPtrFreeLocationSet
+xmlXPtrLocationSetAdd
+xmlXPtrLocationSetDel
+xmlXPtrLocationSetMerge
+xmlXPtrLocationSetRemove
+xmlXPtrNewLocationSetNodeSet
+xmlXPtrNewLocationSetNodes
+xmlXPtrWrapLocationSet
+
Locator
setDocumentLocator
+setDocumentLocatorSAXFunc
+xmlSAX2SetDocumentLocator
+
Lookup
htmlEntityLookup
+htmlEntityValueLookup
+htmlTagLookup
+xmlGetEncodingAlias
+xmlSchemaGetPredefinedType
+
Loose
_htmlElemDesc
+
LowSurrogates
xmlUCSIsLowSurrogates
+

Letter M:

META
htmlSetMetaEncoding
+
MODIFIER
_htmlElemDesc
+
MULT
_xmlElementContent
+
MUST
xmlC14NDocSaveTo
+xmlC14NExecute
+xmlTextReaderNormalization
+
Makes
xmlAutomataSetFinalState
+
Malayalam
xmlUCSIsMalayalam
+
Maps
xmlChildrenNode
+xmlRootNode
+
Markup
xmlParseExternalSubset
+xmlParseMarkupDecl
+
Match
xmlParseElement
+
MathematicalAlphanumericSymbols
xmlUCSIsMathematicalAlphanumericSymbols
+
MathematicalOperators
xmlUCSIsMathematicalOperators
+
Max
_xmlParserCtxt
+_xmlValidCtxt
+
May
xmlURIEscape
+
Memory
xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemoryEnc
+
Merge
xmlTextMerge
+
Merges
xmlXPathNodeSetMerge
+xmlXPtrLocationSetMerge
+
Meta
htmlGetMetaEncoding
+htmlSetMetaEncoding
+
Method
xmlTextReaderGetRemainder
+
Mime-Type
xmlNanoHTTPMimeType
+
Misc
xmlParseDocument
+xmlParseMisc
+
MiscellaneousMathematicalSymbols-A
xmlUCSIsMiscellaneousMathematicalSymbolsA
+
MiscellaneousMathematicalSymbols-B
xmlUCSIsMiscellaneousMathematicalSymbolsB
+
MiscellaneousSymbols
xmlUCSIsMiscellaneousSymbols
+
MiscellaneousSymbolsandArrows
xmlUCSIsMiscellaneousSymbolsandArrows
+
MiscellaneousTechnical
xmlUCSIsMiscellaneousTechnical
+
Mixed
xmlIsMixedElement
+xmlParseElementChildrenContentDecl
+xmlParseElementContentDecl
+xmlParseElementMixedContentDecl
+
Mongolian
xmlUCSIsMongolian
+
More
xmlXPathSubstringFunction
+
Move
xmlListCopy
+
Moves
xmlTextReaderMoveToAttribute
+xmlTextReaderMoveToAttributeNo
+xmlTextReaderMoveToAttributeNs
+xmlTextReaderMoveToElement
+xmlTextReaderMoveToFirstAttribute
+xmlTextReaderMoveToNextAttribute
+xmlTextReaderRead
+
MusicalSymbols
xmlUCSIsMusicalSymbols
+
Myanmar
xmlUCSIsMyanmar
+

Letter N:

NAME
xmlParseDTD
+xmlSAXParseDTD
+
NCName
xmlNamespaceParseNCName
+xmlNamespaceParseNSDef
+xmlNamespaceParseQName
+xmlSplitQName
+xmlSplitQName2
+xmlValidateNCName
+xmlXPathParseNCName
+
NCNameChar
xmlNamespaceParseNCName
+xmlXPathParseNCName
+
NDATA
xmlParseEntityDecl
+
NDataDecl
xmlParseEntityDecl
+
NDataDecl?
xmlParseEntityDecl
+
NMTOKEN
xmlParseAttributeType
+xmlValidateAttributeValue
+
NMTOKENS
xmlParseAttributeType
+xmlValidateAttributeValue
+
NMToken
xmlValidateNMToken
+
NOTATION
xmlParseEnumeratedType
+xmlParseNotationType
+xmlValidateDtdFinal
+
NOTE
xmlCtxtReadFd
+xmlParseExternalID
+xmlParseNotationDecl
+xmlReadFd
+xmlReaderForFd
+xmlReaderNewFd
+
NOTE:
_xmlParserInput
+htmlSetMetaEncoding
+xmlCheckLanguageID
+xmlGetProp
+xmlInitCharEncodingHandlers
+xmlNewChild
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNewTextChild
+xmlParseExternalID
+xmlParsePEReference
+xmlParserHandlePEReference
+xmlSaveFormatFileTo
+xmlTextReaderCurrentDoc
+
NRK
_htmlElemDesc
+
NSDef
xmlNamespaceParseNSDef
+
NaN
xmlXPathBooleanFunction
+xmlXPathIsNaN
+xmlXPathStringFunction
+
NameChar
xmlParseName
+xmlParseNmtoken
+xmlScanName
+xmlXPathParseName
+
Names
xmlParseAttributeType
+xmlParseName
+xmlScanName
+xmlValidateAttributeValue
+xmlValidateNamesValue
+
Namespace
XML_XML_NAMESPACE
+_xmlElementContent
+xmlNewGlobalNs
+xmlNewNs
+xmlXPathNodeSetFreeNs
+xmlXPtrBuildNodeList
+
Nanespace
_xmlParserCtxt
+
Needed
xmlScanName
+
Nesting
xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+xmlParseMarkupDecl
+
New
_htmlElemDesc
+
Nmtoken
xmlParseAttributeType
+xmlParseEnumerationType
+xmlParseNmtoken
+xmlValidateAttributeValue
+xmlValidateNmtokenValue
+
Nmtokens
xmlParseAttributeType
+xmlParseNmtoken
+xmlValidateAttributeValue
+xmlValidateNmtokensValue
+
Node
_xmlParserCtxt
+_xmlValidCtxt
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlXPathNewNodeSet
+
NodeList
xmlXPathNodeSetGetLength
+xmlXPathNodeSetItem
+
NodePtr
xmlXPathNewNodeSet
+xmlXPathNewValueTree
+xmlXPathWrapNodeSet
+xmlXPtrNewLocationSetNodes
+
NodeSet
xmlXPathFreeNodeSet
+xmlXPathNewNodeSet
+xmlXPathNewNodeSetList
+xmlXPathNodeSetAdd
+xmlXPathNodeSetAddNs
+xmlXPathNodeSetAddUnique
+xmlXPathNodeSetDel
+xmlXPathNodeSetMerge
+xmlXPathNodeSetRemove
+
NodeSetList
xmlXPathFreeNodeSetList
+
NodeType
xmlXPathIsNodeType
+
Nodeset
xmlXPathNewNodeSetList
+xmlXPathWrapNodeSet
+
Non-static
xmlIOHTTPOpenW
+
Normalization
xmlNormalizeURIPath
+
Normalization:
xmlParseAttValue
+
NotaNumber
xmlXPathIsNaN
+
Notation
_xmlNotation
+xmlParseEntityDecl
+xmlParseNotationType
+xmlValidateNotationUse
+xmlValidateOneAttribute
+xmlValidateOneNamespace
+
NotationDecl
xmlParseMarkupDecl
+xmlParseNotationDecl
+
NotationType
xmlParseEnumeratedType
+xmlParseNotationType
+
Note
ftpListCallback
+htmlElementAllowedHere
+xmlAddAttributeDecl
+xmlCheckUTF8
+xmlDocDumpFormatMemory
+xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemoryEnc
+xmlDocFormatDump
+xmlNodeDump
+xmlNodeDumpOutput
+xmlParseCharEncoding
+xmlParseEntityRef
+xmlRemoveProp
+xmlSAXDefaultVersion
+xmlSaveFormatFile
+xmlSaveFormatFileEnc
+xmlTextReaderSetParserProp
+
Note:
fatalErrorSAXFunc
+xmlCharEncodingOutputFunc
+xmlGetDtdEntity
+xmlParseAttValue
+xmlParseNotationType
+xmlRelaxNGNewDocParserCtxt
+xmlUTF8Strsub
+
Number
_xmlParserCtxt
+xmlXPathStringEvalNumber
+xmlXPathStringFunction
+
NumberForms
xmlUCSIsNumberForms
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk5.html b/doc/APIchunk5.html new file mode 100644 index 0000000..cc40b20 --- /dev/null +++ b/doc/APIchunk5.html @@ -0,0 +1,276 @@ + + +API Alphabetic Index O-Q for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index O-Q for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter O:

OBSOLETE:
xmlHandleEntity
+
ONCE
_xmlElementContent
+
OPT
_xmlElementContent
+
OUT
xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+
OUT:
htmlDocDumpMemory
+xmlDocDumpFormatMemory
+xmlDocDumpMemory
+
Obtain
xmlTextReaderLocatorBaseURI
+xmlTextReaderLocatorLineNumber
+
Ogham
xmlUCSIsOgham
+
OldItalic
xmlUCSIsOldItalic
+
One
INPUT_CHUNK
+xmlParseAttributeType
+xmlSetGenericErrorFunc
+xmlValidateElementDecl
+
Open
xmlIOHTTPOpenW
+
OpticalCharacterRecognition
xmlUCSIsOpticalCharacterRecognition
+
Optional
_htmlElemDesc
+
Oriya
xmlUCSIsOriya
+
Osmanya
xmlUCSIsOsmanya
+
Output
xmlOutputCloseCallback
+xmlOutputMatchCallback
+xmlOutputOpenCallback
+xmlOutputWriteCallback
+xmlURIUnescapeString
+
Override
xmlGcMemSetup
+xmlMemSetup
+

Letter P:

P32
xmlValidCtxtNormalizeAttributeValue
+
PCDATA
_htmlElemDesc
+_xmlElementContent
+xmlParseElementMixedContentDecl
+
PEDecl
xmlParseEntityDecl
+
PEDef
xmlParseEntityDecl
+
PEReference
xmlDecodeEntities
+xmlParseDocTypeDecl
+xmlParseEntityValue
+xmlParseExternalSubset
+xmlParsePEReference
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+
PEs
xmlParseMarkupDecl
+
PITarget
xmlParsePI
+xmlParsePITarget
+
PIs
xmlDocGetRootElement
+xmlDocSetRootElement
+
PLUS
_xmlElementContent
+
POST
xmlIOHTTPOpenW
+xmlRegisterHTTPPostCallbacks
+
PSVI
_xmlAttr
+_xmlDoc
+_xmlNode
+
PUBLIC
_xmlDtd
+_xmlEntity
+xmlCreateEntityParserCtxt
+xmlCreateIntSubset
+xmlParseExternalID
+xmlParseNotationDecl
+
PUT
xmlRegisterHTTPPostCallbacks
+
Parameter
xmlParserHandlePEReference
+
Parameter-entity
xmlParseElementChildrenContentDecl
+xmlParseMarkupDecl
+xmlParsePEReference
+xmlParserHandlePEReference
+
Parse
docbParseChunk
+htmlParseChunk
+htmlSAXParseDoc
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseCDSect
+xmlParseChunk
+xmlParseContent
+xmlParseCtxtExternalEntity
+xmlParseDefaultDecl
+xmlParseExternalEntity
+xmlParseExternalID
+xmlParseQuotedString
+xmlParseURI
+xmlParseURIReference
+xmlStringGetNodeList
+xmlStringLenGetNodeList
+xmlXPathEvalExpr
+
Parsed
xmlParseEntityRef
+xmlParserHandleReference
+
Parses
xmlRegexpCompile
+xmlTextReaderReadAttributeValue
+
Parsing
_xmlParserCtxt
+xmlXPathErr
+
Part
xmlRegexpCompile
+
Path
xmlGetNodePath
+xmlXPathEval
+xmlXPtrEval
+
People
xmlEncodeEntities
+
PhoneticExtensions
xmlUCSIsPhoneticExtensions
+
Please
xmlNormalizeWindowsPath
+
Pointer
xmlCheckUTF8
+
Points
xmlXPtrNewRangePoints
+
Pop
xmlRelaxNGValidatePopElement
+xmlValidatePopElement
+
Pops
inputPop
+namePop
+nodePop
+valuePop
+xmlXPathPopBoolean
+xmlXPathPopExternal
+xmlXPathPopNodeSet
+xmlXPathPopNumber
+xmlXPathPopString
+
Position
_xmlParserNodeInfo
+
Possibility
_xmlXPathContext
+
Precompiled
xmlXPathCompiledEval
+
Predicate
xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+xmlXPtrEvalRangePredicate
+
PredicateExpr
xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+xmlXPtrEvalRangePredicate
+
Prefix
xmlNamespaceParseQName
+xmlSplitQName
+xmlSplitQName2
+xmlTextReaderConstName
+xmlTextReaderName
+
PrefixDef
xmlNamespaceParseNSDef
+
Print
xmlRegexpPrint
+xmlShellPrintNode
+xmlShellPrintXPathError
+
Prints
xmlPrintURI
+xmlShellPrintXPathResult
+
PrivateUse
xmlUCSIsPrivateUse
+
PrivateUseArea
xmlUCSIsPrivateUseArea
+
Processing
XML_CATALOG_PI
+xmlParsePI
+
Productions
xmlParseExternalID
+
Proper
xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+xmlParseMarkupDecl
+
Prototype
xmlXPathFuncLookupFunc
+xmlXPathVariableLookupFunc
+
Provide
getColumnNumber
+getLineNumber
+xmlSAX2GetColumnNumber
+xmlSAX2GetLineNumber
+
Provides
getPublicId
+getSystemId
+xmlGcMemGet
+xmlMemGet
+xmlMemUsed
+xmlNanoHTTPEncoding
+xmlNanoHTTPMimeType
+xmlNanoHTTPRedir
+xmlSAX2GetPublicId
+xmlSAX2GetSystemId
+xmlTextReaderAttributeCount
+xmlTextReaderConstValue
+xmlTextReaderGetAttribute
+xmlTextReaderGetAttributeNo
+xmlTextReaderGetAttributeNs
+xmlTextReaderValue
+xmlXPathIsInf
+xmlXPathIsNaN
+
Proxy
xmlNanoFTPScanProxy
+xmlNanoHTTPScanProxy
+
Proxy-Authenticate
xmlNanoHTTPAuthHeader
+
PubidChar
IS_PUBIDCHAR
+xmlParsePubidLiteral
+
PubidLiteral
xmlParseExternalID
+xmlParseNotationDecl
+xmlParsePubidLiteral
+
Public
_xmlNotation
+xmlExternalEntityLoader
+xmlLoadExternalEntity
+xmlParseExternalID
+
PublicID
xmlParseExternalID
+xmlParseNotationDecl
+
Push
xmlParserInputBufferPush
+xmlRegExecPushString
+xmlRegExecPushString2
+xmlRelaxNGValidatePushElement
+xmlValidatePushElement
+
Pushes
inputPush
+namePush
+nodePush
+valuePush
+xmlXPathReturnBoolean
+xmlXPathReturnEmptyNodeSet
+xmlXPathReturnEmptyString
+xmlXPathReturnExternal
+xmlXPathReturnFalse
+xmlXPathReturnNodeSet
+xmlXPathReturnNumber
+xmlXPathReturnString
+xmlXPathReturnTrue
+

Letter Q:

QName
xmlBuildQName
+xmlDictQLookup
+xmlHashQLookup
+xmlNamespaceParseQName
+xmlParseAttribute
+xmlParseEndTag
+xmlParseStartTag
+xmlSplitQName
+xmlSplitQName2
+xmlSplitQName3
+xmlStrQEqual
+xmlValidateQName
+
QNames
xmlHashQLookup2
+
QUIT
xmlNanoFTPQuit
+
Qualified
xmlSplitQName3
+
Query
xmlDictSize
+xmlHashSize
+
Question:
xmlParseTextDecl
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk6.html b/doc/APIchunk6.html new file mode 100644 index 0000000..ad2ce0c --- /dev/null +++ b/doc/APIchunk6.html @@ -0,0 +1,482 @@ + + +API Alphabetic Index R-S for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index R-S for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter R:

REC
IS_BASECHAR
+IS_COMBINING
+IS_DIGIT
+
REC-xml
xmlGetCharEncodingName
+xmlParserHandlePEReference
+xmlParserHandleReference
+
REFs
XML_DETECT_IDS
+XML_SKIP_IDS
+
REQUIRED
xmlParseAttributeType
+xmlParseDefaultDecl
+
RFC
xmlBuildURI
+xmlNodeGetBase
+xmlNormalizeURIPath
+
RFC2396
xmlURIEscape
+
Raises
xmlXPathSetArityError
+xmlXPathSetError
+xmlXPathSetTypeError
+
Read
xmlFileRead
+xmlGetFeature
+xmlGetUTF8Char
+xmlIOFTPRead
+xmlIOHTTPRead
+xmlNodeBufGetContent
+xmlNodeGetContent
+xmlTextReaderConstValue
+xmlTextReaderGetParserProp
+xmlTextReaderRelaxNGSetSchema
+xmlTextReaderRelaxNGValidate
+
Reader
xmlTextReaderPreservePattern
+
Readers
xmlTextReaderNextSibling
+
Reads
xmlTextReaderCurrentNode
+xmlTextReaderExpand
+xmlTextReaderPreserve
+xmlTextReaderReadInnerXml
+xmlTextReaderReadOuterXml
+xmlTextReaderReadString
+
Rec
xmlValidateDocument
+xmlValidateDocumentFinal
+xmlValidateDtdFinal
+
Receive
setDocumentLocator
+setDocumentLocatorSAXFunc
+xmlParseDefaultDecl
+xmlSAX2SetDocumentLocator
+
Receiving
charactersSAXFunc
+ignorableWhitespaceSAXFunc
+
Recurse
xmlSearchNsByHref
+
Recursion
xmlParsePEReference
+xmlParserHandlePEReference
+
Ref
_xmlRef
+xmlAddRef
+xmlFreeRefTable
+xmlIsRef
+xmlRemoveRef
+
Reference
htmlParseCharRef
+xmlDecodeEntities
+xmlParseAttValue
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseCharRef
+xmlParseContent
+xmlParseEntityValue
+xmlParseReference
+xmlParserHandleReference
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+
Reference:
xmlTextReaderNodeType
+
References
xmlBuildURI
+xmlParseAttribute
+
Refresh
xmlParserInputBufferRead
+
Reg
xmlAutomataCompile
+
Register
xmlAddAttributeDecl
+xmlAddDocEntity
+xmlAddDtdEntity
+xmlAddElementDecl
+xmlAddID
+xmlAddNotationDecl
+xmlAddRef
+xmlRegisterCharEncodingHandler
+xmlRegisterInputCallbacks
+xmlRegisterOutputCallbacks
+xmlTextReaderSetErrorHandler
+xmlTextReaderSetStructuredErrorHandler
+xmlXPathRegisterFunc
+xmlXPathRegisterFuncNS
+xmlXPathRegisterNs
+xmlXPathRegisterVariable
+xmlXPathRegisterVariableNS
+
RegisterNodeFunc
xmlRegisterNodeDefault
+
Registers
xmlAddEncodingAlias
+xmlDeregisterNodeDefault
+xmlRegisterDefaultInputCallbacks
+xmlRegisterDefaultOutputCallbacks
+xmlRegisterNodeDefault
+xmlXPathRegisterAllFunctions
+xmlXPathRegisterFuncLookup
+
Relative
xmlBuildURI
+
Relax
xmlXPathErr
+
Relax-NG
xmlRelaxNGGetParserErrors
+xmlRelaxNGGetValidErrors
+xmlRelaxNGParse
+xmlRelaxNGSetParserErrors
+xmlRelaxNGSetValidErrors
+xmlRelaxNGValidateDoc
+
RelaxNG
xmlRelaxNGCleanupTypes
+xmlRelaxNGDump
+xmlRelaxNGDumpTree
+xmlRelaxNGFree
+xmlRelaxNGNewDocParserCtxt
+xmlRelaxNGParse
+xmlRelaxNGValidatePopElement
+xmlRelaxNGValidatePushCData
+xmlRelaxNGValidatePushElement
+xmlRelaxParserSetFlag
+xmlTextReaderRelaxNGSetSchema
+xmlTextReaderRelaxNGValidate
+
RelaxNGs
xmlRelaxNGNewDocParserCtxt
+xmlRelaxNGNewMemParserCtxt
+xmlRelaxNGNewParserCtxt
+xmlRelaxNGNewValidCtxt
+
Remove
xmlACatalogRemove
+xmlBufferShrink
+xmlCatalogRemove
+xmlListClear
+xmlListRemoveAll
+xmlListRemoveFirst
+xmlListRemoveLast
+xmlParserHandleReference
+xmlRemoveID
+xmlRemoveRef
+xmlUnsetNsProp
+xmlUnsetProp
+
Removes
xmlListPopBack
+xmlListPopFront
+xmlXPathNodeSetDel
+xmlXPathNodeSetRemove
+xmlXPtrLocationSetDel
+xmlXPtrLocationSetRemove
+
Replace
xmlNodeSetContent
+xmlNodeSetContentLen
+
Required
_htmlElemDesc
+htmlAttrAllowed
+xmlParseDefaultDecl
+xmlValidateOneElement
+
Reset
htmlCtxtReset
+xmlCtxtReset
+xmlCtxtResetPush
+
Resize
xmlBufferResize
+
Resolves
xmlTextReaderLookupNamespace
+
Resolving
xmlBuildURI
+
Retrieve
xmlTextReaderGetErrorHandler
+xmlTextReaderIsValid
+
Return
CHECK_TYPE0
+
Returns
htmlDefaultSubelement
+htmlElementAllowedHereDesc
+htmlRequiredAttrs
+xmlGetDocEntity
+xmlGetDtdEntity
+xmlGetParameterEntity
+xmlLinkGetData
+xmlXPathCheckError
+xmlXPathGetContextNode
+xmlXPathGetDocument
+xmlXPathGetError
+xmlXPathNodeSetGetLength
+xmlXPathNodeSetIsEmpty
+xmlXPathNodeSetItem
+xmlXPathStackIsExternal
+xmlXPathStackIsNodeSet
+
Reverse
xmlListReverse
+
Root
xmlParseDocTypeDecl
+xmlValidateRoot
+
Runic
xmlUCSIsRunic
+

Letter S:

SAX1
LIBXML_SAX1_ENABLED
+
SAX2
XML_SAX2_MAGIC
+endElementNsSAX2Func
+initdocbDefaultSAXHandler
+inithtmlDefaultSAXHandler
+initxmlDefaultSAXHandler
+startElementNsSAX2Func
+xmlDefaultSAXHandlerInit
+xmlSAX2EndElementNs
+xmlSAX2InitDefaultSAXHandler
+xmlSAX2InitDocbDefaultSAXHandler
+xmlSAX2InitHtmlDefaultSAXHandler
+xmlSAX2StartElementNs
+
SAX::substituteEntities
xmlSubstituteEntitiesDefault
+
SDDecl
xmlParseSDDecl
+
SDDecl?
xmlParseXMLDecl
+
SEQ
_xmlElementContent
+
SGML
LIBXML_DOCB_ENABLED
+docbCreateFileParserCtxt
+docbCreatePushParserCtxt
+docbEncodeEntities
+docbFreeParserCtxt
+docbParseDoc
+docbParseDocument
+docbParseFile
+docbSAXParseDoc
+docbSAXParseFile
+xmlCatalogConvert
+xmlCatalogIsEmpty
+xmlConvertSGMLCatalog
+xmlLoadACatalog
+xmlLoadCatalog
+xmlLoadSGMLSuperCatalog
+xmlNewCatalog
+xmlParseComment
+
SGMLSOURCE
getPublicId
+xmlSAX2GetPublicId
+
SITE
xmlNanoFTPProxy
+
STag
htmlParseElement
+xmlParseElement
+xmlParseStartTag
+
SYSTEM
_xmlDtd
+_xmlEntity
+_xmlParserCtxt
+externalSubset
+externalSubsetSAXFunc
+internalSubset
+internalSubsetSAXFunc
+xmlParseExternalID
+xmlParseNotationDecl
+xmlSAX2ExternalSubset
+xmlSAX2InternalSubset
+
Same
IS_PUBIDCHAR_CH
+
Save
xmlCopyError
+xmlSaveDoc
+xmlSaveTree
+xmlSaveUri
+
Scan
xmlHashCopy
+xmlHashScan
+xmlHashScan3
+xmlHashScanFull
+xmlHashScanFull3
+
Schema
xmlSchemaDump
+xmlSchemaFree
+xmlSchemaFreeFacet
+xmlSchemaFreeType
+xmlSchemaParse
+
Schemas
LIBXML_SCHEMAS_ENABLED
+xmlRegexpCompile
+xmlRelaxNGCleanupTypes
+xmlSchemaCleanupTypes
+xmlSchemaFreeValue
+xmlSchemaGetPredefinedType
+xmlSchemaInitTypes
+xmlSchemaNewDocParserCtxt
+xmlSchemaNewMemParserCtxt
+xmlSchemaNewParserCtxt
+xmlSchemaNewValidCtxt
+
Script
htmlIsScriptAttribute
+
Search
xmlFindCharEncodingHandler
+xmlGetCharEncodingHandler
+xmlGetDtdAttrDesc
+xmlGetDtdElementDesc
+xmlGetDtdNotationDesc
+xmlGetDtdQAttrDesc
+xmlGetDtdQElementDesc
+xmlGetID
+xmlGetLastChild
+xmlGetNoNsProp
+xmlGetNsList
+xmlGetNsProp
+xmlGetProp
+xmlHasNsProp
+xmlHasProp
+xmlIsMixedElement
+xmlListReverseSearch
+xmlListSearch
+xmlSearchNs
+xmlSearchNsByHref
+xmlXPathFunctionLookup
+xmlXPathFunctionLookupNS
+xmlXPathNsLookup
+xmlXPathVariableLookup
+xmlXPathVariableLookupNS
+
Searches
xmlNodeGetBase
+xmlNodeGetLang
+xmlNodeGetSpacePreserve
+
Second
xmlCheckLanguageID
+
Section
xmlGetCharEncodingName
+xmlNormalizeURIPath
+
See
xmlLinkGetData
+xmlParseNotationDecl
+
Seems
xmlParseTextDecl
+
Semi
xmlRelaxParserSetFlag
+
Send
xmlNanoFTPQuit
+
Serialize
xmlAttrSerializeTxtContent
+
Set
htmlHandleOmittedElem
+initGenericErrorDefaultFunc
+setNamespace
+xlinkSetDefaultDetect
+xlinkSetDefaultHandler
+xmlDocSetRootElement
+xmlInitializePredefinedEntities
+xmlKeepBlanksDefault
+xmlLineNumbersDefault
+xmlNodeSetBase
+xmlNodeSetLang
+xmlNodeSetName
+xmlNodeSetSpacePreserve
+xmlPedanticParserDefault
+xmlRelaxNGSetParserErrors
+xmlRelaxNGSetValidErrors
+xmlSAXDefaultVersion
+xmlSchemaSetParserErrors
+xmlSchemaSetValidErrors
+xmlSetBufferAllocationScheme
+xmlSetEntityReferenceFunc
+xmlSetNsProp
+xmlSetProp
+xmlSubstituteEntitiesDefault
+xmlTextWriterSetIndent
+xmlTextWriterSetIndentString
+xmlXIncludeSetFlags
+xmlXPtrEvalRangePredicate
+
Sets
htmlSetMetaEncoding
+xmlBufferSetAllocationScheme
+xmlXPathDifference
+xmlXPathDistinct
+xmlXPathDistinctSorted
+xmlXPathHasSameNodes
+xmlXPathIntersection
+xmlXPathLeading
+xmlXPathLeadingSorted
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPathTrailing
+xmlXPathTrailingSorted
+
Setup
xmlNanoFTPProxy
+xmlReaderNewDoc
+xmlReaderNewFd
+xmlReaderNewIO
+xmlReaderNewMemory
+xmlReaderNewWalker
+xmlSetupParserForBuffer
+
Shavian
xmlUCSIsShavian
+
Shell
xmlShellReadlineFunc
+
Shema
xmlRelaxNGParse
+xmlSchemaParse
+
Should
_xmlParserCtxt
+xmlGcMemSetup
+xmlMemSetup
+xmlNanoFTPScanProxy
+xmlNanoHTTPScanProxy
+xmlStrEqual
+xmlStringGetNodeList
+xmlStringLenGetNodeList
+
Show
xmlShellPwd
+
Signature
xmlFreeFunc
+xmlGenericErrorFunc
+xmlMallocFunc
+xmlReallocFunc
+xmlStrdupFunc
+xmlStructuredErrorFunc
+
Similarly
xmlParseEntityRef
+
Simply
xmlCreateURI
+
Since
xmlStrcat
+xmlStrdup
+xmlTextReaderNormalization
+
Sinhala
xmlUCSIsSinhala
+
Skip
XML_SCHEMAS_ANYATTR_SKIP
+xmlNextChar
+xmlParseComment
+xmlTextReaderNext
+xmlTextReaderNextSibling
+
Skips
MOVETO_ENDTAG
+MOVETO_STARTTAG
+SKIP_EOL
+
SmallFormVariants
xmlUCSIsSmallFormVariants
+
Some
_htmlElemDesc
+
Sort
xmlListSort
+xmlXPathNodeSetSort
+
SpacingModifierLetters
xmlUCSIsSpacingModifierLetters
+
Spec
xmlParseStartTag
+
Special
XML_SAX2_MAGIC
+
Specials
xmlUCSIsSpecials
+
Speed
_xmlParserCtxt
+
Standalone
xmlParseSDDecl
+xmlValidCtxtNormalizeAttributeValue
+
Start
xmlNanoFTPOpen
+xmlTextWriterStartAttribute
+xmlTextWriterStartAttributeNS
+xmlTextWriterStartCDATA
+xmlTextWriterStartComment
+xmlTextWriterStartDTD
+xmlTextWriterStartDTDAttlist
+xmlTextWriterStartDTDElement
+xmlTextWriterStartDTDEntity
+xmlTextWriterStartDocument
+xmlTextWriterStartElement
+xmlTextWriterStartElementNS
+xmlTextWriterStartPI
+
StringType
xmlParseAttributeType
+
Strings
xmlXPathStringLengthFunction
+xmlXPathSubstringFunction
+
Subcode
xmlCheckLanguageID
+
Subset
xmlParseMarkupDecl
+
Super
xmlLoadSGMLSuperCatalog
+
SuperscriptsandSubscripts
xmlUCSIsSuperscriptsandSubscripts
+
SupplementalArrows-A
xmlUCSIsSupplementalArrowsA
+
SupplementalArrows-B
xmlUCSIsSupplementalArrowsB
+
SupplementalMathematicalOperators
xmlUCSIsSupplementalMathematicalOperators
+
SupplementaryPrivateUseArea-A
xmlUCSIsSupplementaryPrivateUseAreaA
+
SupplementaryPrivateUseArea-B
xmlUCSIsSupplementaryPrivateUseAreaB
+
Syriac
xmlUCSIsSyriac
+
System
_xmlNotation
+xmlExternalEntityLoader
+xmlNoNetExternalEntityLoader
+xmlParseCtxtExternalEntity
+xmlParseExternalEntity
+xmlTextReaderNodeType
+
SystemLiteral
xmlNamespaceParseNSDef
+xmlParseExternalID
+xmlParseNotationDecl
+xmlParseSystemLiteral
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk7.html b/doc/APIchunk7.html new file mode 100644 index 0000000..a3a33f0 --- /dev/null +++ b/doc/APIchunk7.html @@ -0,0 +1,274 @@ + + +API Alphabetic Index T-U for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index T-U for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter T:

TEXT
xmlAddChild
+xmlAddChildList
+xmlAddPrevSibling
+xmlAddSibling
+xmlNewTextChild
+xmlNodeBufGetContent
+xmlNodeGetContent
+
TEXTs
xmlNewChild
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlStringGetNodeList
+xmlStringLenGetNodeList
+
TODO
xmlParseElementChildrenContentDecl
+xmlParseSDDecl
+
TODO:
htmlEntityLookup
+htmlEntityValueLookup
+htmlNodeDumpFileFormat
+xmlDecodeEntities
+xmlEncodeEntities
+xmlLoadExternalEntity
+xmlNamespaceParseNCName
+xmlNamespaceParseNSDef
+xmlNamespaceParseQName
+xmlNewTextWriterMemory
+xmlNewTextWriterPushParser
+xmlOutputBufferCreateFilename
+xmlParseNamespace
+xmlParseQuotedString
+xmlParserHandleReference
+xmlParserInputBufferGrow
+xmlScanName
+xmlTextWriterWriteRawLen
+xmlXPathNextAttribute
+
TRUE
xmlTextWriterStartDTDEntity
+xmlTextWriterWriteDTDEntity
+xmlTextWriterWriteDTDExternalEntity
+xmlTextWriterWriteDTDInternalEntity
+xmlTextWriterWriteFormatDTDInternalEntity
+xmlTextWriterWriteVFormatDTDInternalEntity
+
Tagalog
xmlUCSIsTagalog
+
Tagbanwa
xmlUCSIsTagbanwa
+
Tags
xmlUCSIsTags
+
TaiLe
xmlUCSIsTaiLe
+
TaiXuanJingSymbols
xmlUCSIsTaiXuanJingSymbols
+
Take
UTF8ToHtml
+UTF8Toisolat1
+docbEncodeEntities
+htmlEncodeEntities
+isolat1ToUTF8
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+
Takes
xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+
Tamil
xmlUCSIsTamil
+
Telugu
xmlUCSIsTelugu
+
Test
xmlPatternMatch
+
Text
xmlNodeIsText
+xmlTextReaderReadAttributeValue
+xmlTextReaderReadString
+
TextDecl
xmlParseTextDecl
+
TextDecl?
xmlParseCtxtExternalEntity
+xmlParseEntity
+xmlParseExtParsedEnt
+xmlParseExternalEntity
+xmlSAXParseEntity
+
Thaana
xmlUCSIsThaana
+
Thai
xmlUCSIsThai
+
That
xmlAutomataNewAllTrans
+xmlParseElementChildrenContentDecl
+xmlParseMarkupDecl
+
Then
xmlValidateOneElement
+
Those
_xmlParserCtxt
+
Thus:
xmlXPathSubstringFunction
+
Tibetan
xmlUCSIsTibetan
+
Token
xmlParseAttributeType
+xmlValidateAttributeValue
+xmlValidateNmtokenValue
+xmlValidateNmtokensValue
+xmlValidateOneAttribute
+xmlValidateOneNamespace
+
TokenizedType
xmlParseAttributeType
+
Traversal
xmlXPathNextAncestor
+xmlXPathNextAncestorOrSelf
+xmlXPathNextAttribute
+xmlXPathNextChild
+xmlXPathNextDescendant
+xmlXPathNextDescendantOrSelf
+xmlXPathNextFollowing
+xmlXPathNextFollowingSibling
+xmlXPathNextNamespace
+xmlXPathNextParent
+xmlXPathNextPreceding
+xmlXPathNextPrecedingSibling
+xmlXPathNextSelf
+
Tree
xmlXPathNewValueTree
+
Tree:-
xmlParseNamespace
+
Trickery:
xmlScanName
+
Tries
xmlNanoFTPConnect
+xmlNanoFTPConnectTo
+xmlNanoFTPCwd
+xmlNanoFTPDele
+
True
xmlBoolToText
+
Try
xmlACatalogResolvePublic
+xmlACatalogResolveSystem
+xmlCatalogGetPublic
+xmlCatalogGetSystem
+xmlCatalogResolvePublic
+xmlCatalogResolveSystem
+xmlIsXHTML
+xmlNanoFTPGetConnection
+xmlValidateAttributeDecl
+xmlValidateDocument
+xmlValidateDtd
+xmlValidateElement
+xmlValidateElementDecl
+xmlValidateNotationDecl
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+xmlValidateRoot
+
Type
xmlParseAttribute
+xmlParseAttributeType
+xmlParseDocTypeDecl
+xmlParseElement
+xmlParseElementDecl
+xmlSchemaFreeType
+xmlValidateElementDecl
+xmlValidateOneAttribute
+xmlValidateOneNamespace
+xmlValidateRoot
+
Types
xmlGetBufferAllocationScheme
+xmlParseElementMixedContentDecl
+xmlSetBufferAllocationScheme
+xmlValidateElementDecl
+

Letter U:

UCS4
xmlUTF8Charcmp
+
UNICODE
_htmlEntityDesc
+c
+
UNIX
xmlShell
+
UNUSED:
ignorableWhitespace
+ignorableWhitespaceSAXFunc
+xmlSAX2IgnorableWhitespace
+
URI-reference
xmlParseURI
+xmlParseURIReference
+
URN
globalNamespace
+namespaceDecl
+
USER
xmlNanoFTPProxy
+
UTF16
xmlCharEncOutFunc
+
UTF4
xmlDetectCharEncoding
+
UTF8
_xmlBuffer
+p
+xmlCharEncOutFunc
+xmlGetUTF8Char
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlSplitQName
+xmlUTF8Charcmp
+xmlUTF8Size
+xmlUTF8Strlen
+xmlUTF8Strloc
+xmlUTF8Strndup
+xmlUTF8Strpos
+xmlUTF8Strsize
+
Ugaritic
xmlUCSIsUgaritic
+
Unescaping
xmlURIUnescapeString
+
Unicode
IS_CHAR
+LIBXML_UNICODE_ENABLED
+
UnifiedCanadianAboriginalSyllabics
xmlUCSIsUnifiedCanadianAboriginalSyllabics
+
Unique
xmlParseElementDecl
+xmlParseStartTag
+xmlValidateElementDecl
+xmlXPathIdFunction
+
Unix
xmlShellList
+
Unlink
xmlRemoveProp
+xmlReplaceNode
+xmlUnlinkNode
+
Unregisters
xmlCleanupEncodingAliases
+xmlDelEncodingAlias
+
Update
xmlNanoFTPUpdateURL
+
Upgrade
xmlKeepBlanksDefault
+
Use
XML_COMPLETE_ATTRS
+XML_DETECT_IDS
+_xmlParserCtxt
+xmlGetProp
+xmlIsBaseChar
+xmlIsBlank
+xmlIsChar
+xmlIsCombining
+xmlIsDigit
+xmlIsExtender
+xmlIsIdeographic
+xmlIsPubidChar
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNewNodeEatName
+xmlNewTextChild
+xmlTextReaderRelaxNGSetSchema
+xmlTextReaderRelaxNGValidate
+
Used
XML_SKIP_IDS
+xmlCatalogGetDefaults
+xmlCatalogSetDebug
+xmlCatalogSetDefaults
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseExternalEntity
+xmlScanName
+
User
xmlSAXParseFileWithData
+xmlSAXParseMemoryWithData
+
UserCode
xmlCheckLanguageID
+
Uses
xmlNewNode
+xmlURIEscape
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk8.html b/doc/APIchunk8.html new file mode 100644 index 0000000..210b466 --- /dev/null +++ b/doc/APIchunk8.html @@ -0,0 +1,683 @@ + + +API Alphabetic Index V-a for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index V-a for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter V:

Valid
xmlValidateOneElement
+
Validate
xmlRelaxNGValidateDoc
+xmlRelaxNGValidateFullElement
+xmlSchemaValidateDoc
+xmlSchemaValidateStream
+xmlShellValidate
+xmlValidateAttributeValue
+xmlValidateNameValue
+xmlValidateNamesValue
+xmlValidateNmtokenValue
+xmlValidateNmtokensValue
+xmlValidateNotationUse
+
Validity
xmlParseAttributeType
+
Value
xmlParseAttribute
+xmlValidateOneAttribute
+xmlValidateOneNamespace
+xmlXPathNewValueTree
+
Values
xmlCatalogSetDefaultPrefer
+xmlParseAttribute
+xmlParseAttributeType
+xmlParseDefaultDecl
+xmlParseEnumerationType
+xmlParseNotationType
+xmlValidateAttributeValue
+
Variable
xmlXPathVariableLookup
+xmlXPathVariableLookupNS
+
VariationSelectors
xmlUCSIsVariationSelectors
+
VariationSelectorsSupplement
xmlUCSIsVariationSelectorsSupplement
+
VersionInfo
xmlParseVersionInfo
+xmlParseXMLDecl
+
VersionInfo?
xmlParseTextDecl
+
VersionNum
xmlParseVersionInfo
+xmlParseVersionNum
+

Letter W:

WARNING
xmlRelaxNGParse
+xmlSchemaParse
+
WFC:
xmlParseAttribute
+xmlParseCharRef
+xmlParseDefaultDecl
+xmlParseElement
+xmlParseEntityRef
+xmlParseMarkupDecl
+xmlParsePEReference
+xmlParseStartTag
+xmlParserHandlePEReference
+xmlParserHandleReference
+
WWW-Authenticate
xmlNanoHTTPAuthHeader
+
Walk
xmlListReverseWalk
+xmlListWalk
+
Was
_xmlParserInput
+
Well
xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseEntity
+xmlRecoverDoc
+xmlRecoverFile
+xmlRecoverMemory
+xmlSAXParseDoc
+xmlSAXParseEntity
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+
What
_xmlError
+notationDecl
+notationDeclSAXFunc
+unparsedEntityDecl
+unparsedEntityDeclSAXFunc
+xmlSAX2NotationDecl
+xmlSAX2UnparsedEntityDecl
+
When
xmlHandleEntity
+xmlXPathCompareValues
+xmlXPathIdFunction
+
Wherever
xmlCurrentChar
+
Whitespace
xmlXPathNormalizeFunction
+
Will
xmlSaveFile
+xmlSaveFormatFile
+
With
xmlParseAttribute
+xmlParseEndTag
+xmlParseStartTag
+
Working
xmlParseNamespace
+
Wrap
xmlXPathWrapNodeSet
+xmlXPtrWrapLocationSet
+
Wrapper
xmlFileOpen
+
Wraps
xmlXPathWrapCString
+xmlXPathWrapExternal
+xmlXPathWrapString
+
Writes
xmlTextWriterFullEndElement
+

Letter X:

XHTML
xmlIsXHTML
+
XInclude
LIBXML_XINCLUDE_ENABLED
+XINCLUDE_NS
+XINCLUDE_OLD_NS
+xmlXIncludeFreeContext
+xmlXIncludeNewContext
+xmlXIncludeProcess
+xmlXIncludeProcessFlags
+xmlXIncludeProcessNode
+xmlXIncludeProcessTree
+xmlXIncludeProcessTreeFlags
+xmlXIncludeSetFlags
+
XLINK_TYPE_NONE
xlinkIsLink
+
XML-1
xmlDetectCharEncoding
+xmlValidateAttributeDecl
+xmlValidateElementDecl
+xmlValidateNotationDecl
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+xmlValidateRoot
+
XMLDecl
xmlParseXMLDecl
+
XMLDecl?
xmlParseDocument
+
XMLSchema
xmlSchemaGetPredefinedType
+
XML_ATTRIBUTE_DECL
_xmlAttribute
+
XML_ATTRIBUTE_ENUMERATION
xmlParseEnumeratedType
+
XML_ATTRIBUTE_FIXED
xmlParseDefaultDecl
+
XML_ATTRIBUTE_IMPLIED
xmlParseDefaultDecl
+
XML_ATTRIBUTE_NODE
_xmlAttr
+
XML_ATTRIBUTE_NONE
xmlParseDefaultDecl
+
XML_ATTRIBUTE_NOTATION
xmlParseEnumeratedType
+
XML_ATTRIBUTE_REQUIRED
xmlParseDefaultDecl
+
XML_BUFFER_ALLOC_DOUBLEIT
xmlGetBufferAllocationScheme
+xmlSetBufferAllocationScheme
+
XML_BUFFER_ALLOC_EXACT
xmlGetBufferAllocationScheme
+xmlSetBufferAllocationScheme
+
XML_CATA_PREFER_PUBLIC
xmlCatalogSetDefaultPrefer
+
XML_CATA_PREFER_SYSTEM
xmlCatalogSetDefaultPrefer
+
XML_CHAR_ENCODING_
xmlDetectCharEncoding
+xmlParseCharEncoding
+
XML_CHAR_ENCODING_NONE
xmlParseCharEncoding
+xmlParserInputBufferCreateFilename
+
XML_DOCUMENT_NODE
_xmlDoc
+
XML_DTD_NODE
_xmlDtd
+
XML_ELEMENT_DECL
_xmlElement
+
XML_ELEMENT_TYPE_xxx
xmlParseElementContentDecl
+
XML_ENTITY_DECL
_xmlEntity
+
XML_SUBSTITUTE_PEREF
xmlDecodeEntities
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+
XML_SUBSTITUTE_REF
xmlDecodeEntities
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+
XML_xxx_yyy_ENTITY
xmlAddDocEntity
+xmlAddDtdEntity
+
XPATH
xmlXPathFreeCompExpr
+
XPATH_INVALID_ARITY
xmlXPathSetArityError
+
XPATH_INVALID_TYPE
xmlXPathSetTypeError
+
XPointer
LIBXML_XPTR_ENABLED
+_xmlXPathContext
+_xmlXPathParserContext
+xmlXPtrBuildNodeList
+xmlXPtrEval
+xmlXPtrEvalRangePredicate
+xmlXPtrNewContext
+xmlXPtrRangeToFunction
+
XSLT
_xmlNode
+_xmlXPathContext
+xmlFreePattern
+xmlFreePatternList
+xmlXPathNewValueTree
+xmlXPathStackIsNodeSet
+
Xinclude
XINCLUDE_NS
+XINCLUDE_OLD_NS
+
Xml
xmlTextReaderNodeType
+
XmlNodeType
xmlTextReaderNodeType
+

Letter Y:

YES
htmlNodeStatus
+
YiRadicals
xmlUCSIsYiRadicals
+
YiSyllables
xmlUCSIsYiSyllables
+
YijingHexagramSymbols
xmlUCSIsYijingHexagramSymbols
+

Letter Z:

ZLIB
docbCreateFileParserCtxt
+docbParseFile
+docbSAXParseFile
+htmlCreateFileParserCtxt
+htmlParseFile
+htmlSAXParseFile
+xmlCreateEntityParserCtxt
+xmlCreateFileParserCtxt
+xmlCreateURLParserCtxt
+xmlGetCompressMode
+xmlGetDocCompressMode
+xmlOutputBufferCreateFilename
+xmlParseFile
+xmlParserInputBufferCreateFilename
+xmlRecoverFile
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXUserParseFile
+xmlSetCompressMode
+xmlSetDocCompressMode
+

Letter a:

a-z
xmlCheckLanguageID
+xmlURIEscapeStr
+
a-zA-Z0-9
IS_PUBIDCHAR
+
a-zA-Z0-9_
xmlParseVersionNum
+
a@b
xmlNanoFTPProxy
+
abc
xmlXPathTranslateFunction
+
abc-
xmlXPathTranslateFunction
+
able
xmlEntityReferenceFunc
+xmlFindCharEncodingHandler
+xmlGetCharEncodingHandler
+xmlParserInputBufferGrow
+xmlXPathOrderDocElems
+
about
_xmlParserCtxt
+xmlDebugDumpString
+xmlShellDir
+xmlTextWriterWriteRawLen
+
above
xmlParseMarkupDecl
+xmlXPathSubstringFunction
+
absoluteURI
xmlParseURI
+xmlParseURIReference
+
abstract
XML_SCHEMAS_ELEM_ABSTRACT
+
accept
xmlGetNoNsProp
+xmlIsMixedElement
+
accepted
IS_BYTE_CHAR
+xmlCatalogGetDefaults
+xmlCatalogSetDefaultPrefer
+xmlCatalogSetDefaults
+xmlTextReaderNormalization
+
accepting
xmlTextReaderNormalization
+
access
xmlGcMemGet
+xmlGcMemSetup
+xmlMemGet
+xmlMemSetup
+xmlNewMutex
+xmlNewRMutex
+
accessed
xmlTextReaderCurrentDoc
+xmlTextReaderCurrentNode
+xmlTextReaderPreserve
+
accesses
xmlCreateURLParserCtxt
+xmlNoNetExternalEntityLoader
+
accommodate
xmlBufferResize
+
according
xmlBuildURI
+xmlDetectCharEncoding
+xmlSAXVersion
+xmlURIEscape
+xmlXPathCompareValues
+
accordingly
xmlParseCharEncoding
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlValidCtxtNormalizeAttributeValue
+
activate
xmlTextReaderSetParserProp
+
activated
DEBUG_MEMORY
+xmlAutomataNewAllTrans
+xmlAutomataNewCountTrans
+xmlAutomataNewOnceTrans
+xmlAutomataNewTransition
+xmlAutomataNewTransition2
+xmlTextReaderRelaxNGSetSchema
+xmlTextReaderRelaxNGValidate
+
activation
xmlGetLineNo
+
acts
xmlGetProp
+
actual
xmlXPathFreeNodeSet
+xmlXPtrFreeLocationSet
+
actually
_xmlDoc
+_xmlParserCtxt
+setDocumentLocator
+setDocumentLocatorSAXFunc
+xmlAddEncodingAlias
+xmlCurrentChar
+xmlDelEncodingAlias
+xmlGetEncodingAlias
+xmlNewCharEncodingHandler
+xmlParseCharEncoding
+xmlParseNotationDecl
+xmlSAX2SetDocumentLocator
+xmlStringCurrentChar
+xmlXPathOrderDocElems
+
actuate
xlinkExtendedLinkFunk
+
add
xmlACatalogAdd
+xmlBufferAdd
+xmlBufferAddHead
+xmlBufferWriteCHAR
+xmlBufferWriteChar
+xmlBufferWriteQuotedString
+xmlCatalogAdd
+xmlListPushBack
+xmlListPushFront
+xmlXPathAddValues
+xmlXPathNodeSetAdd
+xmlXPathNodeSetAddNs
+xmlXPathNodeSetAddUnique
+xmlXPtrLocationSetAdd
+
added
attribute
+attributeSAXFunc
+htmlDocContentDumpFormatOutput
+htmlDocContentDumpOutput
+htmlNodeDump
+htmlNodeDumpFile
+htmlNodeDumpFileFormat
+htmlNodeDumpFormatOutput
+htmlNodeDumpOutput
+htmlSaveFileEnc
+htmlSaveFileFormat
+xmlAddChild
+xmlAddNextSibling
+xmlAddPrevSibling
+xmlDocDumpFormatMemory
+xmlDocDumpFormatMemoryEnc
+xmlDocFormatDump
+xmlNewChild
+xmlNewTextChild
+xmlSaveFormatFile
+xmlSaveFormatFileEnc
+xmlSaveFormatFileTo
+xmlStrcat
+xmlStrncat
+xmlXPathNodeSetMerge
+xmlXPtrLocationSetMerge
+
adding
xmlLoadSGMLSuperCatalog
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+
addition
xmlHashAddEntry
+xmlHashAddEntry2
+xmlHashAddEntry3
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+xmlXPathSubstringFunction
+
address
xmlNewTextWriterDoc
+
adds
xmlAutomataNewAllTrans
+xmlAutomataNewCountTrans
+xmlAutomataNewCountedTrans
+xmlAutomataNewCounterTrans
+xmlAutomataNewEpsilon
+xmlAutomataNewOnceTrans
+xmlAutomataNewTransition
+xmlAutomataNewTransition2
+xmlBufferWriteCHAR
+
adequate
xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+
adjacent
xmlAddChild
+xmlAddChildList
+xmlAddPrevSibling
+xmlAddSibling
+
affect
xmlKeepBlanksDefault
+
afraid
xmlEncodeEntities
+
after
UTF8ToHtml
+UTF8Toisolat1
+docbEncodeEntities
+htmlEncodeEntities
+isolat1ToUTF8
+xmlAutomataCompile
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+xmlNanoFTPCheckResponse
+xmlNanoFTPFreeCtxt
+xmlNanoFTPGetResponse
+xmlReconciliateNs
+xmlValidGetValidElements
+xmlXPathNextFollowing
+xmlXPathStringFunction
+
again
xmlCreatePushParserCtxt
+
against
LIBXML_TEST_VERSION
+checkNamespace
+xmlCheckVersion
+xmlRegexpCompile
+xmlRegexpExec
+xmlSchemaValidateFacet
+xmlShellValidate
+xmlValidateDtd
+
aggregate
xmlNodeBufGetContent
+xmlNodeGetContent
+
alias
xmlAddEncodingAlias
+xmlDelEncodingAlias
+xmlGetEncodingAlias
+
aliases
xmlCleanupCharEncodingHandlers
+xmlCleanupEncodingAliases
+
aliasing
xmlSearchNsByHref
+
allocate
_xmlDoc
+xmlBufferGrow
+xmlBuildQName
+xmlMallocAtomicLoc
+xmlMallocLoc
+xmlMemMalloc
+xmlMemRealloc
+xmlNewMutex
+xmlNewRMutex
+xmlReallocLoc
+xmlXPathObjectCopy
+
allocation
xmlBufferSetAllocationScheme
+xmlGetBufferAllocationScheme
+xmlMallocAtomicLoc
+xmlMallocLoc
+xmlMemMalloc
+xmlMemRealloc
+xmlMemStrdupLoc
+xmlMemoryStrdup
+xmlNormalizeURIPath
+xmlReallocLoc
+xmlSetBufferAllocationScheme
+
allocations
xmlGcMemGet
+xmlGcMemSetup
+xmlMemSetup
+xmlParserInputDeallocate
+
allocator
DEBUG_MEMORY
+
allocators
xmlGcMemGet
+xmlGcMemSetup
+
allow
XML_SCHEMAS_ATTR_NSDEFAULT
+XML_SCHEMAS_ELEM_NSDEFAULT
+docbCreatePushParserCtxt
+htmlAttrAllowed
+htmlNodeStatus
+xmlAutomataNewAllTrans
+xmlCheckUTF8
+xmlCreatePushParserCtxt
+xmlKeepBlanksDefault
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlSearchNs
+xmlShell
+xmlValidateNCName
+xmlValidateNMToken
+xmlValidateName
+xmlValidateQName
+
allowable
xmlSkipBlankChars
+
allowed
_htmlElemDesc
+_xmlElement
+htmlElementAllowedHere
+htmlElementAllowedHereDesc
+htmlNodeStatus
+xmlAutomataNewAllTrans
+xmlAutomataNewCounterTrans
+xmlIsLetter
+xmlNodeDump
+xmlNodeDumpOutput
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlValidGetPotentialChildren
+xmlXPathNormalizeFunction
+
allowing
xmlNoNetExternalEntityLoader
+xmlTextReaderCurrentDoc
+xmlTextReaderCurrentNode
+
allows
htmlAutoCloseTag
+htmlIsAutoClosed
+xmlCatalogAdd
+xmlNewChild
+xmlTextReaderConstString
+
already
_xmlParserInput
+xmlAddNextSibling
+xmlAddPrevSibling
+xmlAddSibling
+xmlFreeFunc
+xmlGcMemSetup
+xmlMemSetup
+xmlParseCharEncoding
+xmlParseNotationType
+xmlParserInputGrow
+xmlParserInputRead
+xmlReallocFunc
+xmlReplaceNode
+xmlXPathNodeSetAddUnique
+xmlXPtrLocationSetAdd
+
also
xmlCharEncodingOutputFunc
+xmlCheckHTTPInput
+xmlHasProp
+xmlKeepBlanksDefault
+xmlNanoFTPProxy
+xmlTextReaderPreservePattern
+xmlXPathStringEvalNumber
+
alternative
xmlTextWriterStartDTD
+xmlTextWriterWriteDTD
+xmlTextWriterWriteDTDEntity
+xmlTextWriterWriteDTDExternalEntity
+xmlTextWriterWriteDTDExternalEntityContents
+xmlTextWriterWriteDTDNotation
+xmlTextWriterWriteFormatDTD
+xmlTextWriterWriteVFormatDTD
+
always
INPUT_CHUNK
+xmlDecodeEntities
+xmlSubstituteEntitiesDefault
+
amd
xmlCatalogIsEmpty
+
amount
INPUT_CHUNK
+_xmlParserInputBuffer
+xmlMemUsed
+xmlParserInputBufferGrow
+xmlParserInputBufferRead
+
amp
xmlParseEntityRef
+xmlParseSDDecl
+xmlParserHandleReference
+
ampersand
xmlNewTextChild
+
analysis
_xmlParserCtxt
+_xmlValidCtxt
+
analyze
xmlParseURI
+xmlParseURIReference
+
analyzed
_xmlParserInput
+
ancestor
xmlNodeGetLang
+xmlNodeGetSpacePreserve
+xmlShellPwd
+xmlXPathLangFunction
+xmlXPathNextAncestor
+
ancestor-or-self
xmlXPathNextAncestorOrSelf
+
ancestors
xmlXPathNextAncestor
+xmlXPathNextAncestorOrSelf
+xmlXPathNextPreceding
+
anchored
xmlGetNsProp
+xmlHasNsProp
+
angle
xmlParseCharData
+
annotation
_xmlSchemaAnnot
+
another
xmlCharEncodingOutputFunc
+xmlInputMatchCallback
+xmlOutputMatchCallback
+xmlSetGenericErrorFunc
+
anymore
xmlNamespaceParseNCName
+xmlNamespaceParseNSDef
+xmlNamespaceParseQName
+
anyway
xmlRecoverDoc
+xmlRecoverFile
+xmlRecoverMemory
+xmlValidateNotationDecl
+
apart
xmlXPathStringFunction
+
apos
xmlParseEntityRef
+xmlParseSDDecl
+xmlParserHandleReference
+
appear
xmlNewTextChild
+xmlParseAttributeType
+xmlParseElementMixedContentDecl
+xmlParsePEReference
+xmlParseSDDecl
+xmlParseStartTag
+xmlParserHandlePEReference
+
appearing
xmlValidatePopElement
+xmlValidatePushElement
+
appears
xmlParseCharData
+xmlParseElementChildrenContentDecl
+xmlParseEntityRef
+xmlParseSDDecl
+
append
xmlCopyChar
+xmlCopyCharMultiByte
+xmlValidGetValidElements
+
appended
xmlParseAttValue
+
appending
xmlParseAttValue
+
appendix
xmlDetectCharEncoding
+
applicable
xmlCopyNode
+xmlDocCopyNode
+
application
_xmlAttr
+_xmlAttribute
+_xmlDoc
+_xmlDtd
+_xmlElement
+_xmlEntity
+_xmlNode
+_xmlNs
+resolveEntity
+resolveEntitySAXFunc
+xmlCheckVersion
+xmlCurrentChar
+xmlGetExternalEntityLoader
+xmlLineNumbersDefault
+xmlParseAttValue
+xmlSAX2ResolveEntity
+xmlSetExternalEntityLoader
+
applied
xmlHashCopy
+xmlHashScan
+xmlHashScan3
+xmlHashScanFull
+xmlHashScanFull3
+
applies
xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+
apply
xmlListReverseWalk
+xmlListWalk
+xmlParseMarkupDecl
+xmlParseSDDecl
+xmlValidateRoot
+
applying
xmlGetNsList
+xmlXPathIdFunction
+
appropriate
xlinkIsLink
+xmlCheckHTTPInput
+xmlParseURIReference
+
arcs
xlinkExtendedLinkFunk
+
area
xmlBufferCreateStatic
+xmlMallocAtomicLoc
+xmlMallocLoc
+xmlMemMalloc
+xmlMemRealloc
+xmlParserInputBufferCreateMem
+xmlParserInputBufferCreateStatic
+xmlReallocLoc
+
areas
xmlGcMemGet
+xmlGcMemSetup
+xmlMemShow
+
args
CHECK_ARITY
+x
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseCtxtExternalEntity
+xmlParseExternalEntity
+xmlXPtrRangeToFunction
+
around
xmlFileOpen
+
arrays
_xmlParserCtxt
+
arry
xmlParserInputBufferPush
+
asked
xmlParseReference
+
assume
xmlStrcat
+xmlStrdup
+
assumed
xmlCheckUTF8
+
assuming
xmlSaveFileTo
+xmlSaveFormatFileTo
+
atomic
xmlGcMemGet
+xmlGcMemSetup
+
attached
xmlTextReaderGetRemainder
+
attr
_xmlID
+_xmlRef
+
attribute-list
xmlParseDefaultDecl
+xmlParseEntityRef
+
augmented
docbParseDocument
+htmlParseDocument
+xmlParseDocument
+xmlParseExtParsedEnt
+xmlTextMerge
+
authentication
xmlNanoHTTPAuthHeader
+
author
htmlNodeStatus
+
authority
_xmlURI
+
authorized
xmlValidGetValidElements
+
auto
htmlHandleOmittedElem
+
auto-repair
_htmlElemDesc
+
autoclose
htmlAutoCloseTag
+
autoclosed
htmlIsAutoClosed
+
autogeneration
xmlKeepBlanksDefault
+
automatically
xmlCharEncOutFunc
+xmlNewTextChild
+
autoreference
_xmlDoc
+
avoiding
xmlTextReaderNext
+xmlTextReaderNextSibling
+
aware
xmlGetProp
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIchunk9.html b/doc/APIchunk9.html new file mode 100644 index 0000000..a3fc71e --- /dev/null +++ b/doc/APIchunk9.html @@ -0,0 +1,285 @@ + + +API Alphabetic Index b-b for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

API Alphabetic Index b-b for libxml2

Developer Menu
API Indexes
Related links

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Letter b:

back
xmlEntityReferenceFunc
+xmlKeepBlanksDefault
+xmlNanoFTPGet
+xmlNanoFTPList
+xmlRelaxNGDump
+xmlSetEntityReferenceFunc
+
badly
xmlParseExternalID
+
bahaviour
xmlTextReaderNormalization
+
balanced
xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+
bar
xmlXPathTranslateFunction
+
base64
xmlTextWriterWriteBase64
+
based
xmlGetCompressMode
+xmlGetDocCompressMode
+xmlGetNodePath
+xmlNewEntityInputStream
+xmlNewInputFromFile
+xmlNewStringInputStream
+xmlRelaxNGNewValidCtxt
+xmlSchemaNewValidCtxt
+xmlSetCompressMode
+xmlSetDocCompressMode
+xmlStrcat
+xmlStrdup
+xmlStrsub
+xmlURIEscape
+
basically
getSystemId
+xmlIsMixedElement
+xmlSAX2GetSystemId
+xmlValidateAttributeDecl
+xmlValidateDocument
+xmlValidateDocumentFinal
+xmlValidateDtd
+xmlValidateDtdFinal
+xmlValidateElementDecl
+xmlValidateNotationDecl
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+xmlValidateRoot
+
basis
xmlSubstituteEntitiesDefault
+
bear
xmlParseAttributeType
+
becomes
xmlAddAttributeDecl
+
before
htmlInitAutoClose
+xmlCatalogAdd
+xmlCurrentChar
+xmlGcMemSetup
+xmlGetLineNo
+xmlInitParser
+xmlMemSetup
+xmlTextReaderRelaxNGSetSchema
+xmlTextReaderRelaxNGValidate
+xmlTextReaderSetParserProp
+xmlValidGetValidElements
+xmlXPathNextPreceding
+xmlXPathStringFunction
+
beginning
xmlBufferAddHead
+xmlBufferShrink
+xmlByteConsumed
+xmlListInsert
+xmlListPushFront
+xmlStringCurrentChar
+xmlValidGetValidElements
+
begins
_xmlParserNodeInfo
+
behaves
IS_LETTER_CH
+
behavior
htmlSAXParseDoc
+xmlCurrentChar
+xmlKeepBlanksDefault
+xmlSubstituteEntitiesDefault
+
behaviour
htmlNodeDump
+htmlNodeDumpFile
+htmlNodeDumpFileFormat
+htmlNodeDumpFormatOutput
+htmlNodeDumpOutput
+resolveEntity
+resolveEntitySAXFunc
+xmlElemDump
+xmlFreeNode
+xmlFreeNodeList
+xmlNodeDump
+xmlNodeDumpOutput
+xmlNodeGetSpacePreserve
+xmlNodeSetSpacePreserve
+xmlSAX2ResolveEntity
+xmlTextReaderSetParserProp
+
below
_xmlParserCtxt
+xmlParseExternalID
+
better
resolveEntity
+resolveEntitySAXFunc
+xmlNormalizeWindowsPath
+xmlSAX2ResolveEntity
+xmlSAXDefaultVersion
+xmlSAXUserParseMemory
+
between
xmlAutomataNewCountTrans
+xmlAutomataNewOnceTrans
+xmlCatalogSetDefaultPrefer
+xmlParseQuotedString
+xmlXPathDifference
+
beyond
xmlXPathStringFunction
+
binary
xmlCharInRange
+xmlEncodeEntities
+xmlParseNamespace
+xmlParseQuotedString
+xmlTextWriterWriteBase64
+xmlTextWriterWriteBinHex
+
bindings
_xmlSchema
+
bit
xmlStrEqual
+
blanks
xmlKeepBlanksDefault
+xmlSkipBlankChars
+
bloc
xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseExternalEntity
+
blocked
xmlGcMemSetup
+xmlMemSetup
+
blocking
xmlNanoFTPRead
+xmlNanoHTTPRead
+
blocks
IS_CHAR
+XML_SAX2_MAGIC
+initdocbDefaultSAXHandler
+inithtmlDefaultSAXHandler
+initxmlDefaultSAXHandler
+xmlMemDisplay
+xmlMemoryDump
+
bool
xmlBoolToText
+
both
xmlBufferFree
+xmlNanoFTPClose
+xmlNodeGetBase
+xmlParseElementChildrenContentDecl
+xmlParseMarkupDecl
+xmlParseStartTag
+xmlStrEqual
+xmlXPathCompareValues
+xmlXPathIntersection
+
boundaries
_xmlParserCtxt
+xmlSearchNs
+
boundary
xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+
bracket
xmlParseCharData
+
break
xmlLineNumbersDefault
+
breaking
xmlEncodeEntities
+
breaks
xmlCurrentChar
+
broken
xmlParseBalancedChunkMemoryRecover
+xmlTextReaderNormalization
+
buffered
xmlAllocOutputBuffer
+xmlAllocParserInputBuffer
+xmlFreeParserInputBuffer
+xmlOutputBufferClose
+xmlOutputBufferCreateFd
+xmlOutputBufferCreateFile
+xmlOutputBufferCreateFilename
+xmlOutputBufferCreateIO
+xmlOutputBufferFlush
+xmlOutputBufferWrite
+xmlOutputBufferWriteString
+xmlParserInputBufferCreateFd
+xmlParserInputBufferCreateFile
+xmlParserInputBufferCreateFilename
+xmlParserInputBufferCreateIO
+xmlParserInputBufferCreateMem
+xmlParserInputBufferCreateStatic
+xmlParserInputBufferGrow
+xmlParserInputBufferPush
+xmlParserInputBufferRead
+xmlTextReaderGetRemainder
+
building
_xmlParserCtxt
+docbSAXParseDoc
+docbSAXParseFile
+htmlSAXParseFile
+ignorableWhitespace
+ignorableWhitespaceSAXFunc
+xmlBuildURI
+xmlSAX2IgnorableWhitespace
+xmlSAXParseDoc
+xmlSAXParseEntity
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+xmlShellPwd
+
built
_xmlParserCtxt
+xmlCleanupParser
+xmlParseAttributeType
+xmlParseEnumeratedType
+xmlParseEnumerationType
+xmlParseNotationType
+xmlRecoverDoc
+xmlRecoverFile
+xmlRecoverMemory
+xmlRelaxNGParse
+xmlSchemaParse
+xmlTextReaderNextSibling
+
builtin
initGenericErrorDefaultFunc
+
bunch
xmlParseNamespace
+
but
IS_DIGIT_CH
+IS_EXTENDER_CH
+IS_LETTER_CH
+IS_PUBIDCHAR_CH
+XML_MAX_NAMELEN
+_xmlParserCtxt
+xlinkIsLink
+xmlACatalogAdd
+xmlByteConsumed
+xmlCatalogAdd
+xmlCharEncFirstLine
+xmlCheckUTF8
+xmlCleanupParser
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlParsePEReference
+xmlParserHandlePEReference
+xmlParserInputBufferCreateStatic
+xmlSaveToFilename
+xmlScanName
+xmlSetupParserForBuffer
+xmlStrncatNew
+xmlURIEscape
+xmlURIUnescapeString
+xmlXPathFreeNodeSetList
+xmlXPathStringFunction
+xmlXPtrEvalRangePredicate
+
bypass
xmlParseCatalogFile
+

A-B +C-C +D-E +F-I +J-N +O-Q +R-S +T-U +V-a +b-b +c-c +d-d +e-e +f-f +g-h +i-i +j-l +m-m +n-n +o-o +p-p +q-r +s-s +t-t +u-w +x-x +y-z +

Daniel Veillard

diff --git a/doc/APIconstructors.html b/doc/APIconstructors.html new file mode 100644 index 0000000..af60a88 --- /dev/null +++ b/doc/APIconstructors.html @@ -0,0 +1,522 @@ + + +List of constructors for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

List of constructors for libxml2

Developer Menu
API Indexes
Related links

Type const htmlElemDesc *:

htmlTagLookup
+

Type const htmlEntityDesc *:

htmlEntityLookup
+htmlEntityValueLookup
+htmlParseEntityRef
+

Type const xmlChar *:

getPublicId
+getSystemId
+htmlGetMetaEncoding
+namePop
+xmlBufferContent
+xmlCatalogGetPublic
+xmlCatalogGetSystem
+xmlDictLookup
+xmlDictQLookup
+xmlEncodeEntities
+xmlParseAttribute
+xmlParseEncodingDecl
+xmlParseName
+xmlParsePITarget
+xmlParseStartTag
+xmlSAX2GetPublicId
+xmlSAX2GetSystemId
+xmlSplitQName3
+xmlStrcasestr
+xmlStrchr
+xmlStrstr
+xmlTextReaderConstBaseUri
+xmlTextReaderConstLocalName
+xmlTextReaderConstName
+xmlTextReaderConstNamespaceUri
+xmlTextReaderConstPrefix
+xmlTextReaderConstString
+xmlTextReaderConstValue
+xmlTextReaderConstXmlLang
+xmlXPathNsLookup
+

Type const xmlParserNodeInfo *:

xmlParserFindNodeInfo
+

Type docbDocPtr:

docbParseDoc
+docbParseFile
+docbSAXParseDoc
+docbSAXParseFile
+

Type docbParserCtxtPtr:

docbCreateFileParserCtxt
+docbCreatePushParserCtxt
+

Type double:

xmlXPathCastBooleanToNumber
+xmlXPathCastNodeSetToNumber
+xmlXPathCastNodeToNumber
+xmlXPathCastStringToNumber
+xmlXPathCastToNumber
+xmlXPathPopNumber
+xmlXPathStringEvalNumber
+

Type htmlDocPtr:

htmlCtxtReadDoc
+htmlCtxtReadFd
+htmlCtxtReadFile
+htmlCtxtReadIO
+htmlCtxtReadMemory
+htmlNewDoc
+htmlNewDocNoDtD
+htmlParseDoc
+htmlParseFile
+htmlReadDoc
+htmlReadFd
+htmlReadFile
+htmlReadIO
+htmlReadMemory
+htmlSAXParseDoc
+htmlSAXParseFile
+

Type htmlParserCtxtPtr:

htmlCreateFileParserCtxt
+htmlCreateMemoryParserCtxt
+htmlCreatePushParserCtxt
+

Type htmlStatus:

htmlAttrAllowed
+htmlElementStatusHere
+htmlNodeStatus
+

Type long:

xmlByteConsumed
+xmlGetLineNo
+xmlSaveDoc
+xmlSaveTree
+xmlXPathOrderDocElems
+

Type unsigned long:

xmlParserFindNodeInfoIndex
+

Type void *:

xmlCatalogAddLocal
+xmlFileOpen
+xmlHashCopier
+xmlHashLookup
+xmlHashLookup2
+xmlHashLookup3
+xmlHashQLookup
+xmlHashQLookup2
+xmlHashQLookup3
+xmlIOFTPOpen
+xmlIOHTTPOpen
+xmlIOHTTPOpenW
+xmlInputOpenCallback
+xmlLinkGetData
+xmlListReverseSearch
+xmlListSearch
+xmlMallocAtomicLoc
+xmlMallocFunc
+xmlMallocLoc
+xmlMemMalloc
+xmlMemRealloc
+xmlNanoFTPConnectTo
+xmlNanoFTPNewCtxt
+xmlNanoFTPOpen
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+xmlOutputOpenCallback
+xmlReallocFunc
+xmlReallocLoc
+xmlXPathPopExternal
+

Type xlinkHandlerPtr:

xlinkGetDefaultHandler
+

Type xlinkNodeDetectFunc:

xlinkGetDefaultDetect
+

Type xlinkType:

xlinkIsLink
+

Type xmlAttrPtr:

xmlCopyProp
+xmlCopyPropList
+xmlGetID
+xmlHasNsProp
+xmlHasProp
+xmlNewDocProp
+xmlNewNsProp
+xmlNewNsPropEatName
+xmlNewProp
+xmlSetNsProp
+xmlSetProp
+

Type xmlAttributePtr:

xmlAddAttributeDecl
+xmlGetDtdAttrDesc
+xmlGetDtdQAttrDesc
+

Type xmlAttributeTablePtr:

xmlCopyAttributeTable
+

Type xmlAutomataPtr:

xmlNewAutomata
+

Type xmlAutomataStatePtr:

xmlAutomataGetInitState
+xmlAutomataNewAllTrans
+xmlAutomataNewCountTrans
+xmlAutomataNewCountedTrans
+xmlAutomataNewCounterTrans
+xmlAutomataNewEpsilon
+xmlAutomataNewOnceTrans
+xmlAutomataNewState
+xmlAutomataNewTransition
+xmlAutomataNewTransition2
+

Type xmlBufferAllocationScheme:

xmlGetBufferAllocationScheme
+xmlThrDefBufferAllocScheme
+

Type xmlBufferPtr:

xmlBufferCreate
+xmlBufferCreateSize
+xmlBufferCreateStatic
+

Type xmlCatalogAllow:

xmlCatalogGetDefaults
+

Type xmlCatalogPrefer:

xmlCatalogSetDefaultPrefer
+

Type xmlCatalogPtr:

xmlLoadACatalog
+xmlLoadSGMLSuperCatalog
+xmlNewCatalog
+

Type xmlChar:

xmlPopInput
+

Type xmlChar *:

xmlACatalogResolve
+xmlACatalogResolvePublic
+xmlACatalogResolveSystem
+xmlACatalogResolveURI
+xmlBuildQName
+xmlBuildURI
+xmlCanonicPath
+xmlCatalogLocalResolve
+xmlCatalogLocalResolveURI
+xmlCatalogResolve
+xmlCatalogResolvePublic
+xmlCatalogResolveSystem
+xmlCatalogResolveURI
+xmlCharStrdup
+xmlCharStrndup
+xmlDecodeEntities
+xmlEncodeEntitiesReentrant
+xmlEncodeSpecialChars
+xmlGetNoNsProp
+xmlGetNodePath
+xmlGetNsProp
+xmlGetProp
+xmlNamespaceParseNCName
+xmlNamespaceParseNSDef
+xmlNamespaceParseQName
+xmlNodeGetBase
+xmlNodeGetContent
+xmlNodeGetLang
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlNormalizeWindowsPath
+xmlParseAttValue
+xmlParseEncName
+xmlParseEntityValue
+xmlParseExternalID
+xmlParseNmtoken
+xmlParsePubidLiteral
+xmlParseQuotedString
+xmlParseSystemLiteral
+xmlParseVersionInfo
+xmlParseVersionNum
+xmlSaveUri
+xmlScanName
+xmlSplitQName
+xmlSplitQName2
+xmlStrcat
+xmlStrdup
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+xmlStrncat
+xmlStrncatNew
+xmlStrndup
+xmlStrsub
+xmlTextReaderBaseUri
+xmlTextReaderGetAttribute
+xmlTextReaderGetAttributeNo
+xmlTextReaderGetAttributeNs
+xmlTextReaderLocalName
+xmlTextReaderLocatorBaseURI
+xmlTextReaderLookupNamespace
+xmlTextReaderName
+xmlTextReaderNamespaceUri
+xmlTextReaderPrefix
+xmlTextReaderReadInnerXml
+xmlTextReaderReadOuterXml
+xmlTextReaderReadString
+xmlTextReaderValue
+xmlTextReaderXmlLang
+xmlURIEscape
+xmlURIEscapeStr
+xmlUTF8Strndup
+xmlUTF8Strpos
+xmlUTF8Strsub
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlXPathCastBooleanToString
+xmlXPathCastNodeSetToString
+xmlXPathCastNodeToString
+xmlXPathCastNumberToString
+xmlXPathCastToString
+xmlXPathParseNCName
+xmlXPathParseName
+xmlXPathPopString
+

Type xmlCharEncoding:

xmlDetectCharEncoding
+xmlParseCharEncoding
+

Type xmlCharEncodingHandlerPtr:

xmlFindCharEncodingHandler
+xmlGetCharEncodingHandler
+xmlNewCharEncodingHandler
+

Type xmlDeregisterNodeFunc:

xmlDeregisterNodeDefault
+xmlThrDefDeregisterNodeDefault
+

Type xmlDictPtr:

xmlDictCreate
+xmlDictCreateSub
+

Type xmlDocPtr:

xmlCopyDoc
+xmlCtxtReadDoc
+xmlCtxtReadFd
+xmlCtxtReadFile
+xmlCtxtReadIO
+xmlCtxtReadMemory
+xmlNewDoc
+xmlParseCatalogFile
+xmlParseDoc
+xmlParseEntity
+xmlParseFile
+xmlParseMemory
+xmlReadDoc
+xmlReadFd
+xmlReadFile
+xmlReadIO
+xmlReadMemory
+xmlRecoverDoc
+xmlRecoverFile
+xmlRecoverMemory
+xmlSAXParseDoc
+xmlSAXParseEntity
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+xmlTextReaderCurrentDoc
+

Type xmlDtdPtr:

xmlCopyDtd
+xmlCreateIntSubset
+xmlGetIntSubset
+xmlIOParseDTD
+xmlNewDtd
+xmlParseDTD
+xmlSAXParseDTD
+

Type xmlElementContentPtr:

xmlCopyElementContent
+xmlNewElementContent
+xmlParseElementChildrenContentDecl
+xmlParseElementMixedContentDecl
+

Type xmlElementPtr:

xmlAddElementDecl
+xmlGetDtdElementDesc
+xmlGetDtdQElementDesc
+

Type xmlElementTablePtr:

xmlCopyElementTable
+

Type xmlEntitiesTablePtr:

xmlCopyEntitiesTable
+xmlCreateEntitiesTable
+

Type xmlEntityPtr:

getEntity
+getEntitySAXFunc
+getParameterEntity
+getParameterEntitySAXFunc
+xmlAddDocEntity
+xmlAddDtdEntity
+xmlGetDocEntity
+xmlGetDtdEntity
+xmlGetParameterEntity
+xmlGetPredefinedEntity
+xmlParseEntityRef
+xmlSAX2GetEntity
+xmlSAX2GetParameterEntity
+

Type xmlEnumerationPtr:

xmlCopyEnumeration
+xmlCreateEnumeration
+xmlParseEnumerationType
+xmlParseNotationType
+

Type xmlErrorPtr:

xmlCtxtGetLastError
+xmlGetLastError
+

Type xmlExternalEntityLoader:

xmlGetExternalEntityLoader
+

Type xmlGlobalStatePtr:

xmlGetGlobalState
+

Type xmlHashTablePtr:

xmlHashCopy
+xmlHashCreate
+

Type xmlIDPtr:

xmlAddID
+

Type xmlLinkPtr:

xmlListEnd
+xmlListFront
+

Type xmlListPtr:

xmlGetRefs
+xmlListCreate
+xmlListDup
+

Type xmlLocationSetPtr:

xmlXPtrLocationSetCreate
+xmlXPtrLocationSetMerge
+

Type xmlMutexPtr:

xmlNewMutex
+

Type xmlNodePtr:

nodePop
+xmlAddChild
+xmlAddChildList
+xmlAddNextSibling
+xmlAddPrevSibling
+xmlAddSibling
+xmlCopyNode
+xmlCopyNodeList
+xmlDocCopyNode
+xmlDocGetRootElement
+xmlDocSetRootElement
+xmlGetLastChild
+xmlNewCDataBlock
+xmlNewCharRef
+xmlNewChild
+xmlNewComment
+xmlNewDocComment
+xmlNewDocFragment
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNewDocRawNode
+xmlNewDocText
+xmlNewDocTextLen
+xmlNewNode
+xmlNewNodeEatName
+xmlNewPI
+xmlNewReference
+xmlNewText
+xmlNewTextChild
+xmlNewTextLen
+xmlReplaceNode
+xmlStringGetNodeList
+xmlStringLenGetNodeList
+xmlTextMerge
+xmlTextReaderCurrentNode
+xmlTextReaderExpand
+xmlTextReaderPreserve
+xmlXPathNextAncestor
+xmlXPathNextAncestorOrSelf
+xmlXPathNextAttribute
+xmlXPathNextChild
+xmlXPathNextDescendant
+xmlXPathNextDescendantOrSelf
+xmlXPathNextFollowing
+xmlXPathNextFollowingSibling
+xmlXPathNextNamespace
+xmlXPathNextParent
+xmlXPathNextPreceding
+xmlXPathNextPrecedingSibling
+xmlXPathNextSelf
+xmlXPtrBuildNodeList
+

Type xmlNodeSetPtr:

xmlXPathDifference
+xmlXPathDistinct
+xmlXPathDistinctSorted
+xmlXPathIntersection
+xmlXPathLeading
+xmlXPathLeadingSorted
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+xmlXPathNodeSetCreate
+xmlXPathNodeSetMerge
+xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPathPopNodeSet
+xmlXPathTrailing
+xmlXPathTrailingSorted
+

Type xmlNotationPtr:

xmlAddNotationDecl
+xmlGetDtdNotationDesc
+

Type xmlNotationTablePtr:

xmlCopyNotationTable
+

Type xmlNsPtr:

getNamespace
+xmlCopyNamespace
+xmlCopyNamespaceList
+xmlNewGlobalNs
+xmlNewNs
+xmlSAX2GetNamespace
+xmlSearchNs
+xmlSearchNsByHref
+

Type xmlNsPtr *:

xmlGetNsList
+

Type xmlOutputBufferPtr:

xmlAllocOutputBuffer
+xmlOutputBufferCreateFd
+xmlOutputBufferCreateFile
+xmlOutputBufferCreateFilename
+xmlOutputBufferCreateIO
+

Type xmlParserCtxtPtr:

xmlCreateDocParserCtxt
+xmlCreateEntityParserCtxt
+xmlCreateFileParserCtxt
+xmlCreateIOParserCtxt
+xmlCreateMemoryParserCtxt
+xmlCreatePushParserCtxt
+xmlCreateURLParserCtxt
+xmlNewParserCtxt
+

Type xmlParserInputBufferPtr:

xmlAllocParserInputBuffer
+xmlParserInputBufferCreateFd
+xmlParserInputBufferCreateFile
+xmlParserInputBufferCreateFilename
+xmlParserInputBufferCreateIO
+xmlParserInputBufferCreateMem
+xmlParserInputBufferCreateStatic
+xmlTextReaderGetRemainder
+

Type xmlParserInputPtr:

inputPop
+resolveEntity
+resolveEntitySAXFunc
+xmlCheckHTTPInput
+xmlExternalEntityLoader
+xmlLoadExternalEntity
+xmlNewEntityInputStream
+xmlNewIOInputStream
+xmlNewInputFromFile
+xmlNewInputStream
+xmlNewStringInputStream
+xmlNoNetExternalEntityLoader
+xmlSAX2ResolveEntity
+

Type xmlPatternPtr:

xmlPatterncompile
+

Type xmlRMutexPtr:

xmlNewRMutex
+

Type xmlRefPtr:

xmlAddRef
+

Type xmlRegExecCtxtPtr:

xmlRegNewExecCtxt
+

Type xmlRegexpPtr:

xmlAutomataCompile
+xmlRegexpCompile
+

Type xmlRegisterNodeFunc:

xmlRegisterNodeDefault
+xmlThrDefRegisterNodeDefault
+

Type xmlRelaxNGParserCtxtPtr:

xmlRelaxNGNewDocParserCtxt
+xmlRelaxNGNewMemParserCtxt
+xmlRelaxNGNewParserCtxt
+

Type xmlRelaxNGPtr:

xmlRelaxNGParse
+

Type xmlRelaxNGValidCtxtPtr:

xmlRelaxNGNewValidCtxt
+

Type xmlSaveCtxtPtr:

xmlSaveToBuffer
+xmlSaveToFd
+xmlSaveToFilename
+xmlSaveToIO
+

Type xmlSchemaFacetPtr:

xmlSchemaNewFacet
+

Type xmlSchemaParserCtxtPtr:

xmlSchemaNewDocParserCtxt
+xmlSchemaNewMemParserCtxt
+xmlSchemaNewParserCtxt
+

Type xmlSchemaPtr:

xmlSchemaParse
+

Type xmlSchemaTypePtr:

xmlSchemaGetPredefinedType
+

Type xmlSchemaValidCtxtPtr:

xmlSchemaNewValidCtxt
+

Type xmlTextReaderPtr:

xmlNewTextReader
+xmlNewTextReaderFilename
+xmlReaderForDoc
+xmlReaderForFd
+xmlReaderForFile
+xmlReaderForIO
+xmlReaderForMemory
+xmlReaderWalker
+

Type xmlTextWriterPtr:

xmlNewTextWriter
+xmlNewTextWriterDoc
+xmlNewTextWriterFilename
+xmlNewTextWriterMemory
+xmlNewTextWriterPushParser
+xmlNewTextWriterTree
+

Type xmlURIPtr:

xmlCreateURI
+xmlParseURI
+

Type xmlValidCtxtPtr:

xmlNewValidCtxt
+

Type xmlXIncludeCtxtPtr:

xmlXIncludeNewContext
+

Type xmlXPathCompExprPtr:

xmlXPathCompile
+xmlXPathCtxtCompile
+

Type xmlXPathContextPtr:

xmlXPathNewContext
+xmlXPtrNewContext
+

Type xmlXPathFunction:

xmlXPathFuncLookupFunc
+xmlXPathFunctionLookup
+xmlXPathFunctionLookupNS
+

Type xmlXPathObjectPtr:

valuePop
+xmlXPathAxisFunc
+xmlXPathCompiledEval
+xmlXPathConvertBoolean
+xmlXPathConvertNumber
+xmlXPathConvertString
+xmlXPathEval
+xmlXPathEvalExpression
+xmlXPathNewBoolean
+xmlXPathNewCString
+xmlXPathNewFloat
+xmlXPathNewNodeSet
+xmlXPathNewNodeSetList
+xmlXPathNewString
+xmlXPathNewValueTree
+xmlXPathObjectCopy
+xmlXPathVariableLookup
+xmlXPathVariableLookupFunc
+xmlXPathVariableLookupNS
+xmlXPathWrapCString
+xmlXPathWrapExternal
+xmlXPathWrapNodeSet
+xmlXPathWrapString
+xmlXPtrEval
+xmlXPtrNewCollapsedRange
+xmlXPtrNewLocationSetNodeSet
+xmlXPtrNewLocationSetNodes
+xmlXPtrNewRange
+xmlXPtrNewRangeNodeObject
+xmlXPtrNewRangeNodePoint
+xmlXPtrNewRangeNodes
+xmlXPtrNewRangePointNode
+xmlXPtrNewRangePoints
+xmlXPtrWrapLocationSet
+

Type xmlXPathParserContextPtr:

xmlXPathNewParserContext
+

Daniel Veillard

diff --git a/doc/APIfiles.html b/doc/APIfiles.html new file mode 100644 index 0000000..de3c270 --- /dev/null +++ b/doc/APIfiles.html @@ -0,0 +1,2868 @@ + + +List of Symbols per Module for libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

List of Symbols per Module for libxml2

Developer Menu
API Indexes
Related links

Module DOCBparser:

docbCreateFileParserCtxt
+docbCreatePushParserCtxt
+docbDocPtr
+docbEncodeEntities
+docbFreeParserCtxt
+docbParseChunk
+docbParseDoc
+docbParseDocument
+docbParseFile
+docbParserCtxt
+docbParserCtxtPtr
+docbParserInput
+docbParserInputPtr
+docbSAXHandler
+docbSAXHandlerPtr
+docbSAXParseDoc
+docbSAXParseFile
+

Module HTMLparser:

HTML_DEPRECATED
+HTML_INVALID
+HTML_NA
+HTML_PARSE_NOBLANKS
+HTML_PARSE_NOERROR
+HTML_PARSE_NONET
+HTML_PARSE_NOWARNING
+HTML_PARSE_PEDANTIC
+HTML_REQUIRED
+HTML_VALID
+UTF8ToHtml
+_htmlElemDesc
+_htmlEntityDesc
+htmlAttrAllowed
+htmlAutoCloseTag
+htmlCreateMemoryParserCtxt
+htmlCreatePushParserCtxt
+htmlCtxtReadDoc
+htmlCtxtReadFd
+htmlCtxtReadFile
+htmlCtxtReadIO
+htmlCtxtReadMemory
+htmlCtxtReset
+htmlCtxtUseOptions
+htmlDefaultSubelement
+htmlDocPtr
+htmlElemDesc
+htmlElemDescPtr
+htmlElementAllowedHere
+htmlElementAllowedHereDesc
+htmlElementStatusHere
+htmlEncodeEntities
+htmlEntityDesc
+htmlEntityDescPtr
+htmlEntityLookup
+htmlEntityValueLookup
+htmlFreeParserCtxt
+htmlHandleOmittedElem
+htmlIsAutoClosed
+htmlIsScriptAttribute
+htmlNodePtr
+htmlNodeStatus
+htmlParseCharRef
+htmlParseChunk
+htmlParseDoc
+htmlParseDocument
+htmlParseElement
+htmlParseEntityRef
+htmlParseFile
+htmlParserCtxt
+htmlParserCtxtPtr
+htmlParserInput
+htmlParserInputPtr
+htmlParserNodeInfo
+htmlParserOption
+htmlReadDoc
+htmlReadFd
+htmlReadFile
+htmlReadIO
+htmlReadMemory
+htmlRequiredAttrs
+htmlSAXHandler
+htmlSAXHandlerPtr
+htmlSAXParseDoc
+htmlSAXParseFile
+htmlStatus
+htmlTagLookup
+

Module HTMLtree:

HTML_COMMENT_NODE
+HTML_ENTITY_REF_NODE
+HTML_PI_NODE
+HTML_PRESERVE_NODE
+HTML_TEXT_NODE
+htmlDocContentDumpFormatOutput
+htmlDocContentDumpOutput
+htmlDocDump
+htmlDocDumpMemory
+htmlGetMetaEncoding
+htmlIsBooleanAttr
+htmlNewDoc
+htmlNewDocNoDtD
+htmlNodeDump
+htmlNodeDumpFile
+htmlNodeDumpFileFormat
+htmlNodeDumpFormatOutput
+htmlNodeDumpOutput
+htmlSaveFile
+htmlSaveFileEnc
+htmlSaveFileFormat
+htmlSetMetaEncoding
+

Module SAX:

attribute
+attributeDecl
+cdataBlock
+characters
+checkNamespace
+comment
+elementDecl
+endDocument
+endElement
+entityDecl
+externalSubset
+getColumnNumber
+getEntity
+getLineNumber
+getNamespace
+getParameterEntity
+getPublicId
+getSystemId
+globalNamespace
+hasExternalSubset
+hasInternalSubset
+ignorableWhitespace
+initdocbDefaultSAXHandler
+inithtmlDefaultSAXHandler
+initxmlDefaultSAXHandler
+internalSubset
+isStandalone
+namespaceDecl
+notationDecl
+processingInstruction
+reference
+resolveEntity
+setDocumentLocator
+setNamespace
+startDocument
+startElement
+unparsedEntityDecl
+

Module SAX2:

docbDefaultSAXHandlerInit
+htmlDefaultSAXHandlerInit
+xmlDefaultSAXHandlerInit
+xmlSAX2AttributeDecl
+xmlSAX2CDataBlock
+xmlSAX2Characters
+xmlSAX2CheckNamespace
+xmlSAX2Comment
+xmlSAX2ElementDecl
+xmlSAX2EndDocument
+xmlSAX2EndElement
+xmlSAX2EndElementNs
+xmlSAX2EntityDecl
+xmlSAX2ExternalSubset
+xmlSAX2GetColumnNumber
+xmlSAX2GetEntity
+xmlSAX2GetLineNumber
+xmlSAX2GetNamespace
+xmlSAX2GetParameterEntity
+xmlSAX2GetPublicId
+xmlSAX2GetSystemId
+xmlSAX2GlobalNamespace
+xmlSAX2HasExternalSubset
+xmlSAX2HasInternalSubset
+xmlSAX2IgnorableWhitespace
+xmlSAX2InitDefaultSAXHandler
+xmlSAX2InitDocbDefaultSAXHandler
+xmlSAX2InitHtmlDefaultSAXHandler
+xmlSAX2InternalSubset
+xmlSAX2IsStandalone
+xmlSAX2NamespaceDecl
+xmlSAX2NotationDecl
+xmlSAX2ProcessingInstruction
+xmlSAX2Reference
+xmlSAX2ResolveEntity
+xmlSAX2SetDocumentLocator
+xmlSAX2SetNamespace
+xmlSAX2StartDocument
+xmlSAX2StartElement
+xmlSAX2StartElementNs
+xmlSAX2UnparsedEntityDecl
+xmlSAXDefaultVersion
+xmlSAXVersion
+

Module c14n:

xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlC14NIsVisibleCallback
+

Module catalog:

XML_CATALOGS_NAMESPACE
+XML_CATALOG_PI
+XML_CATA_ALLOW_ALL
+XML_CATA_ALLOW_DOCUMENT
+XML_CATA_ALLOW_GLOBAL
+XML_CATA_ALLOW_NONE
+XML_CATA_PREFER_NONE
+XML_CATA_PREFER_PUBLIC
+XML_CATA_PREFER_SYSTEM
+xmlACatalogAdd
+xmlACatalogDump
+xmlACatalogRemove
+xmlACatalogResolve
+xmlACatalogResolvePublic
+xmlACatalogResolveSystem
+xmlACatalogResolveURI
+xmlCatalog
+xmlCatalogAdd
+xmlCatalogAddLocal
+xmlCatalogAllow
+xmlCatalogCleanup
+xmlCatalogConvert
+xmlCatalogDump
+xmlCatalogFreeLocal
+xmlCatalogGetDefaults
+xmlCatalogGetPublic
+xmlCatalogGetSystem
+xmlCatalogIsEmpty
+xmlCatalogLocalResolve
+xmlCatalogLocalResolveURI
+xmlCatalogPrefer
+xmlCatalogPtr
+xmlCatalogRemove
+xmlCatalogResolve
+xmlCatalogResolvePublic
+xmlCatalogResolveSystem
+xmlCatalogResolveURI
+xmlCatalogSetDebug
+xmlCatalogSetDefaultPrefer
+xmlCatalogSetDefaults
+xmlConvertSGMLCatalog
+xmlFreeCatalog
+xmlInitializeCatalog
+xmlLoadACatalog
+xmlLoadCatalog
+xmlLoadCatalogs
+xmlLoadSGMLSuperCatalog
+xmlNewCatalog
+xmlParseCatalogFile
+

Module chvalid:

_xmlChLRange
+_xmlChRangeGroup
+_xmlChSRange
+xmlChLRange
+xmlChLRangePtr
+xmlChRangeGroup
+xmlChRangeGroupPtr
+xmlChSRange
+xmlChSRangePtr
+xmlCharInRange
+xmlIsBaseChar
+xmlIsBaseCharGroup
+xmlIsBaseCharQ
+xmlIsBaseChar_ch
+xmlIsBlank
+xmlIsBlankQ
+xmlIsBlank_ch
+xmlIsChar
+xmlIsCharGroup
+xmlIsCharQ
+xmlIsChar_ch
+xmlIsCombining
+xmlIsCombiningGroup
+xmlIsCombiningQ
+xmlIsDigit
+xmlIsDigitGroup
+xmlIsDigitQ
+xmlIsDigit_ch
+xmlIsExtender
+xmlIsExtenderGroup
+xmlIsExtenderQ
+xmlIsExtender_ch
+xmlIsIdeographic
+xmlIsIdeographicGroup
+xmlIsIdeographicQ
+xmlIsPubidChar
+xmlIsPubidCharQ
+xmlIsPubidChar_ch
+xmlIsPubidChar_tab
+

Module debugXML:

_xmlShellCtxt
+xmlBoolToText
+xmlDebugDumpAttr
+xmlDebugDumpAttrList
+xmlDebugDumpDTD
+xmlDebugDumpDocument
+xmlDebugDumpDocumentHead
+xmlDebugDumpEntities
+xmlDebugDumpNode
+xmlDebugDumpNodeList
+xmlDebugDumpOneNode
+xmlDebugDumpString
+xmlLsCountNode
+xmlLsOneNode
+xmlShell
+xmlShellBase
+xmlShellCat
+xmlShellCmd
+xmlShellCtxt
+xmlShellCtxtPtr
+xmlShellDir
+xmlShellDu
+xmlShellList
+xmlShellLoad
+xmlShellPrintNode
+xmlShellPrintXPathError
+xmlShellPrintXPathResult
+xmlShellPwd
+xmlShellReadlineFunc
+xmlShellSave
+xmlShellValidate
+xmlShellWrite
+

Module dict:

xmlDict
+xmlDictCreate
+xmlDictCreateSub
+xmlDictFree
+xmlDictLookup
+xmlDictOwns
+xmlDictPtr
+xmlDictQLookup
+xmlDictReference
+xmlDictSize
+

Module encoding:

UTF8Toisolat1
+XML_CHAR_ENCODING_2022_JP
+XML_CHAR_ENCODING_8859_1
+XML_CHAR_ENCODING_8859_2
+XML_CHAR_ENCODING_8859_3
+XML_CHAR_ENCODING_8859_4
+XML_CHAR_ENCODING_8859_5
+XML_CHAR_ENCODING_8859_6
+XML_CHAR_ENCODING_8859_7
+XML_CHAR_ENCODING_8859_8
+XML_CHAR_ENCODING_8859_9
+XML_CHAR_ENCODING_ASCII
+XML_CHAR_ENCODING_EBCDIC
+XML_CHAR_ENCODING_ERROR
+XML_CHAR_ENCODING_EUC_JP
+XML_CHAR_ENCODING_NONE
+XML_CHAR_ENCODING_SHIFT_JIS
+XML_CHAR_ENCODING_UCS2
+XML_CHAR_ENCODING_UCS4BE
+XML_CHAR_ENCODING_UCS4LE
+XML_CHAR_ENCODING_UCS4_2143
+XML_CHAR_ENCODING_UCS4_3412
+XML_CHAR_ENCODING_UTF16BE
+XML_CHAR_ENCODING_UTF16LE
+XML_CHAR_ENCODING_UTF8
+_xmlCharEncodingHandler
+isolat1ToUTF8
+xmlAddEncodingAlias
+xmlCharEncCloseFunc
+xmlCharEncFirstLine
+xmlCharEncInFunc
+xmlCharEncOutFunc
+xmlCharEncoding
+xmlCharEncodingHandler
+xmlCharEncodingHandlerPtr
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+xmlCleanupCharEncodingHandlers
+xmlCleanupEncodingAliases
+xmlDelEncodingAlias
+xmlDetectCharEncoding
+xmlFindCharEncodingHandler
+xmlGetCharEncodingHandler
+xmlGetCharEncodingName
+xmlGetEncodingAlias
+xmlInitCharEncodingHandlers
+xmlNewCharEncodingHandler
+xmlParseCharEncoding
+xmlRegisterCharEncodingHandler
+

Module entities:

XML_EXTERNAL_GENERAL_PARSED_ENTITY
+XML_EXTERNAL_GENERAL_UNPARSED_ENTITY
+XML_EXTERNAL_PARAMETER_ENTITY
+XML_INTERNAL_GENERAL_ENTITY
+XML_INTERNAL_PARAMETER_ENTITY
+XML_INTERNAL_PREDEFINED_ENTITY
+_xmlEntity
+xmlAddDocEntity
+xmlAddDtdEntity
+xmlCleanupPredefinedEntities
+xmlCopyEntitiesTable
+xmlCreateEntitiesTable
+xmlDumpEntitiesTable
+xmlDumpEntityDecl
+xmlEncodeEntities
+xmlEncodeEntitiesReentrant
+xmlEncodeSpecialChars
+xmlEntitiesTable
+xmlEntitiesTablePtr
+xmlEntityType
+xmlFreeEntitiesTable
+xmlGetDocEntity
+xmlGetDtdEntity
+xmlGetParameterEntity
+xmlGetPredefinedEntity
+xmlInitializePredefinedEntities
+

Module globals:

_xmlGlobalState
+docbDefaultSAXHandler
+htmlDefaultSAXHandler
+oldXMLWDcompatibility
+xmlBufferAllocScheme
+xmlCleanupGlobals
+xmlDefaultBufferSize
+xmlDefaultSAXHandler
+xmlDefaultSAXLocator
+xmlDeregisterNodeDefault
+xmlDeregisterNodeDefaultValue
+xmlDeregisterNodeFunc
+xmlDoValidityCheckingDefaultValue
+xmlFree
+xmlGenericError
+xmlGenericErrorContext
+xmlGetWarningsDefaultValue
+xmlGlobalState
+xmlGlobalStatePtr
+xmlIndentTreeOutput
+xmlInitGlobals
+xmlInitializeGlobalState
+xmlKeepBlanksDefaultValue
+xmlLastError
+xmlLineNumbersDefaultValue
+xmlLoadExtDtdDefaultValue
+xmlMalloc
+xmlMallocAtomic
+xmlMemStrdup
+xmlParserDebugEntities
+xmlParserVersion
+xmlPedanticParserDefaultValue
+xmlRealloc
+xmlRegisterNodeDefault
+xmlRegisterNodeDefaultValue
+xmlRegisterNodeFunc
+xmlSaveNoEmptyTags
+xmlStructuredError
+xmlSubstituteEntitiesDefaultValue
+xmlThrDefBufferAllocScheme
+xmlThrDefDefaultBufferSize
+xmlThrDefDeregisterNodeDefault
+xmlThrDefDoValidityCheckingDefaultValue
+xmlThrDefGetWarningsDefaultValue
+xmlThrDefIndentTreeOutput
+xmlThrDefKeepBlanksDefaultValue
+xmlThrDefLineNumbersDefaultValue
+xmlThrDefLoadExtDtdDefaultValue
+xmlThrDefParserDebugEntities
+xmlThrDefPedanticParserDefaultValue
+xmlThrDefRegisterNodeDefault
+xmlThrDefSaveNoEmptyTags
+xmlThrDefSetGenericErrorFunc
+xmlThrDefSetStructuredErrorFunc
+xmlThrDefSubstituteEntitiesDefaultValue
+xmlThrDefTreeIndentString
+xmlTreeIndentString
+

Module hash:

xmlHashAddEntry
+xmlHashAddEntry2
+xmlHashAddEntry3
+xmlHashCopier
+xmlHashCopy
+xmlHashCreate
+xmlHashDeallocator
+xmlHashFree
+xmlHashLookup
+xmlHashLookup2
+xmlHashLookup3
+xmlHashQLookup
+xmlHashQLookup2
+xmlHashQLookup3
+xmlHashRemoveEntry
+xmlHashRemoveEntry2
+xmlHashRemoveEntry3
+xmlHashScan
+xmlHashScan3
+xmlHashScanFull
+xmlHashScanFull3
+xmlHashScanner
+xmlHashScannerFull
+xmlHashSize
+xmlHashTable
+xmlHashTablePtr
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+

Module list:

xmlLink
+xmlLinkGetData
+xmlLinkPtr
+xmlList
+xmlListAppend
+xmlListClear
+xmlListCopy
+xmlListCreate
+xmlListDataCompare
+xmlListDeallocator
+xmlListDelete
+xmlListDup
+xmlListEmpty
+xmlListEnd
+xmlListFront
+xmlListInsert
+xmlListMerge
+xmlListPopBack
+xmlListPopFront
+xmlListPtr
+xmlListPushBack
+xmlListPushFront
+xmlListRemoveAll
+xmlListRemoveFirst
+xmlListRemoveLast
+xmlListReverse
+xmlListReverseSearch
+xmlListReverseWalk
+xmlListSearch
+xmlListSize
+xmlListSort
+xmlListWalk
+xmlListWalker
+

Module nanoftp:

ftpDataCallback
+ftpListCallback
+xmlNanoFTPCheckResponse
+xmlNanoFTPCleanup
+xmlNanoFTPClose
+xmlNanoFTPCloseConnection
+xmlNanoFTPConnect
+xmlNanoFTPConnectTo
+xmlNanoFTPCwd
+xmlNanoFTPDele
+xmlNanoFTPFreeCtxt
+xmlNanoFTPGet
+xmlNanoFTPGetConnection
+xmlNanoFTPGetResponse
+xmlNanoFTPGetSocket
+xmlNanoFTPInit
+xmlNanoFTPList
+xmlNanoFTPNewCtxt
+xmlNanoFTPOpen
+xmlNanoFTPProxy
+xmlNanoFTPQuit
+xmlNanoFTPRead
+xmlNanoFTPScanProxy
+xmlNanoFTPUpdateURL
+

Module nanohttp:

xmlNanoHTTPAuthHeader
+xmlNanoHTTPCleanup
+xmlNanoHTTPClose
+xmlNanoHTTPEncoding
+xmlNanoHTTPFetch
+xmlNanoHTTPInit
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPMimeType
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+xmlNanoHTTPRead
+xmlNanoHTTPRedir
+xmlNanoHTTPReturnCode
+xmlNanoHTTPSave
+xmlNanoHTTPScanProxy
+

Module parser:

XML_COMPLETE_ATTRS
+XML_DEFAULT_VERSION
+XML_DETECT_IDS
+XML_PARSER_ATTRIBUTE_VALUE
+XML_PARSER_CDATA_SECTION
+XML_PARSER_COMMENT
+XML_PARSER_CONTENT
+XML_PARSER_DTD
+XML_PARSER_END_TAG
+XML_PARSER_ENTITY_DECL
+XML_PARSER_ENTITY_VALUE
+XML_PARSER_EOF
+XML_PARSER_EPILOG
+XML_PARSER_IGNORE
+XML_PARSER_MISC
+XML_PARSER_PI
+XML_PARSER_PROLOG
+XML_PARSER_PUBLIC_LITERAL
+XML_PARSER_START
+XML_PARSER_START_TAG
+XML_PARSER_SYSTEM_LITERAL
+XML_PARSE_DTDATTR
+XML_PARSE_DTDLOAD
+XML_PARSE_DTDVALID
+XML_PARSE_NOBLANKS
+XML_PARSE_NOCDATA
+XML_PARSE_NODICT
+XML_PARSE_NOENT
+XML_PARSE_NOERROR
+XML_PARSE_NONET
+XML_PARSE_NOWARNING
+XML_PARSE_NSCLEAN
+XML_PARSE_PEDANTIC
+XML_PARSE_RECOVER
+XML_PARSE_SAX1
+XML_PARSE_XINCLUDE
+XML_SAX2_MAGIC
+XML_SKIP_IDS
+_xmlParserCtxt
+_xmlParserInput
+_xmlParserNodeInfo
+_xmlParserNodeInfoSeq
+_xmlSAXHandler
+_xmlSAXHandlerV1
+_xmlSAXLocator
+attributeDeclSAXFunc
+attributeSAXFunc
+cdataBlockSAXFunc
+charactersSAXFunc
+commentSAXFunc
+elementDeclSAXFunc
+endDocumentSAXFunc
+endElementNsSAX2Func
+endElementSAXFunc
+entityDeclSAXFunc
+errorSAXFunc
+externalSubsetSAXFunc
+fatalErrorSAXFunc
+getEntitySAXFunc
+getParameterEntitySAXFunc
+hasExternalSubsetSAXFunc
+hasInternalSubsetSAXFunc
+ignorableWhitespaceSAXFunc
+internalSubsetSAXFunc
+isStandaloneSAXFunc
+notationDeclSAXFunc
+processingInstructionSAXFunc
+referenceSAXFunc
+resolveEntitySAXFunc
+setDocumentLocatorSAXFunc
+startDocumentSAXFunc
+startElementNsSAX2Func
+startElementSAXFunc
+unparsedEntityDeclSAXFunc
+warningSAXFunc
+xmlByteConsumed
+xmlCleanupParser
+xmlClearNodeInfoSeq
+xmlClearParserCtxt
+xmlCreateDocParserCtxt
+xmlCreateIOParserCtxt
+xmlCreatePushParserCtxt
+xmlCtxtReadDoc
+xmlCtxtReadFd
+xmlCtxtReadFile
+xmlCtxtReadIO
+xmlCtxtReadMemory
+xmlCtxtReset
+xmlCtxtResetPush
+xmlCtxtUseOptions
+xmlExternalEntityLoader
+xmlFreeParserCtxt
+xmlGetExternalEntityLoader
+xmlGetFeature
+xmlGetFeaturesList
+xmlIOParseDTD
+xmlInitNodeInfoSeq
+xmlInitParser
+xmlInitParserCtxt
+xmlKeepBlanksDefault
+xmlLineNumbersDefault
+xmlLoadExternalEntity
+xmlNewIOInputStream
+xmlNewParserCtxt
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseChunk
+xmlParseCtxtExternalEntity
+xmlParseDTD
+xmlParseDoc
+xmlParseDocument
+xmlParseEntity
+xmlParseExtParsedEnt
+xmlParseExternalEntity
+xmlParseFile
+xmlParseMemory
+xmlParserAddNodeInfo
+xmlParserFindNodeInfo
+xmlParserFindNodeInfoIndex
+xmlParserInputDeallocate
+xmlParserInputGrow
+xmlParserInputRead
+xmlParserInputState
+xmlParserNodeInfo
+xmlParserNodeInfoPtr
+xmlParserNodeInfoSeq
+xmlParserNodeInfoSeqPtr
+xmlParserOption
+xmlPedanticParserDefault
+xmlReadDoc
+xmlReadFd
+xmlReadFile
+xmlReadIO
+xmlReadMemory
+xmlRecoverDoc
+xmlRecoverFile
+xmlRecoverMemory
+xmlSAXHandlerV1
+xmlSAXHandlerV1Ptr
+xmlSAXParseDTD
+xmlSAXParseDoc
+xmlSAXParseEntity
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+xmlSAXUserParseFile
+xmlSAXUserParseMemory
+xmlSetExternalEntityLoader
+xmlSetFeature
+xmlSetupParserForBuffer
+xmlStopParser
+xmlSubstituteEntitiesDefault
+

Module parserInternals:

INPUT_CHUNK
+IS_BASECHAR
+IS_BLANK
+IS_BLANK_CH
+IS_BYTE_CHAR
+IS_CHAR
+IS_CHAR_CH
+IS_COMBINING
+IS_COMBINING_CH
+IS_DIGIT
+IS_DIGIT_CH
+IS_EXTENDER
+IS_EXTENDER_CH
+IS_IDEOGRAPHIC
+IS_LETTER
+IS_LETTER_CH
+IS_PUBIDCHAR
+IS_PUBIDCHAR_CH
+MOVETO_ENDTAG
+MOVETO_STARTTAG
+SKIP_EOL
+XML_MAX_NAMELEN
+XML_SUBSTITUTE_BOTH
+XML_SUBSTITUTE_NONE
+XML_SUBSTITUTE_PEREF
+XML_SUBSTITUTE_REF
+htmlCreateFileParserCtxt
+htmlInitAutoClose
+inputPop
+inputPush
+namePop
+namePush
+nodePop
+nodePush
+xmlCheckLanguageID
+xmlCopyChar
+xmlCopyCharMultiByte
+xmlCreateEntityParserCtxt
+xmlCreateFileParserCtxt
+xmlCreateMemoryParserCtxt
+xmlCreateURLParserCtxt
+xmlCurrentChar
+xmlDecodeEntities
+xmlEntityReferenceFunc
+xmlErrMemory
+xmlFreeInputStream
+xmlHandleEntity
+xmlIsLetter
+xmlNamespaceParseNCName
+xmlNamespaceParseNSDef
+xmlNamespaceParseQName
+xmlNewEntityInputStream
+xmlNewInputFromFile
+xmlNewInputStream
+xmlNewStringInputStream
+xmlNextChar
+xmlParseAttValue
+xmlParseAttribute
+xmlParseAttributeListDecl
+xmlParseAttributeType
+xmlParseCDSect
+xmlParseCharData
+xmlParseCharRef
+xmlParseComment
+xmlParseContent
+xmlParseDefaultDecl
+xmlParseDocTypeDecl
+xmlParseElement
+xmlParseElementChildrenContentDecl
+xmlParseElementContentDecl
+xmlParseElementDecl
+xmlParseElementMixedContentDecl
+xmlParseEncName
+xmlParseEncodingDecl
+xmlParseEndTag
+xmlParseEntityDecl
+xmlParseEntityRef
+xmlParseEntityValue
+xmlParseEnumeratedType
+xmlParseEnumerationType
+xmlParseExternalID
+xmlParseExternalSubset
+xmlParseMarkupDecl
+xmlParseMisc
+xmlParseName
+xmlParseNamespace
+xmlParseNmtoken
+xmlParseNotationDecl
+xmlParseNotationType
+xmlParsePEReference
+xmlParsePI
+xmlParsePITarget
+xmlParsePubidLiteral
+xmlParseQuotedString
+xmlParseReference
+xmlParseSDDecl
+xmlParseStartTag
+xmlParseSystemLiteral
+xmlParseTextDecl
+xmlParseVersionInfo
+xmlParseVersionNum
+xmlParseXMLDecl
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlParserInputShrink
+xmlParserMaxDepth
+xmlPopInput
+xmlPushInput
+xmlScanName
+xmlSetEntityReferenceFunc
+xmlSkipBlankChars
+xmlSplitQName
+xmlStringComment
+xmlStringCurrentChar
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+xmlStringText
+xmlStringTextNoenc
+xmlSwitchEncoding
+xmlSwitchInputEncoding
+xmlSwitchToEncoding
+

Module pattern:

xmlFreePattern
+xmlFreePatternList
+xmlPattern
+xmlPatternMatch
+xmlPatternPtr
+xmlPatterncompile
+

Module relaxng:

XML_RELAXNGP_CRNG
+XML_RELAXNGP_FREE_DOC
+XML_RELAXNGP_NONE
+XML_RELAXNG_ERR_ATTREXTRANS
+XML_RELAXNG_ERR_ATTRNAME
+XML_RELAXNG_ERR_ATTRNONS
+XML_RELAXNG_ERR_ATTRVALID
+XML_RELAXNG_ERR_ATTRWRONGNS
+XML_RELAXNG_ERR_CONTENTVALID
+XML_RELAXNG_ERR_DATAELEM
+XML_RELAXNG_ERR_DATATYPE
+XML_RELAXNG_ERR_DUPID
+XML_RELAXNG_ERR_ELEMEXTRANS
+XML_RELAXNG_ERR_ELEMNAME
+XML_RELAXNG_ERR_ELEMNONS
+XML_RELAXNG_ERR_ELEMNOTEMPTY
+XML_RELAXNG_ERR_ELEMWRONG
+XML_RELAXNG_ERR_ELEMWRONGNS
+XML_RELAXNG_ERR_EXTRACONTENT
+XML_RELAXNG_ERR_EXTRADATA
+XML_RELAXNG_ERR_INTEREXTRA
+XML_RELAXNG_ERR_INTERNAL
+XML_RELAXNG_ERR_INTERNODATA
+XML_RELAXNG_ERR_INTERSEQ
+XML_RELAXNG_ERR_INVALIDATTR
+XML_RELAXNG_ERR_LACKDATA
+XML_RELAXNG_ERR_LIST
+XML_RELAXNG_ERR_LISTELEM
+XML_RELAXNG_ERR_LISTEMPTY
+XML_RELAXNG_ERR_LISTEXTRA
+XML_RELAXNG_ERR_MEMORY
+XML_RELAXNG_ERR_NODEFINE
+XML_RELAXNG_ERR_NOELEM
+XML_RELAXNG_ERR_NOGRAMMAR
+XML_RELAXNG_ERR_NOSTATE
+XML_RELAXNG_ERR_NOTELEM
+XML_RELAXNG_ERR_TEXTWRONG
+XML_RELAXNG_ERR_TYPE
+XML_RELAXNG_ERR_TYPECMP
+XML_RELAXNG_ERR_TYPEVAL
+XML_RELAXNG_ERR_VALELEM
+XML_RELAXNG_ERR_VALUE
+XML_RELAXNG_OK
+xmlRelaxNG
+xmlRelaxNGCleanupTypes
+xmlRelaxNGDump
+xmlRelaxNGDumpTree
+xmlRelaxNGFree
+xmlRelaxNGFreeParserCtxt
+xmlRelaxNGFreeValidCtxt
+xmlRelaxNGGetParserErrors
+xmlRelaxNGGetValidErrors
+xmlRelaxNGNewDocParserCtxt
+xmlRelaxNGNewMemParserCtxt
+xmlRelaxNGNewParserCtxt
+xmlRelaxNGNewValidCtxt
+xmlRelaxNGParse
+xmlRelaxNGParserCtxt
+xmlRelaxNGParserCtxtPtr
+xmlRelaxNGParserFlag
+xmlRelaxNGPtr
+xmlRelaxNGSetParserErrors
+xmlRelaxNGSetValidErrors
+xmlRelaxNGValidCtxt
+xmlRelaxNGValidCtxtPtr
+xmlRelaxNGValidErr
+xmlRelaxNGValidateDoc
+xmlRelaxNGValidateFullElement
+xmlRelaxNGValidatePopElement
+xmlRelaxNGValidatePushCData
+xmlRelaxNGValidatePushElement
+xmlRelaxNGValidityErrorFunc
+xmlRelaxNGValidityWarningFunc
+xmlRelaxParserSetFlag
+

Module schemasInternals:

XML_SCHEMAS_ANYATTR_LAX
+XML_SCHEMAS_ANYATTR_SKIP
+XML_SCHEMAS_ANYATTR_STRICT
+XML_SCHEMAS_ATTR_NSDEFAULT
+XML_SCHEMAS_ELEM_ABSTRACT
+XML_SCHEMAS_ELEM_DEFAULT
+XML_SCHEMAS_ELEM_FIXED
+XML_SCHEMAS_ELEM_GLOBAL
+XML_SCHEMAS_ELEM_NILLABLE
+XML_SCHEMAS_ELEM_NSDEFAULT
+XML_SCHEMAS_ELEM_REF
+XML_SCHEMAS_ELEM_TOPLEVEL
+XML_SCHEMAS_FACET_COLLAPSE
+XML_SCHEMAS_FACET_PRESERVE
+XML_SCHEMAS_FACET_REPLACE
+XML_SCHEMAS_FACET_UNKNOWN
+XML_SCHEMAS_QUALIF_ATTR
+XML_SCHEMAS_QUALIF_ELEM
+XML_SCHEMAS_TYPE_MIXED
+XML_SCHEMA_CONTENT_ANY
+XML_SCHEMA_CONTENT_BASIC
+XML_SCHEMA_CONTENT_ELEMENTS
+XML_SCHEMA_CONTENT_EMPTY
+XML_SCHEMA_CONTENT_MIXED
+XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS
+XML_SCHEMA_CONTENT_SIMPLE
+XML_SCHEMA_CONTENT_UNKNOWN
+XML_SCHEMA_FACET_ENUMERATION
+XML_SCHEMA_FACET_FRACTIONDIGITS
+XML_SCHEMA_FACET_LENGTH
+XML_SCHEMA_FACET_MAXEXCLUSIVE
+XML_SCHEMA_FACET_MAXINCLUSIVE
+XML_SCHEMA_FACET_MAXLENGTH
+XML_SCHEMA_FACET_MINEXCLUSIVE
+XML_SCHEMA_FACET_MININCLUSIVE
+XML_SCHEMA_FACET_MINLENGTH
+XML_SCHEMA_FACET_PATTERN
+XML_SCHEMA_FACET_TOTALDIGITS
+XML_SCHEMA_FACET_WHITESPACE
+XML_SCHEMA_TYPE_ALL
+XML_SCHEMA_TYPE_ANY
+XML_SCHEMA_TYPE_ATTRIBUTE
+XML_SCHEMA_TYPE_ATTRIBUTEGROUP
+XML_SCHEMA_TYPE_BASIC
+XML_SCHEMA_TYPE_CHOICE
+XML_SCHEMA_TYPE_COMPLEX
+XML_SCHEMA_TYPE_COMPLEX_CONTENT
+XML_SCHEMA_TYPE_ELEMENT
+XML_SCHEMA_TYPE_EXTENSION
+XML_SCHEMA_TYPE_FACET
+XML_SCHEMA_TYPE_GROUP
+XML_SCHEMA_TYPE_LIST
+XML_SCHEMA_TYPE_NOTATION
+XML_SCHEMA_TYPE_RESTRICTION
+XML_SCHEMA_TYPE_SEQUENCE
+XML_SCHEMA_TYPE_SIMPLE
+XML_SCHEMA_TYPE_SIMPLE_CONTENT
+XML_SCHEMA_TYPE_UNION
+XML_SCHEMA_TYPE_UR
+_xmlSchema
+_xmlSchemaAnnot
+_xmlSchemaAttribute
+_xmlSchemaAttributeGroup
+_xmlSchemaElement
+_xmlSchemaFacet
+_xmlSchemaNotation
+_xmlSchemaType
+xmlSchemaAnnot
+xmlSchemaAnnotPtr
+xmlSchemaAttribute
+xmlSchemaAttributeGroup
+xmlSchemaAttributeGroupPtr
+xmlSchemaAttributePtr
+xmlSchemaContentType
+xmlSchemaElement
+xmlSchemaElementPtr
+xmlSchemaFacet
+xmlSchemaFacetPtr
+xmlSchemaFreeType
+xmlSchemaNotation
+xmlSchemaNotationPtr
+xmlSchemaType
+xmlSchemaTypePtr
+xmlSchemaTypeType
+xmlSchemaVal
+xmlSchemaValPtr
+

Module threads:

xmlCleanupThreads
+xmlFreeMutex
+xmlFreeRMutex
+xmlGetGlobalState
+xmlGetThreadId
+xmlInitThreads
+xmlIsMainThread
+xmlLockLibrary
+xmlMutex
+xmlMutexLock
+xmlMutexPtr
+xmlMutexUnlock
+xmlNewMutex
+xmlNewRMutex
+xmlRMutex
+xmlRMutexLock
+xmlRMutexPtr
+xmlRMutexUnlock
+xmlUnlockLibrary
+

Module tree:

BASE_BUFFER_SIZE
+XML_ATTRIBUTE_CDATA
+XML_ATTRIBUTE_DECL
+XML_ATTRIBUTE_ENTITIES
+XML_ATTRIBUTE_ENTITY
+XML_ATTRIBUTE_ENUMERATION
+XML_ATTRIBUTE_FIXED
+XML_ATTRIBUTE_ID
+XML_ATTRIBUTE_IDREF
+XML_ATTRIBUTE_IDREFS
+XML_ATTRIBUTE_IMPLIED
+XML_ATTRIBUTE_NMTOKEN
+XML_ATTRIBUTE_NMTOKENS
+XML_ATTRIBUTE_NODE
+XML_ATTRIBUTE_NONE
+XML_ATTRIBUTE_NOTATION
+XML_ATTRIBUTE_REQUIRED
+XML_BUFFER_ALLOC_DOUBLEIT
+XML_BUFFER_ALLOC_EXACT
+XML_BUFFER_ALLOC_IMMUTABLE
+XML_CDATA_SECTION_NODE
+XML_COMMENT_NODE
+XML_DOCB_DOCUMENT_NODE
+XML_DOCUMENT_FRAG_NODE
+XML_DOCUMENT_NODE
+XML_DOCUMENT_TYPE_NODE
+XML_DTD_NODE
+XML_ELEMENT_CONTENT_ELEMENT
+XML_ELEMENT_CONTENT_MULT
+XML_ELEMENT_CONTENT_ONCE
+XML_ELEMENT_CONTENT_OPT
+XML_ELEMENT_CONTENT_OR
+XML_ELEMENT_CONTENT_PCDATA
+XML_ELEMENT_CONTENT_PLUS
+XML_ELEMENT_CONTENT_SEQ
+XML_ELEMENT_DECL
+XML_ELEMENT_NODE
+XML_ELEMENT_TYPE_ANY
+XML_ELEMENT_TYPE_ELEMENT
+XML_ELEMENT_TYPE_EMPTY
+XML_ELEMENT_TYPE_MIXED
+XML_ELEMENT_TYPE_UNDEFINED
+XML_ENTITY_DECL
+XML_ENTITY_NODE
+XML_ENTITY_REF_NODE
+XML_GET_CONTENT
+XML_GET_LINE
+XML_HTML_DOCUMENT_NODE
+XML_LOCAL_NAMESPACE
+XML_NAMESPACE_DECL
+XML_NOTATION_NODE
+XML_PI_NODE
+XML_TEXT_NODE
+XML_XINCLUDE_END
+XML_XINCLUDE_START
+XML_XML_NAMESPACE
+_xmlAttr
+_xmlAttribute
+_xmlBuffer
+_xmlDoc
+_xmlDtd
+_xmlElement
+_xmlElementContent
+_xmlEnumeration
+_xmlID
+_xmlNode
+_xmlNotation
+_xmlNs
+_xmlRef
+xmlAddChild
+xmlAddChildList
+xmlAddNextSibling
+xmlAddPrevSibling
+xmlAddSibling
+xmlAttr
+xmlAttrPtr
+xmlAttrSerializeTxtContent
+xmlAttribute
+xmlAttributeDefault
+xmlAttributePtr
+xmlAttributeType
+xmlBuffer
+xmlBufferAdd
+xmlBufferAddHead
+xmlBufferAllocationScheme
+xmlBufferCCat
+xmlBufferCat
+xmlBufferContent
+xmlBufferCreate
+xmlBufferCreateSize
+xmlBufferCreateStatic
+xmlBufferDump
+xmlBufferEmpty
+xmlBufferFree
+xmlBufferGrow
+xmlBufferLength
+xmlBufferPtr
+xmlBufferResize
+xmlBufferSetAllocationScheme
+xmlBufferShrink
+xmlBufferWriteCHAR
+xmlBufferWriteChar
+xmlBufferWriteQuotedString
+xmlBuildQName
+xmlChildrenNode
+xmlCopyDoc
+xmlCopyDtd
+xmlCopyNamespace
+xmlCopyNamespaceList
+xmlCopyNode
+xmlCopyNodeList
+xmlCopyProp
+xmlCopyPropList
+xmlCreateIntSubset
+xmlDoc
+xmlDocCopyNode
+xmlDocDump
+xmlDocDumpFormatMemory
+xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemory
+xmlDocDumpMemoryEnc
+xmlDocFormatDump
+xmlDocGetRootElement
+xmlDocPtr
+xmlDocSetRootElement
+xmlDtd
+xmlDtdPtr
+xmlElemDump
+xmlElement
+xmlElementContent
+xmlElementContentOccur
+xmlElementContentPtr
+xmlElementContentType
+xmlElementPtr
+xmlElementType
+xmlElementTypeVal
+xmlEntity
+xmlEntityPtr
+xmlEnumeration
+xmlEnumerationPtr
+xmlFreeDoc
+xmlFreeDtd
+xmlFreeNode
+xmlFreeNodeList
+xmlFreeNs
+xmlFreeNsList
+xmlFreeProp
+xmlFreePropList
+xmlGetBufferAllocationScheme
+xmlGetCompressMode
+xmlGetDocCompressMode
+xmlGetIntSubset
+xmlGetLastChild
+xmlGetLineNo
+xmlGetNoNsProp
+xmlGetNodePath
+xmlGetNsList
+xmlGetNsProp
+xmlGetProp
+xmlHasNsProp
+xmlHasProp
+xmlID
+xmlIDPtr
+xmlIsBlankNode
+xmlIsXHTML
+xmlNewCDataBlock
+xmlNewCharRef
+xmlNewChild
+xmlNewComment
+xmlNewDoc
+xmlNewDocComment
+xmlNewDocFragment
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNewDocProp
+xmlNewDocRawNode
+xmlNewDocText
+xmlNewDocTextLen
+xmlNewDtd
+xmlNewGlobalNs
+xmlNewNode
+xmlNewNodeEatName
+xmlNewNs
+xmlNewNsProp
+xmlNewNsPropEatName
+xmlNewPI
+xmlNewProp
+xmlNewReference
+xmlNewText
+xmlNewTextChild
+xmlNewTextLen
+xmlNode
+xmlNodeAddContent
+xmlNodeAddContentLen
+xmlNodeBufGetContent
+xmlNodeDump
+xmlNodeDumpOutput
+xmlNodeGetBase
+xmlNodeGetContent
+xmlNodeGetLang
+xmlNodeGetSpacePreserve
+xmlNodeIsText
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlNodePtr
+xmlNodeSetBase
+xmlNodeSetContent
+xmlNodeSetContentLen
+xmlNodeSetLang
+xmlNodeSetName
+xmlNodeSetSpacePreserve
+xmlNotation
+xmlNotationPtr
+xmlNs
+xmlNsPtr
+xmlNsType
+xmlOutputBuffer
+xmlOutputBufferPtr
+xmlParserCtxt
+xmlParserCtxtPtr
+xmlParserInput
+xmlParserInputBuffer
+xmlParserInputBufferPtr
+xmlParserInputPtr
+xmlReconciliateNs
+xmlRef
+xmlRefPtr
+xmlRemoveProp
+xmlReplaceNode
+xmlRootNode
+xmlSAXHandler
+xmlSAXHandlerPtr
+xmlSAXLocator
+xmlSAXLocatorPtr
+xmlSaveFile
+xmlSaveFileEnc
+xmlSaveFileTo
+xmlSaveFormatFile
+xmlSaveFormatFileEnc
+xmlSaveFormatFileTo
+xmlSearchNs
+xmlSearchNsByHref
+xmlSetBufferAllocationScheme
+xmlSetCompressMode
+xmlSetDocCompressMode
+xmlSetListDoc
+xmlSetNs
+xmlSetNsProp
+xmlSetProp
+xmlSetTreeDoc
+xmlSplitQName2
+xmlSplitQName3
+xmlStringGetNodeList
+xmlStringLenGetNodeList
+xmlTextConcat
+xmlTextMerge
+xmlUnlinkNode
+xmlUnsetNsProp
+xmlUnsetProp
+xmlValidateNCName
+xmlValidateNMToken
+xmlValidateName
+xmlValidateQName
+

Module uri:

_xmlURI
+xmlBuildURI
+xmlCanonicPath
+xmlCreateURI
+xmlFreeURI
+xmlNormalizeURIPath
+xmlParseURI
+xmlParseURIReference
+xmlPrintURI
+xmlSaveUri
+xmlURI
+xmlURIEscape
+xmlURIEscapeStr
+xmlURIPtr
+xmlURIUnescapeString
+

Module valid:

_xmlValidCtxt
+xmlAddAttributeDecl
+xmlAddElementDecl
+xmlAddID
+xmlAddNotationDecl
+xmlAddRef
+xmlAttributeTable
+xmlAttributeTablePtr
+xmlCopyAttributeTable
+xmlCopyElementContent
+xmlCopyElementTable
+xmlCopyEnumeration
+xmlCopyNotationTable
+xmlCreateEnumeration
+xmlDumpAttributeDecl
+xmlDumpAttributeTable
+xmlDumpElementDecl
+xmlDumpElementTable
+xmlDumpNotationDecl
+xmlDumpNotationTable
+xmlElementTable
+xmlElementTablePtr
+xmlFreeAttributeTable
+xmlFreeElementContent
+xmlFreeElementTable
+xmlFreeEnumeration
+xmlFreeIDTable
+xmlFreeNotationTable
+xmlFreeRefTable
+xmlFreeValidCtxt
+xmlGetDtdAttrDesc
+xmlGetDtdElementDesc
+xmlGetDtdNotationDesc
+xmlGetDtdQAttrDesc
+xmlGetDtdQElementDesc
+xmlGetID
+xmlGetRefs
+xmlIDTable
+xmlIDTablePtr
+xmlIsID
+xmlIsMixedElement
+xmlIsRef
+xmlNewElementContent
+xmlNewValidCtxt
+xmlNotationTable
+xmlNotationTablePtr
+xmlRefTable
+xmlRefTablePtr
+xmlRemoveID
+xmlRemoveRef
+xmlSnprintfElementContent
+xmlSprintfElementContent
+xmlValidBuildContentModel
+xmlValidCtxt
+xmlValidCtxtNormalizeAttributeValue
+xmlValidCtxtPtr
+xmlValidGetPotentialChildren
+xmlValidGetValidElements
+xmlValidNormalizeAttributeValue
+xmlValidState
+xmlValidStatePtr
+xmlValidateAttributeDecl
+xmlValidateAttributeValue
+xmlValidateDocument
+xmlValidateDocumentFinal
+xmlValidateDtd
+xmlValidateDtdFinal
+xmlValidateElement
+xmlValidateElementDecl
+xmlValidateNameValue
+xmlValidateNamesValue
+xmlValidateNmtokenValue
+xmlValidateNmtokensValue
+xmlValidateNotationDecl
+xmlValidateNotationUse
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+xmlValidatePopElement
+xmlValidatePushCData
+xmlValidatePushElement
+xmlValidateRoot
+xmlValidityErrorFunc
+xmlValidityWarningFunc
+

Module xinclude:

XINCLUDE_FALLBACK
+XINCLUDE_HREF
+XINCLUDE_NODE
+XINCLUDE_NS
+XINCLUDE_OLD_NS
+XINCLUDE_PARSE
+XINCLUDE_PARSE_ENCODING
+XINCLUDE_PARSE_TEXT
+XINCLUDE_PARSE_XML
+XINCLUDE_PARSE_XPOINTER
+xmlXIncludeCtxt
+xmlXIncludeCtxtPtr
+xmlXIncludeFreeContext
+xmlXIncludeNewContext
+xmlXIncludeProcess
+xmlXIncludeProcessFlags
+xmlXIncludeProcessNode
+xmlXIncludeProcessTree
+xmlXIncludeProcessTreeFlags
+xmlXIncludeSetFlags
+

Module xlink:

XLINK_ACTUATE_AUTO
+XLINK_ACTUATE_NONE
+XLINK_ACTUATE_ONREQUEST
+XLINK_SHOW_EMBED
+XLINK_SHOW_NEW
+XLINK_SHOW_NONE
+XLINK_SHOW_REPLACE
+XLINK_TYPE_EXTENDED
+XLINK_TYPE_EXTENDED_SET
+XLINK_TYPE_NONE
+XLINK_TYPE_SIMPLE
+_xlinkHandler
+xlinkActuate
+xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+xlinkGetDefaultDetect
+xlinkGetDefaultHandler
+xlinkHRef
+xlinkHandler
+xlinkHandlerPtr
+xlinkIsLink
+xlinkNodeDetectFunc
+xlinkRole
+xlinkSetDefaultDetect
+xlinkSetDefaultHandler
+xlinkShow
+xlinkSimpleLinkFunk
+xlinkTitle
+xlinkType
+

Module xmlIO:

_xmlOutputBuffer
+_xmlParserInputBuffer
+xmlAllocOutputBuffer
+xmlAllocParserInputBuffer
+xmlCheckFilename
+xmlCheckHTTPInput
+xmlCleanupInputCallbacks
+xmlCleanupOutputCallbacks
+xmlFileClose
+xmlFileMatch
+xmlFileOpen
+xmlFileRead
+xmlFreeParserInputBuffer
+xmlIOFTPClose
+xmlIOFTPMatch
+xmlIOFTPOpen
+xmlIOFTPRead
+xmlIOHTTPClose
+xmlIOHTTPMatch
+xmlIOHTTPOpen
+xmlIOHTTPOpenW
+xmlIOHTTPRead
+xmlInputCloseCallback
+xmlInputMatchCallback
+xmlInputOpenCallback
+xmlInputReadCallback
+xmlNoNetExternalEntityLoader
+xmlNormalizeWindowsPath
+xmlOutputBufferClose
+xmlOutputBufferCreateFd
+xmlOutputBufferCreateFile
+xmlOutputBufferCreateFilename
+xmlOutputBufferCreateIO
+xmlOutputBufferFlush
+xmlOutputBufferWrite
+xmlOutputBufferWriteString
+xmlOutputCloseCallback
+xmlOutputMatchCallback
+xmlOutputOpenCallback
+xmlOutputWriteCallback
+xmlParserGetDirectory
+xmlParserInputBufferCreateFd
+xmlParserInputBufferCreateFile
+xmlParserInputBufferCreateFilename
+xmlParserInputBufferCreateIO
+xmlParserInputBufferCreateMem
+xmlParserInputBufferCreateStatic
+xmlParserInputBufferGrow
+xmlParserInputBufferPush
+xmlParserInputBufferRead
+xmlRegisterDefaultInputCallbacks
+xmlRegisterDefaultOutputCallbacks
+xmlRegisterHTTPPostCallbacks
+xmlRegisterInputCallbacks
+xmlRegisterOutputCallbacks
+

Module xmlautomata:

xmlAutomata
+xmlAutomataCompile
+xmlAutomataGetInitState
+xmlAutomataIsDeterminist
+xmlAutomataNewAllTrans
+xmlAutomataNewCountTrans
+xmlAutomataNewCountedTrans
+xmlAutomataNewCounter
+xmlAutomataNewCounterTrans
+xmlAutomataNewEpsilon
+xmlAutomataNewOnceTrans
+xmlAutomataNewState
+xmlAutomataNewTransition
+xmlAutomataNewTransition2
+xmlAutomataPtr
+xmlAutomataSetFinalState
+xmlAutomataState
+xmlAutomataStatePtr
+xmlFreeAutomata
+xmlNewAutomata
+

Module xmlerror:

XML_C14N_CREATE_CTXT
+XML_C14N_CREATE_STACK
+XML_C14N_INVALID_NODE
+XML_C14N_REQUIRES_UTF8
+XML_CATALOG_ENTRY_BROKEN
+XML_CATALOG_MISSING_ATTR
+XML_CATALOG_NOT_CATALOG
+XML_CATALOG_PREFER_VALUE
+XML_CATALOG_RECURSION
+XML_DTD_ATTRIBUTE_DEFAULT
+XML_DTD_ATTRIBUTE_REDEFINED
+XML_DTD_ATTRIBUTE_VALUE
+XML_DTD_CONTENT_ERROR
+XML_DTD_CONTENT_MODEL
+XML_DTD_CONTENT_NOT_DETERMINIST
+XML_DTD_DIFFERENT_PREFIX
+XML_DTD_ELEM_DEFAULT_NAMESPACE
+XML_DTD_ELEM_NAMESPACE
+XML_DTD_ELEM_REDEFINED
+XML_DTD_EMPTY_NOTATION
+XML_DTD_ENTITY_TYPE
+XML_DTD_ID_FIXED
+XML_DTD_ID_REDEFINED
+XML_DTD_ID_SUBSET
+XML_DTD_INVALID_CHILD
+XML_DTD_INVALID_DEFAULT
+XML_DTD_LOAD_ERROR
+XML_DTD_MISSING_ATTRIBUTE
+XML_DTD_MIXED_CORRUPT
+XML_DTD_MULTIPLE_ID
+XML_DTD_NOTATION_REDEFINED
+XML_DTD_NOTATION_VALUE
+XML_DTD_NOT_EMPTY
+XML_DTD_NOT_PCDATA
+XML_DTD_NOT_STANDALONE
+XML_DTD_NO_DOC
+XML_DTD_NO_DTD
+XML_DTD_NO_ELEM_NAME
+XML_DTD_NO_PREFIX
+XML_DTD_NO_ROOT
+XML_DTD_ROOT_NAME
+XML_DTD_STANDALONE_DEFAULTED
+XML_DTD_STANDALONE_WHITE_SPACE
+XML_DTD_UNKNOWN_ATTRIBUTE
+XML_DTD_UNKNOWN_ELEM
+XML_DTD_UNKNOWN_ENTITY
+XML_DTD_UNKNOWN_ID
+XML_DTD_UNKNOWN_NOTATION
+XML_ERR_ATTLIST_NOT_FINISHED
+XML_ERR_ATTLIST_NOT_STARTED
+XML_ERR_ATTRIBUTE_NOT_FINISHED
+XML_ERR_ATTRIBUTE_NOT_STARTED
+XML_ERR_ATTRIBUTE_REDEFINED
+XML_ERR_ATTRIBUTE_WITHOUT_VALUE
+XML_ERR_CDATA_NOT_FINISHED
+XML_ERR_CHARREF_AT_EOF
+XML_ERR_CHARREF_IN_DTD
+XML_ERR_CHARREF_IN_EPILOG
+XML_ERR_CHARREF_IN_PROLOG
+XML_ERR_COMMENT_NOT_FINISHED
+XML_ERR_CONDSEC_INVALID
+XML_ERR_CONDSEC_INVALID_KEYWORD
+XML_ERR_CONDSEC_NOT_FINISHED
+XML_ERR_CONDSEC_NOT_STARTED
+XML_ERR_DOCTYPE_NOT_FINISHED
+XML_ERR_DOCUMENT_EMPTY
+XML_ERR_DOCUMENT_END
+XML_ERR_DOCUMENT_START
+XML_ERR_ELEMCONTENT_NOT_FINISHED
+XML_ERR_ELEMCONTENT_NOT_STARTED
+XML_ERR_ENCODING_NAME
+XML_ERR_ENTITYREF_AT_EOF
+XML_ERR_ENTITYREF_IN_DTD
+XML_ERR_ENTITYREF_IN_EPILOG
+XML_ERR_ENTITYREF_IN_PROLOG
+XML_ERR_ENTITYREF_NO_NAME
+XML_ERR_ENTITYREF_SEMICOL_MISSING
+XML_ERR_ENTITY_BOUNDARY
+XML_ERR_ENTITY_CHAR_ERROR
+XML_ERR_ENTITY_IS_EXTERNAL
+XML_ERR_ENTITY_IS_PARAMETER
+XML_ERR_ENTITY_LOOP
+XML_ERR_ENTITY_NOT_FINISHED
+XML_ERR_ENTITY_NOT_STARTED
+XML_ERR_ENTITY_PE_INTERNAL
+XML_ERR_EQUAL_REQUIRED
+XML_ERR_ERROR
+XML_ERR_EXTRA_CONTENT
+XML_ERR_EXT_ENTITY_STANDALONE
+XML_ERR_EXT_SUBSET_NOT_FINISHED
+XML_ERR_FATAL
+XML_ERR_GT_REQUIRED
+XML_ERR_HYPHEN_IN_COMMENT
+XML_ERR_INTERNAL_ERROR
+XML_ERR_INVALID_CHAR
+XML_ERR_INVALID_CHARREF
+XML_ERR_INVALID_DEC_CHARREF
+XML_ERR_INVALID_ENCODING
+XML_ERR_INVALID_HEX_CHARREF
+XML_ERR_INVALID_URI
+XML_ERR_LITERAL_NOT_FINISHED
+XML_ERR_LITERAL_NOT_STARTED
+XML_ERR_LTSLASH_REQUIRED
+XML_ERR_LT_IN_ATTRIBUTE
+XML_ERR_LT_REQUIRED
+XML_ERR_MISPLACED_CDATA_END
+XML_ERR_MISSING_ENCODING
+XML_ERR_MIXED_NOT_FINISHED
+XML_ERR_MIXED_NOT_STARTED
+XML_ERR_NAME_REQUIRED
+XML_ERR_NMTOKEN_REQUIRED
+XML_ERR_NONE
+XML_ERR_NOTATION_NOT_FINISHED
+XML_ERR_NOTATION_NOT_STARTED
+XML_ERR_NOT_WELL_BALANCED
+XML_ERR_NO_DTD
+XML_ERR_NO_MEMORY
+XML_ERR_NS_DECL_ERROR
+XML_ERR_OK
+XML_ERR_PCDATA_REQUIRED
+XML_ERR_PEREF_AT_EOF
+XML_ERR_PEREF_IN_EPILOG
+XML_ERR_PEREF_IN_INT_SUBSET
+XML_ERR_PEREF_IN_PROLOG
+XML_ERR_PEREF_NO_NAME
+XML_ERR_PEREF_SEMICOL_MISSING
+XML_ERR_PI_NOT_FINISHED
+XML_ERR_PI_NOT_STARTED
+XML_ERR_PUBID_REQUIRED
+XML_ERR_RESERVED_XML_NAME
+XML_ERR_SEPARATOR_REQUIRED
+XML_ERR_SPACE_REQUIRED
+XML_ERR_STANDALONE_VALUE
+XML_ERR_STRING_NOT_CLOSED
+XML_ERR_STRING_NOT_STARTED
+XML_ERR_TAG_NAME_MISMATCH
+XML_ERR_TAG_NOT_FINISHED
+XML_ERR_UNDECLARED_ENTITY
+XML_ERR_UNKNOWN_ENCODING
+XML_ERR_UNPARSED_ENTITY
+XML_ERR_UNSUPPORTED_ENCODING
+XML_ERR_URI_FRAGMENT
+XML_ERR_URI_REQUIRED
+XML_ERR_VALUE_REQUIRED
+XML_ERR_VERSION_MISSING
+XML_ERR_WARNING
+XML_ERR_XMLDECL_NOT_FINISHED
+XML_ERR_XMLDECL_NOT_STARTED
+XML_FROM_C14N
+XML_FROM_CATALOG
+XML_FROM_DATATYPE
+XML_FROM_DTD
+XML_FROM_FTP
+XML_FROM_HTML
+XML_FROM_HTTP
+XML_FROM_IO
+XML_FROM_MEMORY
+XML_FROM_NAMESPACE
+XML_FROM_NONE
+XML_FROM_OUTPUT
+XML_FROM_PARSER
+XML_FROM_REGEXP
+XML_FROM_RELAXNGP
+XML_FROM_RELAXNGV
+XML_FROM_SCHEMASP
+XML_FROM_SCHEMASV
+XML_FROM_TREE
+XML_FROM_VALID
+XML_FROM_XINCLUDE
+XML_FROM_XPATH
+XML_FROM_XPOINTER
+XML_FROM_XSLT
+XML_FTP_ACCNT
+XML_FTP_EPSV_ANSWER
+XML_FTP_PASV_ANSWER
+XML_HTML_STRUCURE_ERROR
+XML_HTML_UNKNOWN_TAG
+XML_HTTP_UNKNOWN_HOST
+XML_HTTP_URL_SYNTAX
+XML_HTTP_USE_IP
+XML_IO_BUFFER_FULL
+XML_IO_EACCES
+XML_IO_EADDRINUSE
+XML_IO_EAFNOSUPPORT
+XML_IO_EAGAIN
+XML_IO_EALREADY
+XML_IO_EBADF
+XML_IO_EBADMSG
+XML_IO_EBUSY
+XML_IO_ECANCELED
+XML_IO_ECHILD
+XML_IO_ECONNREFUSED
+XML_IO_EDEADLK
+XML_IO_EDOM
+XML_IO_EEXIST
+XML_IO_EFAULT
+XML_IO_EFBIG
+XML_IO_EINPROGRESS
+XML_IO_EINTR
+XML_IO_EINVAL
+XML_IO_EIO
+XML_IO_EISCONN
+XML_IO_EISDIR
+XML_IO_EMFILE
+XML_IO_EMLINK
+XML_IO_EMSGSIZE
+XML_IO_ENAMETOOLONG
+XML_IO_ENCODER
+XML_IO_ENETUNREACH
+XML_IO_ENFILE
+XML_IO_ENODEV
+XML_IO_ENOENT
+XML_IO_ENOEXEC
+XML_IO_ENOLCK
+XML_IO_ENOMEM
+XML_IO_ENOSPC
+XML_IO_ENOSYS
+XML_IO_ENOTDIR
+XML_IO_ENOTEMPTY
+XML_IO_ENOTSOCK
+XML_IO_ENOTSUP
+XML_IO_ENOTTY
+XML_IO_ENXIO
+XML_IO_EPERM
+XML_IO_EPIPE
+XML_IO_ERANGE
+XML_IO_EROFS
+XML_IO_ESPIPE
+XML_IO_ESRCH
+XML_IO_ETIMEDOUT
+XML_IO_EXDEV
+XML_IO_FLUSH
+XML_IO_LOAD_ERROR
+XML_IO_NETWORK_ATTEMPT
+XML_IO_NO_INPUT
+XML_IO_UNKNOWN
+XML_IO_WRITE
+XML_NS_ERR_ATTRIBUTE_REDEFINED
+XML_NS_ERR_QNAME
+XML_NS_ERR_UNDEFINED_NAMESPACE
+XML_NS_ERR_XML_NAMESPACE
+XML_REGEXP_COMPILE_ERROR
+XML_RNGP_ANYNAME_ATTR_ANCESTOR
+XML_RNGP_ATTRIBUTE_CHILDREN
+XML_RNGP_ATTRIBUTE_CONTENT
+XML_RNGP_ATTRIBUTE_EMPTY
+XML_RNGP_ATTRIBUTE_NOOP
+XML_RNGP_ATTR_CONFLICT
+XML_RNGP_CHOICE_CONTENT
+XML_RNGP_CHOICE_EMPTY
+XML_RNGP_CREATE_FAILURE
+XML_RNGP_DATA_CONTENT
+XML_RNGP_DEFINE_CREATE_FAILED
+XML_RNGP_DEFINE_EMPTY
+XML_RNGP_DEFINE_MISSING
+XML_RNGP_DEFINE_NAME_MISSING
+XML_RNGP_DEF_CHOICE_AND_INTERLEAVE
+XML_RNGP_ELEMENT_CONTENT
+XML_RNGP_ELEMENT_EMPTY
+XML_RNGP_ELEMENT_NAME
+XML_RNGP_ELEMENT_NO_CONTENT
+XML_RNGP_ELEM_CONTENT_EMPTY
+XML_RNGP_ELEM_CONTENT_ERROR
+XML_RNGP_ELEM_TEXT_CONFLICT
+XML_RNGP_EMPTY
+XML_RNGP_EMPTY_CONSTRUCT
+XML_RNGP_EMPTY_CONTENT
+XML_RNGP_EMPTY_NOT_EMPTY
+XML_RNGP_ERROR_TYPE_LIB
+XML_RNGP_EXCEPT_EMPTY
+XML_RNGP_EXCEPT_MISSING
+XML_RNGP_EXCEPT_MULTIPLE
+XML_RNGP_EXCEPT_NO_CONTENT
+XML_RNGP_EXTERNALREF_EMTPY
+XML_RNGP_EXTERNALREF_RECURSE
+XML_RNGP_EXTERNAL_REF_FAILURE
+XML_RNGP_FORBIDDEN_ATTRIBUTE
+XML_RNGP_FOREIGN_ELEMENT
+XML_RNGP_GRAMMAR_CONTENT
+XML_RNGP_GRAMMAR_EMPTY
+XML_RNGP_GRAMMAR_MISSING
+XML_RNGP_GRAMMAR_NO_START
+XML_RNGP_GROUP_ATTR_CONFLICT
+XML_RNGP_HREF_ERROR
+XML_RNGP_INCLUDE_EMPTY
+XML_RNGP_INCLUDE_FAILURE
+XML_RNGP_INCLUDE_RECURSE
+XML_RNGP_INTERLEAVE_ADD
+XML_RNGP_INTERLEAVE_CREATE_FAILED
+XML_RNGP_INTERLEAVE_EMPTY
+XML_RNGP_INTERLEAVE_NO_CONTENT
+XML_RNGP_INVALID_DEFINE_NAME
+XML_RNGP_INVALID_URI
+XML_RNGP_INVALID_VALUE
+XML_RNGP_MISSING_HREF
+XML_RNGP_NAME_MISSING
+XML_RNGP_NEED_COMBINE
+XML_RNGP_NOTALLOWED_NOT_EMPTY
+XML_RNGP_NSNAME_ATTR_ANCESTOR
+XML_RNGP_NSNAME_NO_NS
+XML_RNGP_PARAM_FORBIDDEN
+XML_RNGP_PARAM_NAME_MISSING
+XML_RNGP_PARENTREF_CREATE_FAILED
+XML_RNGP_PARENTREF_NAME_INVALID
+XML_RNGP_PARENTREF_NOT_EMPTY
+XML_RNGP_PARENTREF_NO_NAME
+XML_RNGP_PARENTREF_NO_PARENT
+XML_RNGP_PARSE_ERROR
+XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME
+XML_RNGP_PAT_ATTR_ATTR
+XML_RNGP_PAT_ATTR_ELEM
+XML_RNGP_PAT_DATA_EXCEPT_ATTR
+XML_RNGP_PAT_DATA_EXCEPT_ELEM
+XML_RNGP_PAT_DATA_EXCEPT_EMPTY
+XML_RNGP_PAT_DATA_EXCEPT_GROUP
+XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE
+XML_RNGP_PAT_DATA_EXCEPT_LIST
+XML_RNGP_PAT_DATA_EXCEPT_ONEMORE
+XML_RNGP_PAT_DATA_EXCEPT_REF
+XML_RNGP_PAT_DATA_EXCEPT_TEXT
+XML_RNGP_PAT_LIST_ATTR
+XML_RNGP_PAT_LIST_ELEM
+XML_RNGP_PAT_LIST_INTERLEAVE
+XML_RNGP_PAT_LIST_LIST
+XML_RNGP_PAT_LIST_REF
+XML_RNGP_PAT_LIST_TEXT
+XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME
+XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME
+XML_RNGP_PAT_ONEMORE_GROUP_ATTR
+XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR
+XML_RNGP_PAT_START_ATTR
+XML_RNGP_PAT_START_DATA
+XML_RNGP_PAT_START_EMPTY
+XML_RNGP_PAT_START_GROUP
+XML_RNGP_PAT_START_INTERLEAVE
+XML_RNGP_PAT_START_LIST
+XML_RNGP_PAT_START_ONEMORE
+XML_RNGP_PAT_START_TEXT
+XML_RNGP_PAT_START_VALUE
+XML_RNGP_PREFIX_UNDEFINED
+XML_RNGP_REF_CREATE_FAILED
+XML_RNGP_REF_CYCLE
+XML_RNGP_REF_NAME_INVALID
+XML_RNGP_REF_NOT_EMPTY
+XML_RNGP_REF_NO_DEF
+XML_RNGP_REF_NO_NAME
+XML_RNGP_START_CHOICE_AND_INTERLEAVE
+XML_RNGP_START_CONTENT
+XML_RNGP_START_EMPTY
+XML_RNGP_START_MISSING
+XML_RNGP_TEXT_EXPECTED
+XML_RNGP_TEXT_HAS_CHILD
+XML_RNGP_TYPE_MISSING
+XML_RNGP_TYPE_NOT_FOUND
+XML_RNGP_TYPE_VALUE
+XML_RNGP_UNKNOWN_ATTRIBUTE
+XML_RNGP_UNKNOWN_COMBINE
+XML_RNGP_UNKNOWN_CONSTRUCT
+XML_RNGP_UNKNOWN_TYPE_LIB
+XML_RNGP_URI_FRAGMENT
+XML_RNGP_URI_NOT_ABSOLUTE
+XML_RNGP_VALUE_EMPTY
+XML_RNGP_VALUE_NO_CONTENT
+XML_RNGP_XMLNS_NAME
+XML_RNGP_XML_NS
+XML_SAVE_CHAR_INVALID
+XML_SAVE_NOT_UTF8
+XML_SAVE_NO_DOCTYPE
+XML_SAVE_UNKNOWN_ENCODING
+XML_SCHEMAP_ATTRFORMDEFAULT_VALUE
+XML_SCHEMAP_ATTRGRP_NONAME_NOREF
+XML_SCHEMAP_ATTR_NONAME_NOREF
+XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF
+XML_SCHEMAP_DEF_AND_PREFIX
+XML_SCHEMAP_ELEMFORMDEFAULT_VALUE
+XML_SCHEMAP_ELEM_DEFAULT_FIXED
+XML_SCHEMAP_ELEM_NONAME_NOREF
+XML_SCHEMAP_EXTENSION_NO_BASE
+XML_SCHEMAP_FACET_NO_VALUE
+XML_SCHEMAP_FAILED_BUILD_IMPORT
+XML_SCHEMAP_FAILED_LOAD
+XML_SCHEMAP_FAILED_PARSE
+XML_SCHEMAP_GROUP_NONAME_NOREF
+XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI
+XML_SCHEMAP_IMPORT_REDEFINE_NSNAME
+XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI
+XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI
+XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI
+XML_SCHEMAP_INVALID_BOOLEAN
+XML_SCHEMAP_INVALID_ENUM
+XML_SCHEMAP_INVALID_FACET
+XML_SCHEMAP_INVALID_FACET_VALUE
+XML_SCHEMAP_INVALID_MAXOCCURS
+XML_SCHEMAP_INVALID_MINOCCURS
+XML_SCHEMAP_INVALID_REF_AND_SUBTYPE
+XML_SCHEMAP_INVALID_WHITE_SPACE
+XML_SCHEMAP_NOATTR_NOREF
+XML_SCHEMAP_NOROOT
+XML_SCHEMAP_NOTATION_NO_NAME
+XML_SCHEMAP_NOTHING_TO_PARSE
+XML_SCHEMAP_NOTYPE_NOREF
+XML_SCHEMAP_NOT_SCHEMA
+XML_SCHEMAP_PREFIX_UNDEFINED
+XML_SCHEMAP_REDEFINED_ATTR
+XML_SCHEMAP_REDEFINED_ATTRGROUP
+XML_SCHEMAP_REDEFINED_ELEMENT
+XML_SCHEMAP_REDEFINED_GROUP
+XML_SCHEMAP_REDEFINED_NOTATION
+XML_SCHEMAP_REDEFINED_TYPE
+XML_SCHEMAP_REF_AND_SUBTYPE
+XML_SCHEMAP_REGEXP_INVALID
+XML_SCHEMAP_RESTRICTION_NONAME_NOREF
+XML_SCHEMAP_SIMPLETYPE_NONAME
+XML_SCHEMAP_TYPE_AND_SUBTYPE
+XML_SCHEMAP_UNKNOWN_ALL_CHILD
+XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD
+XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD
+XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP
+XML_SCHEMAP_UNKNOWN_ATTR_CHILD
+XML_SCHEMAP_UNKNOWN_BASE_TYPE
+XML_SCHEMAP_UNKNOWN_CHOICE_CHILD
+XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD
+XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD
+XML_SCHEMAP_UNKNOWN_ELEM_CHILD
+XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD
+XML_SCHEMAP_UNKNOWN_FACET_CHILD
+XML_SCHEMAP_UNKNOWN_FACET_TYPE
+XML_SCHEMAP_UNKNOWN_GROUP_CHILD
+XML_SCHEMAP_UNKNOWN_IMPORT_CHILD
+XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD
+XML_SCHEMAP_UNKNOWN_LIST_CHILD
+XML_SCHEMAP_UNKNOWN_NOTATION_CHILD
+XML_SCHEMAP_UNKNOWN_PREFIX
+XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD
+XML_SCHEMAP_UNKNOWN_REF
+XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD
+XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD
+XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD
+XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD
+XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD
+XML_SCHEMAP_UNKNOWN_TYPE
+XML_SCHEMAP_UNKNOWN_UNION_CHILD
+XML_SCHEMAV_ATTRINVALID
+XML_SCHEMAV_ATTRUNKNOWN
+XML_SCHEMAV_CONSTRUCT
+XML_SCHEMAV_ELEMCONT
+XML_SCHEMAV_EXTRACONTENT
+XML_SCHEMAV_FACET
+XML_SCHEMAV_HAVEDEFAULT
+XML_SCHEMAV_INTERNAL
+XML_SCHEMAV_INVALIDATTR
+XML_SCHEMAV_INVALIDELEM
+XML_SCHEMAV_ISABSTRACT
+XML_SCHEMAV_MISSING
+XML_SCHEMAV_NOROLLBACK
+XML_SCHEMAV_NOROOT
+XML_SCHEMAV_NOTDETERMINIST
+XML_SCHEMAV_NOTEMPTY
+XML_SCHEMAV_NOTNILLABLE
+XML_SCHEMAV_NOTSIMPLE
+XML_SCHEMAV_NOTTOPLEVEL
+XML_SCHEMAV_NOTYPE
+XML_SCHEMAV_UNDECLAREDELEM
+XML_SCHEMAV_VALUE
+XML_SCHEMAV_WRONGELEM
+XML_TREE_INVALID_DEC
+XML_TREE_INVALID_HEX
+XML_TREE_UNTERMINATED_ENTITY
+XML_WAR_CATALOG_PI
+XML_WAR_LANG_VALUE
+XML_WAR_NS_URI
+XML_WAR_NS_URI_RELATIVE
+XML_WAR_UNDECLARED_ENTITY
+XML_WAR_UNKNOWN_VERSION
+XML_XINCLUDE_BUILD_FAILED
+XML_XINCLUDE_DEPRECATED_NS
+XML_XINCLUDE_ENTITY_DEF_MISMATCH
+XML_XINCLUDE_FALLBACKS_IN_INCLUDE
+XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE
+XML_XINCLUDE_FRAGMENT_ID
+XML_XINCLUDE_HREF_URI
+XML_XINCLUDE_INCLUDE_IN_INCLUDE
+XML_XINCLUDE_INVALID_CHAR
+XML_XINCLUDE_MULTIPLE_ROOT
+XML_XINCLUDE_NO_FALLBACK
+XML_XINCLUDE_NO_HREF
+XML_XINCLUDE_PARSE_VALUE
+XML_XINCLUDE_RECURSION
+XML_XINCLUDE_TEXT_DOCUMENT
+XML_XINCLUDE_TEXT_FRAGMENT
+XML_XINCLUDE_UNKNOWN_ENCODING
+XML_XINCLUDE_XPTR_FAILED
+XML_XINCLUDE_XPTR_RESULT
+XML_XPATH_ENCODING_ERROR
+XML_XPATH_EXPRESSION_OK
+XML_XPATH_EXPR_ERROR
+XML_XPATH_INVALID_ARITY
+XML_XPATH_INVALID_CHAR_ERROR
+XML_XPATH_INVALID_CTXT_POSITION
+XML_XPATH_INVALID_CTXT_SIZE
+XML_XPATH_INVALID_OPERAND
+XML_XPATH_INVALID_PREDICATE_ERROR
+XML_XPATH_INVALID_TYPE
+XML_XPATH_MEMORY_ERROR
+XML_XPATH_NUMBER_ERROR
+XML_XPATH_START_LITERAL_ERROR
+XML_XPATH_UNCLOSED_ERROR
+XML_XPATH_UNDEF_PREFIX_ERROR
+XML_XPATH_UNDEF_VARIABLE_ERROR
+XML_XPATH_UNFINISHED_LITERAL_ERROR
+XML_XPATH_UNKNOWN_FUNC_ERROR
+XML_XPATH_VARIABLE_REF_ERROR
+XML_XPTR_CHILDSEQ_START
+XML_XPTR_EVAL_FAILED
+XML_XPTR_EXTRA_OBJECTS
+XML_XPTR_RESOURCE_ERROR
+XML_XPTR_SUB_RESOURCE_ERROR
+XML_XPTR_SYNTAX_ERROR
+XML_XPTR_UNKNOWN_SCHEME
+_xmlError
+initGenericErrorDefaultFunc
+xmlCopyError
+xmlCtxtGetLastError
+xmlCtxtResetLastError
+xmlError
+xmlErrorDomain
+xmlErrorLevel
+xmlErrorPtr
+xmlGenericErrorFunc
+xmlGetLastError
+xmlParserError
+xmlParserErrors
+xmlParserPrintFileContext
+xmlParserPrintFileInfo
+xmlParserValidityError
+xmlParserValidityWarning
+xmlParserWarning
+xmlResetError
+xmlResetLastError
+xmlSetGenericErrorFunc
+xmlSetStructuredErrorFunc
+xmlStructuredErrorFunc
+

Module xmlexports:

LIBXML_DLL_IMPORT
+XMLCALL
+XMLPUBFUN
+XMLPUBVAR
+_REENTRANT
+

Module xmlmemory:

DEBUG_MEMORY
+xmlCleanupMemory
+xmlFreeFunc
+xmlGcMemGet
+xmlGcMemSetup
+xmlInitMemory
+xmlMalloc
+xmlMallocAtomic
+xmlMallocAtomicLoc
+xmlMallocFunc
+xmlMallocLoc
+xmlMemDisplay
+xmlMemFree
+xmlMemGet
+xmlMemMalloc
+xmlMemRealloc
+xmlMemSetup
+xmlMemShow
+xmlMemStrdup
+xmlMemStrdupLoc
+xmlMemUsed
+xmlMemoryDump
+xmlMemoryStrdup
+xmlRealloc
+xmlReallocFunc
+xmlReallocLoc
+xmlStrdupFunc
+

Module xmlreader:

XML_PARSER_DEFAULTATTRS
+XML_PARSER_LOADDTD
+XML_PARSER_SEVERITY_ERROR
+XML_PARSER_SEVERITY_VALIDITY_ERROR
+XML_PARSER_SEVERITY_VALIDITY_WARNING
+XML_PARSER_SEVERITY_WARNING
+XML_PARSER_SUBST_ENTITIES
+XML_PARSER_VALIDATE
+XML_READER_TYPE_ATTRIBUTE
+XML_READER_TYPE_CDATA
+XML_READER_TYPE_COMMENT
+XML_READER_TYPE_DOCUMENT
+XML_READER_TYPE_DOCUMENT_FRAGMENT
+XML_READER_TYPE_DOCUMENT_TYPE
+XML_READER_TYPE_ELEMENT
+XML_READER_TYPE_END_ELEMENT
+XML_READER_TYPE_END_ENTITY
+XML_READER_TYPE_ENTITY
+XML_READER_TYPE_ENTITY_REFERENCE
+XML_READER_TYPE_NONE
+XML_READER_TYPE_NOTATION
+XML_READER_TYPE_PROCESSING_INSTRUCTION
+XML_READER_TYPE_SIGNIFICANT_WHITESPACE
+XML_READER_TYPE_TEXT
+XML_READER_TYPE_WHITESPACE
+XML_READER_TYPE_XML_DECLARATION
+xmlFreeTextReader
+xmlNewTextReader
+xmlNewTextReaderFilename
+xmlParserProperties
+xmlParserSeverities
+xmlReaderForDoc
+xmlReaderForFd
+xmlReaderForFile
+xmlReaderForIO
+xmlReaderForMemory
+xmlReaderNewDoc
+xmlReaderNewFd
+xmlReaderNewFile
+xmlReaderNewIO
+xmlReaderNewMemory
+xmlReaderNewWalker
+xmlReaderTypes
+xmlReaderWalker
+xmlTextReader
+xmlTextReaderAttributeCount
+xmlTextReaderBaseUri
+xmlTextReaderClose
+xmlTextReaderConstBaseUri
+xmlTextReaderConstLocalName
+xmlTextReaderConstName
+xmlTextReaderConstNamespaceUri
+xmlTextReaderConstPrefix
+xmlTextReaderConstString
+xmlTextReaderConstValue
+xmlTextReaderConstXmlLang
+xmlTextReaderCurrentDoc
+xmlTextReaderCurrentNode
+xmlTextReaderDepth
+xmlTextReaderErrorFunc
+xmlTextReaderExpand
+xmlTextReaderGetAttribute
+xmlTextReaderGetAttributeNo
+xmlTextReaderGetAttributeNs
+xmlTextReaderGetErrorHandler
+xmlTextReaderGetParserProp
+xmlTextReaderGetRemainder
+xmlTextReaderHasAttributes
+xmlTextReaderHasValue
+xmlTextReaderIsDefault
+xmlTextReaderIsEmptyElement
+xmlTextReaderIsValid
+xmlTextReaderLocalName
+xmlTextReaderLocatorBaseURI
+xmlTextReaderLocatorLineNumber
+xmlTextReaderLocatorPtr
+xmlTextReaderLookupNamespace
+xmlTextReaderMoveToAttribute
+xmlTextReaderMoveToAttributeNo
+xmlTextReaderMoveToAttributeNs
+xmlTextReaderMoveToElement
+xmlTextReaderMoveToFirstAttribute
+xmlTextReaderMoveToNextAttribute
+xmlTextReaderName
+xmlTextReaderNamespaceUri
+xmlTextReaderNext
+xmlTextReaderNextSibling
+xmlTextReaderNodeType
+xmlTextReaderNormalization
+xmlTextReaderPrefix
+xmlTextReaderPreserve
+xmlTextReaderPreservePattern
+xmlTextReaderPtr
+xmlTextReaderQuoteChar
+xmlTextReaderRead
+xmlTextReaderReadAttributeValue
+xmlTextReaderReadInnerXml
+xmlTextReaderReadOuterXml
+xmlTextReaderReadState
+xmlTextReaderReadString
+xmlTextReaderRelaxNGSetSchema
+xmlTextReaderRelaxNGValidate
+xmlTextReaderSetErrorHandler
+xmlTextReaderSetParserProp
+xmlTextReaderSetStructuredErrorHandler
+xmlTextReaderValue
+xmlTextReaderXmlLang
+

Module xmlregexp:

xmlRegExecCallbacks
+xmlRegExecCtxt
+xmlRegExecCtxtPtr
+xmlRegExecPushString
+xmlRegExecPushString2
+xmlRegFreeExecCtxt
+xmlRegFreeRegexp
+xmlRegNewExecCtxt
+xmlRegexp
+xmlRegexpCompile
+xmlRegexpExec
+xmlRegexpIsDeterminist
+xmlRegexpPrint
+xmlRegexpPtr
+

Module xmlsave:

xmlSaveClose
+xmlSaveCtxt
+xmlSaveCtxtPtr
+xmlSaveDoc
+xmlSaveFlush
+xmlSaveToBuffer
+xmlSaveToFd
+xmlSaveToFilename
+xmlSaveToIO
+xmlSaveTree
+

Module xmlschemas:

XML_SCHEMAS_ERR_
+XML_SCHEMAS_ERR_ATTRINVALID
+XML_SCHEMAS_ERR_ATTRUNKNOWN
+XML_SCHEMAS_ERR_CONSTRUCT
+XML_SCHEMAS_ERR_ELEMCONT
+XML_SCHEMAS_ERR_EXTRACONTENT
+XML_SCHEMAS_ERR_FACET
+XML_SCHEMAS_ERR_HAVEDEFAULT
+XML_SCHEMAS_ERR_INTERNAL
+XML_SCHEMAS_ERR_INVALIDATTR
+XML_SCHEMAS_ERR_INVALIDELEM
+XML_SCHEMAS_ERR_ISABSTRACT
+XML_SCHEMAS_ERR_MISSING
+XML_SCHEMAS_ERR_NOROLLBACK
+XML_SCHEMAS_ERR_NOROOT
+XML_SCHEMAS_ERR_NOTDETERMINIST
+XML_SCHEMAS_ERR_NOTEMPTY
+XML_SCHEMAS_ERR_NOTNILLABLE
+XML_SCHEMAS_ERR_NOTSIMPLE
+XML_SCHEMAS_ERR_NOTTOPLEVEL
+XML_SCHEMAS_ERR_NOTYPE
+XML_SCHEMAS_ERR_OK
+XML_SCHEMAS_ERR_UNDECLAREDELEM
+XML_SCHEMAS_ERR_VALUE
+XML_SCHEMAS_ERR_WRONGELEM
+XML_SCHEMAS_ERR_XXX
+xmlSchema
+xmlSchemaDump
+xmlSchemaFree
+xmlSchemaFreeParserCtxt
+xmlSchemaFreeValidCtxt
+xmlSchemaNewDocParserCtxt
+xmlSchemaNewMemParserCtxt
+xmlSchemaNewParserCtxt
+xmlSchemaNewValidCtxt
+xmlSchemaParse
+xmlSchemaParserCtxt
+xmlSchemaParserCtxtPtr
+xmlSchemaPtr
+xmlSchemaSetParserErrors
+xmlSchemaSetValidErrors
+xmlSchemaValidCtxt
+xmlSchemaValidCtxtPtr
+xmlSchemaValidError
+xmlSchemaValidateDoc
+xmlSchemaValidateStream
+xmlSchemaValidityErrorFunc
+xmlSchemaValidityWarningFunc
+

Module xmlschemastypes:

xmlSchemaCheckFacet
+xmlSchemaCleanupTypes
+xmlSchemaCompareValues
+xmlSchemaFreeFacet
+xmlSchemaFreeValue
+xmlSchemaGetPredefinedType
+xmlSchemaInitTypes
+xmlSchemaNewFacet
+xmlSchemaValPredefTypeNode
+xmlSchemaValidateFacet
+xmlSchemaValidatePredefinedType
+

Module xmlstring:

BAD_CAST
+xmlChar
+xmlCharStrdup
+xmlCharStrndup
+xmlCheckUTF8
+xmlGetUTF8Char
+xmlStrEqual
+xmlStrPrintf
+xmlStrQEqual
+xmlStrVPrintf
+xmlStrcasecmp
+xmlStrcasestr
+xmlStrcat
+xmlStrchr
+xmlStrcmp
+xmlStrdup
+xmlStrlen
+xmlStrncasecmp
+xmlStrncat
+xmlStrncatNew
+xmlStrncmp
+xmlStrndup
+xmlStrstr
+xmlStrsub
+xmlUTF8Charcmp
+xmlUTF8Size
+xmlUTF8Strlen
+xmlUTF8Strloc
+xmlUTF8Strndup
+xmlUTF8Strpos
+xmlUTF8Strsize
+xmlUTF8Strsub
+

Module xmlunicode:

xmlUCSIsAegeanNumbers
+xmlUCSIsAlphabeticPresentationForms
+xmlUCSIsArabic
+xmlUCSIsArabicPresentationFormsA
+xmlUCSIsArabicPresentationFormsB
+xmlUCSIsArmenian
+xmlUCSIsArrows
+xmlUCSIsBasicLatin
+xmlUCSIsBengali
+xmlUCSIsBlock
+xmlUCSIsBlockElements
+xmlUCSIsBopomofo
+xmlUCSIsBopomofoExtended
+xmlUCSIsBoxDrawing
+xmlUCSIsBraillePatterns
+xmlUCSIsBuhid
+xmlUCSIsByzantineMusicalSymbols
+xmlUCSIsCJKCompatibility
+xmlUCSIsCJKCompatibilityForms
+xmlUCSIsCJKCompatibilityIdeographs
+xmlUCSIsCJKCompatibilityIdeographsSupplement
+xmlUCSIsCJKRadicalsSupplement
+xmlUCSIsCJKSymbolsandPunctuation
+xmlUCSIsCJKUnifiedIdeographs
+xmlUCSIsCJKUnifiedIdeographsExtensionA
+xmlUCSIsCJKUnifiedIdeographsExtensionB
+xmlUCSIsCat
+xmlUCSIsCatC
+xmlUCSIsCatCc
+xmlUCSIsCatCf
+xmlUCSIsCatCo
+xmlUCSIsCatCs
+xmlUCSIsCatL
+xmlUCSIsCatLl
+xmlUCSIsCatLm
+xmlUCSIsCatLo
+xmlUCSIsCatLt
+xmlUCSIsCatLu
+xmlUCSIsCatM
+xmlUCSIsCatMc
+xmlUCSIsCatMe
+xmlUCSIsCatMn
+xmlUCSIsCatN
+xmlUCSIsCatNd
+xmlUCSIsCatNl
+xmlUCSIsCatNo
+xmlUCSIsCatP
+xmlUCSIsCatPc
+xmlUCSIsCatPd
+xmlUCSIsCatPe
+xmlUCSIsCatPf
+xmlUCSIsCatPi
+xmlUCSIsCatPo
+xmlUCSIsCatPs
+xmlUCSIsCatS
+xmlUCSIsCatSc
+xmlUCSIsCatSk
+xmlUCSIsCatSm
+xmlUCSIsCatSo
+xmlUCSIsCatZ
+xmlUCSIsCatZl
+xmlUCSIsCatZp
+xmlUCSIsCatZs
+xmlUCSIsCherokee
+xmlUCSIsCombiningDiacriticalMarks
+xmlUCSIsCombiningDiacriticalMarksforSymbols
+xmlUCSIsCombiningHalfMarks
+xmlUCSIsCombiningMarksforSymbols
+xmlUCSIsControlPictures
+xmlUCSIsCurrencySymbols
+xmlUCSIsCypriotSyllabary
+xmlUCSIsCyrillic
+xmlUCSIsCyrillicSupplement
+xmlUCSIsDeseret
+xmlUCSIsDevanagari
+xmlUCSIsDingbats
+xmlUCSIsEnclosedAlphanumerics
+xmlUCSIsEnclosedCJKLettersandMonths
+xmlUCSIsEthiopic
+xmlUCSIsGeneralPunctuation
+xmlUCSIsGeometricShapes
+xmlUCSIsGeorgian
+xmlUCSIsGothic
+xmlUCSIsGreek
+xmlUCSIsGreekExtended
+xmlUCSIsGreekandCoptic
+xmlUCSIsGujarati
+xmlUCSIsGurmukhi
+xmlUCSIsHalfwidthandFullwidthForms
+xmlUCSIsHangulCompatibilityJamo
+xmlUCSIsHangulJamo
+xmlUCSIsHangulSyllables
+xmlUCSIsHanunoo
+xmlUCSIsHebrew
+xmlUCSIsHighPrivateUseSurrogates
+xmlUCSIsHighSurrogates
+xmlUCSIsHiragana
+xmlUCSIsIPAExtensions
+xmlUCSIsIdeographicDescriptionCharacters
+xmlUCSIsKanbun
+xmlUCSIsKangxiRadicals
+xmlUCSIsKannada
+xmlUCSIsKatakana
+xmlUCSIsKatakanaPhoneticExtensions
+xmlUCSIsKhmer
+xmlUCSIsKhmerSymbols
+xmlUCSIsLao
+xmlUCSIsLatin1Supplement
+xmlUCSIsLatinExtendedA
+xmlUCSIsLatinExtendedAdditional
+xmlUCSIsLatinExtendedB
+xmlUCSIsLetterlikeSymbols
+xmlUCSIsLimbu
+xmlUCSIsLinearBIdeograms
+xmlUCSIsLinearBSyllabary
+xmlUCSIsLowSurrogates
+xmlUCSIsMalayalam
+xmlUCSIsMathematicalAlphanumericSymbols
+xmlUCSIsMathematicalOperators
+xmlUCSIsMiscellaneousMathematicalSymbolsA
+xmlUCSIsMiscellaneousMathematicalSymbolsB
+xmlUCSIsMiscellaneousSymbols
+xmlUCSIsMiscellaneousSymbolsandArrows
+xmlUCSIsMiscellaneousTechnical
+xmlUCSIsMongolian
+xmlUCSIsMusicalSymbols
+xmlUCSIsMyanmar
+xmlUCSIsNumberForms
+xmlUCSIsOgham
+xmlUCSIsOldItalic
+xmlUCSIsOpticalCharacterRecognition
+xmlUCSIsOriya
+xmlUCSIsOsmanya
+xmlUCSIsPhoneticExtensions
+xmlUCSIsPrivateUse
+xmlUCSIsPrivateUseArea
+xmlUCSIsRunic
+xmlUCSIsShavian
+xmlUCSIsSinhala
+xmlUCSIsSmallFormVariants
+xmlUCSIsSpacingModifierLetters
+xmlUCSIsSpecials
+xmlUCSIsSuperscriptsandSubscripts
+xmlUCSIsSupplementalArrowsA
+xmlUCSIsSupplementalArrowsB
+xmlUCSIsSupplementalMathematicalOperators
+xmlUCSIsSupplementaryPrivateUseAreaA
+xmlUCSIsSupplementaryPrivateUseAreaB
+xmlUCSIsSyriac
+xmlUCSIsTagalog
+xmlUCSIsTagbanwa
+xmlUCSIsTags
+xmlUCSIsTaiLe
+xmlUCSIsTaiXuanJingSymbols
+xmlUCSIsTamil
+xmlUCSIsTelugu
+xmlUCSIsThaana
+xmlUCSIsThai
+xmlUCSIsTibetan
+xmlUCSIsUgaritic
+xmlUCSIsUnifiedCanadianAboriginalSyllabics
+xmlUCSIsVariationSelectors
+xmlUCSIsVariationSelectorsSupplement
+xmlUCSIsYiRadicals
+xmlUCSIsYiSyllables
+xmlUCSIsYijingHexagramSymbols
+

Module xmlversion:

ATTRIBUTE_UNUSED
+DEBUG_MEMORY_LOCATION
+LIBXML_AUTOMATA_ENABLED
+LIBXML_C14N_ENABLED
+LIBXML_CATALOG_ENABLED
+LIBXML_DEBUG_ENABLED
+LIBXML_DOCB_ENABLED
+LIBXML_DOTTED_VERSION
+LIBXML_FTP_ENABLED
+LIBXML_HTML_ENABLED
+LIBXML_HTTP_ENABLED
+LIBXML_ICONV_ENABLED
+LIBXML_ISO8859X_ENABLED
+LIBXML_LEGACY_ENABLED
+LIBXML_OUTPUT_ENABLED
+LIBXML_PATTERN_ENABLED
+LIBXML_PUSH_ENABLED
+LIBXML_READER_ENABLED
+LIBXML_REGEXP_ENABLED
+LIBXML_SAX1_ENABLED
+LIBXML_SCHEMAS_ENABLED
+LIBXML_TEST_VERSION
+LIBXML_THREAD_ENABLED
+LIBXML_TREE_ENABLED
+LIBXML_UNICODE_ENABLED
+LIBXML_VALID_ENABLED
+LIBXML_VERSION
+LIBXML_VERSION_STRING
+LIBXML_WRITER_ENABLED
+LIBXML_XINCLUDE_ENABLED
+LIBXML_XPATH_ENABLED
+LIBXML_XPTR_ENABLED
+WITHOUT_TRIO
+WITH_TRIO
+xmlCheckVersion
+

Module xmlwriter:

xmlFreeTextWriter
+xmlNewTextWriter
+xmlNewTextWriterDoc
+xmlNewTextWriterFilename
+xmlNewTextWriterMemory
+xmlNewTextWriterPushParser
+xmlNewTextWriterTree
+xmlTextWriter
+xmlTextWriterEndAttribute
+xmlTextWriterEndCDATA
+xmlTextWriterEndComment
+xmlTextWriterEndDTD
+xmlTextWriterEndDTDAttlist
+xmlTextWriterEndDTDElement
+xmlTextWriterEndDTDEntity
+xmlTextWriterEndDocument
+xmlTextWriterEndElement
+xmlTextWriterEndPI
+xmlTextWriterFlush
+xmlTextWriterFullEndElement
+xmlTextWriterPtr
+xmlTextWriterSetIndent
+xmlTextWriterSetIndentString
+xmlTextWriterStartAttribute
+xmlTextWriterStartAttributeNS
+xmlTextWriterStartCDATA
+xmlTextWriterStartComment
+xmlTextWriterStartDTD
+xmlTextWriterStartDTDAttlist
+xmlTextWriterStartDTDElement
+xmlTextWriterStartDTDEntity
+xmlTextWriterStartDocument
+xmlTextWriterStartElement
+xmlTextWriterStartElementNS
+xmlTextWriterStartPI
+xmlTextWriterWriteAttribute
+xmlTextWriterWriteAttributeNS
+xmlTextWriterWriteBase64
+xmlTextWriterWriteBinHex
+xmlTextWriterWriteCDATA
+xmlTextWriterWriteComment
+xmlTextWriterWriteDTD
+xmlTextWriterWriteDTDAttlist
+xmlTextWriterWriteDTDElement
+xmlTextWriterWriteDTDEntity
+xmlTextWriterWriteDTDExternalEntity
+xmlTextWriterWriteDTDExternalEntityContents
+xmlTextWriterWriteDTDInternalEntity
+xmlTextWriterWriteDTDNotation
+xmlTextWriterWriteDocType
+xmlTextWriterWriteElement
+xmlTextWriterWriteElementNS
+xmlTextWriterWriteFormatAttribute
+xmlTextWriterWriteFormatAttributeNS
+xmlTextWriterWriteFormatCDATA
+xmlTextWriterWriteFormatComment
+xmlTextWriterWriteFormatDTD
+xmlTextWriterWriteFormatDTDAttlist
+xmlTextWriterWriteFormatDTDElement
+xmlTextWriterWriteFormatDTDInternalEntity
+xmlTextWriterWriteFormatElement
+xmlTextWriterWriteFormatElementNS
+xmlTextWriterWriteFormatPI
+xmlTextWriterWriteFormatRaw
+xmlTextWriterWriteFormatString
+xmlTextWriterWritePI
+xmlTextWriterWriteProcessingInstruction
+xmlTextWriterWriteRaw
+xmlTextWriterWriteRawLen
+xmlTextWriterWriteString
+xmlTextWriterWriteVFormatAttribute
+xmlTextWriterWriteVFormatAttributeNS
+xmlTextWriterWriteVFormatCDATA
+xmlTextWriterWriteVFormatComment
+xmlTextWriterWriteVFormatDTD
+xmlTextWriterWriteVFormatDTDAttlist
+xmlTextWriterWriteVFormatDTDElement
+xmlTextWriterWriteVFormatDTDInternalEntity
+xmlTextWriterWriteVFormatElement
+xmlTextWriterWriteVFormatElementNS
+xmlTextWriterWriteVFormatPI
+xmlTextWriterWriteVFormatRaw
+xmlTextWriterWriteVFormatString
+

Module xpath:

XPATH_BOOLEAN
+XPATH_ENCODING_ERROR
+XPATH_EXPRESSION_OK
+XPATH_EXPR_ERROR
+XPATH_INVALID_ARITY
+XPATH_INVALID_CHAR_ERROR
+XPATH_INVALID_CTXT_POSITION
+XPATH_INVALID_CTXT_SIZE
+XPATH_INVALID_OPERAND
+XPATH_INVALID_PREDICATE_ERROR
+XPATH_INVALID_TYPE
+XPATH_LOCATIONSET
+XPATH_MEMORY_ERROR
+XPATH_NODESET
+XPATH_NUMBER
+XPATH_NUMBER_ERROR
+XPATH_POINT
+XPATH_RANGE
+XPATH_START_LITERAL_ERROR
+XPATH_STRING
+XPATH_UNCLOSED_ERROR
+XPATH_UNDEFINED
+XPATH_UNDEF_PREFIX_ERROR
+XPATH_UNDEF_VARIABLE_ERROR
+XPATH_UNFINISHED_LITERAL_ERROR
+XPATH_UNKNOWN_FUNC_ERROR
+XPATH_USERS
+XPATH_VARIABLE_REF_ERROR
+XPATH_XSLT_TREE
+XPTR_RESOURCE_ERROR
+XPTR_SUB_RESOURCE_ERROR
+XPTR_SYNTAX_ERROR
+_xmlNodeSet
+_xmlXPathAxis
+_xmlXPathContext
+_xmlXPathFunct
+_xmlXPathObject
+_xmlXPathParserContext
+_xmlXPathType
+_xmlXPathVariable
+xmlNodeSet
+xmlNodeSetPtr
+xmlXPathAxis
+xmlXPathAxisFunc
+xmlXPathAxisPtr
+xmlXPathCastBooleanToNumber
+xmlXPathCastBooleanToString
+xmlXPathCastNodeSetToBoolean
+xmlXPathCastNodeSetToNumber
+xmlXPathCastNodeSetToString
+xmlXPathCastNodeToNumber
+xmlXPathCastNodeToString
+xmlXPathCastNumberToBoolean
+xmlXPathCastNumberToString
+xmlXPathCastStringToBoolean
+xmlXPathCastStringToNumber
+xmlXPathCastToBoolean
+xmlXPathCastToNumber
+xmlXPathCastToString
+xmlXPathCmpNodes
+xmlXPathCompExpr
+xmlXPathCompExprPtr
+xmlXPathCompile
+xmlXPathCompiledEval
+xmlXPathContext
+xmlXPathContextPtr
+xmlXPathConvertBoolean
+xmlXPathConvertFunc
+xmlXPathConvertNumber
+xmlXPathConvertString
+xmlXPathCtxtCompile
+xmlXPathError
+xmlXPathEval
+xmlXPathEvalExpression
+xmlXPathEvalFunc
+xmlXPathEvalPredicate
+xmlXPathFreeCompExpr
+xmlXPathFreeContext
+xmlXPathFreeNodeSet
+xmlXPathFreeNodeSetList
+xmlXPathFreeObject
+xmlXPathFuncPtr
+xmlXPathFunct
+xmlXPathFunction
+xmlXPathInit
+xmlXPathIsInf
+xmlXPathIsNaN
+xmlXPathNAN
+xmlXPathNINF
+xmlXPathNewContext
+xmlXPathNodeSetCreate
+xmlXPathNodeSetGetLength
+xmlXPathNodeSetIsEmpty
+xmlXPathNodeSetItem
+xmlXPathObject
+xmlXPathObjectCopy
+xmlXPathObjectPtr
+xmlXPathObjectType
+xmlXPathOrderDocElems
+xmlXPathPINF
+xmlXPathParserContext
+xmlXPathParserContextPtr
+xmlXPathType
+xmlXPathTypePtr
+xmlXPathVariable
+xmlXPathVariablePtr
+

Module xpathInternals:

CAST_TO_BOOLEAN
+CAST_TO_NUMBER
+CAST_TO_STRING
+CHECK_ARITY
+CHECK_ERROR
+CHECK_ERROR0
+CHECK_TYPE
+CHECK_TYPE0
+XP_ERROR
+XP_ERROR0
+valuePop
+valuePush
+xmlXPathAddValues
+xmlXPathBooleanFunction
+xmlXPathCeilingFunction
+xmlXPathCheckError
+xmlXPathCompareValues
+xmlXPathConcatFunction
+xmlXPathContainsFunction
+xmlXPathCountFunction
+xmlXPathDebugDumpCompExpr
+xmlXPathDebugDumpObject
+xmlXPathDifference
+xmlXPathDistinct
+xmlXPathDistinctSorted
+xmlXPathDivValues
+xmlXPathEmptyNodeSet
+xmlXPathEqualValues
+xmlXPathErr
+xmlXPathEvalExpr
+xmlXPathEvaluatePredicateResult
+xmlXPathFalseFunction
+xmlXPathFloorFunction
+xmlXPathFreeParserContext
+xmlXPathFuncLookupFunc
+xmlXPathFunctionLookup
+xmlXPathFunctionLookupNS
+xmlXPathGetContextNode
+xmlXPathGetDocument
+xmlXPathGetError
+xmlXPathHasSameNodes
+xmlXPathIdFunction
+xmlXPathIntersection
+xmlXPathIsNodeType
+xmlXPathLangFunction
+xmlXPathLastFunction
+xmlXPathLeading
+xmlXPathLeadingSorted
+xmlXPathLocalNameFunction
+xmlXPathModValues
+xmlXPathMultValues
+xmlXPathNamespaceURIFunction
+xmlXPathNewBoolean
+xmlXPathNewCString
+xmlXPathNewFloat
+xmlXPathNewNodeSet
+xmlXPathNewNodeSetList
+xmlXPathNewParserContext
+xmlXPathNewString
+xmlXPathNewValueTree
+xmlXPathNextAncestor
+xmlXPathNextAncestorOrSelf
+xmlXPathNextAttribute
+xmlXPathNextChild
+xmlXPathNextDescendant
+xmlXPathNextDescendantOrSelf
+xmlXPathNextFollowing
+xmlXPathNextFollowingSibling
+xmlXPathNextNamespace
+xmlXPathNextParent
+xmlXPathNextPreceding
+xmlXPathNextPrecedingSibling
+xmlXPathNextSelf
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+xmlXPathNodeSetAdd
+xmlXPathNodeSetAddNs
+xmlXPathNodeSetAddUnique
+xmlXPathNodeSetContains
+xmlXPathNodeSetDel
+xmlXPathNodeSetFreeNs
+xmlXPathNodeSetMerge
+xmlXPathNodeSetRemove
+xmlXPathNodeSetSort
+xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPathNormalizeFunction
+xmlXPathNotEqualValues
+xmlXPathNotFunction
+xmlXPathNsLookup
+xmlXPathNumberFunction
+xmlXPathParseNCName
+xmlXPathParseName
+xmlXPathPopBoolean
+xmlXPathPopExternal
+xmlXPathPopNodeSet
+xmlXPathPopNumber
+xmlXPathPopString
+xmlXPathPositionFunction
+xmlXPathRegisterAllFunctions
+xmlXPathRegisterFunc
+xmlXPathRegisterFuncLookup
+xmlXPathRegisterFuncNS
+xmlXPathRegisterNs
+xmlXPathRegisterVariable
+xmlXPathRegisterVariableLookup
+xmlXPathRegisterVariableNS
+xmlXPathRegisteredFuncsCleanup
+xmlXPathRegisteredNsCleanup
+xmlXPathRegisteredVariablesCleanup
+xmlXPathReturnBoolean
+xmlXPathReturnEmptyNodeSet
+xmlXPathReturnEmptyString
+xmlXPathReturnExternal
+xmlXPathReturnFalse
+xmlXPathReturnNodeSet
+xmlXPathReturnNumber
+xmlXPathReturnString
+xmlXPathReturnTrue
+xmlXPathRoot
+xmlXPathRoundFunction
+xmlXPathSetArityError
+xmlXPathSetError
+xmlXPathSetTypeError
+xmlXPathStackIsExternal
+xmlXPathStackIsNodeSet
+xmlXPathStartsWithFunction
+xmlXPathStringEvalNumber
+xmlXPathStringFunction
+xmlXPathStringLengthFunction
+xmlXPathSubValues
+xmlXPathSubstringAfterFunction
+xmlXPathSubstringBeforeFunction
+xmlXPathSubstringFunction
+xmlXPathSumFunction
+xmlXPathTrailing
+xmlXPathTrailingSorted
+xmlXPathTranslateFunction
+xmlXPathTrueFunction
+xmlXPathValueFlipSign
+xmlXPathVariableLookup
+xmlXPathVariableLookupFunc
+xmlXPathVariableLookupNS
+xmlXPathWrapCString
+xmlXPathWrapExternal
+xmlXPathWrapNodeSet
+xmlXPathWrapString
+xmlXPatherror
+

Module xpointer:

_xmlLocationSet
+xmlLocationSet
+xmlLocationSetPtr
+xmlXPtrBuildNodeList
+xmlXPtrEval
+xmlXPtrEvalRangePredicate
+xmlXPtrFreeLocationSet
+xmlXPtrLocationSetAdd
+xmlXPtrLocationSetCreate
+xmlXPtrLocationSetDel
+xmlXPtrLocationSetMerge
+xmlXPtrLocationSetRemove
+xmlXPtrNewCollapsedRange
+xmlXPtrNewContext
+xmlXPtrNewLocationSetNodeSet
+xmlXPtrNewLocationSetNodes
+xmlXPtrNewRange
+xmlXPtrNewRangeNodeObject
+xmlXPtrNewRangeNodePoint
+xmlXPtrNewRangeNodes
+xmlXPtrNewRangePointNode
+xmlXPtrNewRangePoints
+xmlXPtrRangeToFunction
+xmlXPtrWrapLocationSet
+

Daniel Veillard

diff --git a/doc/APIfunctions.html b/doc/APIfunctions.html new file mode 100644 index 0000000..290aea4 --- /dev/null +++ b/doc/APIfunctions.html @@ -0,0 +1,2073 @@ + + +List of function manipulating types in libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

List of function manipulating types in libxml2

Developer Menu
API Indexes
Related links

Type ...:

errorSAXFunc
+fatalErrorSAXFunc
+warningSAXFunc
+xmlGenericErrorFunc
+xmlParserError
+xmlParserValidityError
+xmlParserValidityWarning
+xmlParserWarning
+xmlRelaxNGValidityErrorFunc
+xmlRelaxNGValidityWarningFunc
+xmlSchemaValidityErrorFunc
+xmlSchemaValidityWarningFunc
+xmlStrPrintf
+xmlTextWriterWriteFormatAttribute
+xmlTextWriterWriteFormatAttributeNS
+xmlTextWriterWriteFormatCDATA
+xmlTextWriterWriteFormatComment
+xmlTextWriterWriteFormatDTD
+xmlTextWriterWriteFormatDTDAttlist
+xmlTextWriterWriteFormatDTDElement
+xmlTextWriterWriteFormatDTDInternalEntity
+xmlTextWriterWriteFormatElement
+xmlTextWriterWriteFormatElementNS
+xmlTextWriterWriteFormatPI
+xmlTextWriterWriteFormatRaw
+xmlTextWriterWriteFormatString
+xmlValidityErrorFunc
+xmlValidityWarningFunc
+

Type FILE *:

htmlDocDump
+htmlNodeDumpFile
+htmlNodeDumpFileFormat
+xmlACatalogDump
+xmlBufferDump
+xmlCatalogDump
+xmlDebugDumpAttr
+xmlDebugDumpAttrList
+xmlDebugDumpDTD
+xmlDebugDumpDocument
+xmlDebugDumpDocumentHead
+xmlDebugDumpEntities
+xmlDebugDumpNode
+xmlDebugDumpNodeList
+xmlDebugDumpOneNode
+xmlDebugDumpString
+xmlDocDump
+xmlDocFormatDump
+xmlElemDump
+xmlLsOneNode
+xmlMemDisplay
+xmlMemShow
+xmlOutputBufferCreateFile
+xmlParserInputBufferCreateFile
+xmlPrintURI
+xmlRegexpPrint
+xmlRelaxNGDump
+xmlRelaxNGDumpTree
+xmlSchemaDump
+xmlShell
+xmlXPathDebugDumpCompExpr
+xmlXPathDebugDumpObject
+

Type char **:

xmlNanoHTTPFetch
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+

Type char const *:

xmlInputMatchCallback
+xmlInputOpenCallback
+xmlOutputMatchCallback
+xmlOutputOpenCallback
+

Type const char **:

xmlGetFeaturesList
+

Type const htmlElemDesc *:

htmlAttrAllowed
+htmlElementAllowedHere
+htmlElementStatusHere
+

Type const htmlNodePtr:

htmlNodeStatus
+

Type const unsigned char *:

UTF8ToHtml
+UTF8Toisolat1
+docbEncodeEntities
+htmlEncodeEntities
+isolat1ToUTF8
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+xmlCheckUTF8
+xmlDetectCharEncoding
+xmlGetUTF8Char
+

Type const void *:

xmlListDataCompare
+xmlListReverseWalk
+xmlListWalk
+xmlListWalker
+

Type const xlinkHRef:

xlinkSimpleLinkFunk
+

Type const xlinkHRef *:

xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+

Type const xlinkRole:

xlinkSimpleLinkFunk
+

Type const xlinkRole *:

xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+

Type const xlinkTitle:

xlinkSimpleLinkFunk
+

Type const xlinkTitle *:

xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+

Type const xmlBufferPtr:

xmlBufferContent
+xmlBufferLength
+

Type const xmlChRangeGroupPtr:

xmlCharInRange
+

Type const xmlChar *:

attribute
+attributeDecl
+attributeDeclSAXFunc
+attributeSAXFunc
+cdataBlock
+cdataBlockSAXFunc
+characters
+charactersSAXFunc
+comment
+commentSAXFunc
+elementDecl
+elementDeclSAXFunc
+endElement
+endElementNsSAX2Func
+endElementSAXFunc
+entityDecl
+entityDeclSAXFunc
+externalSubset
+externalSubsetSAXFunc
+getEntity
+getEntitySAXFunc
+getParameterEntity
+getParameterEntitySAXFunc
+globalNamespace
+htmlAttrAllowed
+htmlAutoCloseTag
+htmlCtxtReadDoc
+htmlElementAllowedHere
+htmlEntityLookup
+htmlIsBooleanAttr
+htmlIsScriptAttribute
+htmlNewDoc
+htmlNewDocNoDtD
+htmlReadDoc
+htmlSetMetaEncoding
+htmlTagLookup
+ignorableWhitespace
+ignorableWhitespaceSAXFunc
+internalSubset
+internalSubsetSAXFunc
+namePush
+namespaceDecl
+notationDecl
+notationDeclSAXFunc
+processingInstruction
+processingInstructionSAXFunc
+reference
+referenceSAXFunc
+resolveEntity
+resolveEntitySAXFunc
+setNamespace
+startElement
+startElementNsSAX2Func
+startElementSAXFunc
+unparsedEntityDecl
+unparsedEntityDeclSAXFunc
+xmlACatalogAdd
+xmlACatalogRemove
+xmlACatalogResolve
+xmlACatalogResolvePublic
+xmlACatalogResolveSystem
+xmlACatalogResolveURI
+xmlAddAttributeDecl
+xmlAddDocEntity
+xmlAddDtdEntity
+xmlAddElementDecl
+xmlAddID
+xmlAddNotationDecl
+xmlAddRef
+xmlAttrSerializeTxtContent
+xmlAutomataNewCountTrans
+xmlAutomataNewOnceTrans
+xmlAutomataNewTransition
+xmlAutomataNewTransition2
+xmlBufferAdd
+xmlBufferAddHead
+xmlBufferCat
+xmlBufferWriteCHAR
+xmlBufferWriteQuotedString
+xmlBuildQName
+xmlBuildURI
+xmlCanonicPath
+xmlCatalogAdd
+xmlCatalogAddLocal
+xmlCatalogGetPublic
+xmlCatalogGetSystem
+xmlCatalogLocalResolve
+xmlCatalogLocalResolveURI
+xmlCatalogRemove
+xmlCatalogResolve
+xmlCatalogResolvePublic
+xmlCatalogResolveSystem
+xmlCatalogResolveURI
+xmlCheckLanguageID
+xmlCreateDocParserCtxt
+xmlCreateEntityParserCtxt
+xmlCreateEnumeration
+xmlCreateIntSubset
+xmlCtxtReadDoc
+xmlDebugDumpString
+xmlDictLookup
+xmlDictOwns
+xmlDictQLookup
+xmlEncodeEntities
+xmlEncodeEntitiesReentrant
+xmlEncodeSpecialChars
+xmlGetDocEntity
+xmlGetDtdAttrDesc
+xmlGetDtdElementDesc
+xmlGetDtdEntity
+xmlGetDtdNotationDesc
+xmlGetDtdQAttrDesc
+xmlGetDtdQElementDesc
+xmlGetID
+xmlGetNoNsProp
+xmlGetNsProp
+xmlGetParameterEntity
+xmlGetPredefinedEntity
+xmlGetProp
+xmlGetRefs
+xmlHasNsProp
+xmlHasProp
+xmlHashAddEntry
+xmlHashAddEntry2
+xmlHashAddEntry3
+xmlHashLookup
+xmlHashLookup2
+xmlHashLookup3
+xmlHashQLookup
+xmlHashQLookup2
+xmlHashQLookup3
+xmlHashRemoveEntry
+xmlHashRemoveEntry2
+xmlHashRemoveEntry3
+xmlHashScan3
+xmlHashScanFull3
+xmlHashScannerFull
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+xmlIsMixedElement
+xmlIsXHTML
+xmlNewCDataBlock
+xmlNewCharRef
+xmlNewChild
+xmlNewComment
+xmlNewDoc
+xmlNewDocComment
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNewDocProp
+xmlNewDocRawNode
+xmlNewDocText
+xmlNewDocTextLen
+xmlNewDtd
+xmlNewElementContent
+xmlNewGlobalNs
+xmlNewNode
+xmlNewNs
+xmlNewNsProp
+xmlNewNsPropEatName
+xmlNewPI
+xmlNewProp
+xmlNewReference
+xmlNewStringInputStream
+xmlNewText
+xmlNewTextChild
+xmlNewTextLen
+xmlNodeAddContent
+xmlNodeAddContentLen
+xmlNodeSetBase
+xmlNodeSetContent
+xmlNodeSetContentLen
+xmlNodeSetLang
+xmlNodeSetName
+xmlNormalizeWindowsPath
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseCtxtExternalEntity
+xmlParseDTD
+xmlParseElementContentDecl
+xmlParseExternalEntity
+xmlParseExternalSubset
+xmlPatterncompile
+xmlReadDoc
+xmlReaderForDoc
+xmlReaderNewDoc
+xmlRegExecCallbacks
+xmlRegExecPushString
+xmlRegExecPushString2
+xmlRegexpCompile
+xmlRegexpExec
+xmlRelaxNGValidatePushCData
+xmlSAX2AttributeDecl
+xmlSAX2CDataBlock
+xmlSAX2Characters
+xmlSAX2Comment
+xmlSAX2ElementDecl
+xmlSAX2EndElement
+xmlSAX2EndElementNs
+xmlSAX2EntityDecl
+xmlSAX2ExternalSubset
+xmlSAX2GetEntity
+xmlSAX2GetParameterEntity
+xmlSAX2GlobalNamespace
+xmlSAX2IgnorableWhitespace
+xmlSAX2InternalSubset
+xmlSAX2NamespaceDecl
+xmlSAX2NotationDecl
+xmlSAX2ProcessingInstruction
+xmlSAX2Reference
+xmlSAX2ResolveEntity
+xmlSAX2SetNamespace
+xmlSAX2StartElement
+xmlSAX2StartElementNs
+xmlSAX2UnparsedEntityDecl
+xmlSAXParseDTD
+xmlSchemaCheckFacet
+xmlSchemaGetPredefinedType
+xmlSchemaValPredefTypeNode
+xmlSchemaValidateFacet
+xmlSchemaValidatePredefinedType
+xmlSearchNs
+xmlSearchNsByHref
+xmlSetNsProp
+xmlSetProp
+xmlSetupParserForBuffer
+xmlSplitQName
+xmlSplitQName2
+xmlSplitQName3
+xmlStrEqual
+xmlStrPrintf
+xmlStrQEqual
+xmlStrVPrintf
+xmlStrcasecmp
+xmlStrcasestr
+xmlStrcat
+xmlStrchr
+xmlStrcmp
+xmlStrdup
+xmlStringCurrentChar
+xmlStringDecodeEntities
+xmlStringGetNodeList
+xmlStringLenDecodeEntities
+xmlStringLenGetNodeList
+xmlStrlen
+xmlStrncasecmp
+xmlStrncat
+xmlStrncatNew
+xmlStrncmp
+xmlStrndup
+xmlStrstr
+xmlStrsub
+xmlTextConcat
+xmlTextReaderConstString
+xmlTextReaderGetAttribute
+xmlTextReaderGetAttributeNs
+xmlTextReaderLookupNamespace
+xmlTextReaderMoveToAttribute
+xmlTextReaderMoveToAttributeNs
+xmlTextReaderPreservePattern
+xmlTextWriterSetIndentString
+xmlTextWriterStartAttribute
+xmlTextWriterStartAttributeNS
+xmlTextWriterStartDTD
+xmlTextWriterStartDTDAttlist
+xmlTextWriterStartDTDElement
+xmlTextWriterStartDTDEntity
+xmlTextWriterStartElement
+xmlTextWriterStartElementNS
+xmlTextWriterStartPI
+xmlTextWriterWriteAttribute
+xmlTextWriterWriteAttributeNS
+xmlTextWriterWriteCDATA
+xmlTextWriterWriteComment
+xmlTextWriterWriteDTD
+xmlTextWriterWriteDTDAttlist
+xmlTextWriterWriteDTDElement
+xmlTextWriterWriteDTDEntity
+xmlTextWriterWriteDTDExternalEntity
+xmlTextWriterWriteDTDExternalEntityContents
+xmlTextWriterWriteDTDInternalEntity
+xmlTextWriterWriteDTDNotation
+xmlTextWriterWriteElement
+xmlTextWriterWriteElementNS
+xmlTextWriterWriteFormatAttribute
+xmlTextWriterWriteFormatAttributeNS
+xmlTextWriterWriteFormatDTD
+xmlTextWriterWriteFormatDTDAttlist
+xmlTextWriterWriteFormatDTDElement
+xmlTextWriterWriteFormatDTDInternalEntity
+xmlTextWriterWriteFormatElement
+xmlTextWriterWriteFormatElementNS
+xmlTextWriterWriteFormatPI
+xmlTextWriterWritePI
+xmlTextWriterWriteRaw
+xmlTextWriterWriteRawLen
+xmlTextWriterWriteString
+xmlTextWriterWriteVFormatAttribute
+xmlTextWriterWriteVFormatAttributeNS
+xmlTextWriterWriteVFormatDTD
+xmlTextWriterWriteVFormatDTDAttlist
+xmlTextWriterWriteVFormatDTDElement
+xmlTextWriterWriteVFormatDTDInternalEntity
+xmlTextWriterWriteVFormatElement
+xmlTextWriterWriteVFormatElementNS
+xmlTextWriterWriteVFormatPI
+xmlURIEscape
+xmlURIEscapeStr
+xmlUTF8Charcmp
+xmlUTF8Size
+xmlUTF8Strlen
+xmlUTF8Strloc
+xmlUTF8Strndup
+xmlUTF8Strpos
+xmlUTF8Strsize
+xmlUTF8Strsub
+xmlUnsetNsProp
+xmlUnsetProp
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlValidateAttributeValue
+xmlValidateNCName
+xmlValidateNMToken
+xmlValidateName
+xmlValidateNameValue
+xmlValidateNamesValue
+xmlValidateNmtokenValue
+xmlValidateNmtokensValue
+xmlValidateNotationUse
+xmlValidateOneAttribute
+xmlValidateOneNamespace
+xmlValidatePopElement
+xmlValidatePushCData
+xmlValidatePushElement
+xmlValidateQName
+xmlXPathCastStringToBoolean
+xmlXPathCastStringToNumber
+xmlXPathCompile
+xmlXPathCtxtCompile
+xmlXPathEval
+xmlXPathEvalExpression
+xmlXPathFuncLookupFunc
+xmlXPathFunctionLookup
+xmlXPathFunctionLookupNS
+xmlXPathIsNodeType
+xmlXPathNewParserContext
+xmlXPathNewString
+xmlXPathNsLookup
+xmlXPathRegisterFunc
+xmlXPathRegisterFuncNS
+xmlXPathRegisterNs
+xmlXPathRegisterVariable
+xmlXPathRegisterVariableNS
+xmlXPathStringEvalNumber
+xmlXPathVariableLookup
+xmlXPathVariableLookupFunc
+xmlXPathVariableLookupNS
+xmlXPtrEval
+

Type const xmlChar **:

htmlParseEntityRef
+startElement
+startElementNsSAX2Func
+startElementSAXFunc
+xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+xmlPatterncompile
+xmlSAX2StartElement
+xmlSAX2StartElementNs
+xmlTextReaderPreservePattern
+xmlValidGetPotentialChildren
+xmlValidGetValidElements
+

Type const xmlListPtr:

xmlListCopy
+xmlListDup
+

Type const xmlNodePtr:

xmlCopyNode
+xmlCopyNodeList
+xmlDocCopyNode
+xmlParserFindNodeInfo
+xmlParserFindNodeInfoIndex
+

Type const xmlParserCtxtPtr:

xmlParserFindNodeInfo
+

Type const xmlParserNodeInfoPtr:

xmlParserAddNodeInfo
+

Type const xmlParserNodeInfoSeqPtr:

xmlParserFindNodeInfoIndex
+

Type docbParserCtxtPtr:

docbFreeParserCtxt
+docbParseChunk
+docbParseDocument
+

Type docbSAXHandlerPtr:

docbCreatePushParserCtxt
+docbSAXParseDoc
+docbSAXParseFile
+

Type double:

xmlXPathCastNumberToBoolean
+xmlXPathCastNumberToString
+xmlXPathIsInf
+xmlXPathIsNaN
+xmlXPathNewFloat
+

Type ftpDataCallback:

xmlNanoFTPGet
+

Type ftpListCallback:

xmlNanoFTPList
+

Type htmlDocPtr:

htmlAutoCloseTag
+htmlGetMetaEncoding
+htmlIsAutoClosed
+htmlSetMetaEncoding
+

Type htmlNodePtr:

htmlAutoCloseTag
+htmlIsAutoClosed
+

Type htmlParserCtxtPtr:

htmlCtxtReadDoc
+htmlCtxtReadFd
+htmlCtxtReadFile
+htmlCtxtReadIO
+htmlCtxtReadMemory
+htmlCtxtReset
+htmlCtxtUseOptions
+htmlFreeParserCtxt
+htmlParseCharRef
+htmlParseChunk
+htmlParseDocument
+htmlParseElement
+htmlParseEntityRef
+

Type htmlSAXHandlerPtr:

htmlCreatePushParserCtxt
+htmlSAXParseDoc
+htmlSAXParseFile
+

Type int *:

UTF8ToHtml
+UTF8Toisolat1
+docbEncodeEntities
+htmlDocDumpMemory
+htmlEncodeEntities
+isolat1ToUTF8
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+xmlCurrentChar
+xmlDocDumpFormatMemory
+xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemory
+xmlDocDumpMemoryEnc
+xmlGetFeaturesList
+xmlGetUTF8Char
+xmlSplitQName3
+xmlStringCurrentChar
+xmlValidGetPotentialChildren
+

Type size_t:

xmlBufferCreateSize
+xmlBufferCreateStatic
+xmlMallocAtomicLoc
+xmlMallocFunc
+xmlMallocLoc
+xmlMemMalloc
+xmlMemRealloc
+xmlReallocFunc
+xmlReallocLoc
+

Type unsigned char *:

UTF8ToHtml
+UTF8Toisolat1
+docbEncodeEntities
+htmlEncodeEntities
+isolat1ToUTF8
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+

Type unsigned int:

htmlEntityValueLookup
+xmlBufferGrow
+xmlBufferResize
+xmlBufferShrink
+xmlCharInRange
+xmlIsBaseChar
+xmlIsBlank
+xmlIsChar
+xmlIsCombining
+xmlIsDigit
+xmlIsExtender
+xmlIsIdeographic
+xmlIsPubidChar
+

Type unsigned long:

ftpListCallback
+

Type va_list:

xmlStrVPrintf
+xmlTextWriterWriteVFormatAttribute
+xmlTextWriterWriteVFormatAttributeNS
+xmlTextWriterWriteVFormatCDATA
+xmlTextWriterWriteVFormatComment
+xmlTextWriterWriteVFormatDTD
+xmlTextWriterWriteVFormatDTDAttlist
+xmlTextWriterWriteVFormatDTDElement
+xmlTextWriterWriteVFormatDTDInternalEntity
+xmlTextWriterWriteVFormatElement
+xmlTextWriterWriteVFormatElementNS
+xmlTextWriterWriteVFormatPI
+xmlTextWriterWriteVFormatRaw
+xmlTextWriterWriteVFormatString
+

Type void *:

attribute
+attributeDecl
+attributeDeclSAXFunc
+attributeSAXFunc
+cdataBlock
+cdataBlockSAXFunc
+characters
+charactersSAXFunc
+checkNamespace
+comment
+commentSAXFunc
+docbCreatePushParserCtxt
+docbSAXParseDoc
+docbSAXParseFile
+elementDecl
+elementDeclSAXFunc
+endDocument
+endDocumentSAXFunc
+endElement
+endElementNsSAX2Func
+endElementSAXFunc
+entityDecl
+entityDeclSAXFunc
+errorSAXFunc
+externalSubset
+externalSubsetSAXFunc
+fatalErrorSAXFunc
+ftpDataCallback
+ftpListCallback
+getColumnNumber
+getEntity
+getEntitySAXFunc
+getLineNumber
+getNamespace
+getParameterEntity
+getParameterEntitySAXFunc
+getPublicId
+getSystemId
+globalNamespace
+hasExternalSubset
+hasExternalSubsetSAXFunc
+hasInternalSubset
+hasInternalSubsetSAXFunc
+htmlCreatePushParserCtxt
+htmlCtxtReadIO
+htmlReadIO
+htmlSAXParseDoc
+htmlSAXParseFile
+ignorableWhitespace
+ignorableWhitespaceSAXFunc
+internalSubset
+internalSubsetSAXFunc
+isStandalone
+isStandaloneSAXFunc
+namespaceDecl
+notationDecl
+notationDeclSAXFunc
+processingInstruction
+processingInstructionSAXFunc
+reference
+referenceSAXFunc
+resolveEntity
+resolveEntitySAXFunc
+setDocumentLocator
+setDocumentLocatorSAXFunc
+setNamespace
+startDocument
+startDocumentSAXFunc
+startElement
+startElementNsSAX2Func
+startElementSAXFunc
+unparsedEntityDecl
+unparsedEntityDeclSAXFunc
+warningSAXFunc
+xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+xlinkNodeDetectFunc
+xlinkSimpleLinkFunk
+xmlAutomataNewCountTrans
+xmlAutomataNewOnceTrans
+xmlAutomataNewTransition
+xmlAutomataNewTransition2
+xmlBufferCreateStatic
+xmlC14NExecute
+xmlC14NIsVisibleCallback
+xmlCatalogAddLocal
+xmlCatalogFreeLocal
+xmlCatalogLocalResolve
+xmlCatalogLocalResolveURI
+xmlCreateIOParserCtxt
+xmlCreatePushParserCtxt
+xmlCtxtGetLastError
+xmlCtxtReadIO
+xmlCtxtResetLastError
+xmlFileClose
+xmlFileRead
+xmlFreeFunc
+xmlGenericErrorFunc
+xmlGetFeature
+xmlHashAddEntry
+xmlHashAddEntry2
+xmlHashAddEntry3
+xmlHashCopier
+xmlHashDeallocator
+xmlHashScan
+xmlHashScan3
+xmlHashScanFull
+xmlHashScanFull3
+xmlHashScanner
+xmlHashScannerFull
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+xmlIOFTPClose
+xmlIOFTPRead
+xmlIOHTTPClose
+xmlIOHTTPRead
+xmlInputCloseCallback
+xmlInputReadCallback
+xmlListAppend
+xmlListInsert
+xmlListPushBack
+xmlListPushFront
+xmlListRemoveAll
+xmlListRemoveFirst
+xmlListRemoveLast
+xmlListReverseSearch
+xmlListSearch
+xmlMemFree
+xmlMemRealloc
+xmlNanoFTPCheckResponse
+xmlNanoFTPClose
+xmlNanoFTPCloseConnection
+xmlNanoFTPConnect
+xmlNanoFTPCwd
+xmlNanoFTPDele
+xmlNanoFTPFreeCtxt
+xmlNanoFTPGet
+xmlNanoFTPGetConnection
+xmlNanoFTPGetResponse
+xmlNanoFTPGetSocket
+xmlNanoFTPList
+xmlNanoFTPQuit
+xmlNanoFTPRead
+xmlNanoFTPUpdateURL
+xmlNanoHTTPAuthHeader
+xmlNanoHTTPClose
+xmlNanoHTTPEncoding
+xmlNanoHTTPMimeType
+xmlNanoHTTPRead
+xmlNanoHTTPRedir
+xmlNanoHTTPReturnCode
+xmlNanoHTTPSave
+xmlOutputBufferCreateIO
+xmlOutputCloseCallback
+xmlOutputWriteCallback
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseExternalEntity
+xmlParserError
+xmlParserInputBufferCreateIO
+xmlParserValidityError
+xmlParserValidityWarning
+xmlParserWarning
+xmlReadIO
+xmlReaderForIO
+xmlReaderNewIO
+xmlReallocFunc
+xmlReallocLoc
+xmlRegExecCallbacks
+xmlRegExecPushString
+xmlRegExecPushString2
+xmlRegNewExecCtxt
+xmlRelaxNGSetParserErrors
+xmlRelaxNGSetValidErrors
+xmlRelaxNGValidityErrorFunc
+xmlRelaxNGValidityWarningFunc
+xmlSAX2AttributeDecl
+xmlSAX2CDataBlock
+xmlSAX2Characters
+xmlSAX2CheckNamespace
+xmlSAX2Comment
+xmlSAX2ElementDecl
+xmlSAX2EndDocument
+xmlSAX2EndElement
+xmlSAX2EndElementNs
+xmlSAX2EntityDecl
+xmlSAX2ExternalSubset
+xmlSAX2GetColumnNumber
+xmlSAX2GetEntity
+xmlSAX2GetLineNumber
+xmlSAX2GetNamespace
+xmlSAX2GetParameterEntity
+xmlSAX2GetPublicId
+xmlSAX2GetSystemId
+xmlSAX2GlobalNamespace
+xmlSAX2HasExternalSubset
+xmlSAX2HasInternalSubset
+xmlSAX2IgnorableWhitespace
+xmlSAX2InternalSubset
+xmlSAX2IsStandalone
+xmlSAX2NamespaceDecl
+xmlSAX2NotationDecl
+xmlSAX2ProcessingInstruction
+xmlSAX2Reference
+xmlSAX2ResolveEntity
+xmlSAX2SetDocumentLocator
+xmlSAX2SetNamespace
+xmlSAX2StartDocument
+xmlSAX2StartElement
+xmlSAX2StartElementNs
+xmlSAX2UnparsedEntityDecl
+xmlSAXParseFileWithData
+xmlSAXParseMemoryWithData
+xmlSAXUserParseFile
+xmlSAXUserParseMemory
+xmlSaveToIO
+xmlSchemaSetParserErrors
+xmlSchemaSetValidErrors
+xmlSchemaValidateStream
+xmlSchemaValidityErrorFunc
+xmlSchemaValidityWarningFunc
+xmlSetFeature
+xmlSetGenericErrorFunc
+xmlSetStructuredErrorFunc
+xmlStructuredErrorFunc
+xmlTextReaderErrorFunc
+xmlTextReaderSetErrorHandler
+xmlTextReaderSetStructuredErrorHandler
+xmlThrDefSetGenericErrorFunc
+xmlThrDefSetStructuredErrorFunc
+xmlValidityErrorFunc
+xmlValidityWarningFunc
+xmlXPathFuncLookupFunc
+xmlXPathRegisterFuncLookup
+xmlXPathRegisterVariableLookup
+xmlXPathVariableLookupFunc
+xmlXPathWrapExternal
+

Type void **:

xmlRelaxNGGetParserErrors
+xmlRelaxNGGetValidErrors
+xmlTextReaderGetErrorHandler
+

Type xlinkActuate *:

xlinkExtendedLinkFunk
+

Type xlinkHandlerPtr:

xlinkSetDefaultHandler
+

Type xlinkNodeDetectFunc:

xlinkSetDefaultDetect
+

Type xlinkShow *:

xlinkExtendedLinkFunk
+

Type xmlAttrPtr:

xmlAddID
+xmlAddRef
+xmlAttrSerializeTxtContent
+xmlCopyProp
+xmlCopyPropList
+xmlDebugDumpAttr
+xmlDebugDumpAttrList
+xmlFreeProp
+xmlFreePropList
+xmlIsID
+xmlIsRef
+xmlRemoveID
+xmlRemoveProp
+xmlRemoveRef
+xmlValidateOneAttribute
+

Type xmlAttributeDefault:

xmlAddAttributeDecl
+

Type xmlAttributePtr:

xmlDumpAttributeDecl
+xmlValidateAttributeDecl
+

Type xmlAttributeTablePtr:

xmlCopyAttributeTable
+xmlDumpAttributeTable
+xmlFreeAttributeTable
+

Type xmlAttributeType:

xmlAddAttributeDecl
+xmlValidateAttributeValue
+

Type xmlAutomataPtr:

xmlAutomataCompile
+xmlAutomataGetInitState
+xmlAutomataIsDeterminist
+xmlAutomataNewAllTrans
+xmlAutomataNewCountTrans
+xmlAutomataNewCountedTrans
+xmlAutomataNewCounter
+xmlAutomataNewCounterTrans
+xmlAutomataNewEpsilon
+xmlAutomataNewOnceTrans
+xmlAutomataNewState
+xmlAutomataNewTransition
+xmlAutomataNewTransition2
+xmlAutomataSetFinalState
+xmlFreeAutomata
+

Type xmlAutomataStatePtr:

xmlAutomataNewAllTrans
+xmlAutomataNewCountTrans
+xmlAutomataNewCountedTrans
+xmlAutomataNewCounterTrans
+xmlAutomataNewEpsilon
+xmlAutomataNewOnceTrans
+xmlAutomataNewTransition
+xmlAutomataNewTransition2
+xmlAutomataSetFinalState
+

Type xmlBufferAllocationScheme:

xmlBufferSetAllocationScheme
+xmlSetBufferAllocationScheme
+xmlThrDefBufferAllocScheme
+

Type xmlBufferPtr:

htmlNodeDump
+xmlAttrSerializeTxtContent
+xmlBufferAdd
+xmlBufferAddHead
+xmlBufferCCat
+xmlBufferCat
+xmlBufferDump
+xmlBufferEmpty
+xmlBufferFree
+xmlBufferGrow
+xmlBufferResize
+xmlBufferSetAllocationScheme
+xmlBufferShrink
+xmlBufferWriteCHAR
+xmlBufferWriteChar
+xmlBufferWriteQuotedString
+xmlCharEncFirstLine
+xmlCharEncInFunc
+xmlCharEncOutFunc
+xmlDumpAttributeDecl
+xmlDumpAttributeTable
+xmlDumpElementDecl
+xmlDumpElementTable
+xmlDumpEntitiesTable
+xmlDumpEntityDecl
+xmlDumpNotationDecl
+xmlDumpNotationTable
+xmlNewTextWriterMemory
+xmlNodeBufGetContent
+xmlNodeDump
+xmlSaveToBuffer
+

Type xmlC14NIsVisibleCallback:

xmlC14NExecute
+

Type xmlCatalogAllow:

xmlCatalogSetDefaults
+

Type xmlCatalogPrefer:

xmlCatalogSetDefaultPrefer
+

Type xmlCatalogPtr:

xmlACatalogAdd
+xmlACatalogDump
+xmlACatalogRemove
+xmlACatalogResolve
+xmlACatalogResolvePublic
+xmlACatalogResolveSystem
+xmlACatalogResolveURI
+xmlCatalogIsEmpty
+xmlConvertSGMLCatalog
+xmlFreeCatalog
+

Type xmlChar:

xmlDecodeEntities
+xmlStrchr
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+

Type xmlChar *:

checkNamespace
+docbParseDoc
+docbSAXParseDoc
+entityDecl
+entityDeclSAXFunc
+htmlParseDoc
+htmlSAXParseDoc
+xmlBuildQName
+xmlCopyChar
+xmlCopyCharMultiByte
+xmlHashCopier
+xmlHashDeallocator
+xmlHashScanner
+xmlNewDocNodeEatName
+xmlNewNodeEatName
+xmlNewNsPropEatName
+xmlParseDoc
+xmlParserInputDeallocate
+xmlRecoverDoc
+xmlSAX2CheckNamespace
+xmlSAX2EntityDecl
+xmlSAXParseDoc
+xmlStrPrintf
+xmlStrVPrintf
+xmlStrcasestr
+xmlStrcat
+xmlStrncat
+xmlXPathWrapString
+

Type xmlChar **:

htmlDocDumpMemory
+xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlDocDumpFormatMemory
+xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemory
+xmlDocDumpMemoryEnc
+xmlNamespaceParseQName
+xmlParseAttribute
+xmlParseDefaultDecl
+xmlParseEntityValue
+xmlParseExternalID
+xmlSplitQName
+xmlSplitQName2
+

Type xmlCharEncoding:

docbCreatePushParserCtxt
+htmlCreatePushParserCtxt
+xmlAllocParserInputBuffer
+xmlCreateIOParserCtxt
+xmlGetCharEncodingHandler
+xmlGetCharEncodingName
+xmlIOParseDTD
+xmlNewIOInputStream
+xmlParserInputBufferCreateFd
+xmlParserInputBufferCreateFile
+xmlParserInputBufferCreateFilename
+xmlParserInputBufferCreateIO
+xmlParserInputBufferCreateMem
+xmlParserInputBufferCreateStatic
+xmlSchemaValidateStream
+xmlSwitchEncoding
+

Type xmlCharEncodingHandler *:

xmlCharEncCloseFunc
+xmlCharEncFirstLine
+xmlCharEncInFunc
+xmlCharEncOutFunc
+

Type xmlCharEncodingHandlerPtr:

xmlAllocOutputBuffer
+xmlOutputBufferCreateFd
+xmlOutputBufferCreateFile
+xmlOutputBufferCreateFilename
+xmlOutputBufferCreateIO
+xmlRegisterCharEncodingHandler
+xmlSwitchInputEncoding
+xmlSwitchToEncoding
+

Type xmlCharEncodingInputFunc:

xmlNewCharEncodingHandler
+

Type xmlCharEncodingOutputFunc:

xmlNewCharEncodingHandler
+

Type xmlDeregisterNodeFunc:

xmlDeregisterNodeDefault
+xmlThrDefDeregisterNodeDefault
+

Type xmlDict *:

xmlPatterncompile
+

Type xmlDictPtr:

xmlDictCreateSub
+xmlDictFree
+xmlDictLookup
+xmlDictOwns
+xmlDictQLookup
+xmlDictReference
+xmlDictSize
+

Type xmlDocPtr:

htmlDocContentDumpFormatOutput
+htmlDocContentDumpOutput
+htmlDocDump
+htmlDocDumpMemory
+htmlNodeDump
+htmlNodeDumpFile
+htmlNodeDumpFileFormat
+htmlNodeDumpFormatOutput
+htmlNodeDumpOutput
+htmlSaveFile
+htmlSaveFileEnc
+htmlSaveFileFormat
+xlinkIsLink
+xmlAddDocEntity
+xmlAddDtdEntity
+xmlAddID
+xmlAddRef
+xmlAttrSerializeTxtContent
+xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlCopyDoc
+xmlCreateIntSubset
+xmlDebugDumpDocument
+xmlDebugDumpDocumentHead
+xmlDebugDumpEntities
+xmlDocCopyNode
+xmlDocDump
+xmlDocDumpFormatMemory
+xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemory
+xmlDocDumpMemoryEnc
+xmlDocFormatDump
+xmlDocGetRootElement
+xmlDocSetRootElement
+xmlElemDump
+xmlEncodeEntities
+xmlEncodeEntitiesReentrant
+xmlEncodeSpecialChars
+xmlFreeDoc
+xmlGetDocCompressMode
+xmlGetDocEntity
+xmlGetDtdEntity
+xmlGetID
+xmlGetIntSubset
+xmlGetNsList
+xmlGetParameterEntity
+xmlGetRefs
+xmlIsID
+xmlIsMixedElement
+xmlIsRef
+xmlNewCDataBlock
+xmlNewCharRef
+xmlNewDocComment
+xmlNewDocFragment
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNewDocProp
+xmlNewDocRawNode
+xmlNewDocText
+xmlNewDocTextLen
+xmlNewDtd
+xmlNewGlobalNs
+xmlNewReference
+xmlNewTextWriterTree
+xmlNodeDump
+xmlNodeDumpOutput
+xmlNodeGetBase
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseExternalEntity
+xmlReaderNewWalker
+xmlReaderWalker
+xmlReconciliateNs
+xmlRelaxNGNewDocParserCtxt
+xmlRelaxNGValidateDoc
+xmlRelaxNGValidateFullElement
+xmlRelaxNGValidatePopElement
+xmlRelaxNGValidatePushElement
+xmlRemoveID
+xmlRemoveRef
+xmlSaveDoc
+xmlSaveFile
+xmlSaveFileEnc
+xmlSaveFileTo
+xmlSaveFormatFile
+xmlSaveFormatFileEnc
+xmlSaveFormatFileTo
+xmlSchemaNewDocParserCtxt
+xmlSchemaValidateDoc
+xmlSearchNs
+xmlSearchNsByHref
+xmlSetDocCompressMode
+xmlSetListDoc
+xmlSetTreeDoc
+xmlShell
+xmlStringGetNodeList
+xmlStringLenGetNodeList
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlValidateAttributeDecl
+xmlValidateDocument
+xmlValidateDocumentFinal
+xmlValidateDtd
+xmlValidateDtdFinal
+xmlValidateElement
+xmlValidateElementDecl
+xmlValidateNotationDecl
+xmlValidateNotationUse
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+xmlValidatePopElement
+xmlValidatePushElement
+xmlValidateRoot
+xmlXIncludeNewContext
+xmlXIncludeProcess
+xmlXIncludeProcessFlags
+xmlXPathNewContext
+xmlXPathOrderDocElems
+xmlXPtrNewContext
+

Type xmlDocPtr *:

xmlNewTextWriterDoc
+

Type xmlDtdPtr:

xmlAddAttributeDecl
+xmlAddElementDecl
+xmlAddNotationDecl
+xmlCopyDtd
+xmlDebugDumpDTD
+xmlFreeDtd
+xmlGetDtdAttrDesc
+xmlGetDtdElementDesc
+xmlGetDtdNotationDesc
+xmlGetDtdQAttrDesc
+xmlGetDtdQElementDesc
+xmlValidateDtd
+

Type xmlElementContent *:

xmlValidGetPotentialChildren
+

Type xmlElementContentPtr:

elementDecl
+elementDeclSAXFunc
+xmlAddElementDecl
+xmlCopyElementContent
+xmlFreeElementContent
+xmlSAX2ElementDecl
+xmlSnprintfElementContent
+xmlSprintfElementContent
+

Type xmlElementContentPtr *:

xmlParseElementContentDecl
+

Type xmlElementContentType:

xmlNewElementContent
+

Type xmlElementPtr:

xmlDumpElementDecl
+xmlValidBuildContentModel
+xmlValidateElementDecl
+

Type xmlElementTablePtr:

xmlCopyElementTable
+xmlDumpElementTable
+xmlFreeElementTable
+

Type xmlElementTypeVal:

xmlAddElementDecl
+

Type xmlEntitiesTablePtr:

xmlCopyEntitiesTable
+xmlDumpEntitiesTable
+xmlFreeEntitiesTable
+

Type xmlEntityPtr:

xmlDumpEntityDecl
+xmlEntityReferenceFunc
+xmlHandleEntity
+xmlNewEntityInputStream
+

Type xmlEntityReferenceFunc:

xmlSetEntityReferenceFunc
+

Type xmlEnumerationPtr:

attributeDecl
+attributeDeclSAXFunc
+xmlAddAttributeDecl
+xmlCopyEnumeration
+xmlFreeEnumeration
+xmlSAX2AttributeDecl
+

Type xmlEnumerationPtr *:

xmlParseAttributeType
+xmlParseEnumeratedType
+

Type xmlErrorPtr:

xmlCopyError
+xmlResetError
+xmlStructuredErrorFunc
+

Type xmlExternalEntityLoader:

xmlSetExternalEntityLoader
+

Type xmlFreeFunc:

xmlGcMemSetup
+xmlMemSetup
+

Type xmlFreeFunc *:

xmlGcMemGet
+xmlMemGet
+

Type xmlGenericErrorFunc:

xmlSetGenericErrorFunc
+xmlThrDefSetGenericErrorFunc
+

Type xmlGenericErrorFunc *:

initGenericErrorDefaultFunc
+

Type xmlGlobalStatePtr:

xmlInitializeGlobalState
+

Type xmlHashCopier:

xmlHashCopy
+

Type xmlHashDeallocator:

xmlHashFree
+xmlHashRemoveEntry
+xmlHashRemoveEntry2
+xmlHashRemoveEntry3
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+

Type xmlHashScanner:

xmlHashScan
+xmlHashScan3
+

Type xmlHashScannerFull:

xmlHashScanFull
+xmlHashScanFull3
+

Type xmlHashTablePtr:

xmlHashAddEntry
+xmlHashAddEntry2
+xmlHashAddEntry3
+xmlHashCopy
+xmlHashFree
+xmlHashLookup
+xmlHashLookup2
+xmlHashLookup3
+xmlHashQLookup
+xmlHashQLookup2
+xmlHashQLookup3
+xmlHashRemoveEntry
+xmlHashRemoveEntry2
+xmlHashRemoveEntry3
+xmlHashScan
+xmlHashScan3
+xmlHashScanFull
+xmlHashScanFull3
+xmlHashSize
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+

Type xmlIDTablePtr:

xmlFreeIDTable
+

Type xmlInputCloseCallback:

htmlCtxtReadIO
+htmlReadIO
+xmlCreateIOParserCtxt
+xmlCtxtReadIO
+xmlParserInputBufferCreateIO
+xmlReadIO
+xmlReaderForIO
+xmlReaderNewIO
+xmlRegisterInputCallbacks
+

Type xmlInputMatchCallback:

xmlRegisterInputCallbacks
+

Type xmlInputOpenCallback:

xmlRegisterInputCallbacks
+

Type xmlInputReadCallback:

htmlCtxtReadIO
+htmlReadIO
+xmlCreateIOParserCtxt
+xmlCtxtReadIO
+xmlParserInputBufferCreateIO
+xmlReadIO
+xmlReaderForIO
+xmlReaderNewIO
+xmlRegisterInputCallbacks
+

Type xmlLinkPtr:

xmlLinkGetData
+xmlListDeallocator
+

Type xmlListDataCompare:

xmlListCreate
+

Type xmlListDeallocator:

xmlListCreate
+

Type xmlListPtr:

xmlListAppend
+xmlListClear
+xmlListCopy
+xmlListDelete
+xmlListEmpty
+xmlListEnd
+xmlListFront
+xmlListInsert
+xmlListMerge
+xmlListPopBack
+xmlListPopFront
+xmlListPushBack
+xmlListPushFront
+xmlListRemoveAll
+xmlListRemoveFirst
+xmlListRemoveLast
+xmlListReverse
+xmlListReverseSearch
+xmlListReverseWalk
+xmlListSearch
+xmlListSize
+xmlListSort
+xmlListWalk
+

Type xmlListWalker:

xmlListReverseWalk
+xmlListWalk
+

Type xmlLocationSetPtr:

xmlXPtrFreeLocationSet
+xmlXPtrLocationSetAdd
+xmlXPtrLocationSetDel
+xmlXPtrLocationSetMerge
+xmlXPtrLocationSetRemove
+xmlXPtrWrapLocationSet
+

Type xmlMallocFunc:

xmlGcMemSetup
+xmlMemSetup
+

Type xmlMallocFunc *:

xmlGcMemGet
+xmlMemGet
+

Type xmlMutexPtr:

xmlFreeMutex
+xmlMutexLock
+xmlMutexUnlock
+

Type xmlNode *:

xmlValidGetValidElements
+

Type xmlNodePtr:

htmlNodeDump
+htmlNodeDumpFile
+htmlNodeDumpFileFormat
+htmlNodeDumpFormatOutput
+htmlNodeDumpOutput
+nodePush
+xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+xlinkIsLink
+xlinkNodeDetectFunc
+xlinkSimpleLinkFunk
+xmlAddChild
+xmlAddChildList
+xmlAddNextSibling
+xmlAddPrevSibling
+xmlAddSibling
+xmlC14NIsVisibleCallback
+xmlCopyProp
+xmlCopyPropList
+xmlDebugDumpNode
+xmlDebugDumpNodeList
+xmlDebugDumpOneNode
+xmlDeregisterNodeFunc
+xmlDocSetRootElement
+xmlElemDump
+xmlEntityReferenceFunc
+xmlFreeNode
+xmlFreeNodeList
+xmlGetLastChild
+xmlGetLineNo
+xmlGetNoNsProp
+xmlGetNodePath
+xmlGetNsList
+xmlGetNsProp
+xmlGetProp
+xmlHasNsProp
+xmlHasProp
+xmlIsBlankNode
+xmlIsID
+xmlIsRef
+xmlLsCountNode
+xmlLsOneNode
+xmlNewChild
+xmlNewNs
+xmlNewNsProp
+xmlNewNsPropEatName
+xmlNewProp
+xmlNewTextChild
+xmlNewTextWriterTree
+xmlNodeAddContent
+xmlNodeAddContentLen
+xmlNodeBufGetContent
+xmlNodeDump
+xmlNodeDumpOutput
+xmlNodeGetBase
+xmlNodeGetContent
+xmlNodeGetLang
+xmlNodeGetSpacePreserve
+xmlNodeIsText
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlNodeSetBase
+xmlNodeSetContent
+xmlNodeSetContentLen
+xmlNodeSetLang
+xmlNodeSetName
+xmlNodeSetSpacePreserve
+xmlPatternMatch
+xmlReconciliateNs
+xmlRegisterNodeFunc
+xmlRelaxNGValidateFullElement
+xmlRelaxNGValidatePopElement
+xmlRelaxNGValidatePushElement
+xmlReplaceNode
+xmlSaveTree
+xmlSchemaValPredefTypeNode
+xmlSearchNs
+xmlSearchNsByHref
+xmlSetListDoc
+xmlSetNs
+xmlSetNsProp
+xmlSetProp
+xmlSetTreeDoc
+xmlShellBase
+xmlShellCat
+xmlShellCmd
+xmlShellDir
+xmlShellDu
+xmlShellList
+xmlShellLoad
+xmlShellPrintNode
+xmlShellPwd
+xmlShellSave
+xmlShellValidate
+xmlShellWrite
+xmlTextConcat
+xmlTextMerge
+xmlUnlinkNode
+xmlUnsetNsProp
+xmlUnsetProp
+xmlValidCtxtNormalizeAttributeValue
+xmlValidNormalizeAttributeValue
+xmlValidateElement
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+xmlValidatePopElement
+xmlValidatePushElement
+xmlXIncludeProcessNode
+xmlXIncludeProcessTree
+xmlXIncludeProcessTreeFlags
+xmlXPathCastNodeToNumber
+xmlXPathCastNodeToString
+xmlXPathCmpNodes
+xmlXPathNewNodeSet
+xmlXPathNewValueTree
+xmlXPathNextAncestor
+xmlXPathNextAncestorOrSelf
+xmlXPathNextAttribute
+xmlXPathNextChild
+xmlXPathNextDescendant
+xmlXPathNextDescendantOrSelf
+xmlXPathNextFollowing
+xmlXPathNextFollowingSibling
+xmlXPathNextNamespace
+xmlXPathNextParent
+xmlXPathNextPreceding
+xmlXPathNextPrecedingSibling
+xmlXPathNextSelf
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+xmlXPathNodeSetAdd
+xmlXPathNodeSetAddNs
+xmlXPathNodeSetAddUnique
+xmlXPathNodeSetContains
+xmlXPathNodeSetCreate
+xmlXPathNodeSetDel
+xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPtrNewCollapsedRange
+xmlXPtrNewContext
+xmlXPtrNewLocationSetNodes
+xmlXPtrNewRange
+xmlXPtrNewRangeNodeObject
+xmlXPtrNewRangeNodePoint
+xmlXPtrNewRangeNodes
+xmlXPtrNewRangePointNode
+

Type xmlNodePtr *:

xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseCtxtExternalEntity
+xmlParseExternalEntity
+

Type xmlNodeSetPtr:

xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlXPathCastNodeSetToBoolean
+xmlXPathCastNodeSetToNumber
+xmlXPathCastNodeSetToString
+xmlXPathDifference
+xmlXPathDistinct
+xmlXPathDistinctSorted
+xmlXPathFreeNodeSet
+xmlXPathHasSameNodes
+xmlXPathIntersection
+xmlXPathLeading
+xmlXPathLeadingSorted
+xmlXPathNewNodeSetList
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+xmlXPathNodeSetAdd
+xmlXPathNodeSetAddNs
+xmlXPathNodeSetAddUnique
+xmlXPathNodeSetContains
+xmlXPathNodeSetDel
+xmlXPathNodeSetMerge
+xmlXPathNodeSetRemove
+xmlXPathNodeSetSort
+xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPathTrailing
+xmlXPathTrailingSorted
+xmlXPathWrapNodeSet
+xmlXPtrNewLocationSetNodeSet
+

Type xmlNotationPtr:

xmlDumpNotationDecl
+xmlValidateNotationDecl
+

Type xmlNotationTablePtr:

xmlCopyNotationTable
+xmlDumpNotationTable
+xmlFreeNotationTable
+

Type xmlNsPtr:

xmlCopyNamespace
+xmlCopyNamespaceList
+xmlFreeNs
+xmlFreeNsList
+xmlNewChild
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNewDocRawNode
+xmlNewNode
+xmlNewNodeEatName
+xmlNewNsProp
+xmlNewNsPropEatName
+xmlNewTextChild
+xmlSetNs
+xmlSetNsProp
+xmlUnsetNsProp
+xmlValidateOneNamespace
+xmlXPathNodeSetAddNs
+xmlXPathNodeSetFreeNs
+

Type xmlOutputBufferPtr:

htmlDocContentDumpFormatOutput
+htmlDocContentDumpOutput
+htmlNodeDumpFormatOutput
+htmlNodeDumpOutput
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlNewTextWriter
+xmlNodeDumpOutput
+xmlOutputBufferClose
+xmlOutputBufferFlush
+xmlOutputBufferWrite
+xmlOutputBufferWriteString
+xmlSaveFileTo
+xmlSaveFormatFileTo
+

Type xmlOutputCloseCallback:

xmlOutputBufferCreateIO
+xmlRegisterOutputCallbacks
+xmlSaveToIO
+

Type xmlOutputMatchCallback:

xmlRegisterOutputCallbacks
+

Type xmlOutputOpenCallback:

xmlRegisterOutputCallbacks
+

Type xmlOutputWriteCallback:

xmlOutputBufferCreateIO
+xmlRegisterOutputCallbacks
+xmlSaveToIO
+

Type xmlParserCtxtPtr:

inputPop
+inputPush
+namePop
+namePush
+nodePop
+nodePush
+xmlByteConsumed
+xmlCheckHTTPInput
+xmlClearParserCtxt
+xmlCtxtReadDoc
+xmlCtxtReadFd
+xmlCtxtReadFile
+xmlCtxtReadIO
+xmlCtxtReadMemory
+xmlCtxtReset
+xmlCtxtResetPush
+xmlCtxtUseOptions
+xmlCurrentChar
+xmlDecodeEntities
+xmlErrMemory
+xmlExternalEntityLoader
+xmlFreeParserCtxt
+xmlGetFeature
+xmlHandleEntity
+xmlInitParserCtxt
+xmlLoadExternalEntity
+xmlNamespaceParseNCName
+xmlNamespaceParseNSDef
+xmlNamespaceParseQName
+xmlNewEntityInputStream
+xmlNewIOInputStream
+xmlNewInputFromFile
+xmlNewInputStream
+xmlNewStringInputStream
+xmlNewTextWriterPushParser
+xmlNextChar
+xmlNoNetExternalEntityLoader
+xmlParseAttValue
+xmlParseAttribute
+xmlParseAttributeListDecl
+xmlParseAttributeType
+xmlParseCDSect
+xmlParseCharData
+xmlParseCharRef
+xmlParseChunk
+xmlParseComment
+xmlParseContent
+xmlParseCtxtExternalEntity
+xmlParseDefaultDecl
+xmlParseDocTypeDecl
+xmlParseDocument
+xmlParseElement
+xmlParseElementChildrenContentDecl
+xmlParseElementContentDecl
+xmlParseElementDecl
+xmlParseElementMixedContentDecl
+xmlParseEncName
+xmlParseEncodingDecl
+xmlParseEndTag
+xmlParseEntityDecl
+xmlParseEntityRef
+xmlParseEntityValue
+xmlParseEnumeratedType
+xmlParseEnumerationType
+xmlParseExtParsedEnt
+xmlParseExternalID
+xmlParseExternalSubset
+xmlParseMarkupDecl
+xmlParseMisc
+xmlParseName
+xmlParseNamespace
+xmlParseNmtoken
+xmlParseNotationDecl
+xmlParseNotationType
+xmlParsePEReference
+xmlParsePI
+xmlParsePITarget
+xmlParsePubidLiteral
+xmlParseQuotedString
+xmlParseReference
+xmlParseSDDecl
+xmlParseStartTag
+xmlParseSystemLiteral
+xmlParseTextDecl
+xmlParseVersionInfo
+xmlParseVersionNum
+xmlParseXMLDecl
+xmlParserAddNodeInfo
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlPopInput
+xmlPushInput
+xmlScanName
+xmlSetFeature
+xmlSetupParserForBuffer
+xmlSkipBlankChars
+xmlSplitQName
+xmlStopParser
+xmlStringCurrentChar
+xmlStringDecodeEntities
+xmlStringLenDecodeEntities
+xmlSwitchEncoding
+xmlSwitchInputEncoding
+xmlSwitchToEncoding
+

Type xmlParserInputBufferPtr:

xmlFreeParserInputBuffer
+xmlIOParseDTD
+xmlNewIOInputStream
+xmlNewTextReader
+xmlParserInputBufferGrow
+xmlParserInputBufferPush
+xmlParserInputBufferRead
+xmlSchemaValidateStream
+

Type xmlParserInputPtr:

inputPush
+xmlCheckHTTPInput
+xmlFreeInputStream
+xmlParserInputGrow
+xmlParserInputRead
+xmlParserInputShrink
+xmlParserPrintFileContext
+xmlParserPrintFileInfo
+xmlPushInput
+xmlSwitchInputEncoding
+

Type xmlParserNodeInfoSeqPtr:

xmlClearNodeInfoSeq
+xmlInitNodeInfoSeq
+

Type xmlParserSeverities:

xmlTextReaderErrorFunc
+

Type xmlPatternPtr:

xmlFreePattern
+xmlFreePatternList
+xmlPatternMatch
+

Type xmlRMutexPtr:

xmlFreeRMutex
+xmlRMutexLock
+xmlRMutexUnlock
+

Type xmlReallocFunc:

xmlGcMemSetup
+xmlMemSetup
+

Type xmlReallocFunc *:

xmlGcMemGet
+xmlMemGet
+

Type xmlRefTablePtr:

xmlFreeRefTable
+

Type xmlRegExecCallbacks:

xmlRegNewExecCtxt
+

Type xmlRegExecCtxtPtr:

xmlRegExecCallbacks
+xmlRegExecPushString
+xmlRegExecPushString2
+xmlRegFreeExecCtxt
+

Type xmlRegexpPtr:

xmlRegFreeRegexp
+xmlRegNewExecCtxt
+xmlRegexpExec
+xmlRegexpIsDeterminist
+xmlRegexpPrint
+

Type xmlRegisterNodeFunc:

xmlRegisterNodeDefault
+xmlThrDefRegisterNodeDefault
+

Type xmlRelaxNGParserCtxtPtr:

xmlRelaxNGFreeParserCtxt
+xmlRelaxNGGetParserErrors
+xmlRelaxNGParse
+xmlRelaxNGSetParserErrors
+xmlRelaxParserSetFlag
+

Type xmlRelaxNGPtr:

xmlRelaxNGDump
+xmlRelaxNGDumpTree
+xmlRelaxNGFree
+xmlRelaxNGNewValidCtxt
+xmlTextReaderRelaxNGSetSchema
+

Type xmlRelaxNGValidCtxtPtr:

xmlRelaxNGFreeValidCtxt
+xmlRelaxNGGetValidErrors
+xmlRelaxNGSetValidErrors
+xmlRelaxNGValidateDoc
+xmlRelaxNGValidateFullElement
+xmlRelaxNGValidatePopElement
+xmlRelaxNGValidatePushCData
+xmlRelaxNGValidatePushElement
+

Type xmlRelaxNGValidityErrorFunc:

xmlRelaxNGSetParserErrors
+xmlRelaxNGSetValidErrors
+

Type xmlRelaxNGValidityErrorFunc *:

xmlRelaxNGGetParserErrors
+xmlRelaxNGGetValidErrors
+

Type xmlRelaxNGValidityWarningFunc:

xmlRelaxNGSetParserErrors
+xmlRelaxNGSetValidErrors
+

Type xmlRelaxNGValidityWarningFunc *:

xmlRelaxNGGetParserErrors
+xmlRelaxNGGetValidErrors
+

Type xmlSAXHandler *:

xmlSAX2InitDefaultSAXHandler
+xmlSAX2InitDocbDefaultSAXHandler
+xmlSAX2InitHtmlDefaultSAXHandler
+xmlSAXVersion
+

Type xmlSAXHandlerPtr:

xmlCreateIOParserCtxt
+xmlCreatePushParserCtxt
+xmlIOParseDTD
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseExternalEntity
+xmlSAXParseDTD
+xmlSAXParseDoc
+xmlSAXParseEntity
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+xmlSAXUserParseFile
+xmlSAXUserParseMemory
+xmlSchemaValidateStream
+

Type xmlSAXHandlerV1 *:

initdocbDefaultSAXHandler
+inithtmlDefaultSAXHandler
+initxmlDefaultSAXHandler
+

Type xmlSAXLocatorPtr:

setDocumentLocator
+setDocumentLocatorSAXFunc
+xmlSAX2SetDocumentLocator
+

Type xmlSaveCtxtPtr:

xmlSaveClose
+xmlSaveDoc
+xmlSaveFlush
+xmlSaveTree
+

Type xmlSchemaFacetPtr:

xmlSchemaCheckFacet
+xmlSchemaFreeFacet
+xmlSchemaValidateFacet
+

Type xmlSchemaParserCtxtPtr:

xmlSchemaCheckFacet
+xmlSchemaFreeParserCtxt
+xmlSchemaParse
+xmlSchemaSetParserErrors
+

Type xmlSchemaPtr:

xmlSchemaDump
+xmlSchemaFree
+xmlSchemaNewValidCtxt
+

Type xmlSchemaTypePtr:

xmlSchemaCheckFacet
+xmlSchemaFreeType
+xmlSchemaValPredefTypeNode
+xmlSchemaValidateFacet
+xmlSchemaValidatePredefinedType
+

Type xmlSchemaValPtr:

xmlSchemaCompareValues
+xmlSchemaFreeValue
+xmlSchemaValidateFacet
+

Type xmlSchemaValPtr *:

xmlSchemaValPredefTypeNode
+xmlSchemaValidatePredefinedType
+

Type xmlSchemaValidCtxtPtr:

xmlSchemaFreeValidCtxt
+xmlSchemaSetValidErrors
+xmlSchemaValidateDoc
+xmlSchemaValidateStream
+

Type xmlSchemaValidityErrorFunc:

xmlSchemaSetParserErrors
+xmlSchemaSetValidErrors
+

Type xmlSchemaValidityWarningFunc:

xmlSchemaSetParserErrors
+xmlSchemaSetValidErrors
+

Type xmlShellCtxtPtr:

xmlShellBase
+xmlShellCat
+xmlShellCmd
+xmlShellDir
+xmlShellDu
+xmlShellList
+xmlShellLoad
+xmlShellPwd
+xmlShellSave
+xmlShellValidate
+xmlShellWrite
+

Type xmlShellReadlineFunc:

xmlShell
+

Type xmlStrdupFunc:

xmlGcMemSetup
+xmlMemSetup
+

Type xmlStrdupFunc *:

xmlGcMemGet
+xmlMemGet
+

Type xmlStructuredErrorFunc:

xmlSetStructuredErrorFunc
+xmlTextReaderSetStructuredErrorHandler
+xmlThrDefSetStructuredErrorFunc
+

Type xmlTextReaderErrorFunc:

xmlTextReaderSetErrorHandler
+

Type xmlTextReaderErrorFunc *:

xmlTextReaderGetErrorHandler
+

Type xmlTextReaderLocatorPtr:

xmlTextReaderErrorFunc
+xmlTextReaderLocatorBaseURI
+xmlTextReaderLocatorLineNumber
+

Type xmlTextReaderPtr:

xmlFreeTextReader
+xmlReaderNewDoc
+xmlReaderNewFd
+xmlReaderNewFile
+xmlReaderNewIO
+xmlReaderNewMemory
+xmlReaderNewWalker
+xmlTextReaderAttributeCount
+xmlTextReaderBaseUri
+xmlTextReaderClose
+xmlTextReaderConstBaseUri
+xmlTextReaderConstLocalName
+xmlTextReaderConstName
+xmlTextReaderConstNamespaceUri
+xmlTextReaderConstPrefix
+xmlTextReaderConstString
+xmlTextReaderConstValue
+xmlTextReaderConstXmlLang
+xmlTextReaderCurrentDoc
+xmlTextReaderCurrentNode
+xmlTextReaderDepth
+xmlTextReaderExpand
+xmlTextReaderGetAttribute
+xmlTextReaderGetAttributeNo
+xmlTextReaderGetAttributeNs
+xmlTextReaderGetErrorHandler
+xmlTextReaderGetParserProp
+xmlTextReaderGetRemainder
+xmlTextReaderHasAttributes
+xmlTextReaderHasValue
+xmlTextReaderIsDefault
+xmlTextReaderIsEmptyElement
+xmlTextReaderIsValid
+xmlTextReaderLocalName
+xmlTextReaderLookupNamespace
+xmlTextReaderMoveToAttribute
+xmlTextReaderMoveToAttributeNo
+xmlTextReaderMoveToAttributeNs
+xmlTextReaderMoveToElement
+xmlTextReaderMoveToFirstAttribute
+xmlTextReaderMoveToNextAttribute
+xmlTextReaderName
+xmlTextReaderNamespaceUri
+xmlTextReaderNext
+xmlTextReaderNextSibling
+xmlTextReaderNodeType
+xmlTextReaderNormalization
+xmlTextReaderPrefix
+xmlTextReaderPreserve
+xmlTextReaderPreservePattern
+xmlTextReaderQuoteChar
+xmlTextReaderRead
+xmlTextReaderReadAttributeValue
+xmlTextReaderReadInnerXml
+xmlTextReaderReadOuterXml
+xmlTextReaderReadState
+xmlTextReaderReadString
+xmlTextReaderRelaxNGSetSchema
+xmlTextReaderRelaxNGValidate
+xmlTextReaderSetErrorHandler
+xmlTextReaderSetParserProp
+xmlTextReaderSetStructuredErrorHandler
+xmlTextReaderValue
+xmlTextReaderXmlLang
+

Type xmlTextWriterPtr:

xmlFreeTextWriter
+xmlTextWriterEndAttribute
+xmlTextWriterEndCDATA
+xmlTextWriterEndComment
+xmlTextWriterEndDTD
+xmlTextWriterEndDTDAttlist
+xmlTextWriterEndDTDElement
+xmlTextWriterEndDTDEntity
+xmlTextWriterEndDocument
+xmlTextWriterEndElement
+xmlTextWriterEndPI
+xmlTextWriterFlush
+xmlTextWriterFullEndElement
+xmlTextWriterSetIndent
+xmlTextWriterSetIndentString
+xmlTextWriterStartAttribute
+xmlTextWriterStartAttributeNS
+xmlTextWriterStartCDATA
+xmlTextWriterStartComment
+xmlTextWriterStartDTD
+xmlTextWriterStartDTDAttlist
+xmlTextWriterStartDTDElement
+xmlTextWriterStartDTDEntity
+xmlTextWriterStartDocument
+xmlTextWriterStartElement
+xmlTextWriterStartElementNS
+xmlTextWriterStartPI
+xmlTextWriterWriteAttribute
+xmlTextWriterWriteAttributeNS
+xmlTextWriterWriteBase64
+xmlTextWriterWriteBinHex
+xmlTextWriterWriteCDATA
+xmlTextWriterWriteComment
+xmlTextWriterWriteDTD
+xmlTextWriterWriteDTDAttlist
+xmlTextWriterWriteDTDElement
+xmlTextWriterWriteDTDEntity
+xmlTextWriterWriteDTDExternalEntity
+xmlTextWriterWriteDTDExternalEntityContents
+xmlTextWriterWriteDTDInternalEntity
+xmlTextWriterWriteDTDNotation
+xmlTextWriterWriteElement
+xmlTextWriterWriteElementNS
+xmlTextWriterWriteFormatAttribute
+xmlTextWriterWriteFormatAttributeNS
+xmlTextWriterWriteFormatCDATA
+xmlTextWriterWriteFormatComment
+xmlTextWriterWriteFormatDTD
+xmlTextWriterWriteFormatDTDAttlist
+xmlTextWriterWriteFormatDTDElement
+xmlTextWriterWriteFormatDTDInternalEntity
+xmlTextWriterWriteFormatElement
+xmlTextWriterWriteFormatElementNS
+xmlTextWriterWriteFormatPI
+xmlTextWriterWriteFormatRaw
+xmlTextWriterWriteFormatString
+xmlTextWriterWritePI
+xmlTextWriterWriteRaw
+xmlTextWriterWriteRawLen
+xmlTextWriterWriteString
+xmlTextWriterWriteVFormatAttribute
+xmlTextWriterWriteVFormatAttributeNS
+xmlTextWriterWriteVFormatCDATA
+xmlTextWriterWriteVFormatComment
+xmlTextWriterWriteVFormatDTD
+xmlTextWriterWriteVFormatDTDAttlist
+xmlTextWriterWriteVFormatDTDElement
+xmlTextWriterWriteVFormatDTDInternalEntity
+xmlTextWriterWriteVFormatElement
+xmlTextWriterWriteVFormatElementNS
+xmlTextWriterWriteVFormatPI
+xmlTextWriterWriteVFormatRaw
+xmlTextWriterWriteVFormatString
+

Type xmlURIPtr:

xmlFreeURI
+xmlParseURIReference
+xmlPrintURI
+xmlSaveUri
+

Type xmlValidCtxtPtr:

xmlAddAttributeDecl
+xmlAddElementDecl
+xmlAddID
+xmlAddNotationDecl
+xmlAddRef
+xmlFreeValidCtxt
+xmlValidBuildContentModel
+xmlValidCtxtNormalizeAttributeValue
+xmlValidateAttributeDecl
+xmlValidateDocument
+xmlValidateDocumentFinal
+xmlValidateDtd
+xmlValidateDtdFinal
+xmlValidateElement
+xmlValidateElementDecl
+xmlValidateNotationDecl
+xmlValidateNotationUse
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+xmlValidatePopElement
+xmlValidatePushCData
+xmlValidatePushElement
+xmlValidateRoot
+

Type xmlXIncludeCtxtPtr:

xmlXIncludeFreeContext
+xmlXIncludeProcessNode
+xmlXIncludeSetFlags
+

Type xmlXPathCompExprPtr:

xmlXPathCompiledEval
+xmlXPathDebugDumpCompExpr
+xmlXPathFreeCompExpr
+

Type xmlXPathContextPtr:

xmlXPathCompiledEval
+xmlXPathCtxtCompile
+xmlXPathEval
+xmlXPathEvalExpression
+xmlXPathEvalPredicate
+xmlXPathFreeContext
+xmlXPathFunctionLookup
+xmlXPathFunctionLookupNS
+xmlXPathNewParserContext
+xmlXPathNsLookup
+xmlXPathRegisterAllFunctions
+xmlXPathRegisterFunc
+xmlXPathRegisterFuncLookup
+xmlXPathRegisterFuncNS
+xmlXPathRegisterNs
+xmlXPathRegisterVariable
+xmlXPathRegisterVariableLookup
+xmlXPathRegisterVariableNS
+xmlXPathRegisteredFuncsCleanup
+xmlXPathRegisteredNsCleanup
+xmlXPathRegisteredVariablesCleanup
+xmlXPathVariableLookup
+xmlXPathVariableLookupNS
+xmlXPtrEval
+

Type xmlXPathFuncLookupFunc:

xmlXPathRegisterFuncLookup
+

Type xmlXPathFunction:

xmlXPathRegisterFunc
+xmlXPathRegisterFuncNS
+

Type xmlXPathObjectPtr:

valuePush
+xmlShellPrintXPathResult
+xmlXPathAxisFunc
+xmlXPathCastToBoolean
+xmlXPathCastToNumber
+xmlXPathCastToString
+xmlXPathConvertBoolean
+xmlXPathConvertFunc
+xmlXPathConvertNumber
+xmlXPathConvertString
+xmlXPathDebugDumpObject
+xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+xmlXPathFreeNodeSetList
+xmlXPathFreeObject
+xmlXPathObjectCopy
+xmlXPathRegisterVariable
+xmlXPathRegisterVariableNS
+xmlXPtrBuildNodeList
+xmlXPtrLocationSetAdd
+xmlXPtrLocationSetCreate
+xmlXPtrLocationSetDel
+xmlXPtrNewRangeNodeObject
+xmlXPtrNewRangeNodePoint
+xmlXPtrNewRangePointNode
+xmlXPtrNewRangePoints
+

Type xmlXPathParserContextPtr:

valuePop
+valuePush
+xmlXPathAddValues
+xmlXPathAxisFunc
+xmlXPathBooleanFunction
+xmlXPathCeilingFunction
+xmlXPathCompareValues
+xmlXPathConcatFunction
+xmlXPathContainsFunction
+xmlXPathCountFunction
+xmlXPathDivValues
+xmlXPathEqualValues
+xmlXPathErr
+xmlXPathEvalExpr
+xmlXPathEvalFunc
+xmlXPathEvaluatePredicateResult
+xmlXPathFalseFunction
+xmlXPathFloorFunction
+xmlXPathFreeParserContext
+xmlXPathFunction
+xmlXPathIdFunction
+xmlXPathLangFunction
+xmlXPathLastFunction
+xmlXPathLocalNameFunction
+xmlXPathModValues
+xmlXPathMultValues
+xmlXPathNamespaceURIFunction
+xmlXPathNextAncestor
+xmlXPathNextAncestorOrSelf
+xmlXPathNextAttribute
+xmlXPathNextChild
+xmlXPathNextDescendant
+xmlXPathNextDescendantOrSelf
+xmlXPathNextFollowing
+xmlXPathNextFollowingSibling
+xmlXPathNextNamespace
+xmlXPathNextParent
+xmlXPathNextPreceding
+xmlXPathNextPrecedingSibling
+xmlXPathNextSelf
+xmlXPathNormalizeFunction
+xmlXPathNotEqualValues
+xmlXPathNotFunction
+xmlXPathNumberFunction
+xmlXPathParseNCName
+xmlXPathParseName
+xmlXPathPopBoolean
+xmlXPathPopExternal
+xmlXPathPopNodeSet
+xmlXPathPopNumber
+xmlXPathPopString
+xmlXPathPositionFunction
+xmlXPathRoot
+xmlXPathRoundFunction
+xmlXPathStartsWithFunction
+xmlXPathStringFunction
+xmlXPathStringLengthFunction
+xmlXPathSubValues
+xmlXPathSubstringAfterFunction
+xmlXPathSubstringBeforeFunction
+xmlXPathSubstringFunction
+xmlXPathSumFunction
+xmlXPathTranslateFunction
+xmlXPathTrueFunction
+xmlXPathValueFlipSign
+xmlXPatherror
+xmlXPtrEvalRangePredicate
+xmlXPtrRangeToFunction
+

Type xmlXPathVariableLookupFunc:

xmlXPathRegisterVariableLookup
+

Daniel Veillard

diff --git a/doc/APIsymbols.html b/doc/APIsymbols.html new file mode 100644 index 0000000..b3d570f --- /dev/null +++ b/doc/APIsymbols.html @@ -0,0 +1,2864 @@ + + +Alphabetic List of Symbols in libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

Alphabetic List of Symbols in libxml2

Developer Menu
API Indexes
Related links

Letter A:

ATTRIBUTE_UNUSED
+

Letter B:

BAD_CAST
+BASE_BUFFER_SIZE
+

Letter C:

CAST_TO_BOOLEAN
+CAST_TO_NUMBER
+CAST_TO_STRING
+CHECK_ARITY
+CHECK_ERROR
+CHECK_ERROR0
+CHECK_TYPE
+CHECK_TYPE0
+

Letter D:

DEBUG_MEMORY
+DEBUG_MEMORY_LOCATION
+

Letter H:

HTML_COMMENT_NODE
+HTML_DEPRECATED
+HTML_ENTITY_REF_NODE
+HTML_INVALID
+HTML_NA
+HTML_PARSE_NOBLANKS
+HTML_PARSE_NOERROR
+HTML_PARSE_NONET
+HTML_PARSE_NOWARNING
+HTML_PARSE_PEDANTIC
+HTML_PI_NODE
+HTML_PRESERVE_NODE
+HTML_REQUIRED
+HTML_TEXT_NODE
+HTML_VALID
+

Letter I:

INPUT_CHUNK
+IS_BASECHAR
+IS_BLANK
+IS_BLANK_CH
+IS_BYTE_CHAR
+IS_CHAR
+IS_CHAR_CH
+IS_COMBINING
+IS_COMBINING_CH
+IS_DIGIT
+IS_DIGIT_CH
+IS_EXTENDER
+IS_EXTENDER_CH
+IS_IDEOGRAPHIC
+IS_LETTER
+IS_LETTER_CH
+IS_PUBIDCHAR
+IS_PUBIDCHAR_CH
+

Letter L:

LIBXML_AUTOMATA_ENABLED
+LIBXML_C14N_ENABLED
+LIBXML_CATALOG_ENABLED
+LIBXML_DEBUG_ENABLED
+LIBXML_DLL_IMPORT
+LIBXML_DOCB_ENABLED
+LIBXML_DOTTED_VERSION
+LIBXML_FTP_ENABLED
+LIBXML_HTML_ENABLED
+LIBXML_HTTP_ENABLED
+LIBXML_ICONV_ENABLED
+LIBXML_ISO8859X_ENABLED
+LIBXML_LEGACY_ENABLED
+LIBXML_OUTPUT_ENABLED
+LIBXML_PATTERN_ENABLED
+LIBXML_PUSH_ENABLED
+LIBXML_READER_ENABLED
+LIBXML_REGEXP_ENABLED
+LIBXML_SAX1_ENABLED
+LIBXML_SCHEMAS_ENABLED
+LIBXML_TEST_VERSION
+LIBXML_THREAD_ENABLED
+LIBXML_TREE_ENABLED
+LIBXML_UNICODE_ENABLED
+LIBXML_VALID_ENABLED
+LIBXML_VERSION
+LIBXML_VERSION_STRING
+LIBXML_WRITER_ENABLED
+LIBXML_XINCLUDE_ENABLED
+LIBXML_XPATH_ENABLED
+LIBXML_XPTR_ENABLED
+

Letter M:

MOVETO_ENDTAG
+MOVETO_STARTTAG
+

Letter S:

SKIP_EOL
+

Letter U:

UTF8ToHtml
+UTF8Toisolat1
+

Letter W:

WITHOUT_TRIO
+WITH_TRIO
+

Letter X:

XINCLUDE_FALLBACK
+XINCLUDE_HREF
+XINCLUDE_NODE
+XINCLUDE_NS
+XINCLUDE_OLD_NS
+XINCLUDE_PARSE
+XINCLUDE_PARSE_ENCODING
+XINCLUDE_PARSE_TEXT
+XINCLUDE_PARSE_XML
+XINCLUDE_PARSE_XPOINTER
+XLINK_ACTUATE_AUTO
+XLINK_ACTUATE_NONE
+XLINK_ACTUATE_ONREQUEST
+XLINK_SHOW_EMBED
+XLINK_SHOW_NEW
+XLINK_SHOW_NONE
+XLINK_SHOW_REPLACE
+XLINK_TYPE_EXTENDED
+XLINK_TYPE_EXTENDED_SET
+XLINK_TYPE_NONE
+XLINK_TYPE_SIMPLE
+XMLCALL
+XMLPUBFUN
+XMLPUBVAR
+XML_ATTRIBUTE_CDATA
+XML_ATTRIBUTE_DECL
+XML_ATTRIBUTE_ENTITIES
+XML_ATTRIBUTE_ENTITY
+XML_ATTRIBUTE_ENUMERATION
+XML_ATTRIBUTE_FIXED
+XML_ATTRIBUTE_ID
+XML_ATTRIBUTE_IDREF
+XML_ATTRIBUTE_IDREFS
+XML_ATTRIBUTE_IMPLIED
+XML_ATTRIBUTE_NMTOKEN
+XML_ATTRIBUTE_NMTOKENS
+XML_ATTRIBUTE_NODE
+XML_ATTRIBUTE_NONE
+XML_ATTRIBUTE_NOTATION
+XML_ATTRIBUTE_REQUIRED
+XML_BUFFER_ALLOC_DOUBLEIT
+XML_BUFFER_ALLOC_EXACT
+XML_BUFFER_ALLOC_IMMUTABLE
+XML_C14N_CREATE_CTXT
+XML_C14N_CREATE_STACK
+XML_C14N_INVALID_NODE
+XML_C14N_REQUIRES_UTF8
+XML_CATALOGS_NAMESPACE
+XML_CATALOG_ENTRY_BROKEN
+XML_CATALOG_MISSING_ATTR
+XML_CATALOG_NOT_CATALOG
+XML_CATALOG_PI
+XML_CATALOG_PREFER_VALUE
+XML_CATALOG_RECURSION
+XML_CATA_ALLOW_ALL
+XML_CATA_ALLOW_DOCUMENT
+XML_CATA_ALLOW_GLOBAL
+XML_CATA_ALLOW_NONE
+XML_CATA_PREFER_NONE
+XML_CATA_PREFER_PUBLIC
+XML_CATA_PREFER_SYSTEM
+XML_CDATA_SECTION_NODE
+XML_CHAR_ENCODING_2022_JP
+XML_CHAR_ENCODING_8859_1
+XML_CHAR_ENCODING_8859_2
+XML_CHAR_ENCODING_8859_3
+XML_CHAR_ENCODING_8859_4
+XML_CHAR_ENCODING_8859_5
+XML_CHAR_ENCODING_8859_6
+XML_CHAR_ENCODING_8859_7
+XML_CHAR_ENCODING_8859_8
+XML_CHAR_ENCODING_8859_9
+XML_CHAR_ENCODING_ASCII
+XML_CHAR_ENCODING_EBCDIC
+XML_CHAR_ENCODING_ERROR
+XML_CHAR_ENCODING_EUC_JP
+XML_CHAR_ENCODING_NONE
+XML_CHAR_ENCODING_SHIFT_JIS
+XML_CHAR_ENCODING_UCS2
+XML_CHAR_ENCODING_UCS4BE
+XML_CHAR_ENCODING_UCS4LE
+XML_CHAR_ENCODING_UCS4_2143
+XML_CHAR_ENCODING_UCS4_3412
+XML_CHAR_ENCODING_UTF16BE
+XML_CHAR_ENCODING_UTF16LE
+XML_CHAR_ENCODING_UTF8
+XML_COMMENT_NODE
+XML_COMPLETE_ATTRS
+XML_DEFAULT_VERSION
+XML_DETECT_IDS
+XML_DOCB_DOCUMENT_NODE
+XML_DOCUMENT_FRAG_NODE
+XML_DOCUMENT_NODE
+XML_DOCUMENT_TYPE_NODE
+XML_DTD_ATTRIBUTE_DEFAULT
+XML_DTD_ATTRIBUTE_REDEFINED
+XML_DTD_ATTRIBUTE_VALUE
+XML_DTD_CONTENT_ERROR
+XML_DTD_CONTENT_MODEL
+XML_DTD_CONTENT_NOT_DETERMINIST
+XML_DTD_DIFFERENT_PREFIX
+XML_DTD_ELEM_DEFAULT_NAMESPACE
+XML_DTD_ELEM_NAMESPACE
+XML_DTD_ELEM_REDEFINED
+XML_DTD_EMPTY_NOTATION
+XML_DTD_ENTITY_TYPE
+XML_DTD_ID_FIXED
+XML_DTD_ID_REDEFINED
+XML_DTD_ID_SUBSET
+XML_DTD_INVALID_CHILD
+XML_DTD_INVALID_DEFAULT
+XML_DTD_LOAD_ERROR
+XML_DTD_MISSING_ATTRIBUTE
+XML_DTD_MIXED_CORRUPT
+XML_DTD_MULTIPLE_ID
+XML_DTD_NODE
+XML_DTD_NOTATION_REDEFINED
+XML_DTD_NOTATION_VALUE
+XML_DTD_NOT_EMPTY
+XML_DTD_NOT_PCDATA
+XML_DTD_NOT_STANDALONE
+XML_DTD_NO_DOC
+XML_DTD_NO_DTD
+XML_DTD_NO_ELEM_NAME
+XML_DTD_NO_PREFIX
+XML_DTD_NO_ROOT
+XML_DTD_ROOT_NAME
+XML_DTD_STANDALONE_DEFAULTED
+XML_DTD_STANDALONE_WHITE_SPACE
+XML_DTD_UNKNOWN_ATTRIBUTE
+XML_DTD_UNKNOWN_ELEM
+XML_DTD_UNKNOWN_ENTITY
+XML_DTD_UNKNOWN_ID
+XML_DTD_UNKNOWN_NOTATION
+XML_ELEMENT_CONTENT_ELEMENT
+XML_ELEMENT_CONTENT_MULT
+XML_ELEMENT_CONTENT_ONCE
+XML_ELEMENT_CONTENT_OPT
+XML_ELEMENT_CONTENT_OR
+XML_ELEMENT_CONTENT_PCDATA
+XML_ELEMENT_CONTENT_PLUS
+XML_ELEMENT_CONTENT_SEQ
+XML_ELEMENT_DECL
+XML_ELEMENT_NODE
+XML_ELEMENT_TYPE_ANY
+XML_ELEMENT_TYPE_ELEMENT
+XML_ELEMENT_TYPE_EMPTY
+XML_ELEMENT_TYPE_MIXED
+XML_ELEMENT_TYPE_UNDEFINED
+XML_ENTITY_DECL
+XML_ENTITY_NODE
+XML_ENTITY_REF_NODE
+XML_ERR_ATTLIST_NOT_FINISHED
+XML_ERR_ATTLIST_NOT_STARTED
+XML_ERR_ATTRIBUTE_NOT_FINISHED
+XML_ERR_ATTRIBUTE_NOT_STARTED
+XML_ERR_ATTRIBUTE_REDEFINED
+XML_ERR_ATTRIBUTE_WITHOUT_VALUE
+XML_ERR_CDATA_NOT_FINISHED
+XML_ERR_CHARREF_AT_EOF
+XML_ERR_CHARREF_IN_DTD
+XML_ERR_CHARREF_IN_EPILOG
+XML_ERR_CHARREF_IN_PROLOG
+XML_ERR_COMMENT_NOT_FINISHED
+XML_ERR_CONDSEC_INVALID
+XML_ERR_CONDSEC_INVALID_KEYWORD
+XML_ERR_CONDSEC_NOT_FINISHED
+XML_ERR_CONDSEC_NOT_STARTED
+XML_ERR_DOCTYPE_NOT_FINISHED
+XML_ERR_DOCUMENT_EMPTY
+XML_ERR_DOCUMENT_END
+XML_ERR_DOCUMENT_START
+XML_ERR_ELEMCONTENT_NOT_FINISHED
+XML_ERR_ELEMCONTENT_NOT_STARTED
+XML_ERR_ENCODING_NAME
+XML_ERR_ENTITYREF_AT_EOF
+XML_ERR_ENTITYREF_IN_DTD
+XML_ERR_ENTITYREF_IN_EPILOG
+XML_ERR_ENTITYREF_IN_PROLOG
+XML_ERR_ENTITYREF_NO_NAME
+XML_ERR_ENTITYREF_SEMICOL_MISSING
+XML_ERR_ENTITY_BOUNDARY
+XML_ERR_ENTITY_CHAR_ERROR
+XML_ERR_ENTITY_IS_EXTERNAL
+XML_ERR_ENTITY_IS_PARAMETER
+XML_ERR_ENTITY_LOOP
+XML_ERR_ENTITY_NOT_FINISHED
+XML_ERR_ENTITY_NOT_STARTED
+XML_ERR_ENTITY_PE_INTERNAL
+XML_ERR_EQUAL_REQUIRED
+XML_ERR_ERROR
+XML_ERR_EXTRA_CONTENT
+XML_ERR_EXT_ENTITY_STANDALONE
+XML_ERR_EXT_SUBSET_NOT_FINISHED
+XML_ERR_FATAL
+XML_ERR_GT_REQUIRED
+XML_ERR_HYPHEN_IN_COMMENT
+XML_ERR_INTERNAL_ERROR
+XML_ERR_INVALID_CHAR
+XML_ERR_INVALID_CHARREF
+XML_ERR_INVALID_DEC_CHARREF
+XML_ERR_INVALID_ENCODING
+XML_ERR_INVALID_HEX_CHARREF
+XML_ERR_INVALID_URI
+XML_ERR_LITERAL_NOT_FINISHED
+XML_ERR_LITERAL_NOT_STARTED
+XML_ERR_LTSLASH_REQUIRED
+XML_ERR_LT_IN_ATTRIBUTE
+XML_ERR_LT_REQUIRED
+XML_ERR_MISPLACED_CDATA_END
+XML_ERR_MISSING_ENCODING
+XML_ERR_MIXED_NOT_FINISHED
+XML_ERR_MIXED_NOT_STARTED
+XML_ERR_NAME_REQUIRED
+XML_ERR_NMTOKEN_REQUIRED
+XML_ERR_NONE
+XML_ERR_NOTATION_NOT_FINISHED
+XML_ERR_NOTATION_NOT_STARTED
+XML_ERR_NOT_WELL_BALANCED
+XML_ERR_NO_DTD
+XML_ERR_NO_MEMORY
+XML_ERR_NS_DECL_ERROR
+XML_ERR_OK
+XML_ERR_PCDATA_REQUIRED
+XML_ERR_PEREF_AT_EOF
+XML_ERR_PEREF_IN_EPILOG
+XML_ERR_PEREF_IN_INT_SUBSET
+XML_ERR_PEREF_IN_PROLOG
+XML_ERR_PEREF_NO_NAME
+XML_ERR_PEREF_SEMICOL_MISSING
+XML_ERR_PI_NOT_FINISHED
+XML_ERR_PI_NOT_STARTED
+XML_ERR_PUBID_REQUIRED
+XML_ERR_RESERVED_XML_NAME
+XML_ERR_SEPARATOR_REQUIRED
+XML_ERR_SPACE_REQUIRED
+XML_ERR_STANDALONE_VALUE
+XML_ERR_STRING_NOT_CLOSED
+XML_ERR_STRING_NOT_STARTED
+XML_ERR_TAG_NAME_MISMATCH
+XML_ERR_TAG_NOT_FINISHED
+XML_ERR_UNDECLARED_ENTITY
+XML_ERR_UNKNOWN_ENCODING
+XML_ERR_UNPARSED_ENTITY
+XML_ERR_UNSUPPORTED_ENCODING
+XML_ERR_URI_FRAGMENT
+XML_ERR_URI_REQUIRED
+XML_ERR_VALUE_REQUIRED
+XML_ERR_VERSION_MISSING
+XML_ERR_WARNING
+XML_ERR_XMLDECL_NOT_FINISHED
+XML_ERR_XMLDECL_NOT_STARTED
+XML_EXTERNAL_GENERAL_PARSED_ENTITY
+XML_EXTERNAL_GENERAL_UNPARSED_ENTITY
+XML_EXTERNAL_PARAMETER_ENTITY
+XML_FROM_C14N
+XML_FROM_CATALOG
+XML_FROM_DATATYPE
+XML_FROM_DTD
+XML_FROM_FTP
+XML_FROM_HTML
+XML_FROM_HTTP
+XML_FROM_IO
+XML_FROM_MEMORY
+XML_FROM_NAMESPACE
+XML_FROM_NONE
+XML_FROM_OUTPUT
+XML_FROM_PARSER
+XML_FROM_REGEXP
+XML_FROM_RELAXNGP
+XML_FROM_RELAXNGV
+XML_FROM_SCHEMASP
+XML_FROM_SCHEMASV
+XML_FROM_TREE
+XML_FROM_VALID
+XML_FROM_XINCLUDE
+XML_FROM_XPATH
+XML_FROM_XPOINTER
+XML_FROM_XSLT
+XML_FTP_ACCNT
+XML_FTP_EPSV_ANSWER
+XML_FTP_PASV_ANSWER
+XML_GET_CONTENT
+XML_GET_LINE
+XML_HTML_DOCUMENT_NODE
+XML_HTML_STRUCURE_ERROR
+XML_HTML_UNKNOWN_TAG
+XML_HTTP_UNKNOWN_HOST
+XML_HTTP_URL_SYNTAX
+XML_HTTP_USE_IP
+XML_INTERNAL_GENERAL_ENTITY
+XML_INTERNAL_PARAMETER_ENTITY
+XML_INTERNAL_PREDEFINED_ENTITY
+XML_IO_BUFFER_FULL
+XML_IO_EACCES
+XML_IO_EADDRINUSE
+XML_IO_EAFNOSUPPORT
+XML_IO_EAGAIN
+XML_IO_EALREADY
+XML_IO_EBADF
+XML_IO_EBADMSG
+XML_IO_EBUSY
+XML_IO_ECANCELED
+XML_IO_ECHILD
+XML_IO_ECONNREFUSED
+XML_IO_EDEADLK
+XML_IO_EDOM
+XML_IO_EEXIST
+XML_IO_EFAULT
+XML_IO_EFBIG
+XML_IO_EINPROGRESS
+XML_IO_EINTR
+XML_IO_EINVAL
+XML_IO_EIO
+XML_IO_EISCONN
+XML_IO_EISDIR
+XML_IO_EMFILE
+XML_IO_EMLINK
+XML_IO_EMSGSIZE
+XML_IO_ENAMETOOLONG
+XML_IO_ENCODER
+XML_IO_ENETUNREACH
+XML_IO_ENFILE
+XML_IO_ENODEV
+XML_IO_ENOENT
+XML_IO_ENOEXEC
+XML_IO_ENOLCK
+XML_IO_ENOMEM
+XML_IO_ENOSPC
+XML_IO_ENOSYS
+XML_IO_ENOTDIR
+XML_IO_ENOTEMPTY
+XML_IO_ENOTSOCK
+XML_IO_ENOTSUP
+XML_IO_ENOTTY
+XML_IO_ENXIO
+XML_IO_EPERM
+XML_IO_EPIPE
+XML_IO_ERANGE
+XML_IO_EROFS
+XML_IO_ESPIPE
+XML_IO_ESRCH
+XML_IO_ETIMEDOUT
+XML_IO_EXDEV
+XML_IO_FLUSH
+XML_IO_LOAD_ERROR
+XML_IO_NETWORK_ATTEMPT
+XML_IO_NO_INPUT
+XML_IO_UNKNOWN
+XML_IO_WRITE
+XML_LOCAL_NAMESPACE
+XML_MAX_NAMELEN
+XML_NAMESPACE_DECL
+XML_NOTATION_NODE
+XML_NS_ERR_ATTRIBUTE_REDEFINED
+XML_NS_ERR_QNAME
+XML_NS_ERR_UNDEFINED_NAMESPACE
+XML_NS_ERR_XML_NAMESPACE
+XML_PARSER_ATTRIBUTE_VALUE
+XML_PARSER_CDATA_SECTION
+XML_PARSER_COMMENT
+XML_PARSER_CONTENT
+XML_PARSER_DEFAULTATTRS
+XML_PARSER_DTD
+XML_PARSER_END_TAG
+XML_PARSER_ENTITY_DECL
+XML_PARSER_ENTITY_VALUE
+XML_PARSER_EOF
+XML_PARSER_EPILOG
+XML_PARSER_IGNORE
+XML_PARSER_LOADDTD
+XML_PARSER_MISC
+XML_PARSER_PI
+XML_PARSER_PROLOG
+XML_PARSER_PUBLIC_LITERAL
+XML_PARSER_SEVERITY_ERROR
+XML_PARSER_SEVERITY_VALIDITY_ERROR
+XML_PARSER_SEVERITY_VALIDITY_WARNING
+XML_PARSER_SEVERITY_WARNING
+XML_PARSER_START
+XML_PARSER_START_TAG
+XML_PARSER_SUBST_ENTITIES
+XML_PARSER_SYSTEM_LITERAL
+XML_PARSER_VALIDATE
+XML_PARSE_DTDATTR
+XML_PARSE_DTDLOAD
+XML_PARSE_DTDVALID
+XML_PARSE_NOBLANKS
+XML_PARSE_NOCDATA
+XML_PARSE_NODICT
+XML_PARSE_NOENT
+XML_PARSE_NOERROR
+XML_PARSE_NONET
+XML_PARSE_NOWARNING
+XML_PARSE_NSCLEAN
+XML_PARSE_PEDANTIC
+XML_PARSE_RECOVER
+XML_PARSE_SAX1
+XML_PARSE_XINCLUDE
+XML_PI_NODE
+XML_READER_TYPE_ATTRIBUTE
+XML_READER_TYPE_CDATA
+XML_READER_TYPE_COMMENT
+XML_READER_TYPE_DOCUMENT
+XML_READER_TYPE_DOCUMENT_FRAGMENT
+XML_READER_TYPE_DOCUMENT_TYPE
+XML_READER_TYPE_ELEMENT
+XML_READER_TYPE_END_ELEMENT
+XML_READER_TYPE_END_ENTITY
+XML_READER_TYPE_ENTITY
+XML_READER_TYPE_ENTITY_REFERENCE
+XML_READER_TYPE_NONE
+XML_READER_TYPE_NOTATION
+XML_READER_TYPE_PROCESSING_INSTRUCTION
+XML_READER_TYPE_SIGNIFICANT_WHITESPACE
+XML_READER_TYPE_TEXT
+XML_READER_TYPE_WHITESPACE
+XML_READER_TYPE_XML_DECLARATION
+XML_REGEXP_COMPILE_ERROR
+XML_RELAXNGP_CRNG
+XML_RELAXNGP_FREE_DOC
+XML_RELAXNGP_NONE
+XML_RELAXNG_ERR_ATTREXTRANS
+XML_RELAXNG_ERR_ATTRNAME
+XML_RELAXNG_ERR_ATTRNONS
+XML_RELAXNG_ERR_ATTRVALID
+XML_RELAXNG_ERR_ATTRWRONGNS
+XML_RELAXNG_ERR_CONTENTVALID
+XML_RELAXNG_ERR_DATAELEM
+XML_RELAXNG_ERR_DATATYPE
+XML_RELAXNG_ERR_DUPID
+XML_RELAXNG_ERR_ELEMEXTRANS
+XML_RELAXNG_ERR_ELEMNAME
+XML_RELAXNG_ERR_ELEMNONS
+XML_RELAXNG_ERR_ELEMNOTEMPTY
+XML_RELAXNG_ERR_ELEMWRONG
+XML_RELAXNG_ERR_ELEMWRONGNS
+XML_RELAXNG_ERR_EXTRACONTENT
+XML_RELAXNG_ERR_EXTRADATA
+XML_RELAXNG_ERR_INTEREXTRA
+XML_RELAXNG_ERR_INTERNAL
+XML_RELAXNG_ERR_INTERNODATA
+XML_RELAXNG_ERR_INTERSEQ
+XML_RELAXNG_ERR_INVALIDATTR
+XML_RELAXNG_ERR_LACKDATA
+XML_RELAXNG_ERR_LIST
+XML_RELAXNG_ERR_LISTELEM
+XML_RELAXNG_ERR_LISTEMPTY
+XML_RELAXNG_ERR_LISTEXTRA
+XML_RELAXNG_ERR_MEMORY
+XML_RELAXNG_ERR_NODEFINE
+XML_RELAXNG_ERR_NOELEM
+XML_RELAXNG_ERR_NOGRAMMAR
+XML_RELAXNG_ERR_NOSTATE
+XML_RELAXNG_ERR_NOTELEM
+XML_RELAXNG_ERR_TEXTWRONG
+XML_RELAXNG_ERR_TYPE
+XML_RELAXNG_ERR_TYPECMP
+XML_RELAXNG_ERR_TYPEVAL
+XML_RELAXNG_ERR_VALELEM
+XML_RELAXNG_ERR_VALUE
+XML_RELAXNG_OK
+XML_RNGP_ANYNAME_ATTR_ANCESTOR
+XML_RNGP_ATTRIBUTE_CHILDREN
+XML_RNGP_ATTRIBUTE_CONTENT
+XML_RNGP_ATTRIBUTE_EMPTY
+XML_RNGP_ATTRIBUTE_NOOP
+XML_RNGP_ATTR_CONFLICT
+XML_RNGP_CHOICE_CONTENT
+XML_RNGP_CHOICE_EMPTY
+XML_RNGP_CREATE_FAILURE
+XML_RNGP_DATA_CONTENT
+XML_RNGP_DEFINE_CREATE_FAILED
+XML_RNGP_DEFINE_EMPTY
+XML_RNGP_DEFINE_MISSING
+XML_RNGP_DEFINE_NAME_MISSING
+XML_RNGP_DEF_CHOICE_AND_INTERLEAVE
+XML_RNGP_ELEMENT_CONTENT
+XML_RNGP_ELEMENT_EMPTY
+XML_RNGP_ELEMENT_NAME
+XML_RNGP_ELEMENT_NO_CONTENT
+XML_RNGP_ELEM_CONTENT_EMPTY
+XML_RNGP_ELEM_CONTENT_ERROR
+XML_RNGP_ELEM_TEXT_CONFLICT
+XML_RNGP_EMPTY
+XML_RNGP_EMPTY_CONSTRUCT
+XML_RNGP_EMPTY_CONTENT
+XML_RNGP_EMPTY_NOT_EMPTY
+XML_RNGP_ERROR_TYPE_LIB
+XML_RNGP_EXCEPT_EMPTY
+XML_RNGP_EXCEPT_MISSING
+XML_RNGP_EXCEPT_MULTIPLE
+XML_RNGP_EXCEPT_NO_CONTENT
+XML_RNGP_EXTERNALREF_EMTPY
+XML_RNGP_EXTERNALREF_RECURSE
+XML_RNGP_EXTERNAL_REF_FAILURE
+XML_RNGP_FORBIDDEN_ATTRIBUTE
+XML_RNGP_FOREIGN_ELEMENT
+XML_RNGP_GRAMMAR_CONTENT
+XML_RNGP_GRAMMAR_EMPTY
+XML_RNGP_GRAMMAR_MISSING
+XML_RNGP_GRAMMAR_NO_START
+XML_RNGP_GROUP_ATTR_CONFLICT
+XML_RNGP_HREF_ERROR
+XML_RNGP_INCLUDE_EMPTY
+XML_RNGP_INCLUDE_FAILURE
+XML_RNGP_INCLUDE_RECURSE
+XML_RNGP_INTERLEAVE_ADD
+XML_RNGP_INTERLEAVE_CREATE_FAILED
+XML_RNGP_INTERLEAVE_EMPTY
+XML_RNGP_INTERLEAVE_NO_CONTENT
+XML_RNGP_INVALID_DEFINE_NAME
+XML_RNGP_INVALID_URI
+XML_RNGP_INVALID_VALUE
+XML_RNGP_MISSING_HREF
+XML_RNGP_NAME_MISSING
+XML_RNGP_NEED_COMBINE
+XML_RNGP_NOTALLOWED_NOT_EMPTY
+XML_RNGP_NSNAME_ATTR_ANCESTOR
+XML_RNGP_NSNAME_NO_NS
+XML_RNGP_PARAM_FORBIDDEN
+XML_RNGP_PARAM_NAME_MISSING
+XML_RNGP_PARENTREF_CREATE_FAILED
+XML_RNGP_PARENTREF_NAME_INVALID
+XML_RNGP_PARENTREF_NOT_EMPTY
+XML_RNGP_PARENTREF_NO_NAME
+XML_RNGP_PARENTREF_NO_PARENT
+XML_RNGP_PARSE_ERROR
+XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME
+XML_RNGP_PAT_ATTR_ATTR
+XML_RNGP_PAT_ATTR_ELEM
+XML_RNGP_PAT_DATA_EXCEPT_ATTR
+XML_RNGP_PAT_DATA_EXCEPT_ELEM
+XML_RNGP_PAT_DATA_EXCEPT_EMPTY
+XML_RNGP_PAT_DATA_EXCEPT_GROUP
+XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE
+XML_RNGP_PAT_DATA_EXCEPT_LIST
+XML_RNGP_PAT_DATA_EXCEPT_ONEMORE
+XML_RNGP_PAT_DATA_EXCEPT_REF
+XML_RNGP_PAT_DATA_EXCEPT_TEXT
+XML_RNGP_PAT_LIST_ATTR
+XML_RNGP_PAT_LIST_ELEM
+XML_RNGP_PAT_LIST_INTERLEAVE
+XML_RNGP_PAT_LIST_LIST
+XML_RNGP_PAT_LIST_REF
+XML_RNGP_PAT_LIST_TEXT
+XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME
+XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME
+XML_RNGP_PAT_ONEMORE_GROUP_ATTR
+XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR
+XML_RNGP_PAT_START_ATTR
+XML_RNGP_PAT_START_DATA
+XML_RNGP_PAT_START_EMPTY
+XML_RNGP_PAT_START_GROUP
+XML_RNGP_PAT_START_INTERLEAVE
+XML_RNGP_PAT_START_LIST
+XML_RNGP_PAT_START_ONEMORE
+XML_RNGP_PAT_START_TEXT
+XML_RNGP_PAT_START_VALUE
+XML_RNGP_PREFIX_UNDEFINED
+XML_RNGP_REF_CREATE_FAILED
+XML_RNGP_REF_CYCLE
+XML_RNGP_REF_NAME_INVALID
+XML_RNGP_REF_NOT_EMPTY
+XML_RNGP_REF_NO_DEF
+XML_RNGP_REF_NO_NAME
+XML_RNGP_START_CHOICE_AND_INTERLEAVE
+XML_RNGP_START_CONTENT
+XML_RNGP_START_EMPTY
+XML_RNGP_START_MISSING
+XML_RNGP_TEXT_EXPECTED
+XML_RNGP_TEXT_HAS_CHILD
+XML_RNGP_TYPE_MISSING
+XML_RNGP_TYPE_NOT_FOUND
+XML_RNGP_TYPE_VALUE
+XML_RNGP_UNKNOWN_ATTRIBUTE
+XML_RNGP_UNKNOWN_COMBINE
+XML_RNGP_UNKNOWN_CONSTRUCT
+XML_RNGP_UNKNOWN_TYPE_LIB
+XML_RNGP_URI_FRAGMENT
+XML_RNGP_URI_NOT_ABSOLUTE
+XML_RNGP_VALUE_EMPTY
+XML_RNGP_VALUE_NO_CONTENT
+XML_RNGP_XMLNS_NAME
+XML_RNGP_XML_NS
+XML_SAVE_CHAR_INVALID
+XML_SAVE_NOT_UTF8
+XML_SAVE_NO_DOCTYPE
+XML_SAVE_UNKNOWN_ENCODING
+XML_SAX2_MAGIC
+XML_SCHEMAP_ATTRFORMDEFAULT_VALUE
+XML_SCHEMAP_ATTRGRP_NONAME_NOREF
+XML_SCHEMAP_ATTR_NONAME_NOREF
+XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF
+XML_SCHEMAP_DEF_AND_PREFIX
+XML_SCHEMAP_ELEMFORMDEFAULT_VALUE
+XML_SCHEMAP_ELEM_DEFAULT_FIXED
+XML_SCHEMAP_ELEM_NONAME_NOREF
+XML_SCHEMAP_EXTENSION_NO_BASE
+XML_SCHEMAP_FACET_NO_VALUE
+XML_SCHEMAP_FAILED_BUILD_IMPORT
+XML_SCHEMAP_FAILED_LOAD
+XML_SCHEMAP_FAILED_PARSE
+XML_SCHEMAP_GROUP_NONAME_NOREF
+XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI
+XML_SCHEMAP_IMPORT_REDEFINE_NSNAME
+XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI
+XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI
+XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI
+XML_SCHEMAP_INVALID_BOOLEAN
+XML_SCHEMAP_INVALID_ENUM
+XML_SCHEMAP_INVALID_FACET
+XML_SCHEMAP_INVALID_FACET_VALUE
+XML_SCHEMAP_INVALID_MAXOCCURS
+XML_SCHEMAP_INVALID_MINOCCURS
+XML_SCHEMAP_INVALID_REF_AND_SUBTYPE
+XML_SCHEMAP_INVALID_WHITE_SPACE
+XML_SCHEMAP_NOATTR_NOREF
+XML_SCHEMAP_NOROOT
+XML_SCHEMAP_NOTATION_NO_NAME
+XML_SCHEMAP_NOTHING_TO_PARSE
+XML_SCHEMAP_NOTYPE_NOREF
+XML_SCHEMAP_NOT_SCHEMA
+XML_SCHEMAP_PREFIX_UNDEFINED
+XML_SCHEMAP_REDEFINED_ATTR
+XML_SCHEMAP_REDEFINED_ATTRGROUP
+XML_SCHEMAP_REDEFINED_ELEMENT
+XML_SCHEMAP_REDEFINED_GROUP
+XML_SCHEMAP_REDEFINED_NOTATION
+XML_SCHEMAP_REDEFINED_TYPE
+XML_SCHEMAP_REF_AND_SUBTYPE
+XML_SCHEMAP_REGEXP_INVALID
+XML_SCHEMAP_RESTRICTION_NONAME_NOREF
+XML_SCHEMAP_SIMPLETYPE_NONAME
+XML_SCHEMAP_TYPE_AND_SUBTYPE
+XML_SCHEMAP_UNKNOWN_ALL_CHILD
+XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD
+XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD
+XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP
+XML_SCHEMAP_UNKNOWN_ATTR_CHILD
+XML_SCHEMAP_UNKNOWN_BASE_TYPE
+XML_SCHEMAP_UNKNOWN_CHOICE_CHILD
+XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD
+XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD
+XML_SCHEMAP_UNKNOWN_ELEM_CHILD
+XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD
+XML_SCHEMAP_UNKNOWN_FACET_CHILD
+XML_SCHEMAP_UNKNOWN_FACET_TYPE
+XML_SCHEMAP_UNKNOWN_GROUP_CHILD
+XML_SCHEMAP_UNKNOWN_IMPORT_CHILD
+XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD
+XML_SCHEMAP_UNKNOWN_LIST_CHILD
+XML_SCHEMAP_UNKNOWN_NOTATION_CHILD
+XML_SCHEMAP_UNKNOWN_PREFIX
+XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD
+XML_SCHEMAP_UNKNOWN_REF
+XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD
+XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD
+XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD
+XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD
+XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD
+XML_SCHEMAP_UNKNOWN_TYPE
+XML_SCHEMAP_UNKNOWN_UNION_CHILD
+XML_SCHEMAS_ANYATTR_LAX
+XML_SCHEMAS_ANYATTR_SKIP
+XML_SCHEMAS_ANYATTR_STRICT
+XML_SCHEMAS_ATTR_NSDEFAULT
+XML_SCHEMAS_ELEM_ABSTRACT
+XML_SCHEMAS_ELEM_DEFAULT
+XML_SCHEMAS_ELEM_FIXED
+XML_SCHEMAS_ELEM_GLOBAL
+XML_SCHEMAS_ELEM_NILLABLE
+XML_SCHEMAS_ELEM_NSDEFAULT
+XML_SCHEMAS_ELEM_REF
+XML_SCHEMAS_ELEM_TOPLEVEL
+XML_SCHEMAS_ERR_
+XML_SCHEMAS_ERR_ATTRINVALID
+XML_SCHEMAS_ERR_ATTRUNKNOWN
+XML_SCHEMAS_ERR_CONSTRUCT
+XML_SCHEMAS_ERR_ELEMCONT
+XML_SCHEMAS_ERR_EXTRACONTENT
+XML_SCHEMAS_ERR_FACET
+XML_SCHEMAS_ERR_HAVEDEFAULT
+XML_SCHEMAS_ERR_INTERNAL
+XML_SCHEMAS_ERR_INVALIDATTR
+XML_SCHEMAS_ERR_INVALIDELEM
+XML_SCHEMAS_ERR_ISABSTRACT
+XML_SCHEMAS_ERR_MISSING
+XML_SCHEMAS_ERR_NOROLLBACK
+XML_SCHEMAS_ERR_NOROOT
+XML_SCHEMAS_ERR_NOTDETERMINIST
+XML_SCHEMAS_ERR_NOTEMPTY
+XML_SCHEMAS_ERR_NOTNILLABLE
+XML_SCHEMAS_ERR_NOTSIMPLE
+XML_SCHEMAS_ERR_NOTTOPLEVEL
+XML_SCHEMAS_ERR_NOTYPE
+XML_SCHEMAS_ERR_OK
+XML_SCHEMAS_ERR_UNDECLAREDELEM
+XML_SCHEMAS_ERR_VALUE
+XML_SCHEMAS_ERR_WRONGELEM
+XML_SCHEMAS_ERR_XXX
+XML_SCHEMAS_FACET_COLLAPSE
+XML_SCHEMAS_FACET_PRESERVE
+XML_SCHEMAS_FACET_REPLACE
+XML_SCHEMAS_FACET_UNKNOWN
+XML_SCHEMAS_QUALIF_ATTR
+XML_SCHEMAS_QUALIF_ELEM
+XML_SCHEMAS_TYPE_MIXED
+XML_SCHEMAV_ATTRINVALID
+XML_SCHEMAV_ATTRUNKNOWN
+XML_SCHEMAV_CONSTRUCT
+XML_SCHEMAV_ELEMCONT
+XML_SCHEMAV_EXTRACONTENT
+XML_SCHEMAV_FACET
+XML_SCHEMAV_HAVEDEFAULT
+XML_SCHEMAV_INTERNAL
+XML_SCHEMAV_INVALIDATTR
+XML_SCHEMAV_INVALIDELEM
+XML_SCHEMAV_ISABSTRACT
+XML_SCHEMAV_MISSING
+XML_SCHEMAV_NOROLLBACK
+XML_SCHEMAV_NOROOT
+XML_SCHEMAV_NOTDETERMINIST
+XML_SCHEMAV_NOTEMPTY
+XML_SCHEMAV_NOTNILLABLE
+XML_SCHEMAV_NOTSIMPLE
+XML_SCHEMAV_NOTTOPLEVEL
+XML_SCHEMAV_NOTYPE
+XML_SCHEMAV_UNDECLAREDELEM
+XML_SCHEMAV_VALUE
+XML_SCHEMAV_WRONGELEM
+XML_SCHEMA_CONTENT_ANY
+XML_SCHEMA_CONTENT_BASIC
+XML_SCHEMA_CONTENT_ELEMENTS
+XML_SCHEMA_CONTENT_EMPTY
+XML_SCHEMA_CONTENT_MIXED
+XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS
+XML_SCHEMA_CONTENT_SIMPLE
+XML_SCHEMA_CONTENT_UNKNOWN
+XML_SCHEMA_FACET_ENUMERATION
+XML_SCHEMA_FACET_FRACTIONDIGITS
+XML_SCHEMA_FACET_LENGTH
+XML_SCHEMA_FACET_MAXEXCLUSIVE
+XML_SCHEMA_FACET_MAXINCLUSIVE
+XML_SCHEMA_FACET_MAXLENGTH
+XML_SCHEMA_FACET_MINEXCLUSIVE
+XML_SCHEMA_FACET_MININCLUSIVE
+XML_SCHEMA_FACET_MINLENGTH
+XML_SCHEMA_FACET_PATTERN
+XML_SCHEMA_FACET_TOTALDIGITS
+XML_SCHEMA_FACET_WHITESPACE
+XML_SCHEMA_TYPE_ALL
+XML_SCHEMA_TYPE_ANY
+XML_SCHEMA_TYPE_ATTRIBUTE
+XML_SCHEMA_TYPE_ATTRIBUTEGROUP
+XML_SCHEMA_TYPE_BASIC
+XML_SCHEMA_TYPE_CHOICE
+XML_SCHEMA_TYPE_COMPLEX
+XML_SCHEMA_TYPE_COMPLEX_CONTENT
+XML_SCHEMA_TYPE_ELEMENT
+XML_SCHEMA_TYPE_EXTENSION
+XML_SCHEMA_TYPE_FACET
+XML_SCHEMA_TYPE_GROUP
+XML_SCHEMA_TYPE_LIST
+XML_SCHEMA_TYPE_NOTATION
+XML_SCHEMA_TYPE_RESTRICTION
+XML_SCHEMA_TYPE_SEQUENCE
+XML_SCHEMA_TYPE_SIMPLE
+XML_SCHEMA_TYPE_SIMPLE_CONTENT
+XML_SCHEMA_TYPE_UNION
+XML_SCHEMA_TYPE_UR
+XML_SKIP_IDS
+XML_SUBSTITUTE_BOTH
+XML_SUBSTITUTE_NONE
+XML_SUBSTITUTE_PEREF
+XML_SUBSTITUTE_REF
+XML_TEXT_NODE
+XML_TREE_INVALID_DEC
+XML_TREE_INVALID_HEX
+XML_TREE_UNTERMINATED_ENTITY
+XML_WAR_CATALOG_PI
+XML_WAR_LANG_VALUE
+XML_WAR_NS_URI
+XML_WAR_NS_URI_RELATIVE
+XML_WAR_UNDECLARED_ENTITY
+XML_WAR_UNKNOWN_VERSION
+XML_XINCLUDE_BUILD_FAILED
+XML_XINCLUDE_DEPRECATED_NS
+XML_XINCLUDE_END
+XML_XINCLUDE_ENTITY_DEF_MISMATCH
+XML_XINCLUDE_FALLBACKS_IN_INCLUDE
+XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE
+XML_XINCLUDE_FRAGMENT_ID
+XML_XINCLUDE_HREF_URI
+XML_XINCLUDE_INCLUDE_IN_INCLUDE
+XML_XINCLUDE_INVALID_CHAR
+XML_XINCLUDE_MULTIPLE_ROOT
+XML_XINCLUDE_NO_FALLBACK
+XML_XINCLUDE_NO_HREF
+XML_XINCLUDE_PARSE_VALUE
+XML_XINCLUDE_RECURSION
+XML_XINCLUDE_START
+XML_XINCLUDE_TEXT_DOCUMENT
+XML_XINCLUDE_TEXT_FRAGMENT
+XML_XINCLUDE_UNKNOWN_ENCODING
+XML_XINCLUDE_XPTR_FAILED
+XML_XINCLUDE_XPTR_RESULT
+XML_XML_NAMESPACE
+XML_XPATH_ENCODING_ERROR
+XML_XPATH_EXPRESSION_OK
+XML_XPATH_EXPR_ERROR
+XML_XPATH_INVALID_ARITY
+XML_XPATH_INVALID_CHAR_ERROR
+XML_XPATH_INVALID_CTXT_POSITION
+XML_XPATH_INVALID_CTXT_SIZE
+XML_XPATH_INVALID_OPERAND
+XML_XPATH_INVALID_PREDICATE_ERROR
+XML_XPATH_INVALID_TYPE
+XML_XPATH_MEMORY_ERROR
+XML_XPATH_NUMBER_ERROR
+XML_XPATH_START_LITERAL_ERROR
+XML_XPATH_UNCLOSED_ERROR
+XML_XPATH_UNDEF_PREFIX_ERROR
+XML_XPATH_UNDEF_VARIABLE_ERROR
+XML_XPATH_UNFINISHED_LITERAL_ERROR
+XML_XPATH_UNKNOWN_FUNC_ERROR
+XML_XPATH_VARIABLE_REF_ERROR
+XML_XPTR_CHILDSEQ_START
+XML_XPTR_EVAL_FAILED
+XML_XPTR_EXTRA_OBJECTS
+XML_XPTR_RESOURCE_ERROR
+XML_XPTR_SUB_RESOURCE_ERROR
+XML_XPTR_SYNTAX_ERROR
+XML_XPTR_UNKNOWN_SCHEME
+XPATH_BOOLEAN
+XPATH_ENCODING_ERROR
+XPATH_EXPRESSION_OK
+XPATH_EXPR_ERROR
+XPATH_INVALID_ARITY
+XPATH_INVALID_CHAR_ERROR
+XPATH_INVALID_CTXT_POSITION
+XPATH_INVALID_CTXT_SIZE
+XPATH_INVALID_OPERAND
+XPATH_INVALID_PREDICATE_ERROR
+XPATH_INVALID_TYPE
+XPATH_LOCATIONSET
+XPATH_MEMORY_ERROR
+XPATH_NODESET
+XPATH_NUMBER
+XPATH_NUMBER_ERROR
+XPATH_POINT
+XPATH_RANGE
+XPATH_START_LITERAL_ERROR
+XPATH_STRING
+XPATH_UNCLOSED_ERROR
+XPATH_UNDEFINED
+XPATH_UNDEF_PREFIX_ERROR
+XPATH_UNDEF_VARIABLE_ERROR
+XPATH_UNFINISHED_LITERAL_ERROR
+XPATH_UNKNOWN_FUNC_ERROR
+XPATH_USERS
+XPATH_VARIABLE_REF_ERROR
+XPATH_XSLT_TREE
+XPTR_RESOURCE_ERROR
+XPTR_SUB_RESOURCE_ERROR
+XPTR_SYNTAX_ERROR
+XP_ERROR
+XP_ERROR0
+

Letter _:

_REENTRANT
+_htmlElemDesc
+_htmlEntityDesc
+_xlinkHandler
+_xmlAttr
+_xmlAttribute
+_xmlBuffer
+_xmlChLRange
+_xmlChRangeGroup
+_xmlChSRange
+_xmlCharEncodingHandler
+_xmlDoc
+_xmlDtd
+_xmlElement
+_xmlElementContent
+_xmlEntity
+_xmlEnumeration
+_xmlError
+_xmlGlobalState
+_xmlID
+_xmlLocationSet
+_xmlNode
+_xmlNodeSet
+_xmlNotation
+_xmlNs
+_xmlOutputBuffer
+_xmlParserCtxt
+_xmlParserInput
+_xmlParserInputBuffer
+_xmlParserNodeInfo
+_xmlParserNodeInfoSeq
+_xmlRef
+_xmlSAXHandler
+_xmlSAXHandlerV1
+_xmlSAXLocator
+_xmlSchema
+_xmlSchemaAnnot
+_xmlSchemaAttribute
+_xmlSchemaAttributeGroup
+_xmlSchemaElement
+_xmlSchemaFacet
+_xmlSchemaNotation
+_xmlSchemaType
+_xmlShellCtxt
+_xmlURI
+_xmlValidCtxt
+_xmlXPathAxis
+_xmlXPathContext
+_xmlXPathFunct
+_xmlXPathObject
+_xmlXPathParserContext
+_xmlXPathType
+_xmlXPathVariable
+

Letter a:

attribute
+attributeDecl
+attributeDeclSAXFunc
+attributeSAXFunc
+

Letter c:

cdataBlock
+cdataBlockSAXFunc
+characters
+charactersSAXFunc
+checkNamespace
+comment
+commentSAXFunc
+

Letter d:

docbCreateFileParserCtxt
+docbCreatePushParserCtxt
+docbDefaultSAXHandler
+docbDefaultSAXHandlerInit
+docbDocPtr
+docbEncodeEntities
+docbFreeParserCtxt
+docbParseChunk
+docbParseDoc
+docbParseDocument
+docbParseFile
+docbParserCtxt
+docbParserCtxtPtr
+docbParserInput
+docbParserInputPtr
+docbSAXHandler
+docbSAXHandlerPtr
+docbSAXParseDoc
+docbSAXParseFile
+

Letter e:

elementDecl
+elementDeclSAXFunc
+endDocument
+endDocumentSAXFunc
+endElement
+endElementNsSAX2Func
+endElementSAXFunc
+entityDecl
+entityDeclSAXFunc
+errorSAXFunc
+externalSubset
+externalSubsetSAXFunc
+

Letter f:

fatalErrorSAXFunc
+ftpDataCallback
+ftpListCallback
+

Letter g:

getColumnNumber
+getEntity
+getEntitySAXFunc
+getLineNumber
+getNamespace
+getParameterEntity
+getParameterEntitySAXFunc
+getPublicId
+getSystemId
+globalNamespace
+

Letter h:

hasExternalSubset
+hasExternalSubsetSAXFunc
+hasInternalSubset
+hasInternalSubsetSAXFunc
+htmlAttrAllowed
+htmlAutoCloseTag
+htmlCreateFileParserCtxt
+htmlCreateMemoryParserCtxt
+htmlCreatePushParserCtxt
+htmlCtxtReadDoc
+htmlCtxtReadFd
+htmlCtxtReadFile
+htmlCtxtReadIO
+htmlCtxtReadMemory
+htmlCtxtReset
+htmlCtxtUseOptions
+htmlDefaultSAXHandler
+htmlDefaultSAXHandlerInit
+htmlDefaultSubelement
+htmlDocContentDumpFormatOutput
+htmlDocContentDumpOutput
+htmlDocDump
+htmlDocDumpMemory
+htmlDocPtr
+htmlElemDesc
+htmlElemDescPtr
+htmlElementAllowedHere
+htmlElementAllowedHereDesc
+htmlElementStatusHere
+htmlEncodeEntities
+htmlEntityDesc
+htmlEntityDescPtr
+htmlEntityLookup
+htmlEntityValueLookup
+htmlFreeParserCtxt
+htmlGetMetaEncoding
+htmlHandleOmittedElem
+htmlInitAutoClose
+htmlIsAutoClosed
+htmlIsBooleanAttr
+htmlIsScriptAttribute
+htmlNewDoc
+htmlNewDocNoDtD
+htmlNodeDump
+htmlNodeDumpFile
+htmlNodeDumpFileFormat
+htmlNodeDumpFormatOutput
+htmlNodeDumpOutput
+htmlNodePtr
+htmlNodeStatus
+htmlParseCharRef
+htmlParseChunk
+htmlParseDoc
+htmlParseDocument
+htmlParseElement
+htmlParseEntityRef
+htmlParseFile
+htmlParserCtxt
+htmlParserCtxtPtr
+htmlParserInput
+htmlParserInputPtr
+htmlParserNodeInfo
+htmlParserOption
+htmlReadDoc
+htmlReadFd
+htmlReadFile
+htmlReadIO
+htmlReadMemory
+htmlRequiredAttrs
+htmlSAXHandler
+htmlSAXHandlerPtr
+htmlSAXParseDoc
+htmlSAXParseFile
+htmlSaveFile
+htmlSaveFileEnc
+htmlSaveFileFormat
+htmlSetMetaEncoding
+htmlStatus
+htmlTagLookup
+

Letter i:

ignorableWhitespace
+ignorableWhitespaceSAXFunc
+initGenericErrorDefaultFunc
+initdocbDefaultSAXHandler
+inithtmlDefaultSAXHandler
+initxmlDefaultSAXHandler
+inputPop
+inputPush
+internalSubset
+internalSubsetSAXFunc
+isStandalone
+isStandaloneSAXFunc
+isolat1ToUTF8
+

Letter n:

namePop
+namePush
+namespaceDecl
+nodePop
+nodePush
+notationDecl
+notationDeclSAXFunc
+

Letter o:

oldXMLWDcompatibility
+

Letter p:

processingInstruction
+processingInstructionSAXFunc
+

Letter r:

reference
+referenceSAXFunc
+resolveEntity
+resolveEntitySAXFunc
+

Letter s:

setDocumentLocator
+setDocumentLocatorSAXFunc
+setNamespace
+startDocument
+startDocumentSAXFunc
+startElement
+startElementNsSAX2Func
+startElementSAXFunc
+

Letter u:

unparsedEntityDecl
+unparsedEntityDeclSAXFunc
+

Letter v:

valuePop
+valuePush
+

Letter w:

warningSAXFunc
+

Letter x:

xlinkActuate
+xlinkExtendedLinkFunk
+xlinkExtendedLinkSetFunk
+xlinkGetDefaultDetect
+xlinkGetDefaultHandler
+xlinkHRef
+xlinkHandler
+xlinkHandlerPtr
+xlinkIsLink
+xlinkNodeDetectFunc
+xlinkRole
+xlinkSetDefaultDetect
+xlinkSetDefaultHandler
+xlinkShow
+xlinkSimpleLinkFunk
+xlinkTitle
+xlinkType
+xmlACatalogAdd
+xmlACatalogDump
+xmlACatalogRemove
+xmlACatalogResolve
+xmlACatalogResolvePublic
+xmlACatalogResolveSystem
+xmlACatalogResolveURI
+xmlAddAttributeDecl
+xmlAddChild
+xmlAddChildList
+xmlAddDocEntity
+xmlAddDtdEntity
+xmlAddElementDecl
+xmlAddEncodingAlias
+xmlAddID
+xmlAddNextSibling
+xmlAddNotationDecl
+xmlAddPrevSibling
+xmlAddRef
+xmlAddSibling
+xmlAllocOutputBuffer
+xmlAllocParserInputBuffer
+xmlAttr
+xmlAttrPtr
+xmlAttrSerializeTxtContent
+xmlAttribute
+xmlAttributeDefault
+xmlAttributePtr
+xmlAttributeTable
+xmlAttributeTablePtr
+xmlAttributeType
+xmlAutomata
+xmlAutomataCompile
+xmlAutomataGetInitState
+xmlAutomataIsDeterminist
+xmlAutomataNewAllTrans
+xmlAutomataNewCountTrans
+xmlAutomataNewCountedTrans
+xmlAutomataNewCounter
+xmlAutomataNewCounterTrans
+xmlAutomataNewEpsilon
+xmlAutomataNewOnceTrans
+xmlAutomataNewState
+xmlAutomataNewTransition
+xmlAutomataNewTransition2
+xmlAutomataPtr
+xmlAutomataSetFinalState
+xmlAutomataState
+xmlAutomataStatePtr
+xmlBoolToText
+xmlBuffer
+xmlBufferAdd
+xmlBufferAddHead
+xmlBufferAllocScheme
+xmlBufferAllocationScheme
+xmlBufferCCat
+xmlBufferCat
+xmlBufferContent
+xmlBufferCreate
+xmlBufferCreateSize
+xmlBufferCreateStatic
+xmlBufferDump
+xmlBufferEmpty
+xmlBufferFree
+xmlBufferGrow
+xmlBufferLength
+xmlBufferPtr
+xmlBufferResize
+xmlBufferSetAllocationScheme
+xmlBufferShrink
+xmlBufferWriteCHAR
+xmlBufferWriteChar
+xmlBufferWriteQuotedString
+xmlBuildQName
+xmlBuildURI
+xmlByteConsumed
+xmlC14NDocDumpMemory
+xmlC14NDocSave
+xmlC14NDocSaveTo
+xmlC14NExecute
+xmlC14NIsVisibleCallback
+xmlCanonicPath
+xmlCatalog
+xmlCatalogAdd
+xmlCatalogAddLocal
+xmlCatalogAllow
+xmlCatalogCleanup
+xmlCatalogConvert
+xmlCatalogDump
+xmlCatalogFreeLocal
+xmlCatalogGetDefaults
+xmlCatalogGetPublic
+xmlCatalogGetSystem
+xmlCatalogIsEmpty
+xmlCatalogLocalResolve
+xmlCatalogLocalResolveURI
+xmlCatalogPrefer
+xmlCatalogPtr
+xmlCatalogRemove
+xmlCatalogResolve
+xmlCatalogResolvePublic
+xmlCatalogResolveSystem
+xmlCatalogResolveURI
+xmlCatalogSetDebug
+xmlCatalogSetDefaultPrefer
+xmlCatalogSetDefaults
+xmlChLRange
+xmlChLRangePtr
+xmlChRangeGroup
+xmlChRangeGroupPtr
+xmlChSRange
+xmlChSRangePtr
+xmlChar
+xmlCharEncCloseFunc
+xmlCharEncFirstLine
+xmlCharEncInFunc
+xmlCharEncOutFunc
+xmlCharEncoding
+xmlCharEncodingHandler
+xmlCharEncodingHandlerPtr
+xmlCharEncodingInputFunc
+xmlCharEncodingOutputFunc
+xmlCharInRange
+xmlCharStrdup
+xmlCharStrndup
+xmlCheckFilename
+xmlCheckHTTPInput
+xmlCheckLanguageID
+xmlCheckUTF8
+xmlCheckVersion
+xmlChildrenNode
+xmlCleanupCharEncodingHandlers
+xmlCleanupEncodingAliases
+xmlCleanupGlobals
+xmlCleanupInputCallbacks
+xmlCleanupMemory
+xmlCleanupOutputCallbacks
+xmlCleanupParser
+xmlCleanupPredefinedEntities
+xmlCleanupThreads
+xmlClearNodeInfoSeq
+xmlClearParserCtxt
+xmlConvertSGMLCatalog
+xmlCopyAttributeTable
+xmlCopyChar
+xmlCopyCharMultiByte
+xmlCopyDoc
+xmlCopyDtd
+xmlCopyElementContent
+xmlCopyElementTable
+xmlCopyEntitiesTable
+xmlCopyEnumeration
+xmlCopyError
+xmlCopyNamespace
+xmlCopyNamespaceList
+xmlCopyNode
+xmlCopyNodeList
+xmlCopyNotationTable
+xmlCopyProp
+xmlCopyPropList
+xmlCreateDocParserCtxt
+xmlCreateEntitiesTable
+xmlCreateEntityParserCtxt
+xmlCreateEnumeration
+xmlCreateFileParserCtxt
+xmlCreateIOParserCtxt
+xmlCreateIntSubset
+xmlCreateMemoryParserCtxt
+xmlCreatePushParserCtxt
+xmlCreateURI
+xmlCreateURLParserCtxt
+xmlCtxtGetLastError
+xmlCtxtReadDoc
+xmlCtxtReadFd
+xmlCtxtReadFile
+xmlCtxtReadIO
+xmlCtxtReadMemory
+xmlCtxtReset
+xmlCtxtResetLastError
+xmlCtxtResetPush
+xmlCtxtUseOptions
+xmlCurrentChar
+xmlDebugDumpAttr
+xmlDebugDumpAttrList
+xmlDebugDumpDTD
+xmlDebugDumpDocument
+xmlDebugDumpDocumentHead
+xmlDebugDumpEntities
+xmlDebugDumpNode
+xmlDebugDumpNodeList
+xmlDebugDumpOneNode
+xmlDebugDumpString
+xmlDecodeEntities
+xmlDefaultBufferSize
+xmlDefaultSAXHandler
+xmlDefaultSAXHandlerInit
+xmlDefaultSAXLocator
+xmlDelEncodingAlias
+xmlDeregisterNodeDefault
+xmlDeregisterNodeDefaultValue
+xmlDeregisterNodeFunc
+xmlDetectCharEncoding
+xmlDict
+xmlDictCreate
+xmlDictCreateSub
+xmlDictFree
+xmlDictLookup
+xmlDictOwns
+xmlDictPtr
+xmlDictQLookup
+xmlDictReference
+xmlDictSize
+xmlDoValidityCheckingDefaultValue
+xmlDoc
+xmlDocCopyNode
+xmlDocDump
+xmlDocDumpFormatMemory
+xmlDocDumpFormatMemoryEnc
+xmlDocDumpMemory
+xmlDocDumpMemoryEnc
+xmlDocFormatDump
+xmlDocGetRootElement
+xmlDocPtr
+xmlDocSetRootElement
+xmlDtd
+xmlDtdPtr
+xmlDumpAttributeDecl
+xmlDumpAttributeTable
+xmlDumpElementDecl
+xmlDumpElementTable
+xmlDumpEntitiesTable
+xmlDumpEntityDecl
+xmlDumpNotationDecl
+xmlDumpNotationTable
+xmlElemDump
+xmlElement
+xmlElementContent
+xmlElementContentOccur
+xmlElementContentPtr
+xmlElementContentType
+xmlElementPtr
+xmlElementTable
+xmlElementTablePtr
+xmlElementType
+xmlElementTypeVal
+xmlEncodeEntities
+xmlEncodeEntitiesReentrant
+xmlEncodeSpecialChars
+xmlEntitiesTable
+xmlEntitiesTablePtr
+xmlEntity
+xmlEntityPtr
+xmlEntityReferenceFunc
+xmlEntityType
+xmlEnumeration
+xmlEnumerationPtr
+xmlErrMemory
+xmlError
+xmlErrorDomain
+xmlErrorLevel
+xmlErrorPtr
+xmlExternalEntityLoader
+xmlFileClose
+xmlFileMatch
+xmlFileOpen
+xmlFileRead
+xmlFindCharEncodingHandler
+xmlFree
+xmlFreeAttributeTable
+xmlFreeAutomata
+xmlFreeCatalog
+xmlFreeDoc
+xmlFreeDtd
+xmlFreeElementContent
+xmlFreeElementTable
+xmlFreeEntitiesTable
+xmlFreeEnumeration
+xmlFreeFunc
+xmlFreeIDTable
+xmlFreeInputStream
+xmlFreeMutex
+xmlFreeNode
+xmlFreeNodeList
+xmlFreeNotationTable
+xmlFreeNs
+xmlFreeNsList
+xmlFreeParserCtxt
+xmlFreeParserInputBuffer
+xmlFreePattern
+xmlFreePatternList
+xmlFreeProp
+xmlFreePropList
+xmlFreeRMutex
+xmlFreeRefTable
+xmlFreeTextReader
+xmlFreeTextWriter
+xmlFreeURI
+xmlFreeValidCtxt
+xmlGcMemGet
+xmlGcMemSetup
+xmlGenericError
+xmlGenericErrorContext
+xmlGenericErrorFunc
+xmlGetBufferAllocationScheme
+xmlGetCharEncodingHandler
+xmlGetCharEncodingName
+xmlGetCompressMode
+xmlGetDocCompressMode
+xmlGetDocEntity
+xmlGetDtdAttrDesc
+xmlGetDtdElementDesc
+xmlGetDtdEntity
+xmlGetDtdNotationDesc
+xmlGetDtdQAttrDesc
+xmlGetDtdQElementDesc
+xmlGetEncodingAlias
+xmlGetExternalEntityLoader
+xmlGetFeature
+xmlGetFeaturesList
+xmlGetGlobalState
+xmlGetID
+xmlGetIntSubset
+xmlGetLastChild
+xmlGetLastError
+xmlGetLineNo
+xmlGetNoNsProp
+xmlGetNodePath
+xmlGetNsList
+xmlGetNsProp
+xmlGetParameterEntity
+xmlGetPredefinedEntity
+xmlGetProp
+xmlGetRefs
+xmlGetThreadId
+xmlGetUTF8Char
+xmlGetWarningsDefaultValue
+xmlGlobalState
+xmlGlobalStatePtr
+xmlHandleEntity
+xmlHasNsProp
+xmlHasProp
+xmlHashAddEntry
+xmlHashAddEntry2
+xmlHashAddEntry3
+xmlHashCopier
+xmlHashCopy
+xmlHashCreate
+xmlHashDeallocator
+xmlHashFree
+xmlHashLookup
+xmlHashLookup2
+xmlHashLookup3
+xmlHashQLookup
+xmlHashQLookup2
+xmlHashQLookup3
+xmlHashRemoveEntry
+xmlHashRemoveEntry2
+xmlHashRemoveEntry3
+xmlHashScan
+xmlHashScan3
+xmlHashScanFull
+xmlHashScanFull3
+xmlHashScanner
+xmlHashScannerFull
+xmlHashSize
+xmlHashTable
+xmlHashTablePtr
+xmlHashUpdateEntry
+xmlHashUpdateEntry2
+xmlHashUpdateEntry3
+xmlID
+xmlIDPtr
+xmlIDTable
+xmlIDTablePtr
+xmlIOFTPClose
+xmlIOFTPMatch
+xmlIOFTPOpen
+xmlIOFTPRead
+xmlIOHTTPClose
+xmlIOHTTPMatch
+xmlIOHTTPOpen
+xmlIOHTTPOpenW
+xmlIOHTTPRead
+xmlIOParseDTD
+xmlIndentTreeOutput
+xmlInitCharEncodingHandlers
+xmlInitGlobals
+xmlInitMemory
+xmlInitNodeInfoSeq
+xmlInitParser
+xmlInitParserCtxt
+xmlInitThreads
+xmlInitializeCatalog
+xmlInitializeGlobalState
+xmlInitializePredefinedEntities
+xmlInputCloseCallback
+xmlInputMatchCallback
+xmlInputOpenCallback
+xmlInputReadCallback
+xmlIsBaseChar
+xmlIsBaseCharGroup
+xmlIsBaseCharQ
+xmlIsBaseChar_ch
+xmlIsBlank
+xmlIsBlankNode
+xmlIsBlankQ
+xmlIsBlank_ch
+xmlIsChar
+xmlIsCharGroup
+xmlIsCharQ
+xmlIsChar_ch
+xmlIsCombining
+xmlIsCombiningGroup
+xmlIsCombiningQ
+xmlIsDigit
+xmlIsDigitGroup
+xmlIsDigitQ
+xmlIsDigit_ch
+xmlIsExtender
+xmlIsExtenderGroup
+xmlIsExtenderQ
+xmlIsExtender_ch
+xmlIsID
+xmlIsIdeographic
+xmlIsIdeographicGroup
+xmlIsIdeographicQ
+xmlIsLetter
+xmlIsMainThread
+xmlIsMixedElement
+xmlIsPubidChar
+xmlIsPubidCharQ
+xmlIsPubidChar_ch
+xmlIsPubidChar_tab
+xmlIsRef
+xmlIsXHTML
+xmlKeepBlanksDefault
+xmlKeepBlanksDefaultValue
+xmlLastError
+xmlLineNumbersDefault
+xmlLineNumbersDefaultValue
+xmlLink
+xmlLinkGetData
+xmlLinkPtr
+xmlList
+xmlListAppend
+xmlListClear
+xmlListCopy
+xmlListCreate
+xmlListDataCompare
+xmlListDeallocator
+xmlListDelete
+xmlListDup
+xmlListEmpty
+xmlListEnd
+xmlListFront
+xmlListInsert
+xmlListMerge
+xmlListPopBack
+xmlListPopFront
+xmlListPtr
+xmlListPushBack
+xmlListPushFront
+xmlListRemoveAll
+xmlListRemoveFirst
+xmlListRemoveLast
+xmlListReverse
+xmlListReverseSearch
+xmlListReverseWalk
+xmlListSearch
+xmlListSize
+xmlListSort
+xmlListWalk
+xmlListWalker
+xmlLoadACatalog
+xmlLoadCatalog
+xmlLoadCatalogs
+xmlLoadExtDtdDefaultValue
+xmlLoadExternalEntity
+xmlLoadSGMLSuperCatalog
+xmlLocationSet
+xmlLocationSetPtr
+xmlLockLibrary
+xmlLsCountNode
+xmlLsOneNode
+xmlMalloc
+xmlMallocAtomic
+xmlMallocAtomicLoc
+xmlMallocFunc
+xmlMallocLoc
+xmlMemDisplay
+xmlMemFree
+xmlMemGet
+xmlMemMalloc
+xmlMemRealloc
+xmlMemSetup
+xmlMemShow
+xmlMemStrdup
+xmlMemStrdupLoc
+xmlMemUsed
+xmlMemoryDump
+xmlMemoryStrdup
+xmlMutex
+xmlMutexLock
+xmlMutexPtr
+xmlMutexUnlock
+xmlNamespaceParseNCName
+xmlNamespaceParseNSDef
+xmlNamespaceParseQName
+xmlNanoFTPCheckResponse
+xmlNanoFTPCleanup
+xmlNanoFTPClose
+xmlNanoFTPCloseConnection
+xmlNanoFTPConnect
+xmlNanoFTPConnectTo
+xmlNanoFTPCwd
+xmlNanoFTPDele
+xmlNanoFTPFreeCtxt
+xmlNanoFTPGet
+xmlNanoFTPGetConnection
+xmlNanoFTPGetResponse
+xmlNanoFTPGetSocket
+xmlNanoFTPInit
+xmlNanoFTPList
+xmlNanoFTPNewCtxt
+xmlNanoFTPOpen
+xmlNanoFTPProxy
+xmlNanoFTPQuit
+xmlNanoFTPRead
+xmlNanoFTPScanProxy
+xmlNanoFTPUpdateURL
+xmlNanoHTTPAuthHeader
+xmlNanoHTTPCleanup
+xmlNanoHTTPClose
+xmlNanoHTTPEncoding
+xmlNanoHTTPFetch
+xmlNanoHTTPInit
+xmlNanoHTTPMethod
+xmlNanoHTTPMethodRedir
+xmlNanoHTTPMimeType
+xmlNanoHTTPOpen
+xmlNanoHTTPOpenRedir
+xmlNanoHTTPRead
+xmlNanoHTTPRedir
+xmlNanoHTTPReturnCode
+xmlNanoHTTPSave
+xmlNanoHTTPScanProxy
+xmlNewAutomata
+xmlNewCDataBlock
+xmlNewCatalog
+xmlNewCharEncodingHandler
+xmlNewCharRef
+xmlNewChild
+xmlNewComment
+xmlNewDoc
+xmlNewDocComment
+xmlNewDocFragment
+xmlNewDocNode
+xmlNewDocNodeEatName
+xmlNewDocProp
+xmlNewDocRawNode
+xmlNewDocText
+xmlNewDocTextLen
+xmlNewDtd
+xmlNewElementContent
+xmlNewEntityInputStream
+xmlNewGlobalNs
+xmlNewIOInputStream
+xmlNewInputFromFile
+xmlNewInputStream
+xmlNewMutex
+xmlNewNode
+xmlNewNodeEatName
+xmlNewNs
+xmlNewNsProp
+xmlNewNsPropEatName
+xmlNewPI
+xmlNewParserCtxt
+xmlNewProp
+xmlNewRMutex
+xmlNewReference
+xmlNewStringInputStream
+xmlNewText
+xmlNewTextChild
+xmlNewTextLen
+xmlNewTextReader
+xmlNewTextReaderFilename
+xmlNewTextWriter
+xmlNewTextWriterDoc
+xmlNewTextWriterFilename
+xmlNewTextWriterMemory
+xmlNewTextWriterPushParser
+xmlNewTextWriterTree
+xmlNewValidCtxt
+xmlNextChar
+xmlNoNetExternalEntityLoader
+xmlNode
+xmlNodeAddContent
+xmlNodeAddContentLen
+xmlNodeBufGetContent
+xmlNodeDump
+xmlNodeDumpOutput
+xmlNodeGetBase
+xmlNodeGetContent
+xmlNodeGetLang
+xmlNodeGetSpacePreserve
+xmlNodeIsText
+xmlNodeListGetRawString
+xmlNodeListGetString
+xmlNodePtr
+xmlNodeSet
+xmlNodeSetBase
+xmlNodeSetContent
+xmlNodeSetContentLen
+xmlNodeSetLang
+xmlNodeSetName
+xmlNodeSetPtr
+xmlNodeSetSpacePreserve
+xmlNormalizeURIPath
+xmlNormalizeWindowsPath
+xmlNotation
+xmlNotationPtr
+xmlNotationTable
+xmlNotationTablePtr
+xmlNs
+xmlNsPtr
+xmlNsType
+xmlOutputBuffer
+xmlOutputBufferClose
+xmlOutputBufferCreateFd
+xmlOutputBufferCreateFile
+xmlOutputBufferCreateFilename
+xmlOutputBufferCreateIO
+xmlOutputBufferFlush
+xmlOutputBufferPtr
+xmlOutputBufferWrite
+xmlOutputBufferWriteString
+xmlOutputCloseCallback
+xmlOutputMatchCallback
+xmlOutputOpenCallback
+xmlOutputWriteCallback
+xmlParseAttValue
+xmlParseAttribute
+xmlParseAttributeListDecl
+xmlParseAttributeType
+xmlParseBalancedChunkMemory
+xmlParseBalancedChunkMemoryRecover
+xmlParseCDSect
+xmlParseCatalogFile
+xmlParseCharData
+xmlParseCharEncoding
+xmlParseCharRef
+xmlParseChunk
+xmlParseComment
+xmlParseContent
+xmlParseCtxtExternalEntity
+xmlParseDTD
+xmlParseDefaultDecl
+xmlParseDoc
+xmlParseDocTypeDecl
+xmlParseDocument
+xmlParseElement
+xmlParseElementChildrenContentDecl
+xmlParseElementContentDecl
+xmlParseElementDecl
+xmlParseElementMixedContentDecl
+xmlParseEncName
+xmlParseEncodingDecl
+xmlParseEndTag
+xmlParseEntity
+xmlParseEntityDecl
+xmlParseEntityRef
+xmlParseEntityValue
+xmlParseEnumeratedType
+xmlParseEnumerationType
+xmlParseExtParsedEnt
+xmlParseExternalEntity
+xmlParseExternalID
+xmlParseExternalSubset
+xmlParseFile
+xmlParseMarkupDecl
+xmlParseMemory
+xmlParseMisc
+xmlParseName
+xmlParseNamespace
+xmlParseNmtoken
+xmlParseNotationDecl
+xmlParseNotationType
+xmlParsePEReference
+xmlParsePI
+xmlParsePITarget
+xmlParsePubidLiteral
+xmlParseQuotedString
+xmlParseReference
+xmlParseSDDecl
+xmlParseStartTag
+xmlParseSystemLiteral
+xmlParseTextDecl
+xmlParseURI
+xmlParseURIReference
+xmlParseVersionInfo
+xmlParseVersionNum
+xmlParseXMLDecl
+xmlParserAddNodeInfo
+xmlParserCtxt
+xmlParserCtxtPtr
+xmlParserDebugEntities
+xmlParserError
+xmlParserErrors
+xmlParserFindNodeInfo
+xmlParserFindNodeInfoIndex
+xmlParserGetDirectory
+xmlParserHandlePEReference
+xmlParserHandleReference
+xmlParserInput
+xmlParserInputBuffer
+xmlParserInputBufferCreateFd
+xmlParserInputBufferCreateFile
+xmlParserInputBufferCreateFilename
+xmlParserInputBufferCreateIO
+xmlParserInputBufferCreateMem
+xmlParserInputBufferCreateStatic
+xmlParserInputBufferGrow
+xmlParserInputBufferPtr
+xmlParserInputBufferPush
+xmlParserInputBufferRead
+xmlParserInputDeallocate
+xmlParserInputGrow
+xmlParserInputPtr
+xmlParserInputRead
+xmlParserInputShrink
+xmlParserInputState
+xmlParserMaxDepth
+xmlParserNodeInfo
+xmlParserNodeInfoPtr
+xmlParserNodeInfoSeq
+xmlParserNodeInfoSeqPtr
+xmlParserOption
+xmlParserPrintFileContext
+xmlParserPrintFileInfo
+xmlParserProperties
+xmlParserSeverities
+xmlParserValidityError
+xmlParserValidityWarning
+xmlParserVersion
+xmlParserWarning
+xmlPattern
+xmlPatternMatch
+xmlPatternPtr
+xmlPatterncompile
+xmlPedanticParserDefault
+xmlPedanticParserDefaultValue
+xmlPopInput
+xmlPrintURI
+xmlPushInput
+xmlRMutex
+xmlRMutexLock
+xmlRMutexPtr
+xmlRMutexUnlock
+xmlReadDoc
+xmlReadFd
+xmlReadFile
+xmlReadIO
+xmlReadMemory
+xmlReaderForDoc
+xmlReaderForFd
+xmlReaderForFile
+xmlReaderForIO
+xmlReaderForMemory
+xmlReaderNewDoc
+xmlReaderNewFd
+xmlReaderNewFile
+xmlReaderNewIO
+xmlReaderNewMemory
+xmlReaderNewWalker
+xmlReaderTypes
+xmlReaderWalker
+xmlRealloc
+xmlReallocFunc
+xmlReallocLoc
+xmlReconciliateNs
+xmlRecoverDoc
+xmlRecoverFile
+xmlRecoverMemory
+xmlRef
+xmlRefPtr
+xmlRefTable
+xmlRefTablePtr
+xmlRegExecCallbacks
+xmlRegExecCtxt
+xmlRegExecCtxtPtr
+xmlRegExecPushString
+xmlRegExecPushString2
+xmlRegFreeExecCtxt
+xmlRegFreeRegexp
+xmlRegNewExecCtxt
+xmlRegexp
+xmlRegexpCompile
+xmlRegexpExec
+xmlRegexpIsDeterminist
+xmlRegexpPrint
+xmlRegexpPtr
+xmlRegisterCharEncodingHandler
+xmlRegisterDefaultInputCallbacks
+xmlRegisterDefaultOutputCallbacks
+xmlRegisterHTTPPostCallbacks
+xmlRegisterInputCallbacks
+xmlRegisterNodeDefault
+xmlRegisterNodeDefaultValue
+xmlRegisterNodeFunc
+xmlRegisterOutputCallbacks
+xmlRelaxNG
+xmlRelaxNGCleanupTypes
+xmlRelaxNGDump
+xmlRelaxNGDumpTree
+xmlRelaxNGFree
+xmlRelaxNGFreeParserCtxt
+xmlRelaxNGFreeValidCtxt
+xmlRelaxNGGetParserErrors
+xmlRelaxNGGetValidErrors
+xmlRelaxNGNewDocParserCtxt
+xmlRelaxNGNewMemParserCtxt
+xmlRelaxNGNewParserCtxt
+xmlRelaxNGNewValidCtxt
+xmlRelaxNGParse
+xmlRelaxNGParserCtxt
+xmlRelaxNGParserCtxtPtr
+xmlRelaxNGParserFlag
+xmlRelaxNGPtr
+xmlRelaxNGSetParserErrors
+xmlRelaxNGSetValidErrors
+xmlRelaxNGValidCtxt
+xmlRelaxNGValidCtxtPtr
+xmlRelaxNGValidErr
+xmlRelaxNGValidateDoc
+xmlRelaxNGValidateFullElement
+xmlRelaxNGValidatePopElement
+xmlRelaxNGValidatePushCData
+xmlRelaxNGValidatePushElement
+xmlRelaxNGValidityErrorFunc
+xmlRelaxNGValidityWarningFunc
+xmlRelaxParserSetFlag
+xmlRemoveID
+xmlRemoveProp
+xmlRemoveRef
+xmlReplaceNode
+xmlResetError
+xmlResetLastError
+xmlRootNode
+xmlSAX2AttributeDecl
+xmlSAX2CDataBlock
+xmlSAX2Characters
+xmlSAX2CheckNamespace
+xmlSAX2Comment
+xmlSAX2ElementDecl
+xmlSAX2EndDocument
+xmlSAX2EndElement
+xmlSAX2EndElementNs
+xmlSAX2EntityDecl
+xmlSAX2ExternalSubset
+xmlSAX2GetColumnNumber
+xmlSAX2GetEntity
+xmlSAX2GetLineNumber
+xmlSAX2GetNamespace
+xmlSAX2GetParameterEntity
+xmlSAX2GetPublicId
+xmlSAX2GetSystemId
+xmlSAX2GlobalNamespace
+xmlSAX2HasExternalSubset
+xmlSAX2HasInternalSubset
+xmlSAX2IgnorableWhitespace
+xmlSAX2InitDefaultSAXHandler
+xmlSAX2InitDocbDefaultSAXHandler
+xmlSAX2InitHtmlDefaultSAXHandler
+xmlSAX2InternalSubset
+xmlSAX2IsStandalone
+xmlSAX2NamespaceDecl
+xmlSAX2NotationDecl
+xmlSAX2ProcessingInstruction
+xmlSAX2Reference
+xmlSAX2ResolveEntity
+xmlSAX2SetDocumentLocator
+xmlSAX2SetNamespace
+xmlSAX2StartDocument
+xmlSAX2StartElement
+xmlSAX2StartElementNs
+xmlSAX2UnparsedEntityDecl
+xmlSAXDefaultVersion
+xmlSAXHandler
+xmlSAXHandlerPtr
+xmlSAXHandlerV1
+xmlSAXHandlerV1Ptr
+xmlSAXLocator
+xmlSAXLocatorPtr
+xmlSAXParseDTD
+xmlSAXParseDoc
+xmlSAXParseEntity
+xmlSAXParseFile
+xmlSAXParseFileWithData
+xmlSAXParseMemory
+xmlSAXParseMemoryWithData
+xmlSAXUserParseFile
+xmlSAXUserParseMemory
+xmlSAXVersion
+xmlSaveClose
+xmlSaveCtxt
+xmlSaveCtxtPtr
+xmlSaveDoc
+xmlSaveFile
+xmlSaveFileEnc
+xmlSaveFileTo
+xmlSaveFlush
+xmlSaveFormatFile
+xmlSaveFormatFileEnc
+xmlSaveFormatFileTo
+xmlSaveNoEmptyTags
+xmlSaveToBuffer
+xmlSaveToFd
+xmlSaveToFilename
+xmlSaveToIO
+xmlSaveTree
+xmlSaveUri
+xmlScanName
+xmlSchema
+xmlSchemaAnnot
+xmlSchemaAnnotPtr
+xmlSchemaAttribute
+xmlSchemaAttributeGroup
+xmlSchemaAttributeGroupPtr
+xmlSchemaAttributePtr
+xmlSchemaCheckFacet
+xmlSchemaCleanupTypes
+xmlSchemaCompareValues
+xmlSchemaContentType
+xmlSchemaDump
+xmlSchemaElement
+xmlSchemaElementPtr
+xmlSchemaFacet
+xmlSchemaFacetPtr
+xmlSchemaFree
+xmlSchemaFreeFacet
+xmlSchemaFreeParserCtxt
+xmlSchemaFreeType
+xmlSchemaFreeValidCtxt
+xmlSchemaFreeValue
+xmlSchemaGetPredefinedType
+xmlSchemaInitTypes
+xmlSchemaNewDocParserCtxt
+xmlSchemaNewFacet
+xmlSchemaNewMemParserCtxt
+xmlSchemaNewParserCtxt
+xmlSchemaNewValidCtxt
+xmlSchemaNotation
+xmlSchemaNotationPtr
+xmlSchemaParse
+xmlSchemaParserCtxt
+xmlSchemaParserCtxtPtr
+xmlSchemaPtr
+xmlSchemaSetParserErrors
+xmlSchemaSetValidErrors
+xmlSchemaType
+xmlSchemaTypePtr
+xmlSchemaTypeType
+xmlSchemaVal
+xmlSchemaValPredefTypeNode
+xmlSchemaValPtr
+xmlSchemaValidCtxt
+xmlSchemaValidCtxtPtr
+xmlSchemaValidError
+xmlSchemaValidateDoc
+xmlSchemaValidateFacet
+xmlSchemaValidatePredefinedType
+xmlSchemaValidateStream
+xmlSchemaValidityErrorFunc
+xmlSchemaValidityWarningFunc
+xmlSearchNs
+xmlSearchNsByHref
+xmlSetBufferAllocationScheme
+xmlSetCompressMode
+xmlSetDocCompressMode
+xmlSetEntityReferenceFunc
+xmlSetExternalEntityLoader
+xmlSetFeature
+xmlSetGenericErrorFunc
+xmlSetListDoc
+xmlSetNs
+xmlSetNsProp
+xmlSetProp
+xmlSetStructuredErrorFunc
+xmlSetTreeDoc
+xmlSetupParserForBuffer
+xmlShell
+xmlShellBase
+xmlShellCat
+xmlShellCmd
+xmlShellCtxt
+xmlShellCtxtPtr
+xmlShellDir
+xmlShellDu
+xmlShellList
+xmlShellLoad
+xmlShellPrintNode
+xmlShellPrintXPathError
+xmlShellPrintXPathResult
+xmlShellPwd
+xmlShellReadlineFunc
+xmlShellSave
+xmlShellValidate
+xmlShellWrite
+xmlSkipBlankChars
+xmlSnprintfElementContent
+xmlSplitQName
+xmlSplitQName2
+xmlSplitQName3
+xmlSprintfElementContent
+xmlStopParser
+xmlStrEqual
+xmlStrPrintf
+xmlStrQEqual
+xmlStrVPrintf
+xmlStrcasecmp
+xmlStrcasestr
+xmlStrcat
+xmlStrchr
+xmlStrcmp
+xmlStrdup
+xmlStrdupFunc
+xmlStringComment
+xmlStringCurrentChar
+xmlStringDecodeEntities
+xmlStringGetNodeList
+xmlStringLenDecodeEntities
+xmlStringLenGetNodeList
+xmlStringText
+xmlStringTextNoenc
+xmlStrlen
+xmlStrncasecmp
+xmlStrncat
+xmlStrncatNew
+xmlStrncmp
+xmlStrndup
+xmlStrstr
+xmlStrsub
+xmlStructuredError
+xmlStructuredErrorFunc
+xmlSubstituteEntitiesDefault
+xmlSubstituteEntitiesDefaultValue
+xmlSwitchEncoding
+xmlSwitchInputEncoding
+xmlSwitchToEncoding
+xmlTextConcat
+xmlTextMerge
+xmlTextReader
+xmlTextReaderAttributeCount
+xmlTextReaderBaseUri
+xmlTextReaderClose
+xmlTextReaderConstBaseUri
+xmlTextReaderConstLocalName
+xmlTextReaderConstName
+xmlTextReaderConstNamespaceUri
+xmlTextReaderConstPrefix
+xmlTextReaderConstString
+xmlTextReaderConstValue
+xmlTextReaderConstXmlLang
+xmlTextReaderCurrentDoc
+xmlTextReaderCurrentNode
+xmlTextReaderDepth
+xmlTextReaderErrorFunc
+xmlTextReaderExpand
+xmlTextReaderGetAttribute
+xmlTextReaderGetAttributeNo
+xmlTextReaderGetAttributeNs
+xmlTextReaderGetErrorHandler
+xmlTextReaderGetParserProp
+xmlTextReaderGetRemainder
+xmlTextReaderHasAttributes
+xmlTextReaderHasValue
+xmlTextReaderIsDefault
+xmlTextReaderIsEmptyElement
+xmlTextReaderIsValid
+xmlTextReaderLocalName
+xmlTextReaderLocatorBaseURI
+xmlTextReaderLocatorLineNumber
+xmlTextReaderLocatorPtr
+xmlTextReaderLookupNamespace
+xmlTextReaderMoveToAttribute
+xmlTextReaderMoveToAttributeNo
+xmlTextReaderMoveToAttributeNs
+xmlTextReaderMoveToElement
+xmlTextReaderMoveToFirstAttribute
+xmlTextReaderMoveToNextAttribute
+xmlTextReaderName
+xmlTextReaderNamespaceUri
+xmlTextReaderNext
+xmlTextReaderNextSibling
+xmlTextReaderNodeType
+xmlTextReaderNormalization
+xmlTextReaderPrefix
+xmlTextReaderPreserve
+xmlTextReaderPreservePattern
+xmlTextReaderPtr
+xmlTextReaderQuoteChar
+xmlTextReaderRead
+xmlTextReaderReadAttributeValue
+xmlTextReaderReadInnerXml
+xmlTextReaderReadOuterXml
+xmlTextReaderReadState
+xmlTextReaderReadString
+xmlTextReaderRelaxNGSetSchema
+xmlTextReaderRelaxNGValidate
+xmlTextReaderSetErrorHandler
+xmlTextReaderSetParserProp
+xmlTextReaderSetStructuredErrorHandler
+xmlTextReaderValue
+xmlTextReaderXmlLang
+xmlTextWriter
+xmlTextWriterEndAttribute
+xmlTextWriterEndCDATA
+xmlTextWriterEndComment
+xmlTextWriterEndDTD
+xmlTextWriterEndDTDAttlist
+xmlTextWriterEndDTDElement
+xmlTextWriterEndDTDEntity
+xmlTextWriterEndDocument
+xmlTextWriterEndElement
+xmlTextWriterEndPI
+xmlTextWriterFlush
+xmlTextWriterFullEndElement
+xmlTextWriterPtr
+xmlTextWriterSetIndent
+xmlTextWriterSetIndentString
+xmlTextWriterStartAttribute
+xmlTextWriterStartAttributeNS
+xmlTextWriterStartCDATA
+xmlTextWriterStartComment
+xmlTextWriterStartDTD
+xmlTextWriterStartDTDAttlist
+xmlTextWriterStartDTDElement
+xmlTextWriterStartDTDEntity
+xmlTextWriterStartDocument
+xmlTextWriterStartElement
+xmlTextWriterStartElementNS
+xmlTextWriterStartPI
+xmlTextWriterWriteAttribute
+xmlTextWriterWriteAttributeNS
+xmlTextWriterWriteBase64
+xmlTextWriterWriteBinHex
+xmlTextWriterWriteCDATA
+xmlTextWriterWriteComment
+xmlTextWriterWriteDTD
+xmlTextWriterWriteDTDAttlist
+xmlTextWriterWriteDTDElement
+xmlTextWriterWriteDTDEntity
+xmlTextWriterWriteDTDExternalEntity
+xmlTextWriterWriteDTDExternalEntityContents
+xmlTextWriterWriteDTDInternalEntity
+xmlTextWriterWriteDTDNotation
+xmlTextWriterWriteDocType
+xmlTextWriterWriteElement
+xmlTextWriterWriteElementNS
+xmlTextWriterWriteFormatAttribute
+xmlTextWriterWriteFormatAttributeNS
+xmlTextWriterWriteFormatCDATA
+xmlTextWriterWriteFormatComment
+xmlTextWriterWriteFormatDTD
+xmlTextWriterWriteFormatDTDAttlist
+xmlTextWriterWriteFormatDTDElement
+xmlTextWriterWriteFormatDTDInternalEntity
+xmlTextWriterWriteFormatElement
+xmlTextWriterWriteFormatElementNS
+xmlTextWriterWriteFormatPI
+xmlTextWriterWriteFormatRaw
+xmlTextWriterWriteFormatString
+xmlTextWriterWritePI
+xmlTextWriterWriteProcessingInstruction
+xmlTextWriterWriteRaw
+xmlTextWriterWriteRawLen
+xmlTextWriterWriteString
+xmlTextWriterWriteVFormatAttribute
+xmlTextWriterWriteVFormatAttributeNS
+xmlTextWriterWriteVFormatCDATA
+xmlTextWriterWriteVFormatComment
+xmlTextWriterWriteVFormatDTD
+xmlTextWriterWriteVFormatDTDAttlist
+xmlTextWriterWriteVFormatDTDElement
+xmlTextWriterWriteVFormatDTDInternalEntity
+xmlTextWriterWriteVFormatElement
+xmlTextWriterWriteVFormatElementNS
+xmlTextWriterWriteVFormatPI
+xmlTextWriterWriteVFormatRaw
+xmlTextWriterWriteVFormatString
+xmlThrDefBufferAllocScheme
+xmlThrDefDefaultBufferSize
+xmlThrDefDeregisterNodeDefault
+xmlThrDefDoValidityCheckingDefaultValue
+xmlThrDefGetWarningsDefaultValue
+xmlThrDefIndentTreeOutput
+xmlThrDefKeepBlanksDefaultValue
+xmlThrDefLineNumbersDefaultValue
+xmlThrDefLoadExtDtdDefaultValue
+xmlThrDefParserDebugEntities
+xmlThrDefPedanticParserDefaultValue
+xmlThrDefRegisterNodeDefault
+xmlThrDefSaveNoEmptyTags
+xmlThrDefSetGenericErrorFunc
+xmlThrDefSetStructuredErrorFunc
+xmlThrDefSubstituteEntitiesDefaultValue
+xmlThrDefTreeIndentString
+xmlTreeIndentString
+xmlUCSIsAegeanNumbers
+xmlUCSIsAlphabeticPresentationForms
+xmlUCSIsArabic
+xmlUCSIsArabicPresentationFormsA
+xmlUCSIsArabicPresentationFormsB
+xmlUCSIsArmenian
+xmlUCSIsArrows
+xmlUCSIsBasicLatin
+xmlUCSIsBengali
+xmlUCSIsBlock
+xmlUCSIsBlockElements
+xmlUCSIsBopomofo
+xmlUCSIsBopomofoExtended
+xmlUCSIsBoxDrawing
+xmlUCSIsBraillePatterns
+xmlUCSIsBuhid
+xmlUCSIsByzantineMusicalSymbols
+xmlUCSIsCJKCompatibility
+xmlUCSIsCJKCompatibilityForms
+xmlUCSIsCJKCompatibilityIdeographs
+xmlUCSIsCJKCompatibilityIdeographsSupplement
+xmlUCSIsCJKRadicalsSupplement
+xmlUCSIsCJKSymbolsandPunctuation
+xmlUCSIsCJKUnifiedIdeographs
+xmlUCSIsCJKUnifiedIdeographsExtensionA
+xmlUCSIsCJKUnifiedIdeographsExtensionB
+xmlUCSIsCat
+xmlUCSIsCatC
+xmlUCSIsCatCc
+xmlUCSIsCatCf
+xmlUCSIsCatCo
+xmlUCSIsCatCs
+xmlUCSIsCatL
+xmlUCSIsCatLl
+xmlUCSIsCatLm
+xmlUCSIsCatLo
+xmlUCSIsCatLt
+xmlUCSIsCatLu
+xmlUCSIsCatM
+xmlUCSIsCatMc
+xmlUCSIsCatMe
+xmlUCSIsCatMn
+xmlUCSIsCatN
+xmlUCSIsCatNd
+xmlUCSIsCatNl
+xmlUCSIsCatNo
+xmlUCSIsCatP
+xmlUCSIsCatPc
+xmlUCSIsCatPd
+xmlUCSIsCatPe
+xmlUCSIsCatPf
+xmlUCSIsCatPi
+xmlUCSIsCatPo
+xmlUCSIsCatPs
+xmlUCSIsCatS
+xmlUCSIsCatSc
+xmlUCSIsCatSk
+xmlUCSIsCatSm
+xmlUCSIsCatSo
+xmlUCSIsCatZ
+xmlUCSIsCatZl
+xmlUCSIsCatZp
+xmlUCSIsCatZs
+xmlUCSIsCherokee
+xmlUCSIsCombiningDiacriticalMarks
+xmlUCSIsCombiningDiacriticalMarksforSymbols
+xmlUCSIsCombiningHalfMarks
+xmlUCSIsCombiningMarksforSymbols
+xmlUCSIsControlPictures
+xmlUCSIsCurrencySymbols
+xmlUCSIsCypriotSyllabary
+xmlUCSIsCyrillic
+xmlUCSIsCyrillicSupplement
+xmlUCSIsDeseret
+xmlUCSIsDevanagari
+xmlUCSIsDingbats
+xmlUCSIsEnclosedAlphanumerics
+xmlUCSIsEnclosedCJKLettersandMonths
+xmlUCSIsEthiopic
+xmlUCSIsGeneralPunctuation
+xmlUCSIsGeometricShapes
+xmlUCSIsGeorgian
+xmlUCSIsGothic
+xmlUCSIsGreek
+xmlUCSIsGreekExtended
+xmlUCSIsGreekandCoptic
+xmlUCSIsGujarati
+xmlUCSIsGurmukhi
+xmlUCSIsHalfwidthandFullwidthForms
+xmlUCSIsHangulCompatibilityJamo
+xmlUCSIsHangulJamo
+xmlUCSIsHangulSyllables
+xmlUCSIsHanunoo
+xmlUCSIsHebrew
+xmlUCSIsHighPrivateUseSurrogates
+xmlUCSIsHighSurrogates
+xmlUCSIsHiragana
+xmlUCSIsIPAExtensions
+xmlUCSIsIdeographicDescriptionCharacters
+xmlUCSIsKanbun
+xmlUCSIsKangxiRadicals
+xmlUCSIsKannada
+xmlUCSIsKatakana
+xmlUCSIsKatakanaPhoneticExtensions
+xmlUCSIsKhmer
+xmlUCSIsKhmerSymbols
+xmlUCSIsLao
+xmlUCSIsLatin1Supplement
+xmlUCSIsLatinExtendedA
+xmlUCSIsLatinExtendedAdditional
+xmlUCSIsLatinExtendedB
+xmlUCSIsLetterlikeSymbols
+xmlUCSIsLimbu
+xmlUCSIsLinearBIdeograms
+xmlUCSIsLinearBSyllabary
+xmlUCSIsLowSurrogates
+xmlUCSIsMalayalam
+xmlUCSIsMathematicalAlphanumericSymbols
+xmlUCSIsMathematicalOperators
+xmlUCSIsMiscellaneousMathematicalSymbolsA
+xmlUCSIsMiscellaneousMathematicalSymbolsB
+xmlUCSIsMiscellaneousSymbols
+xmlUCSIsMiscellaneousSymbolsandArrows
+xmlUCSIsMiscellaneousTechnical
+xmlUCSIsMongolian
+xmlUCSIsMusicalSymbols
+xmlUCSIsMyanmar
+xmlUCSIsNumberForms
+xmlUCSIsOgham
+xmlUCSIsOldItalic
+xmlUCSIsOpticalCharacterRecognition
+xmlUCSIsOriya
+xmlUCSIsOsmanya
+xmlUCSIsPhoneticExtensions
+xmlUCSIsPrivateUse
+xmlUCSIsPrivateUseArea
+xmlUCSIsRunic
+xmlUCSIsShavian
+xmlUCSIsSinhala
+xmlUCSIsSmallFormVariants
+xmlUCSIsSpacingModifierLetters
+xmlUCSIsSpecials
+xmlUCSIsSuperscriptsandSubscripts
+xmlUCSIsSupplementalArrowsA
+xmlUCSIsSupplementalArrowsB
+xmlUCSIsSupplementalMathematicalOperators
+xmlUCSIsSupplementaryPrivateUseAreaA
+xmlUCSIsSupplementaryPrivateUseAreaB
+xmlUCSIsSyriac
+xmlUCSIsTagalog
+xmlUCSIsTagbanwa
+xmlUCSIsTags
+xmlUCSIsTaiLe
+xmlUCSIsTaiXuanJingSymbols
+xmlUCSIsTamil
+xmlUCSIsTelugu
+xmlUCSIsThaana
+xmlUCSIsThai
+xmlUCSIsTibetan
+xmlUCSIsUgaritic
+xmlUCSIsUnifiedCanadianAboriginalSyllabics
+xmlUCSIsVariationSelectors
+xmlUCSIsVariationSelectorsSupplement
+xmlUCSIsYiRadicals
+xmlUCSIsYiSyllables
+xmlUCSIsYijingHexagramSymbols
+xmlURI
+xmlURIEscape
+xmlURIEscapeStr
+xmlURIPtr
+xmlURIUnescapeString
+xmlUTF8Charcmp
+xmlUTF8Size
+xmlUTF8Strlen
+xmlUTF8Strloc
+xmlUTF8Strndup
+xmlUTF8Strpos
+xmlUTF8Strsize
+xmlUTF8Strsub
+xmlUnlinkNode
+xmlUnlockLibrary
+xmlUnsetNsProp
+xmlUnsetProp
+xmlValidBuildContentModel
+xmlValidCtxt
+xmlValidCtxtNormalizeAttributeValue
+xmlValidCtxtPtr
+xmlValidGetPotentialChildren
+xmlValidGetValidElements
+xmlValidNormalizeAttributeValue
+xmlValidState
+xmlValidStatePtr
+xmlValidateAttributeDecl
+xmlValidateAttributeValue
+xmlValidateDocument
+xmlValidateDocumentFinal
+xmlValidateDtd
+xmlValidateDtdFinal
+xmlValidateElement
+xmlValidateElementDecl
+xmlValidateNCName
+xmlValidateNMToken
+xmlValidateName
+xmlValidateNameValue
+xmlValidateNamesValue
+xmlValidateNmtokenValue
+xmlValidateNmtokensValue
+xmlValidateNotationDecl
+xmlValidateNotationUse
+xmlValidateOneAttribute
+xmlValidateOneElement
+xmlValidateOneNamespace
+xmlValidatePopElement
+xmlValidatePushCData
+xmlValidatePushElement
+xmlValidateQName
+xmlValidateRoot
+xmlValidityErrorFunc
+xmlValidityWarningFunc
+xmlXIncludeCtxt
+xmlXIncludeCtxtPtr
+xmlXIncludeFreeContext
+xmlXIncludeNewContext
+xmlXIncludeProcess
+xmlXIncludeProcessFlags
+xmlXIncludeProcessNode
+xmlXIncludeProcessTree
+xmlXIncludeProcessTreeFlags
+xmlXIncludeSetFlags
+xmlXPathAddValues
+xmlXPathAxis
+xmlXPathAxisFunc
+xmlXPathAxisPtr
+xmlXPathBooleanFunction
+xmlXPathCastBooleanToNumber
+xmlXPathCastBooleanToString
+xmlXPathCastNodeSetToBoolean
+xmlXPathCastNodeSetToNumber
+xmlXPathCastNodeSetToString
+xmlXPathCastNodeToNumber
+xmlXPathCastNodeToString
+xmlXPathCastNumberToBoolean
+xmlXPathCastNumberToString
+xmlXPathCastStringToBoolean
+xmlXPathCastStringToNumber
+xmlXPathCastToBoolean
+xmlXPathCastToNumber
+xmlXPathCastToString
+xmlXPathCeilingFunction
+xmlXPathCheckError
+xmlXPathCmpNodes
+xmlXPathCompExpr
+xmlXPathCompExprPtr
+xmlXPathCompareValues
+xmlXPathCompile
+xmlXPathCompiledEval
+xmlXPathConcatFunction
+xmlXPathContainsFunction
+xmlXPathContext
+xmlXPathContextPtr
+xmlXPathConvertBoolean
+xmlXPathConvertFunc
+xmlXPathConvertNumber
+xmlXPathConvertString
+xmlXPathCountFunction
+xmlXPathCtxtCompile
+xmlXPathDebugDumpCompExpr
+xmlXPathDebugDumpObject
+xmlXPathDifference
+xmlXPathDistinct
+xmlXPathDistinctSorted
+xmlXPathDivValues
+xmlXPathEmptyNodeSet
+xmlXPathEqualValues
+xmlXPathErr
+xmlXPathError
+xmlXPathEval
+xmlXPathEvalExpr
+xmlXPathEvalExpression
+xmlXPathEvalFunc
+xmlXPathEvalPredicate
+xmlXPathEvaluatePredicateResult
+xmlXPathFalseFunction
+xmlXPathFloorFunction
+xmlXPathFreeCompExpr
+xmlXPathFreeContext
+xmlXPathFreeNodeSet
+xmlXPathFreeNodeSetList
+xmlXPathFreeObject
+xmlXPathFreeParserContext
+xmlXPathFuncLookupFunc
+xmlXPathFuncPtr
+xmlXPathFunct
+xmlXPathFunction
+xmlXPathFunctionLookup
+xmlXPathFunctionLookupNS
+xmlXPathGetContextNode
+xmlXPathGetDocument
+xmlXPathGetError
+xmlXPathHasSameNodes
+xmlXPathIdFunction
+xmlXPathInit
+xmlXPathIntersection
+xmlXPathIsInf
+xmlXPathIsNaN
+xmlXPathIsNodeType
+xmlXPathLangFunction
+xmlXPathLastFunction
+xmlXPathLeading
+xmlXPathLeadingSorted
+xmlXPathLocalNameFunction
+xmlXPathModValues
+xmlXPathMultValues
+xmlXPathNAN
+xmlXPathNINF
+xmlXPathNamespaceURIFunction
+xmlXPathNewBoolean
+xmlXPathNewCString
+xmlXPathNewContext
+xmlXPathNewFloat
+xmlXPathNewNodeSet
+xmlXPathNewNodeSetList
+xmlXPathNewParserContext
+xmlXPathNewString
+xmlXPathNewValueTree
+xmlXPathNextAncestor
+xmlXPathNextAncestorOrSelf
+xmlXPathNextAttribute
+xmlXPathNextChild
+xmlXPathNextDescendant
+xmlXPathNextDescendantOrSelf
+xmlXPathNextFollowing
+xmlXPathNextFollowingSibling
+xmlXPathNextNamespace
+xmlXPathNextParent
+xmlXPathNextPreceding
+xmlXPathNextPrecedingSibling
+xmlXPathNextSelf
+xmlXPathNodeLeading
+xmlXPathNodeLeadingSorted
+xmlXPathNodeSetAdd
+xmlXPathNodeSetAddNs
+xmlXPathNodeSetAddUnique
+xmlXPathNodeSetContains
+xmlXPathNodeSetCreate
+xmlXPathNodeSetDel
+xmlXPathNodeSetFreeNs
+xmlXPathNodeSetGetLength
+xmlXPathNodeSetIsEmpty
+xmlXPathNodeSetItem
+xmlXPathNodeSetMerge
+xmlXPathNodeSetRemove
+xmlXPathNodeSetSort
+xmlXPathNodeTrailing
+xmlXPathNodeTrailingSorted
+xmlXPathNormalizeFunction
+xmlXPathNotEqualValues
+xmlXPathNotFunction
+xmlXPathNsLookup
+xmlXPathNumberFunction
+xmlXPathObject
+xmlXPathObjectCopy
+xmlXPathObjectPtr
+xmlXPathObjectType
+xmlXPathOrderDocElems
+xmlXPathPINF
+xmlXPathParseNCName
+xmlXPathParseName
+xmlXPathParserContext
+xmlXPathParserContextPtr
+xmlXPathPopBoolean
+xmlXPathPopExternal
+xmlXPathPopNodeSet
+xmlXPathPopNumber
+xmlXPathPopString
+xmlXPathPositionFunction
+xmlXPathRegisterAllFunctions
+xmlXPathRegisterFunc
+xmlXPathRegisterFuncLookup
+xmlXPathRegisterFuncNS
+xmlXPathRegisterNs
+xmlXPathRegisterVariable
+xmlXPathRegisterVariableLookup
+xmlXPathRegisterVariableNS
+xmlXPathRegisteredFuncsCleanup
+xmlXPathRegisteredNsCleanup
+xmlXPathRegisteredVariablesCleanup
+xmlXPathReturnBoolean
+xmlXPathReturnEmptyNodeSet
+xmlXPathReturnEmptyString
+xmlXPathReturnExternal
+xmlXPathReturnFalse
+xmlXPathReturnNodeSet
+xmlXPathReturnNumber
+xmlXPathReturnString
+xmlXPathReturnTrue
+xmlXPathRoot
+xmlXPathRoundFunction
+xmlXPathSetArityError
+xmlXPathSetError
+xmlXPathSetTypeError
+xmlXPathStackIsExternal
+xmlXPathStackIsNodeSet
+xmlXPathStartsWithFunction
+xmlXPathStringEvalNumber
+xmlXPathStringFunction
+xmlXPathStringLengthFunction
+xmlXPathSubValues
+xmlXPathSubstringAfterFunction
+xmlXPathSubstringBeforeFunction
+xmlXPathSubstringFunction
+xmlXPathSumFunction
+xmlXPathTrailing
+xmlXPathTrailingSorted
+xmlXPathTranslateFunction
+xmlXPathTrueFunction
+xmlXPathType
+xmlXPathTypePtr
+xmlXPathValueFlipSign
+xmlXPathVariable
+xmlXPathVariableLookup
+xmlXPathVariableLookupFunc
+xmlXPathVariableLookupNS
+xmlXPathVariablePtr
+xmlXPathWrapCString
+xmlXPathWrapExternal
+xmlXPathWrapNodeSet
+xmlXPathWrapString
+xmlXPatherror
+xmlXPtrBuildNodeList
+xmlXPtrEval
+xmlXPtrEvalRangePredicate
+xmlXPtrFreeLocationSet
+xmlXPtrLocationSetAdd
+xmlXPtrLocationSetCreate
+xmlXPtrLocationSetDel
+xmlXPtrLocationSetMerge
+xmlXPtrLocationSetRemove
+xmlXPtrNewCollapsedRange
+xmlXPtrNewContext
+xmlXPtrNewLocationSetNodeSet
+xmlXPtrNewLocationSetNodes
+xmlXPtrNewRange
+xmlXPtrNewRangeNodeObject
+xmlXPtrNewRangeNodePoint
+xmlXPtrNewRangeNodes
+xmlXPtrNewRangePointNode
+xmlXPtrNewRangePoints
+xmlXPtrRangeToFunction
+xmlXPtrWrapLocationSet
+

Daniel Veillard

diff --git a/doc/DOM.gif b/doc/DOM.gif new file mode 100644 index 0000000..a44882f Binary files /dev/null and b/doc/DOM.gif differ diff --git a/doc/DOM.html b/doc/DOM.html new file mode 100644 index 0000000..4076b64 --- /dev/null +++ b/doc/DOM.html @@ -0,0 +1,17 @@ + + +DOM Principles
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

DOM Principles

Developer Menu
API Indexes
Related links

DOM stands for the Document +Object Model; this is an API for accessing XML or HTML structured +documents. Native support for DOM in Gnome is on the way (module gnome-dom), +and will be based on gnome-xml. This will be a far cleaner interface to +manipulate XML files within Gnome since it won't expose the internal +structure.

The current DOM implementation on top of libxml2 is the gdome2 Gnome module, this +is a full DOM interface, thanks to Paolo Casarini, check the Gdome2 homepage for more +informations.

Daniel Veillard

diff --git a/doc/FAQ.html b/doc/FAQ.html new file mode 100644 index 0000000..472863f --- /dev/null +++ b/doc/FAQ.html @@ -0,0 +1,244 @@ + + +FAQ
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

FAQ

Main Menu
Related links

Table of Contents:

License(s)

  1. Licensing Terms for libxml +

    libxml2 is released under the MIT + License; see the file Copyright in the distribution for the precise + wording

    +
  2. +
  3. Can I embed libxml2 in a proprietary application ? +

    Yes. The MIT License allows you to keep proprietary the changes you + made to libxml, but it would be graceful to send-back bug fixes and + improvements as patches for possible incorporation in the main + development tree.

    +
  4. +

Installation

  1. Do Not Use + libxml1, use libxml2
  2. +
  3. Where can I get libxml ? +

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

    +

    Most Linux and BSD distributions include libxml, this is probably the + safer way for end-users to use libxml.

    +

    David Doolin provides precompiled Windows versions at http://www.ce.berkeley.edu/~doolin/code/libxmlwin32/

    +
  4. +
  5. I see libxml and libxml2 releases, which one should I install ? +
    • If you are not constrained by backward compatibility issues with + existing applications, install libxml2 only
    • +
    • If you are not doing development, you can safely install both. + Usually the packages libxml and libxml2 are + compatible (this is not the case for development packages).
    • +
    • If you are a developer and your system provides separate packaging + for shared libraries and the development components, it is possible + to install libxml and libxml2, and also libxml-devel + and libxml2-devel + too for libxml2 >= 2.3.0
    • +
    • If you are developing a new application, please develop against + libxml2(-devel)
    • +
  6. +
  7. I can't install the libxml package, it conflicts with libxml0 +

    You probably have an old libxml0 package used to provide the shared + library for libxml.so.0, you can probably safely remove it. The libxml + packages provided on rpmfind.net provide + libxml.so.0

    +
  8. +
  9. I can't install the libxml(2) RPM package due to failed + dependencies +

    The most generic solution is to re-fetch the latest src.rpm , and + rebuild it locally with

    +

    rpm --rebuild libxml(2)-xxx.src.rpm.

    +

    If everything goes well it will generate two binary rpm packages (one + providing the shared libs and xmllint, and the other one, the -devel + package, providing includes, static libraries and scripts needed to build + applications with libxml(2)) that you can install locally.

    +
  10. +

Compilation

  1. What is the process to compile libxml2 ? +

    As most UNIX libraries libxml2 follows the "standard":

    +

    gunzip -c xxx.tar.gz | tar xvf -

    +

    cd libxml-xxxx

    +

    ./configure --help

    +

    to see the options, then the compilation/installation proper

    +

    ./configure [possible options]

    +

    make

    +

    make install

    +

    At that point you may have to rerun ldconfig or a similar utility to + update your list of installed shared libs.

    +
  2. +
  3. What other libraries are needed to compile/install libxml2 ? +

    Libxml2 does not require any other library, the normal C ANSI API + should be sufficient (please report any violation to this rule you may + find).

    +

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

    +
    • libz : a + highly portable and available widely compression library.
    • +
    • iconv: a powerful character encoding conversion library. It is + included by default in recent glibc libraries, so it doesn't need to + be installed specifically on Linux. It now seems a part + of the official UNIX specification. Here is one implementation of the + library which source can be found here.
    • +
  4. +
  5. Make check fails on some platforms +

    Sometimes the regression tests' results don't completely match the + value produced by the parser, and the makefile uses diff to print the + delta. On some platforms the diff return breaks the compilation process; + if the diff is small this is probably not a serious problem.

    +

    Sometimes (especially on Solaris) make checks fail due to limitations + in make. Try using GNU-make instead.

    +
  6. +
  7. I use the CVS version and there is no configure script +

    The configure script (and other Makefiles) are generated. Use the + autogen.sh script to regenerate the configure script and Makefiles, + like:

    +

    ./autogen.sh --prefix=/usr --disable-shared

    +
  8. +
  9. I have troubles when running make tests with gcc-3.0 +

    It seems the initial release of gcc-3.0 has a problem with the + optimizer which miscompiles the URI module. Please use another + compiler.

    +
  10. +

Developer corner

  1. Troubles compiling or linking programs using libxml2 +

    Usually the problem comes from the fact that the compiler doesn't get + the right compilation or linking flags. There is a small shell script + xml2-config which is installed as part of libxml2 usual + install process which provides those flags. Use

    +

    xml2-config --cflags

    +

    to get the compilation flags and

    +

    xml2-config --libs

    +

    to get the linker flags. Usually this is done directly from the + Makefile as:

    +

    CFLAGS=`xml2-config --cflags`

    +

    LIBS=`xml2-config --libs`

    +
  2. +
  3. xmlDocDump() generates output on one line. +

    Libxml2 will not invent spaces in the content of a + document since all spaces in the content of a document are + significant. If you build a tree from the API and want + indentation:

    +
    1. the correct way is to generate those yourself too.
    2. +
    3. the dangerous way is to ask libxml2 to add those blanks to your + content modifying the content of your document in the + process. The result may not be what you expect. There is + NO way to guarantee that such a modification won't + affect other parts of the content of your document. See xmlKeepBlanksDefault + () and xmlSaveFormatFile + ()
    4. +
  4. +
  5. Extra nodes in the document: +

    For a XML file as below:

    +
    <?xml version="1.0"?>
    +<PLAN xmlns="http://www.argus.ca/autotest/1.0/">
    +<NODE CommFlag="0"/>
    +<NODE CommFlag="1"/>
    +</PLAN>
    +

    after parsing it with the function + pxmlDoc=xmlParseFile(...);

    +

    I want to the get the content of the first node (node with the + CommFlag="0")

    +

    so I did it as following;

    +
    xmlNodePtr pnode;
    +pnode=pxmlDoc->children->children;
    +

    but it does not work. If I change it to

    +
    pnode=pxmlDoc->children->children->next;
    +

    then it works. Can someone explain it to me.

    +

    +

    In XML all characters in the content of the document are significant + including blanks and formatting line breaks.

    +

    The extra nodes you are wondering about are just that, text nodes with + the formatting spaces which are part of the document but that people tend + to forget. There is a function xmlKeepBlanksDefault + () to remove those at parse time, but that's an heuristic, and its + use should be limited to cases where you are certain there is no + mixed-content in the document.

    +
  6. +
  7. I get compilation errors of existing code like when accessing + root or child fields of nodes. +

    You are compiling code developed for libxml version 1 and using a + libxml2 development environment. Either switch back to libxml v1 devel or + even better fix the code to compile with libxml2 (or both) by following the instructions.

    +
  8. +
  9. I get compilation errors about non existing + xmlRootNode or xmlChildrenNode + fields. +

    The source code you are using has been upgraded to be able to compile with both libxml + and libxml2, but you need to install a more recent version: + libxml(-devel) >= 1.8.8 or libxml2(-devel) >= 2.1.0

    +
  10. +
  11. XPath implementation looks seriously broken +

    XPath implementation prior to 2.3.0 was really incomplete. Upgrade to + a recent version, there are no known bugs in the current version.

    +
  12. +
  13. The example provided in the web page does not compile. +

    It's hard to maintain the documentation in sync with the code + <grin/> ...

    +

    Check the previous points 1/ and 2/ raised before, and please send + patches.

    +
  14. +
  15. Where can I get more examples and information than provided on the + web page? +

    Ideally a libxml2 book would be nice. I have no such plan ... But you + can:

    +
    • check more deeply the existing + generated doc
    • +
    • have a look at the set of + examples.
    • +
    • look for examples of use for libxml2 function using the Gnome code. + For example the following will query the full Gnome CVS base for the + use of the xmlAddChild() function: +

      http://cvs.gnome.org/lxr/search?string=xmlAddChild

      +

      This may be slow, a large hardware donation to the gnome project + could cure this :-)

      +
    • +
    • Browse + the libxml2 source , I try to write code as clean and documented + as possible, so looking at it may be helpful. In particular the code + of xmllint.c and of the various testXXX.c test programs should + provide good examples of how to do things with the library.
    • +
  16. +
  17. What about C++ ? +

    libxml2 is written in pure C in order to allow easy reuse on a number + of platforms, including embedded systems. I don't intend to convert to + C++.

    +

    There is however a C++ wrapper which may fulfill your needs:

    +
  18. +
  19. How to validate a document a posteriori ? +

    It is possible to validate documents which had not been validated at + initial parsing time or documents which have been built from scratch + using the API. Use the xmlValidateDtd() + function. It is also possible to simply add a DTD to an existing + document:

    +
    xmlDocPtr doc; /* your existing document */
    +xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */
    +
    +        dtd->name = xmlStrDup((xmlChar*)"root_name"); /* use the given root */
    +
    +        doc->intSubset = dtd;
    +        if (doc->children == NULL) xmlAddChild((xmlNodePtr)doc, (xmlNodePtr)dtd);
    +        else xmlAddPrevSibling(doc->children, (xmlNodePtr)dtd);
    +          
    +
  20. +
  21. So what is this funky "xmlChar" used all the time? +

    It is a null terminated sequence of utf-8 characters. And only utf-8! + You need to convert strings encoded in different ways to utf-8 before + passing them to the API. This can be accomplished with the iconv library + for instance.

    +
  22. +
  23. etc ...
  24. +

Daniel Veillard

diff --git a/doc/Libxml2-Logo-180x168.gif b/doc/Libxml2-Logo-180x168.gif new file mode 100644 index 0000000..ebded4f Binary files /dev/null and b/doc/Libxml2-Logo-180x168.gif differ diff --git a/doc/Libxml2-Logo-90x34.gif b/doc/Libxml2-Logo-90x34.gif new file mode 100644 index 0000000..b96fff0 Binary files /dev/null and b/doc/Libxml2-Logo-90x34.gif differ diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..e2d2fa6 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,108 @@ +## Process this file with automake to produce Makefile.in +SUBDIRS=examples + +# The top-level SGML file. +DOC_MAIN_XML_FILE=gnome-xml.xml + +# The directory containing the source code (if it contains documentation). +DOC_SOURCE_DIR=.. + +# A file in win32 depends upon one of the doc files +WIN32_DIR=$(top_srcdir)/win32 + +PAGES= architecture.html bugs.html contribs.html docs.html DOM.html \ + downloads.html entities.html example.html help.html index.html \ + interface.html intro.html library.html namespaces.html news.html \ + tree.html xmldtd.html XMLinfo.html XSLT.html +APIPAGES=APIconstructors.html APIfiles.html APIfunctions.html \ + APIsymbols.html APIchunk0.html +EXTRA_DIST=xmlcatalog_man.xml tutorial/*.html tutorial/*.c tutorial/*.pdf \ + tutorial/images/*.png tutorial/images/callouts/*.png \ + API*.html *.1 *.xsl *.html *.gif w3c.png html/*.html \ + html/*.png libxml2-api.xml index.py search.php \ + apibuild.py libxml2.xsa xmllint.xml xmlcatalog_man.xml \ + README.docs + + +man_MANS = xmllint.1 xmlcatalog.1 + +all: web $(top_srcdir)/NEWS libxml2.xsa $(man_MANS) + +api: libxml2-api.xml libxml2-refs.xml $(APIPAGES) $(srcdir)/html/index.html $(WIN32_DIR)/libxml2.def.src + +web: $(PAGES) + +$(PAGES): xml.html site.xsl + -@(if [ -x $(bindir)/xsltproc ] ; then \ + echo "Rebuilding the HTML Web pages from xml.html" ; \ + $(bindir)/xsltproc --nonet --html $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/xml.html > index.html ; fi ); + -@(if [ -x $(bindir)/xmllint ] ; then \ + echo "Validating the HTML Web pages" ; \ + $(bindir)/xmllint --nonet --valid --noout $(PAGES) ; fi ); + +$(top_srcdir)/NEWS: $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html + -@(if [ -x $(bindir)/xsltproc ] ; then \ + $(bindir)/xsltproc --nonet $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html > $(top_srcdir)/NEWS ; fi ); + +libxml2.xsa: $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html + -@(if [ -x $(bindir)/xsltproc ] ; then \ + $(bindir)/xsltproc --nonet $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html > libxml2.xsa ; fi ); + +$(APIPAGES): libxml2-api.xml libxml2-refs.xml $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/api.xsl + -@(if [ -x $(bindir)/xsltproc ] ; then \ + echo "Rebuilding the HTML API pages from libxml2-refs.xml" ; \ + $(bindir)/xsltproc --nonet --html $(top_srcdir)/doc/api.xsl \ + $(top_srcdir)/doc/xml.html ; fi ); + -@(if [ -x $(bindir)/xmllint ] ; then \ + echo "Validating the HTML API pages" ; \ + $(bindir)/xmllint --nonet --valid --noout API*.html ; fi ); + +$(srcdir)/html/index.html: libxml2-api.xml $(srcdir)/newapi.xsl + -@(if [ -x $(bindir)/xsltproc ] ; then \ + echo "Rebuilding the HTML pages from the XML API" ; \ + $(bindir)/xsltproc \ + --nonet $(srcdir)/newapi.xsl libxml2-api.xml ; fi ) + -@(if [ -x $(bindir)/xmllint ] ; then \ + echo "Validating the resulting XHTML pages" ; \ + $(bindir)/xmllint --nonet --valid --noout html/*.html ; fi ); + +$(WIN32_DIR)/libxml2.def.src: libxml2-api.xml + -@(if [ -x $(bindir)/xsltproc ] ; then \ + $(bindir)/xsltproc -o $(WIN32_DIR)/libxml2.def.src \ + --nonet $(WIN32_DIR)/defgen.xsl libxml2-api.xml ; fi ) + +libxml2-api.xml libxml2-refs.xml: apibuild.py ../include/libxml/*.h ../*.c + -(./apibuild.py) + +xmllint.1: xmllint.xml + -@(xsltproc --nonet xmllint.xml) + +xmlcatalog.1: xmlcatalog_man.xml + -@(xsltproc --nonet xmlcatalog_man.xml) + +clean-local: + rm -f *~ *.bak *.hierarchy *.signals *-unused.txt + +maintainer-clean-local: clean + rm -rf libxml-decl-list.txt libxml-decl.txt + +rebuild: api all + +install-data-local: + $(mkinstalldirs) $(DESTDIR)$(HTML_DIR) + -@INSTALL@ -m 0644 $(srcdir)/xml.html $(srcdir)/encoding.html $(srcdir)/FAQ.html $(srcdir)/structure.gif $(srcdir)/DOM.gif $(srcdir)/smallfootonly.gif $(srcdir)/redhat.gif $(srcdir)/libxml.gif $(srcdir)/w3c.png $(srcdir)/Libxml2-Logo-180x168.gif $(srcdir)/Libxml2-Logo-90x34.gif $(DESTDIR)$(HTML_DIR) + $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/html + -@INSTALL@ -m 0644 $(srcdir)/html/*.html $(DESTDIR)$(HTML_DIR)/html + -@INSTALL@ -m 0644 $(srcdir)/html/*.png $(DESTDIR)$(HTML_DIR)/html + -@INSTALL@ -m 0644 $(srcdir)/html/index.sgml $(DESTDIR)$(HTML_DIR)/html + $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/tutorial + -@INSTALL@ -m 0644 $(srcdir)/tutorial/*.* \ + $(DESTDIR)$(HTML_DIR)/tutorial + $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/tutorial/images + -@INSTALL@ -m 0644 $(srcdir)/tutorial/images/*.* \ + $(DESTDIR)$(HTML_DIR)/tutorial/images + $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/tutorial/images/callouts + -@INSTALL@ -m 0644 $(srcdir)/tutorial/images/callouts/*.* \ + $(DESTDIR)$(HTML_DIR)/tutorial/images/callouts + +.PHONY : html xml templates scan diff --git a/doc/Makefile.in b/doc/Makefile.in new file mode 100644 index 0000000..5b90845 --- /dev/null +++ b/doc/Makefile.in @@ -0,0 +1,708 @@ +# Makefile.in generated by automake 1.8.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +subdir = doc +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +man1dir = $(mandir)/man1 +am__installdirs = $(DESTDIR)$(man1dir) +NROFF = nroff +MANS = $(man_MANS) +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +C14N_OBJ = @C14N_OBJ@ +CATALOG_OBJ = @CATALOG_OBJ@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEBUG_OBJ = @DEBUG_OBJ@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DOCB_OBJ = @DOCB_OBJ@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FTP_OBJ = @FTP_OBJ@ +HAVE_ISINF = @HAVE_ISINF@ +HAVE_ISNAN = @HAVE_ISNAN@ +HTML_DIR = @HTML_DIR@ +HTML_OBJ = @HTML_OBJ@ +HTTP_OBJ = @HTTP_OBJ@ +ICONV_LIBS = @ICONV_LIBS@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXML_MAJOR_VERSION = @LIBXML_MAJOR_VERSION@ +LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@ +LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@ +LIBXML_VERSION = @LIBXML_VERSION@ +LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@ +LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MV = @MV@ +M_LIBS = @M_LIBS@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PATTERN_TEST = @PATTERN_TEST@ +PYTHON = @PYTHON@ +PYTHON_INCLUDES = @PYTHON_INCLUDES@ +PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@ +PYTHON_SUBDIR = @PYTHON_SUBDIR@ +PYTHON_TESTS = @PYTHON_TESTS@ +PYTHON_VERSION = @PYTHON_VERSION@ +RANLIB = @RANLIB@ +RDL_LIBS = @RDL_LIBS@ +READER_TEST = @READER_TEST@ +RELDATE = @RELDATE@ +RM = @RM@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STATIC_BINARIES = @STATIC_BINARIES@ +STRIP = @STRIP@ +TAR = @TAR@ +TEST_C14N = @TEST_C14N@ +TEST_CATALOG = @TEST_CATALOG@ +TEST_DEBUG = @TEST_DEBUG@ +TEST_HTML = @TEST_HTML@ +TEST_PHTML = @TEST_PHTML@ +TEST_PUSH = @TEST_PUSH@ +TEST_REGEXPS = @TEST_REGEXPS@ +TEST_SAX = @TEST_SAX@ +TEST_SCHEMAS = @TEST_SCHEMAS@ +TEST_THREADS = @TEST_THREADS@ +TEST_VALID = @TEST_VALID@ +TEST_VTIME = @TEST_VTIME@ +TEST_XINCLUDE = @TEST_XINCLUDE@ +TEST_XPATH = @TEST_XPATH@ +TEST_XPTR = @TEST_XPTR@ +THREADS_W32 = @THREADS_W32@ +THREAD_CFLAGS = @THREAD_CFLAGS@ +THREAD_LIBS = @THREAD_LIBS@ +U = @U@ +VERSION = @VERSION@ +WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@ +WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@ +WITH_C14N = @WITH_C14N@ +WITH_CATALOG = @WITH_CATALOG@ +WITH_DEBUG = @WITH_DEBUG@ +WITH_DOCB = @WITH_DOCB@ +WITH_FTP = @WITH_FTP@ +WITH_HTML = @WITH_HTML@ +WITH_HTTP = @WITH_HTTP@ +WITH_ICONV = @WITH_ICONV@ +WITH_ISO8859X = @WITH_ISO8859X@ +WITH_LEGACY = @WITH_LEGACY@ +WITH_MEM_DEBUG = @WITH_MEM_DEBUG@ +WITH_OUTPUT = @WITH_OUTPUT@ +WITH_PATTERN = @WITH_PATTERN@ +WITH_PUSH = @WITH_PUSH@ +WITH_PYTHON_FALSE = @WITH_PYTHON_FALSE@ +WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@ +WITH_READER = @WITH_READER@ +WITH_REGEXPS = @WITH_REGEXPS@ +WITH_SAX1 = @WITH_SAX1@ +WITH_SCHEMAS = @WITH_SCHEMAS@ +WITH_THREADS = @WITH_THREADS@ +WITH_TREE = @WITH_TREE@ +WITH_TRIO = @WITH_TRIO@ +WITH_TRIO_SOURCES_FALSE = @WITH_TRIO_SOURCES_FALSE@ +WITH_TRIO_SOURCES_TRUE = @WITH_TRIO_SOURCES_TRUE@ +WITH_VALID = @WITH_VALID@ +WITH_WRITER = @WITH_WRITER@ +WITH_XINCLUDE = @WITH_XINCLUDE@ +WITH_XPATH = @WITH_XPATH@ +WITH_XPTR = @WITH_XPTR@ +XINCLUDE_OBJ = @XINCLUDE_OBJ@ +XML_CFLAGS = @XML_CFLAGS@ +XML_INCLUDEDIR = @XML_INCLUDEDIR@ +XML_LIBDIR = @XML_LIBDIR@ +XML_LIBS = @XML_LIBS@ +XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@ +XPATH_OBJ = @XPATH_OBJ@ +XPTR_OBJ = @XPTR_OBJ@ +Z_CFLAGS = @Z_CFLAGS@ +Z_LIBS = @Z_LIBS@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_AS = @ac_ct_AS@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DLLTOOL = @ac_ct_DLLTOOL@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_OBJDUMP = @ac_ct_OBJDUMP@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +pythondir = @pythondir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +SUBDIRS = examples + +# The top-level SGML file. +DOC_MAIN_XML_FILE = gnome-xml.xml + +# The directory containing the source code (if it contains documentation). +DOC_SOURCE_DIR = .. + +# A file in win32 depends upon one of the doc files +WIN32_DIR = $(top_srcdir)/win32 +PAGES = architecture.html bugs.html contribs.html docs.html DOM.html \ + downloads.html entities.html example.html help.html index.html \ + interface.html intro.html library.html namespaces.html news.html \ + tree.html xmldtd.html XMLinfo.html XSLT.html + +APIPAGES = APIconstructors.html APIfiles.html APIfunctions.html \ + APIsymbols.html APIchunk0.html + +EXTRA_DIST = xmlcatalog_man.xml tutorial/*.html tutorial/*.c tutorial/*.pdf \ + tutorial/images/*.png tutorial/images/callouts/*.png \ + API*.html *.1 *.xsl *.html *.gif w3c.png html/*.html \ + html/*.png libxml2-api.xml index.py search.php \ + apibuild.py libxml2.xsa xmllint.xml xmlcatalog_man.xml \ + README.docs + +man_MANS = xmllint.1 xmlcatalog.1 +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + $(mkdir_p) $(DESTDIR)$(man1dir) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ + rm -f $(DESTDIR)$(man1dir)/$$inst; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if (etags --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + else \ + include_option=--include; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -f $$subdir/TAGS && \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(mkdir_p) $(distdir)/html $(distdir)/tutorial $(distdir)/tutorial/images $(distdir)/tutorial/images/callouts + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || mkdir "$(distdir)/$$subdir" \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="../$(top_distdir)" \ + distdir="../$(distdir)/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(MANS) +installdirs: installdirs-recursive +installdirs-am: + $(mkdir_p) $(DESTDIR)$(man1dir) +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool clean-local mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-data-local install-man + +install-exec-am: + +install-info: install-info-recursive + +install-man: install-man1 + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic \ + maintainer-clean-local + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am uninstall-man + +uninstall-info: uninstall-info-recursive + +uninstall-man: uninstall-man1 + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ + clean clean-generic clean-libtool clean-local clean-recursive \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-recursive distclean-tags distdir \ + dvi dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-data-local install-exec \ + install-exec-am install-info install-info-am install-man \ + install-man1 install-strip installcheck installcheck-am \ + installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-local \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am \ + uninstall-man uninstall-man1 + + +all: web $(top_srcdir)/NEWS libxml2.xsa $(man_MANS) + +api: libxml2-api.xml libxml2-refs.xml $(APIPAGES) $(srcdir)/html/index.html $(WIN32_DIR)/libxml2.def.src + +web: $(PAGES) + +$(PAGES): xml.html site.xsl + -@(if [ -x $(bindir)/xsltproc ] ; then \ + echo "Rebuilding the HTML Web pages from xml.html" ; \ + $(bindir)/xsltproc --nonet --html $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/xml.html > index.html ; fi ); + -@(if [ -x $(bindir)/xmllint ] ; then \ + echo "Validating the HTML Web pages" ; \ + $(bindir)/xmllint --nonet --valid --noout $(PAGES) ; fi ); + +$(top_srcdir)/NEWS: $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html + -@(if [ -x $(bindir)/xsltproc ] ; then \ + $(bindir)/xsltproc --nonet $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html > $(top_srcdir)/NEWS ; fi ); + +libxml2.xsa: $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html + -@(if [ -x $(bindir)/xsltproc ] ; then \ + $(bindir)/xsltproc --nonet $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html > libxml2.xsa ; fi ); + +$(APIPAGES): libxml2-api.xml libxml2-refs.xml $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/api.xsl + -@(if [ -x $(bindir)/xsltproc ] ; then \ + echo "Rebuilding the HTML API pages from libxml2-refs.xml" ; \ + $(bindir)/xsltproc --nonet --html $(top_srcdir)/doc/api.xsl \ + $(top_srcdir)/doc/xml.html ; fi ); + -@(if [ -x $(bindir)/xmllint ] ; then \ + echo "Validating the HTML API pages" ; \ + $(bindir)/xmllint --nonet --valid --noout API*.html ; fi ); + +$(srcdir)/html/index.html: libxml2-api.xml $(srcdir)/newapi.xsl + -@(if [ -x $(bindir)/xsltproc ] ; then \ + echo "Rebuilding the HTML pages from the XML API" ; \ + $(bindir)/xsltproc \ + --nonet $(srcdir)/newapi.xsl libxml2-api.xml ; fi ) + -@(if [ -x $(bindir)/xmllint ] ; then \ + echo "Validating the resulting XHTML pages" ; \ + $(bindir)/xmllint --nonet --valid --noout html/*.html ; fi ); + +$(WIN32_DIR)/libxml2.def.src: libxml2-api.xml + -@(if [ -x $(bindir)/xsltproc ] ; then \ + $(bindir)/xsltproc -o $(WIN32_DIR)/libxml2.def.src \ + --nonet $(WIN32_DIR)/defgen.xsl libxml2-api.xml ; fi ) + +libxml2-api.xml libxml2-refs.xml: apibuild.py ../include/libxml/*.h ../*.c + -(./apibuild.py) + +xmllint.1: xmllint.xml + -@(xsltproc --nonet xmllint.xml) + +xmlcatalog.1: xmlcatalog_man.xml + -@(xsltproc --nonet xmlcatalog_man.xml) + +clean-local: + rm -f *~ *.bak *.hierarchy *.signals *-unused.txt + +maintainer-clean-local: clean + rm -rf libxml-decl-list.txt libxml-decl.txt + +rebuild: api all + +install-data-local: + $(mkinstalldirs) $(DESTDIR)$(HTML_DIR) + -@INSTALL@ -m 0644 $(srcdir)/xml.html $(srcdir)/encoding.html $(srcdir)/FAQ.html $(srcdir)/structure.gif $(srcdir)/DOM.gif $(srcdir)/smallfootonly.gif $(srcdir)/redhat.gif $(srcdir)/libxml.gif $(srcdir)/w3c.png $(srcdir)/Libxml2-Logo-180x168.gif $(srcdir)/Libxml2-Logo-90x34.gif $(DESTDIR)$(HTML_DIR) + $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/html + -@INSTALL@ -m 0644 $(srcdir)/html/*.html $(DESTDIR)$(HTML_DIR)/html + -@INSTALL@ -m 0644 $(srcdir)/html/*.png $(DESTDIR)$(HTML_DIR)/html + -@INSTALL@ -m 0644 $(srcdir)/html/index.sgml $(DESTDIR)$(HTML_DIR)/html + $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/tutorial + -@INSTALL@ -m 0644 $(srcdir)/tutorial/*.* \ + $(DESTDIR)$(HTML_DIR)/tutorial + $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/tutorial/images + -@INSTALL@ -m 0644 $(srcdir)/tutorial/images/*.* \ + $(DESTDIR)$(HTML_DIR)/tutorial/images + $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/tutorial/images/callouts + -@INSTALL@ -m 0644 $(srcdir)/tutorial/images/callouts/*.* \ + $(DESTDIR)$(HTML_DIR)/tutorial/images/callouts + +.PHONY : html xml templates scan +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/doc/README.docs b/doc/README.docs new file mode 100644 index 0000000..d0b993c --- /dev/null +++ b/doc/README.docs @@ -0,0 +1,24 @@ + + XML toolkit from the GNOME project + +Full documentation is available on-line at + http://xmlsoft.org/ + +This code is released under the MIT Licence see the Copyright file. + +To report bugs, follow the instructions at: + http://xmlsoft.org/bugs.html + +A mailing-list xml@gnome.org is available, to subscribe: + http://mail.gnome.org/mailman/listinfo/xml + +The list archive is at: + http://mail.gnome.org/archives/xml/ + +All technical answers asked privately will be automatically answered on +the list and archived for public access unless pricacy is explicitely +required and justified. + +Daniel Veillard + +$Id: README.docs,v 1.1 2003/09/01 04:58:15 wbrack Exp $ diff --git a/doc/XMLinfo.html b/doc/XMLinfo.html new file mode 100644 index 0000000..2642bcb --- /dev/null +++ b/doc/XMLinfo.html @@ -0,0 +1,35 @@ + + +XML
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

XML

Main Menu
Related links

XML is a standard for +markup-based structured documents. Here is an example XML +document:

<?xml version="1.0"?>
+<EXAMPLE prop1="gnome is great" prop2="&amp; linux too">
+  <head>
+   <title>Welcome to Gnome</title>
+  </head>
+  <chapter>
+   <title>The Linux adventure</title>
+   <p>bla bla bla ...</p>
+   <image href="linus.gif"/>
+   <p>...</p>
+  </chapter>
+</EXAMPLE>

The first line specifies that it is an XML document and gives useful +information about its encoding. Then the rest of the document is a text +format whose structure is specified by tags between brackets. Each +tag opened has to be closed. XML is pedantic about this. However, if +a tag is empty (no content), a single tag can serve as both the opening and +closing tag if it ends with /> rather than with +>. Note that, for example, the image tag has no content (just +an attribute) and is closed by ending the tag with />.

XML can be applied successfully to a wide range of tasks, ranging from +long term structured document maintenance (where it follows the steps of +SGML) to simple data encoding mechanisms like configuration file formatting +(glade), spreadsheets (gnumeric), or even shorter lived documents such as +WebDAV where it is used to encode remote calls between a client and a +server.

Daniel Veillard

diff --git a/doc/XSLT.html b/doc/XSLT.html new file mode 100644 index 0000000..00f4b49 --- /dev/null +++ b/doc/XSLT.html @@ -0,0 +1,14 @@ + + +XSLT
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

XSLT

Main Menu
Related links

Check the separate libxslt page

XSL Transformations, is a +language for transforming XML documents into other XML documents (or +HTML/textual output).

A separate library called libxslt is available implementing XSLT-1.0 for +libxml2. This module "libxslt" too can be found in the Gnome CVS base.

You can check the features +supported and the progresses on the Changelog.

Daniel Veillard

diff --git a/doc/api.xsl b/doc/api.xsl new file mode 100644 index 0000000..2b7bd71 --- /dev/null +++ b/doc/api.xsl @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + +
+
+
+ +

Type :

+

+ + + + + +

+
+ +

Letter :

+

+ + + + + +

+
+ +

Module :

+

+ + + + + +

+
+ +

Letter :

+
+ +
+
+ + + + + +
+
+
+
+ + + Generating API Constructors + List of constructors for + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + + +
+ + + + +
+ + + + +
+ +

Daniel Veillard

+
+
+
+
+
+ + +
+
+ + Generating API List of synbols per file + List of Symbols per Module for + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + + +
+ + + + +
+ + + + +
+ +

Daniel Veillard

+
+
+
+
+
+ + +
+
+ + Generating API Functions by Type + List of function manipulating types in + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + + +
+ + + + +
+ + + + +
+ +

Daniel Veillard

+
+
+
+
+
+ + +
+
+ + Generating API Alphabetic list + Alphabetic List of Symbols in + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + + +
+ + + + +
+ + + + +
+ +

Daniel Veillard

+
+
+
+
+
+ + +
+
+ +

+ + + + + + + + + +

+
+ + + + + + + API Alphabetic Index for + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + + +
+ + + + +
+ + + + +
+ + + +

Daniel Veillard

+
+
+
+
+
+ + +
+
+ + + Generating API Index + + + + + Generating API Cross References + + + + + + + + + + + +
diff --git a/doc/apibuild.py b/doc/apibuild.py new file mode 100755 index 0000000..688403f --- /dev/null +++ b/doc/apibuild.py @@ -0,0 +1,1913 @@ +#!/usr/bin/python -u +# +# This is the API builder, it parses the C sources and build the +# API formal description in XML. +# +# See Copyright for the status of this software. +# +# daniel@veillard.com +# +import os, sys +import string +import glob + +debug=0 + +# +# C parser analysis code +# +ignored_files = { + "trio": "too many non standard macros", + "trio.c": "too many non standard macros", + "trionan.c": "too many non standard macros", + "triostr.c": "too many non standard macros", + "acconfig.h": "generated portability layer", + "config.h": "generated portability layer", + "libxml.h": "internal only", + "testOOM.c": "out of memory tester", + "testOOMlib.h": "out of memory tester", + "testOOMlib.c": "out of memory tester", + "rngparser.c": "not yet integrated", + "rngparser.h": "not yet integrated", +} + +ignored_words = { + "WINAPI": (0, "Windows keyword"), + "LIBXML_DLL_IMPORT": (0, "Special macro to flag external keywords"), + "XMLPUBVAR": (0, "Special macro for extern vars for win32"), + "XSLTPUBVAR": (0, "Special macro for extern vars for win32"), + "EXSLTPUBVAR": (0, "Special macro for extern vars for win32"), + "XMLPUBFUN": (0, "Special macro for extern funcs for win32"), + "XSLTPUBFUN": (0, "Special macro for extern funcs for win32"), + "EXSLTPUBFUN": (0, "Special macro for extern funcs for win32"), + "XMLCALL": (0, "Special macro for win32 calls"), + "XSLTCALL": (0, "Special macro for win32 calls"), + "EXSLTCALL": (0, "Special macro for win32 calls"), + "__declspec": (3, "Windows keyword"), + "ATTRIBUTE_UNUSED": (0, "macro keyword"), + "LIBEXSLT_PUBLIC": (0, "macro keyword"), + "X_IN_Y": (5, "macro function builder"), +} + +def escape(raw): + raw = string.replace(raw, '&', '&') + raw = string.replace(raw, '<', '<') + raw = string.replace(raw, '>', '>') + raw = string.replace(raw, "'", ''') + raw = string.replace(raw, '"', '"') + return raw + +def uniq(items): + d = {} + for item in items: + d[item]=1 + return d.keys() + +class identifier: + def __init__(self, name, module=None, type=None, lineno = 0, + info=None, extra=None): + self.name = name + self.module = module + self.type = type + self.info = info + self.extra = extra + self.lineno = lineno + self.static = 0 + + def __repr__(self): + r = "%s %s:" % (self.type, self.name) + if self.static: + r = r + " static" + if self.module != None: + r = r + " from %s" % (self.module) + if self.info != None: + r = r + " " + `self.info` + if self.extra != None: + r = r + " " + `self.extra` + return r + + + def set_module(self, module): + self.module = module + def set_type(self, type): + self.type = type + def set_info(self, info): + self.info = info + def set_extra(self, extra): + self.extra = extra + def set_lineno(self, lineno): + self.lineno = lineno + def set_static(self, static): + self.static = static + + def get_name(self): + return self.name + def get_module(self): + return self.module + def get_type(self): + return self.type + def get_info(self): + return self.info + def get_lineno(self): + return self.lineno + def get_extra(self): + return self.extra + def get_static(self): + return self.static + + def update(self, module, type = None, info = None, extra=None): + if module != None and self.module == None: + self.set_module(module) + if type != None and self.type == None: + self.set_type(type) + if info != None: + self.set_info(info) + if extra != None: + self.set_extra(extra) + + +class index: + def __init__(self, name = "noname"): + self.name = name + self.identifiers = {} + self.functions = {} + self.variables = {} + self.includes = {} + self.structs = {} + self.enums = {} + self.typedefs = {} + self.macros = {} + self.references = {} + self.info = {} + + def add_ref(self, name, module, static, type, lineno, info=None, extra=None): + if name[0:2] == '__': + return None + d = None + try: + d = self.identifiers[name] + d.update(module, type, lineno, info, extra) + except: + d = identifier(name, module, type, lineno, info, extra) + self.identifiers[name] = d + + if d != None and static == 1: + d.set_static(1) + + if d != None and name != None and type != None: + self.references[name] = d + + def add(self, name, module, static, type, lineno, info=None, extra=None): + if name[0:2] == '__': + return None + d = None + try: + d = self.identifiers[name] + d.update(module, type, lineno, info, extra) + except: + d = identifier(name, module, type, lineno, info, extra) + self.identifiers[name] = d + + if d != None and static == 1: + d.set_static(1) + + if d != None and name != None and type != None: + if type == "function": + self.functions[name] = d + elif type == "functype": + self.functions[name] = d + elif type == "variable": + self.variables[name] = d + elif type == "include": + self.includes[name] = d + elif type == "struct": + self.structs[name] = d + elif type == "enum": + self.enums[name] = d + elif type == "typedef": + self.typedefs[name] = d + elif type == "macro": + self.macros[name] = d + else: + print "Unable to register type ", type + return d + + def merge(self, idx): + for id in idx.functions.keys(): + # + # macro might be used to override functions or variables + # definitions + # + if self.macros.has_key(id): + del self.macros[id] + if self.functions.has_key(id): + print "function %s from %s redeclared in %s" % ( + id, self.functions[id].module, idx.functions[id].module) + else: + self.functions[id] = idx.functions[id] + self.identifiers[id] = idx.functions[id] + for id in idx.variables.keys(): + # + # macro might be used to override functions or variables + # definitions + # + if self.macros.has_key(id): + del self.macros[id] + if self.variables.has_key(id): + print "variable %s from %s redeclared in %s" % ( + id, self.variables[id].module, idx.variables[id].module) + else: + self.variables[id] = idx.variables[id] + self.identifiers[id] = idx.variables[id] + for id in idx.structs.keys(): + if self.structs.has_key(id): + print "struct %s from %s redeclared in %s" % ( + id, self.structs[id].module, idx.structs[id].module) + else: + self.structs[id] = idx.structs[id] + self.identifiers[id] = idx.structs[id] + for id in idx.typedefs.keys(): + if self.typedefs.has_key(id): + print "typedef %s from %s redeclared in %s" % ( + id, self.typedefs[id].module, idx.typedefs[id].module) + else: + self.typedefs[id] = idx.typedefs[id] + self.identifiers[id] = idx.typedefs[id] + for id in idx.macros.keys(): + # + # macro might be used to override functions or variables + # definitions + # + if self.variables.has_key(id): + continue + if self.functions.has_key(id): + continue + if self.enums.has_key(id): + continue + if self.macros.has_key(id): + print "macro %s from %s redeclared in %s" % ( + id, self.macros[id].module, idx.macros[id].module) + else: + self.macros[id] = idx.macros[id] + self.identifiers[id] = idx.macros[id] + for id in idx.enums.keys(): + if self.enums.has_key(id): + print "enum %s from %s redeclared in %s" % ( + id, self.enums[id].module, idx.enums[id].module) + else: + self.enums[id] = idx.enums[id] + self.identifiers[id] = idx.enums[id] + + def merge_public(self, idx): + for id in idx.functions.keys(): + if self.functions.has_key(id): + up = idx.functions[id] + self.functions[id].update(None, up.type, up.info, up.extra) + # else: + # print "Function %s from %s is not declared in headers" % ( + # id, idx.functions[id].module) + # TODO: do the same for variables. + + def analyze_dict(self, type, dict): + count = 0 + public = 0 + for name in dict.keys(): + id = dict[name] + count = count + 1 + if id.static == 0: + public = public + 1 + if count != public: + print " %d %s , %d public" % (count, type, public) + elif count != 0: + print " %d public %s" % (count, type) + + + def analyze(self): + self.analyze_dict("functions", self.functions) + self.analyze_dict("variables", self.variables) + self.analyze_dict("structs", self.structs) + self.analyze_dict("typedefs", self.typedefs) + self.analyze_dict("macros", self.macros) + +class CLexer: + """A lexer for the C language, tokenize the input by reading and + analyzing it line by line""" + def __init__(self, input): + self.input = input + self.tokens = [] + self.line = "" + self.lineno = 0 + + def getline(self): + line = '' + while line == '': + line = self.input.readline() + if not line: + return None + self.lineno = self.lineno + 1 + line = string.lstrip(line) + line = string.rstrip(line) + if line == '': + continue + while line[-1] == '\\': + line = line[:-1] + n = self.input.readline() + self.lineno = self.lineno + 1 + n = string.lstrip(n) + n = string.rstrip(n) + if not n: + break + else: + line = line + n + return line + + def getlineno(self): + return self.lineno + + def push(self, token): + self.tokens.insert(0, token); + + def debug(self): + print "Last token: ", self.last + print "Token queue: ", self.tokens + print "Line %d end: " % (self.lineno), self.line + + def token(self): + while self.tokens == []: + if self.line == "": + line = self.getline() + else: + line = self.line + self.line = "" + if line == None: + return None + + if line[0] == '#': + self.tokens = map((lambda x: ('preproc', x)), + string.split(line)) + break; + l = len(line) + if line[0] == '"' or line[0] == "'": + end = line[0] + line = line[1:] + found = 0 + tok = "" + while found == 0: + i = 0 + l = len(line) + while i < l: + if line[i] == end: + self.line = line[i+1:] + line = line[:i] + l = i + found = 1 + break + if line[i] == '\\': + i = i + 1 + i = i + 1 + tok = tok + line + if found == 0: + line = self.getline() + if line == None: + return None + self.last = ('string', tok) + return self.last + + if l >= 2 and line[0] == '/' and line[1] == '*': + line = line[2:] + found = 0 + tok = "" + while found == 0: + i = 0 + l = len(line) + while i < l: + if line[i] == '*' and i+1 < l and line[i+1] == '/': + self.line = line[i+2:] + line = line[:i-1] + l = i + found = 1 + break + i = i + 1 + if tok != "": + tok = tok + "\n" + tok = tok + line + if found == 0: + line = self.getline() + if line == None: + return None + self.last = ('comment', tok) + return self.last + if l >= 2 and line[0] == '/' and line[1] == '/': + line = line[2:] + self.last = ('comment', line) + return self.last + i = 0 + while i < l: + if line[i] == '/' and i+1 < l and line[i+1] == '/': + self.line = line[i:] + line = line[:i] + break + if line[i] == '/' and i+1 < l and line[i+1] == '*': + self.line = line[i:] + line = line[:i] + break + if line[i] == '"' or line[i] == "'": + self.line = line[i:] + line = line[:i] + break + i = i + 1 + l = len(line) + i = 0 + while i < l: + if line[i] == ' ' or line[i] == '\t': + i = i + 1 + continue + o = ord(line[i]) + if (o >= 97 and o <= 122) or (o >= 65 and o <= 90) or \ + (o >= 48 and o <= 57): + s = i + while i < l: + o = ord(line[i]) + if (o >= 97 and o <= 122) or (o >= 65 and o <= 90) or \ + (o >= 48 and o <= 57) or string.find( + " \t(){}:;,+-*/%&!|[]=><", line[i]) == -1: + i = i + 1 + else: + break + self.tokens.append(('name', line[s:i])) + continue + if string.find("(){}:;,[]", line[i]) != -1: +# if line[i] == '(' or line[i] == ')' or line[i] == '{' or \ +# line[i] == '}' or line[i] == ':' or line[i] == ';' or \ +# line[i] == ',' or line[i] == '[' or line[i] == ']': + self.tokens.append(('sep', line[i])) + i = i + 1 + continue + if string.find("+-*><=/%&!|.", line[i]) != -1: +# if line[i] == '+' or line[i] == '-' or line[i] == '*' or \ +# line[i] == '>' or line[i] == '<' or line[i] == '=' or \ +# line[i] == '/' or line[i] == '%' or line[i] == '&' or \ +# line[i] == '!' or line[i] == '|' or line[i] == '.': + if line[i] == '.' and i + 2 < l and \ + line[i+1] == '.' and line[i+2] == '.': + self.tokens.append(('name', '...')) + i = i + 3 + continue + + j = i + 1 + if j < l and ( + string.find("+-*><=/%&!|", line[j]) != -1): +# line[j] == '+' or line[j] == '-' or line[j] == '*' or \ +# line[j] == '>' or line[j] == '<' or line[j] == '=' or \ +# line[j] == '/' or line[j] == '%' or line[j] == '&' or \ +# line[j] == '!' or line[j] == '|'): + self.tokens.append(('op', line[i:j+1])) + i = j + 1 + else: + self.tokens.append(('op', line[i])) + i = i + 1 + continue + s = i + while i < l: + o = ord(line[i]) + if (o >= 97 and o <= 122) or (o >= 65 and o <= 90) or \ + (o >= 48 and o <= 57) or ( + string.find(" \t(){}:;,+-*/%&!|[]=><", line[i]) == -1): +# line[i] != ' ' and line[i] != '\t' and +# line[i] != '(' and line[i] != ')' and +# line[i] != '{' and line[i] != '}' and +# line[i] != ':' and line[i] != ';' and +# line[i] != ',' and line[i] != '+' and +# line[i] != '-' and line[i] != '*' and +# line[i] != '/' and line[i] != '%' and +# line[i] != '&' and line[i] != '!' and +# line[i] != '|' and line[i] != '[' and +# line[i] != ']' and line[i] != '=' and +# line[i] != '*' and line[i] != '>' and +# line[i] != '<'): + i = i + 1 + else: + break + self.tokens.append(('name', line[s:i])) + + tok = self.tokens[0] + self.tokens = self.tokens[1:] + self.last = tok + return tok + +class CParser: + """The C module parser""" + def __init__(self, filename, idx = None): + self.filename = filename + if len(filename) > 2 and filename[-2:] == '.h': + self.is_header = 1 + else: + self.is_header = 0 + self.input = open(filename) + self.lexer = CLexer(self.input) + if idx == None: + self.index = index() + else: + self.index = idx + self.top_comment = "" + self.last_comment = "" + self.comment = None + self.collect_ref = 0 + self.no_error = 0 + + def collect_references(self): + self.collect_ref = 1 + + def stop_error(self): + self.no_error = 1 + + def start_error(self): + self.no_error = 0 + + def lineno(self): + return self.lexer.getlineno() + + def index_add(self, name, module, static, type, info=None, extra = None): + self.index.add(name, module, static, type, self.lineno(), + info, extra) + + def index_add_ref(self, name, module, static, type, info=None, + extra = None): + self.index.add_ref(name, module, static, type, self.lineno(), + info, extra) + + def warning(self, msg): + if self.no_error: + return + print msg + + def error(self, msg, token=-1): + if self.no_error: + return + + print "Parse Error: " + msg + if token != -1: + print "Got token ", token + self.lexer.debug() + sys.exit(1) + + def debug(self, msg, token=-1): + print "Debug: " + msg + if token != -1: + print "Got token ", token + self.lexer.debug() + + def parseTopComment(self, comment): + res = {} + lines = string.split(comment, "\n") + item = None + for line in lines: + while line != "" and (line[0] == ' ' or line[0] == '\t'): + line = line[1:] + while line != "" and line[0] == '*': + line = line[1:] + while line != "" and (line[0] == ' ' or line[0] == '\t'): + line = line[1:] + try: + (it, line) = string.split(line, ":", 1) + item = it + while line != "" and (line[0] == ' ' or line[0] == '\t'): + line = line[1:] + if res.has_key(item): + res[item] = res[item] + " " + line + else: + res[item] = line + except: + if item != None: + if res.has_key(item): + res[item] = res[item] + " " + line + else: + res[item] = line + self.index.info = res + + def parseComment(self, token): + if self.top_comment == "": + self.top_comment = token[1] + if self.comment == None or token[1][0] == '*': + self.comment = token[1]; + else: + self.comment = self.comment + token[1] + token = self.lexer.token() + + if string.find(self.comment, "DOC_DISABLE") != -1: + self.stop_error() + + if string.find(self.comment, "DOC_ENABLE") != -1: + self.start_error() + + return token + + # + # Parse a comment block associate to a macro + # + def parseMacroComment(self, name, quiet = 0): + if name[0:2] == '__': + quiet = 1 + + args = [] + desc = "" + + if self.comment == None: + if not quiet: + self.warning("Missing comment for macro %s" % (name)) + return((args, desc)) + if self.comment[0] != '*': + if not quiet: + self.warning("Missing * in macro comment for %s" % (name)) + return((args, desc)) + lines = string.split(self.comment, '\n') + if lines[0] == '*': + del lines[0] + if lines[0] != "* %s:" % (name): + if not quiet: + self.warning("Misformatted macro comment for %s" % (name)) + self.warning(" Expecting '* %s:' got '%s'" % (name, lines[0])) + return((args, desc)) + del lines[0] + while lines[0] == '*': + del lines[0] + while len(lines) > 0 and lines[0][0:3] == '* @': + l = lines[0][3:] + try: + (arg, desc) = string.split(l, ':', 1) + desc=string.strip(desc) + arg=string.strip(arg) + except: + if not quiet: + self.warning("Misformatted macro comment for %s" % (name)) + self.warning(" problem with '%s'" % (lines[0])) + del lines[0] + continue + del lines[0] + l = string.strip(lines[0]) + while len(l) > 2 and l[0:3] != '* @': + while l[0] == '*': + l = l[1:] + desc = desc + ' ' + string.strip(l) + del lines[0] + if len(lines) == 0: + break + l = lines[0] + args.append((arg, desc)) + while len(lines) > 0 and lines[0] == '*': + del lines[0] + desc = "" + while len(lines) > 0: + l = lines[0] + while len(l) > 0 and l[0] == '*': + l = l[1:] + l = string.strip(l) + desc = desc + " " + l + del lines[0] + + desc = string.strip(desc) + + if quiet == 0: + if desc == "": + self.warning("Macro comment for %s lack description of the macro" % (name)) + + return((args, desc)) + + # + # Parse a comment block and merge the informations found in the + # parameters descriptions, finally returns a block as complete + # as possible + # + def mergeFunctionComment(self, name, description, quiet = 0): + if name == 'main': + quiet = 1 + if name[0:2] == '__': + quiet = 1 + + (ret, args) = description + desc = "" + retdesc = "" + + if self.comment == None: + if not quiet: + self.warning("Missing comment for function %s" % (name)) + return(((ret[0], retdesc), args, desc)) + if self.comment[0] != '*': + if not quiet: + self.warning("Missing * in function comment for %s" % (name)) + return(((ret[0], retdesc), args, desc)) + lines = string.split(self.comment, '\n') + if lines[0] == '*': + del lines[0] + if lines[0] != "* %s:" % (name): + if not quiet: + self.warning("Misformatted function comment for %s" % (name)) + self.warning(" Expecting '* %s:' got '%s'" % (name, lines[0])) + return(((ret[0], retdesc), args, desc)) + del lines[0] + while lines[0] == '*': + del lines[0] + nbargs = len(args) + while len(lines) > 0 and lines[0][0:3] == '* @': + l = lines[0][3:] + try: + (arg, desc) = string.split(l, ':', 1) + desc=string.strip(desc) + arg=string.strip(arg) + except: + if not quiet: + self.warning("Misformatted function comment for %s" % (name)) + self.warning(" problem with '%s'" % (lines[0])) + del lines[0] + continue + del lines[0] + l = string.strip(lines[0]) + while len(l) > 2 and l[0:3] != '* @': + while l[0] == '*': + l = l[1:] + desc = desc + ' ' + string.strip(l) + del lines[0] + if len(lines) == 0: + break + l = lines[0] + i = 0 + while i < nbargs: + if args[i][1] == arg: + args[i] = (args[i][0], arg, desc) + break; + i = i + 1 + if i >= nbargs: + if not quiet: + self.warning("Unable to find arg %s from function comment for %s" % ( + arg, name)) + while len(lines) > 0 and lines[0] == '*': + del lines[0] + desc = "" + while len(lines) > 0: + l = lines[0] + while len(l) > 0 and l[0] == '*': + l = l[1:] + l = string.strip(l) + if len(l) >= 6 and l[0:6] == "return" or l[0:6] == "Return": + try: + l = string.split(l, ' ', 1)[1] + except: + l = "" + retdesc = string.strip(l) + del lines[0] + while len(lines) > 0: + l = lines[0] + while len(l) > 0 and l[0] == '*': + l = l[1:] + l = string.strip(l) + retdesc = retdesc + " " + l + del lines[0] + else: + desc = desc + " " + l + del lines[0] + + retdesc = string.strip(retdesc) + desc = string.strip(desc) + + if quiet == 0: + # + # report missing comments + # + i = 0 + while i < nbargs: + if args[i][2] == None and args[i][0] != "void" and args[i][1] != None: + self.warning("Function comment for %s lack description of arg %s" % (name, args[i][1])) + i = i + 1 + if retdesc == "" and ret[0] != "void": + self.warning("Function comment for %s lack description of return value" % (name)) + if desc == "": + self.warning("Function comment for %s lack description of the function" % (name)) + + + return(((ret[0], retdesc), args, desc)) + + def parsePreproc(self, token): + name = token[1] + if name == "#include": + token = self.lexer.token() + if token == None: + return None + if token[0] == 'preproc': + self.index_add(token[1], self.filename, not self.is_header, + "include") + return self.lexer.token() + return token + if name == "#define": + token = self.lexer.token() + if token == None: + return None + if token[0] == 'preproc': + # TODO macros with arguments + name = token[1] + lst = [] + token = self.lexer.token() + while token != None and token[0] == 'preproc' and \ + token[1][0] != '#': + lst.append(token[1]) + token = self.lexer.token() + try: + name = string.split(name, '(') [0] + except: + pass + info = self.parseMacroComment(name, not self.is_header) + self.index_add(name, self.filename, not self.is_header, + "macro", info) + return token + token = self.lexer.token() + while token != None and token[0] == 'preproc' and \ + token[1][0] != '#': + token = self.lexer.token() + return token + + # + # token acquisition on top of the lexer, it handle internally + # preprocessor and comments since they are logically not part of + # the program structure. + # + def token(self): + global ignored_words + + token = self.lexer.token() + while token != None: + if token[0] == 'comment': + token = self.parseComment(token) + continue + elif token[0] == 'preproc': + token = self.parsePreproc(token) + continue + elif token[0] == "name" and ignored_words.has_key(token[1]): + (n, info) = ignored_words[token[1]] + i = 0 + while i < n: + token = self.lexer.token() + i = i + 1 + token = self.lexer.token() + continue + else: + if debug: + print "=> ", token + return token + return None + + # + # Parse a typedef, it records the type and its name. + # + def parseTypedef(self, token): + if token == None: + return None + token = self.parseType(token) + if token == None: + self.error("parsing typedef") + return None + base_type = self.type + type = base_type + #self.debug("end typedef type", token) + while token != None: + if token[0] == "name": + name = token[1] + signature = self.signature + if signature != None: + type = string.split(type, '(')[0] + d = self.mergeFunctionComment(name, + ((type, None), signature), 1) + self.index_add(name, self.filename, not self.is_header, + "functype", d) + else: + if base_type == "struct": + self.index_add(name, self.filename, not self.is_header, + "struct", type) + base_type = "struct " + name + else: + self.index_add(name, self.filename, not self.is_header, + "typedef", type) + token = self.token() + else: + self.error("parsing typedef: expecting a name") + return token + #self.debug("end typedef", token) + if token != None and token[0] == 'sep' and token[1] == ',': + type = base_type + token = self.token() + while token != None and token[0] == "op": + type = type + token[1] + token = self.token() + elif token != None and token[0] == 'sep' and token[1] == ';': + break; + elif token != None and token[0] == 'name': + type = base_type + continue; + else: + self.error("parsing typedef: expecting ';'", token) + return token + token = self.token() + return token + + # + # Parse a C code block, used for functions it parse till + # the balancing } included + # + def parseBlock(self, token): + while token != None: + if token[0] == "sep" and token[1] == "{": + token = self.token() + token = self.parseBlock(token) + elif token[0] == "sep" and token[1] == "}": + self.comment = None + token = self.token() + return token + else: + if self.collect_ref == 1: + oldtok = token + token = self.token() + if oldtok[0] == "name" and oldtok[1][0:3] == "xml": + if token[0] == "sep" and token[1] == "(": + self.index_add_ref(oldtok[1], self.filename, + 0, "function") + token = self.token() + elif token[0] == "name": + token = self.token() + if token[0] == "sep" and (token[1] == ";" or + token[1] == "," or token[1] == "="): + self.index_add_ref(oldtok[1], self.filename, + 0, "type") + elif oldtok[0] == "name" and oldtok[1][0:4] == "XML_": + self.index_add_ref(oldtok[1], self.filename, + 0, "typedef") + elif oldtok[0] == "name" and oldtok[1][0:7] == "LIBXML_": + self.index_add_ref(oldtok[1], self.filename, + 0, "typedef") + + else: + token = self.token() + return token + + # + # Parse a C struct definition till the balancing } + # + def parseStruct(self, token): + fields = [] + #self.debug("start parseStruct", token) + while token != None: + if token[0] == "sep" and token[1] == "{": + token = self.token() + token = self.parseTypeBlock(token) + elif token[0] == "sep" and token[1] == "}": + self.struct_fields = fields + #self.debug("end parseStruct", token) + #print fields + token = self.token() + return token + else: + base_type = self.type + #self.debug("before parseType", token) + token = self.parseType(token) + #self.debug("after parseType", token) + if token != None and token[0] == "name": + fname = token[1] + token = self.token() + if token[0] == "sep" and token[1] == ";": + self.comment = None + token = self.token() + fields.append((self.type, fname, self.comment)) + self.comment = None + else: + self.error("parseStruct: expecting ;", token) + elif token != None and token[0] == "sep" and token[1] == "{": + token = self.token() + token = self.parseTypeBlock(token) + if token != None and token[0] == "name": + token = self.token() + if token != None and token[0] == "sep" and token[1] == ";": + token = self.token() + else: + self.error("parseStruct: expecting ;", token) + else: + self.error("parseStruct: name", token) + token = self.token() + self.type = base_type; + self.struct_fields = fields + #self.debug("end parseStruct", token) + #print fields + return token + + # + # Parse a C enum block, parse till the balancing } + # + def parseEnumBlock(self, token): + self.enums = [] + name = None + self.comment = None + comment = "" + value = "0" + while token != None: + if token[0] == "sep" and token[1] == "{": + token = self.token() + token = self.parseTypeBlock(token) + elif token[0] == "sep" and token[1] == "}": + if name != None: + if self.comment != None: + comment = self.comment + self.comment = None + self.enums.append((name, value, comment)) + token = self.token() + return token + elif token[0] == "name": + if name != None: + if self.comment != None: + comment = string.strip(self.comment) + self.comment = None + self.enums.append((name, value, comment)) + name = token[1] + comment = "" + token = self.token() + if token[0] == "op" and token[1][0] == "=": + value = "" + if len(token[1]) > 1: + value = token[1][1:] + token = self.token() + while token[0] != "sep" or (token[1] != ',' and + token[1] != '}'): + value = value + token[1] + token = self.token() + else: + try: + value = "%d" % (int(value) + 1) + except: + self.warning("Failed to compute value of enum %s" % (name)) + value="" + if token[0] == "sep" and token[1] == ",": + token = self.token() + else: + token = self.token() + return token + + # + # Parse a C definition block, used for structs it parse till + # the balancing } + # + def parseTypeBlock(self, token): + while token != None: + if token[0] == "sep" and token[1] == "{": + token = self.token() + token = self.parseTypeBlock(token) + elif token[0] == "sep" and token[1] == "}": + token = self.token() + return token + else: + token = self.token() + return token + + # + # Parse a type: the fact that the type name can either occur after + # the definition or within the definition makes it a little harder + # if inside, the name token is pushed back before returning + # + def parseType(self, token): + self.type = "" + self.struct_fields = [] + self.signature = None + if token == None: + return token + + while token[0] == "name" and ( + token[1] == "const" or token[1] == "unsigned"): + if self.type == "": + self.type = token[1] + else: + self.type = self.type + " " + token[1] + token = self.token() + + if token[0] == "name" and (token[1] == "long" or token[1] == "short"): + if self.type == "": + self.type = token[1] + else: + self.type = self.type + " " + token[1] + if token[0] == "name" and token[1] == "int": + if self.type == "": + self.type = tmp[1] + else: + self.type = self.type + " " + tmp[1] + + elif token[0] == "name" and token[1] == "struct": + if self.type == "": + self.type = token[1] + else: + self.type = self.type + " " + token[1] + token = self.token() + nametok = None + if token[0] == "name": + nametok = token + token = self.token() + if token != None and token[0] == "sep" and token[1] == "{": + token = self.token() + token = self.parseStruct(token) + elif token != None and token[0] == "op" and token[1] == "*": + self.type = self.type + " " + nametok[1] + " *" + token = self.token() + while token != None and token[0] == "op" and token[1] == "*": + self.type = self.type + " *" + token = self.token() + if token[0] == "name": + nametok = token + token = self.token() + else: + self.error("struct : expecting name", token) + return token + elif token != None and token[0] == "name" and nametok != None: + self.type = self.type + " " + nametok[1] + return token + + if nametok != None: + self.lexer.push(token) + token = nametok + return token + + elif token[0] == "name" and token[1] == "enum": + if self.type == "": + self.type = token[1] + else: + self.type = self.type + " " + token[1] + self.enums = [] + token = self.token() + if token != None and token[0] == "sep" and token[1] == "{": + token = self.token() + token = self.parseEnumBlock(token) + else: + self.error("parsing enum: expecting '{'", token) + enum_type = None + if token != None and token[0] != "name": + self.lexer.push(token) + token = ("name", "enum") + else: + enum_type = token[1] + for enum in self.enums: + self.index_add(enum[0], self.filename, + not self.is_header, "enum", + (enum[1], enum[2], enum_type)) + return token + + elif token[0] == "name": + if self.type == "": + self.type = token[1] + else: + self.type = self.type + " " + token[1] + else: + self.error("parsing type %s: expecting a name" % (self.type), + token) + return token + token = self.token() + while token != None and (token[0] == "op" or + token[0] == "name" and token[1] == "const"): + self.type = self.type + " " + token[1] + token = self.token() + + # + # if there is a parenthesis here, this means a function type + # + if token != None and token[0] == "sep" and token[1] == '(': + self.type = self.type + token[1] + token = self.token() + while token != None and token[0] == "op" and token[1] == '*': + self.type = self.type + token[1] + token = self.token() + if token == None or token[0] != "name" : + self.error("parsing function type, name expected", token); + return token + self.type = self.type + token[1] + nametok = token + token = self.token() + if token != None and token[0] == "sep" and token[1] == ')': + self.type = self.type + token[1] + token = self.token() + if token != None and token[0] == "sep" and token[1] == '(': + token = self.token() + type = self.type; + token = self.parseSignature(token); + self.type = type; + else: + self.error("parsing function type, '(' expected", token); + return token + else: + self.error("parsing function type, ')' expected", token); + return token + self.lexer.push(token) + token = nametok + return token + + # + # do some lookahead for arrays + # + if token != None and token[0] == "name": + nametok = token + token = self.token() + if token != None and token[0] == "sep" and token[1] == '[': + self.type = self.type + nametok[1] + while token != None and token[0] == "sep" and token[1] == '[': + self.type = self.type + token[1] + token = self.token() + while token != None and token[0] != 'sep' and \ + token[1] != ']' and token[1] != ';': + self.type = self.type + token[1] + token = self.token() + if token != None and token[0] == 'sep' and token[1] == ']': + self.type = self.type + token[1] + token = self.token() + else: + self.error("parsing array type, ']' expected", token); + return token + elif token != None and token[0] == "sep" and token[1] == ':': + # remove :12 in case it's a limited int size + token = self.token() + token = self.token() + self.lexer.push(token) + token = nametok + + return token + + # + # Parse a signature: '(' has been parsed and we scan the type definition + # up to the ')' included + def parseSignature(self, token): + signature = [] + if token != None and token[0] == "sep" and token[1] == ')': + self.signature = [] + token = self.token() + return token + while token != None: + token = self.parseType(token) + if token != None and token[0] == "name": + signature.append((self.type, token[1], None)) + token = self.token() + elif token != None and token[0] == "sep" and token[1] == ',': + token = self.token() + continue + elif token != None and token[0] == "sep" and token[1] == ')': + # only the type was provided + if self.type == "...": + signature.append((self.type, "...", None)) + else: + signature.append((self.type, None, None)) + if token != None and token[0] == "sep": + if token[1] == ',': + token = self.token() + continue + elif token[1] == ')': + token = self.token() + break + self.signature = signature + return token + + # + # Parse a global definition, be it a type, variable or function + # the extern "C" blocks are a bit nasty and require it to recurse. + # + def parseGlobal(self, token): + static = 0 + if token[1] == 'extern': + token = self.token() + if token == None: + return token + if token[0] == 'string': + if token[1] == 'C': + token = self.token() + if token == None: + return token + if token[0] == 'sep' and token[1] == "{": + token = self.token() +# print 'Entering extern "C line ', self.lineno() + while token != None and (token[0] != 'sep' or + token[1] != "}"): + if token[0] == 'name': + token = self.parseGlobal(token) + else: + self.error( + "token %s %s unexpected at the top level" % ( + token[0], token[1])) + token = self.parseGlobal(token) +# print 'Exiting extern "C" line', self.lineno() + token = self.token() + return token + else: + return token + elif token[1] == 'static': + static = 1 + token = self.token() + if token == None or token[0] != 'name': + return token + + if token[1] == 'typedef': + token = self.token() + return self.parseTypedef(token) + else: + token = self.parseType(token) + type_orig = self.type + if token == None or token[0] != "name": + return token + type = type_orig + self.name = token[1] + token = self.token() + while token != None and (token[0] == "sep" or token[0] == "op"): + if token[0] == "sep": + if token[1] == "[": + type = type + token[1] + token = self.token() + while token != None and (token[0] != "sep" or \ + token[1] != ";"): + type = type + token[1] + token = self.token() + + if token != None and token[0] == "op" and token[1] == "=": + # + # Skip the initialization of the variable + # + token = self.token() + if token[0] == 'sep' and token[1] == '{': + token = self.token() + token = self.parseBlock(token) + else: + self.comment = None + while token != None and (token[0] != "sep" or \ + (token[1] != ';' and token[1] != ',')): + token = self.token() + self.comment = None + if token == None or token[0] != "sep" or (token[1] != ';' and + token[1] != ','): + self.error("missing ';' or ',' after value") + + if token != None and token[0] == "sep": + if token[1] == ";": + self.comment = None + token = self.token() + if type == "struct": + self.index_add(self.name, self.filename, + not self.is_header, "struct", self.struct_fields) + else: + self.index_add(self.name, self.filename, + not self.is_header, "variable", type) + break + elif token[1] == "(": + token = self.token() + token = self.parseSignature(token) + if token == None: + return None + if token[0] == "sep" and token[1] == ";": + d = self.mergeFunctionComment(self.name, + ((type, None), self.signature), 1) + self.index_add(self.name, self.filename, static, + "function", d) + token = self.token() + elif token[0] == "sep" and token[1] == "{": + d = self.mergeFunctionComment(self.name, + ((type, None), self.signature), static) + self.index_add(self.name, self.filename, static, + "function", d) + token = self.token() + token = self.parseBlock(token); + elif token[1] == ',': + self.comment = None + self.index_add(self.name, self.filename, static, + "variable", type) + type = type_orig + token = self.token() + while token != None and token[0] == "sep": + type = type + token[1] + token = self.token() + if token != None and token[0] == "name": + self.name = token[1] + token = self.token() + else: + break + + return token + + def parse(self): + self.warning("Parsing %s" % (self.filename)) + token = self.token() + while token != None: + if token[0] == 'name': + token = self.parseGlobal(token) + else: + self.error("token %s %s unexpected at the top level" % ( + token[0], token[1])) + token = self.parseGlobal(token) + return + self.parseTopComment(self.top_comment) + return self.index + + +class docBuilder: + """A documentation builder""" + def __init__(self, name, directories=['.'], excludes=[]): + self.name = name + self.directories = directories + self.excludes = excludes + ignored_files.keys() + self.modules = {} + self.headers = {} + self.idx = index() + self.xref = {} + self.index = {} + if name == 'libxml2': + self.basename = 'libxml' + else: + self.basename = name + + def indexString(self, id, str): + if str == None: + return + str = string.replace(str, "'", ' ') + str = string.replace(str, '"', ' ') + str = string.replace(str, "/", ' ') + str = string.replace(str, '*', ' ') + str = string.replace(str, "[", ' ') + str = string.replace(str, "]", ' ') + str = string.replace(str, "(", ' ') + str = string.replace(str, ")", ' ') + str = string.replace(str, "<", ' ') + str = string.replace(str, '>', ' ') + str = string.replace(str, "&", ' ') + str = string.replace(str, '#', ' ') + str = string.replace(str, ",", ' ') + str = string.replace(str, '.', ' ') + str = string.replace(str, ';', ' ') + tokens = string.split(str) + for token in tokens: + try: + c = token[0] + if string.find(string.letters, c) < 0: + pass + elif len(token) < 3: + pass + else: + lower = string.lower(token) + # TODO: generalize this a bit + if lower == 'and' or lower == 'the': + pass + elif self.xref.has_key(token): + self.xref[token].append(id) + else: + self.xref[token] = [id] + except: + pass + + def analyze(self): + print "Project %s : %d headers, %d modules" % (self.name, len(self.headers.keys()), len(self.modules.keys())) + self.idx.analyze() + + def scanHeaders(self): + for header in self.headers.keys(): + parser = CParser(header) + idx = parser.parse() + self.headers[header] = idx; + self.idx.merge(idx) + + def scanModules(self): + for module in self.modules.keys(): + parser = CParser(module) + idx = parser.parse() + # idx.analyze() + self.modules[module] = idx + self.idx.merge_public(idx) + + def scan(self): + for directory in self.directories: + files = glob.glob(directory + "/*.c") + for file in files: + skip = 0 + for excl in self.excludes: + if string.find(file, excl) != -1: + skip = 1; + break + if skip == 0: + self.modules[file] = None; + files = glob.glob(directory + "/*.h") + for file in files: + skip = 0 + for excl in self.excludes: + if string.find(file, excl) != -1: + skip = 1; + break + if skip == 0: + self.headers[file] = None; + self.scanHeaders() + self.scanModules() + + def modulename_file(self, file): + module = os.path.basename(file) + if module[-2:] == '.h': + module = module[:-2] + return module + + def serialize_enum(self, output, name): + id = self.idx.enums[name] + output.write(" \n") + + def serialize_macro(self, output, name): + id = self.idx.macros[name] + output.write(" \n" % (name, + self.modulename_file(id.module))) + if id.info != None: + try: + (args, desc) = id.info + if desc != None and desc != "": + output.write(" %s\n" % (escape(desc))) + self.indexString(name, desc) + for arg in args: + (name, desc) = arg + if desc != None and desc != "": + output.write(" \n" % ( + name, escape(desc))) + self.indexString(name, desc) + else: + output.write(" \n" % (name)) + except: + pass + output.write(" \n") + + def serialize_typedef(self, output, name): + id = self.idx.typedefs[name] + if id.info[0:7] == 'struct ': + output.write(" \n"); + try: + for field in self.idx.structs[name].info: + desc = field[2] + self.indexString(name, desc) + if desc == None: + desc = '' + else: + desc = escape(desc) + output.write(" \n" % (field[1] , field[0], desc)) + except: + print "Failed to serialize struct %s" % (name) + output.write(" \n") + else: + output.write("/>\n"); + else : + output.write(" \n" % ( + name, self.modulename_file(id.module), id.info)) + + def serialize_variable(self, output, name): + id = self.idx.variables[name] + if id.info != None: + output.write(" \n" % ( + name, self.modulename_file(id.module), id.info)) + else: + output.write(" \n" % ( + name, self.modulename_file(id.module))) + + def serialize_function(self, output, name): + id = self.idx.functions[name] + output.write(" <%s name='%s' file='%s'>\n" % (id.type, name, + self.modulename_file(id.module))) + try: + (ret, params, desc) = id.info + output.write(" %s\n" % (escape(desc))) + self.indexString(name, desc) + if ret[0] != None: + if ret[0] == "void": + output.write(" \n") + else: + output.write(" \n" % ( + ret[0], escape(ret[1]))) + self.indexString(name, ret[1]) + for param in params: + if param[0] == 'void': + continue + if param[2] == None: + output.write(" \n" % (param[1], param[0])) + else: + output.write(" \n" % (param[1], param[0], escape(param[2]))) + self.indexString(name, param[2]) + except: + print "Failed to save function %s info: " % name, `id.info` + output.write(" \n" % (id.type)) + + def serialize_exports(self, output, file): + module = self.modulename_file(file) + output.write(" \n" % (module)) + dict = self.headers[file] + if dict.info != None: + for data in ('Summary', 'Description', 'Author'): + try: + output.write(" <%s>%s\n" % ( + string.lower(data), + escape(dict.info[data]), + string.lower(data))) + except: + print "Header %s lacks a %s description" % (module, data) + if dict.info.has_key('Description'): + desc = dict.info['Description'] + if string.find(desc, "DEPRECATED") != -1: + output.write(" \n") + + ids = dict.macros.keys() + ids.sort() + for id in uniq(ids): + # Macros are sometime used to masquerade other types. + if dict.functions.has_key(id): + continue + if dict.variables.has_key(id): + continue + if dict.typedefs.has_key(id): + continue + if dict.structs.has_key(id): + continue + if dict.enums.has_key(id): + continue + output.write(" \n" % (id)) + ids = dict.enums.keys() + ids.sort() + for id in uniq(ids): + output.write(" \n" % (id)) + ids = dict.typedefs.keys() + ids.sort() + for id in uniq(ids): + output.write(" \n" % (id)) + ids = dict.structs.keys() + ids.sort() + for id in uniq(ids): + output.write(" \n" % (id)) + ids = dict.variables.keys() + ids.sort() + for id in uniq(ids): + output.write(" \n" % (id)) + ids = dict.functions.keys() + ids.sort() + for id in uniq(ids): + output.write(" \n" % (id)) + output.write(" \n") + + def serialize_xrefs_files(self, output): + headers = self.headers.keys() + headers.sort() + for file in headers: + module = self.modulename_file(file) + output.write(" \n" % (module)) + dict = self.headers[file] + ids = uniq(dict.functions.keys() + dict.variables.keys() + \ + dict.macros.keys() + dict.typedefs.keys() + \ + dict.structs.keys() + dict.enums.keys()) + ids.sort() + for id in ids: + output.write(" \n" % (id)) + output.write(" \n") + pass + + def serialize_xrefs_functions(self, output): + funcs = {} + for name in self.idx.functions.keys(): + id = self.idx.functions[name] + try: + (ret, params, desc) = id.info + for param in params: + if param[0] == 'void': + continue + if funcs.has_key(param[0]): + funcs[param[0]].append(name) + else: + funcs[param[0]] = [name] + except: + pass + typ = funcs.keys() + typ.sort() + for type in typ: + if type == '' or type == 'void' or type == "int" or \ + type == "char *" or type == "const char *" : + continue + output.write(" \n" % (type)) + ids = funcs[type] + ids.sort() + pid = '' # not sure why we have dups, but get rid of them! + for id in ids: + if id != pid: + output.write(" \n" % (id)) + pid = id + output.write(" \n") + + def serialize_xrefs_constructors(self, output): + funcs = {} + for name in self.idx.functions.keys(): + id = self.idx.functions[name] + try: + (ret, params, desc) = id.info + if ret[0] == "void": + continue + if funcs.has_key(ret[0]): + funcs[ret[0]].append(name) + else: + funcs[ret[0]] = [name] + except: + pass + typ = funcs.keys() + typ.sort() + for type in typ: + if type == '' or type == 'void' or type == "int" or \ + type == "char *" or type == "const char *" : + continue + output.write(" \n" % (type)) + ids = funcs[type] + ids.sort() + for id in ids: + output.write(" \n" % (id)) + output.write(" \n") + + def serialize_xrefs_alpha(self, output): + letter = None + ids = self.idx.identifiers.keys() + ids.sort() + for id in ids: + if id[0] != letter: + if letter != None: + output.write(" \n") + letter = id[0] + output.write(" \n" % (letter)) + output.write(" \n" % (id)) + if letter != None: + output.write(" \n") + + def serialize_xrefs_references(self, output): + typ = self.idx.identifiers.keys() + typ.sort() + for id in typ: + idf = self.idx.identifiers[id] + module = idf.module + output.write(" \n" % (id, + 'html/' + self.basename + '-' + + self.modulename_file(module) + '.html#' + + id)) + + def serialize_xrefs_index(self, output): + index = self.xref + typ = index.keys() + typ.sort() + letter = None + count = 0 + chunk = 0 + chunks = [] + for id in typ: + if len(index[id]) > 30: + continue + if id[0] != letter: + if letter == None or count > 200: + if letter != None: + output.write(" \n") + output.write(" \n") + count = 0 + chunks.append(["chunk%s" % (chunk -1), first_letter, letter]) + output.write(" \n" % (chunk)) + first_letter = id[0] + chunk = chunk + 1 + elif letter != None: + output.write(" \n") + letter = id[0] + output.write(" \n" % (letter)) + output.write(" \n" % (id)) + tokens = index[id]; + tokens.sort() + tok = None + for token in tokens: + if tok == token: + continue + tok = token + output.write(" \n" % (token)) + count = count + 1 + output.write(" \n") + if letter != None: + output.write(" \n") + output.write(" \n") + if count != 0: + chunks.append(["chunk%s" % (chunk -1), first_letter, letter]) + output.write(" \n") + for ch in chunks: + output.write(" \n" % ( + ch[0], ch[1], ch[2])) + output.write(" \n") + + def serialize_xrefs(self, output): + output.write(" \n") + self.serialize_xrefs_references(output) + output.write(" \n") + output.write(" \n") + self.serialize_xrefs_alpha(output) + output.write(" \n") + output.write(" \n") + self.serialize_xrefs_constructors(output) + output.write(" \n") + output.write(" \n") + self.serialize_xrefs_functions(output) + output.write(" \n") + output.write(" \n") + self.serialize_xrefs_files(output) + output.write(" \n") + output.write(" \n") + self.serialize_xrefs_index(output) + output.write(" \n") + + def serialize(self): + filename = "%s-api.xml" % self.name + print "Saving XML description %s" % (filename) + output = open(filename, "w") + output.write('\n') + output.write("\n" % self.name) + output.write(" \n") + headers = self.headers.keys() + headers.sort() + for file in headers: + self.serialize_exports(output, file) + output.write(" \n") + output.write(" \n") + macros = self.idx.macros.keys() + macros.sort() + for macro in macros: + self.serialize_macro(output, macro) + enums = self.idx.enums.keys() + enums.sort() + for enum in enums: + self.serialize_enum(output, enum) + typedefs = self.idx.typedefs.keys() + typedefs.sort() + for typedef in typedefs: + self.serialize_typedef(output, typedef) + variables = self.idx.variables.keys() + variables.sort() + for variable in variables: + self.serialize_variable(output, variable) + functions = self.idx.functions.keys() + functions.sort() + for function in functions: + self.serialize_function(output, function) + output.write(" \n") + output.write("\n") + output.close() + + filename = "%s-refs.xml" % self.name + print "Saving XML Cross References %s" % (filename) + output = open(filename, "w") + output.write('\n') + output.write("\n" % self.name) + self.serialize_xrefs(output) + output.write("\n") + output.close() + + +def rebuild(): + builder = None + if glob.glob("parser.c") != [] : + print "Rebuilding API description for libxml2" + builder = docBuilder("libxml2", [".", "."], + ["xmlwin32version.h", "tst.c"]) + elif glob.glob("../parser.c") != [] : + print "Rebuilding API description for libxml2" + builder = docBuilder("libxml2", ["..", "../include/libxml"], + ["xmlwin32version.h", "tst.c"]) + elif glob.glob("../libxslt/transform.c") != [] : + print "Rebuilding API description for libxslt" + builder = docBuilder("libxslt", ["../libxslt"], + ["win32config.h", "libxslt.h", "tst.c"]) + else: + print "rebuild() failed, unable to guess the module" + return None + builder.scan() + builder.analyze() + builder.serialize() + if glob.glob("../libexslt/exslt.c") != [] : + extra = docBuilder("libexslt", ["../libexslt"], ["libexslt.h"]) + extra.scan() + extra.analyze() + extra.serialize() + return builder + +# +# for debugging the parser +# +def parse(filename): + parser = CParser(filename) + idx = parser.parse() + return idx + +if __name__ == "__main__": + rebuild() diff --git a/doc/architecture.html b/doc/architecture.html new file mode 100644 index 0000000..8a9c897 --- /dev/null +++ b/doc/architecture.html @@ -0,0 +1,23 @@ + + +libxml2 architecture
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

libxml2 architecture

Developer Menu
API Indexes
Related links

Libxml2 is made of multiple components; some of them are optional, and +most of the block interfaces are public. The main components are:

  • an Input/Output layer
  • +
  • FTP and HTTP client layers (optional)
  • +
  • an Internationalization layer managing the encodings support
  • +
  • a URI module
  • +
  • the XML parser and its basic SAX interface
  • +
  • an HTML parser using the same SAX interface (optional)
  • +
  • a SAX tree module to build an in-memory DOM representation
  • +
  • a tree module to manipulate the DOM representation
  • +
  • a validation module using the DOM representation (optional)
  • +
  • an XPath module for global lookup in a DOM representation + (optional)
  • +
  • a debug module (optional)
  • +

Graphically this gives the following:

a graphical view of the various

Daniel Veillard

diff --git a/doc/bugs.html b/doc/bugs.html new file mode 100644 index 0000000..270912b --- /dev/null +++ b/doc/bugs.html @@ -0,0 +1,56 @@ + + +Reporting bugs and getting help
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

Reporting bugs and getting help

Main Menu
Related links

Well, bugs or missing features are always possible, and I will make a +point of fixing them in a timely fashion. The best way to report a bug is to +use the Gnome +bug tracking database (make sure to use the "libxml2" module name). I +look at reports there regularly and it's good to have a reminder when a bug +is still open. Be sure to specify that the bug is for the package libxml2.

For small problems you can try to get help on IRC, the #xml channel on +irc.gnome.org (port 6667) usually have a few person subscribed which may help +(but there is no garantee and if a real issue is raised it should go on the +mailing-list for archival).

There is also a mailing-list xml@gnome.org for libxml, with an on-line archive (old). To subscribe to this list, +please visit the associated Web page and +follow the instructions. Do not send code, I won't debug it +(but patches are really appreciated!).

Check the following before +posting:

  • Read the FAQ and use the + search engine to get information related to your problem.
  • +
  • Make sure you are using a recent + version, and that the problem still shows up in a recent version.
  • +
  • Check the list + archives to see if the problem was reported already. In this case + there is probably a fix available, similarly check the registered + open bugs.
  • +
  • Make sure you can reproduce the bug with xmllint or one of the test + programs found in source in the distribution.
  • +
  • Please send the command showing the error as well as the input (as an + attachment)
  • +

Then send the bug with associated information to reproduce it to the xml@gnome.org list; if it's really libxml +related I will approve it. Please do not send mail to me directly, it makes +things really hard to track and in some cases I am not the best person to +answer a given question, ask on the list.

To be really clear about support:

  • Support or help requests MUST be sent to + the list or on bugzilla in case of problems, so that the Question + and Answers can be shared publicly. Failing to do so carries the implicit + message "I want free support but I don't want to share the benefits with + others" and is not welcome. I will automatically Carbon-Copy the + xml@gnome.org mailing list for any technical reply made about libxml2 or + libxslt.
  • +
  • There is no garantee of support, if + your question remains unanswered after a week, repost it, making sure you + gave all the detail needed and the information requested.
  • +
  • Failing to provide information as requested or double checking first + for prior feedback also carries the implicit message "the time of the + library maintainers is less valuable than my time" and might not be + welcome.
  • +

Of course, bugs reported with a suggested patch for fixing them will +probably be processed faster than those without.

If you're looking for help, a quick look at the list archive may actually +provide the answer. I usually send source samples when answering libxml2 +usage questions. The auto-generated documentation is +not as polished as I would like (i need to learn more about DocBook), but +it's a good starting point.

Daniel Veillard

diff --git a/doc/catalog.gif b/doc/catalog.gif new file mode 100644 index 0000000..f2e2bd3 Binary files /dev/null and b/doc/catalog.gif differ diff --git a/doc/catalog.html b/doc/catalog.html new file mode 100644 index 0000000..3044446 --- /dev/null +++ b/doc/catalog.html @@ -0,0 +1,256 @@ + + +Catalog support
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

Catalog support

Main Menu
Related links

Table of Content:

  1. General overview
  2. +
  3. The definition
  4. +
  5. Using catalogs
  6. +
  7. Some examples
  8. +
  9. How to tune catalog usage
  10. +
  11. How to debug catalog processing
  12. +
  13. How to create and maintain catalogs
  14. +
  15. The implementor corner quick review of the + API
  16. +
  17. Other resources
  18. +

General overview

What is a catalog? Basically it's a lookup mechanism used when an entity +(a file or a remote resource) references another entity. The catalog lookup +is inserted between the moment the reference is recognized by the software +(XML parser, stylesheet processing, or even images referenced for inclusion +in a rendering) and the time where loading that resource is actually +started.

It is basically used for 3 things:

  • mapping from "logical" names, the public identifiers and a more + concrete name usable for download (and URI). For example it can associate + the logical name +

    "-//OASIS//DTD DocBook XML V4.1.2//EN"

    +

    of the DocBook 4.1.2 XML DTD with the actual URL where it can be + downloaded

    +

    http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd

    +
  • +
  • remapping from a given URL to another one, like an HTTP indirection + saying that +

    "http://www.oasis-open.org/committes/tr.xsl"

    +

    should really be looked at

    +

    "http://www.oasis-open.org/committes/entity/stylesheets/base/tr.xsl"

    +
  • +
  • providing a local cache mechanism allowing to load the entities + associated to public identifiers or remote resources, this is a really + important feature for any significant deployment of XML or SGML since it + allows to avoid the aleas and delays associated to fetching remote + resources.
  • +

The definitions

Libxml, as of 2.4.3 implements 2 kind of catalogs:

  • the older SGML catalogs, the official spec is SGML Open Technical + Resolution TR9401:1997, but is better understood by reading the SP Catalog page from + 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.
  • +

Using catalog

In a normal environment libxml2 will by default check the presence of a +catalog in /etc/xml/catalog, and assuming it has been correctly populated, +the processing is completely transparent to the document user. To take a +concrete example, suppose you are authoring a DocBook document, this one +starts with the following DOCTYPE definition:

<?xml version='1.0'?>
+<!DOCTYPE book PUBLIC "-//Norman Walsh//DTD DocBk XML V3.1.4//EN"
+          "http://nwalsh.com/docbook/xml/3.1.4/db3xml.dtd">

When validating the document with libxml, the catalog will be +automatically consulted to lookup the public identifier "-//Norman Walsh//DTD +DocBk XML V3.1.4//EN" and the system identifier +"http://nwalsh.com/docbook/xml/3.1.4/db3xml.dtd", and if these entities have +been installed on your system and the catalogs actually point to them, libxml +will fetch them from the local disk.

Note: Really don't use this +DOCTYPE example it's a really old version, but is fine as an example.

Libxml2 will check the catalog each time that it is requested to load an +entity, this includes DTD, external parsed entities, stylesheets, etc ... If +your system is correctly configured all the authoring phase and processing +should use only local files, even if your document stays portable because it +uses the canonical public and system ID, referencing the remote document.

Some examples:

Here is a couple of fragments from XML Catalogs used in libxml2 early +regression tests in test/catalogs :

<?xml version="1.0"?>
+<!DOCTYPE catalog PUBLIC 
+   "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
+   "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
+  <public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
+   uri="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/>
+...

This is the beginning of a catalog for DocBook 4.1.2, XML Catalogs are +written in XML, there is a specific namespace for catalog elements +"urn:oasis:names:tc:entity:xmlns:xml:catalog". The first entry in this +catalog is a public mapping it allows to associate a Public +Identifier with an URI.

...
+    <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/"
+                   rewritePrefix="file:///usr/share/xml/docbook/"/>
+...

A rewriteSystem is a very powerful instruction, it says that +any URI starting with a given prefix should be looked at another URI +constructed by replacing the prefix with an new one. In effect this acts like +a cache system for a full area of the Web. In practice it is extremely useful +with a file prefix if you have installed a copy of those resources on your +local system.

...
+<delegatePublic publicIdStartString="-//OASIS//DTD XML Catalog //"
+                catalog="file:///usr/share/xml/docbook.xml"/>
+<delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook XML"
+                catalog="file:///usr/share/xml/docbook.xml"/>
+<delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML"
+                catalog="file:///usr/share/xml/docbook.xml"/>
+<delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/"
+                catalog="file:///usr/share/xml/docbook.xml"/>
+<delegateURI uriStartString="http://www.oasis-open.org/docbook/"
+                catalog="file:///usr/share/xml/docbook.xml"/>
+...

Delegation is the core features which allows to build a tree of catalogs, +easier to maintain than a single catalog, based on Public Identifier, System +Identifier or URI prefixes it instructs the catalog software to look up +entries in another resource. This feature allow to build hierarchies of +catalogs, the set of entries presented should be sufficient to redirect the +resolution of all DocBook references to the specific catalog in +/usr/share/xml/docbook.xml this one in turn could delegate all +references for DocBook 4.2.1 to a specific catalog installed at the same time +as the DocBook resources on the local machine.

How to tune catalog usage:

The user can change the default catalog behaviour by redirecting queries +to its own set of catalogs, this can be done by setting the +XML_CATALOG_FILES environment variable to a list of catalogs, an +empty one should deactivate loading the default /etc/xml/catalog +default catalog

How to debug catalog processing:

Setting up the XML_DEBUG_CATALOG environment variable will +make libxml2 output debugging informations for each catalog operations, for +example:

orchis:~/XML -> xmllint --memory --noout test/ent2
+warning: failed to load external entity "title.xml"
+orchis:~/XML -> export XML_DEBUG_CATALOG=
+orchis:~/XML -> xmllint --memory --noout test/ent2
+Failed to parse catalog /etc/xml/catalog
+Failed to parse catalog /etc/xml/catalog
+warning: failed to load external entity "title.xml"
+Catalogs cleanup
+orchis:~/XML -> 

The test/ent2 references an entity, running the parser from memory makes +the base URI unavailable and the the "title.xml" entity cannot be loaded. +Setting up the debug environment variable allows to detect that an attempt is +made to load the /etc/xml/catalog but since it's not present the +resolution fails.

But the most advanced way to debug XML catalog processing is to use the +xmlcatalog command shipped with libxml2, it allows to load +catalogs and make resolution queries to see what is going on. This is also +used for the regression tests:

orchis:~/XML -> ./xmlcatalog test/catalogs/docbook.xml \
+                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
+http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
+orchis:~/XML -> 

For debugging what is going on, adding one -v flags increase the verbosity +level to indicate the processing done (adding a second flag also indicate +what elements are recognized at parsing):

orchis:~/XML -> ./xmlcatalog -v test/catalogs/docbook.xml \
+                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
+Parsing catalog test/catalogs/docbook.xml's content
+Found public match -//OASIS//DTD DocBook XML V4.1.2//EN
+http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
+Catalogs cleanup
+orchis:~/XML -> 

A shell interface is also available to debug and process multiple queries +(and for regression tests):

orchis:~/XML -> ./xmlcatalog -shell test/catalogs/docbook.xml \
+                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
+> help   
+Commands available:
+public PublicID: make a PUBLIC identifier lookup
+system SystemID: make a SYSTEM identifier lookup
+resolve PublicID SystemID: do a full resolver lookup
+add 'type' 'orig' 'replace' : add an entry
+del 'values' : remove values
+dump: print the current catalog state
+debug: increase the verbosity level
+quiet: decrease the verbosity level
+exit:  quit the shell
+> public "-//OASIS//DTD DocBook XML V4.1.2//EN"
+http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
+> quit
+orchis:~/XML -> 

This should be sufficient for most debugging purpose, this was actually +used heavily to debug the XML Catalog implementation itself.

How to create and maintain catalogs:

Basically XML Catalogs are XML files, you can either use XML tools to +manage them or use xmlcatalog for this. The basic step is +to create a catalog the -create option provide this facility:

orchis:~/XML -> ./xmlcatalog --create tst.xml
+<?xml version="1.0"?>
+<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
+         "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"/>
+orchis:~/XML -> 

By default xmlcatalog does not overwrite the original catalog and save the +result on the standard output, this can be overridden using the -noout +option. The -add command allows to add entries in the +catalog:

orchis:~/XML -> ./xmlcatalog --noout --create --add "public" \
+  "-//OASIS//DTD DocBook XML V4.1.2//EN" \
+  http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd tst.xml
+orchis:~/XML -> cat tst.xml
+<?xml version="1.0"?>
+<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" \
+  "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
+<public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
+        uri="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/>
+</catalog>
+orchis:~/XML -> 

The -add option will always take 3 parameters even if some of +the XML Catalog constructs (like nextCatalog) will have only a single +argument, just pass a third empty string, it will be ignored.

Similarly the -del option remove matching entries from the +catalog:

orchis:~/XML -> ./xmlcatalog --del \
+  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" tst.xml
+<?xml version="1.0"?>
+<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
+    "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"/>
+orchis:~/XML -> 

The catalog is now empty. Note that the matching of -del is +exact and would have worked in a similar fashion with the Public ID +string.

This is rudimentary but should be sufficient to manage a not too complex +catalog tree of resources.

The implementor corner quick review of the +API:

First, and like for every other module of libxml, there is an +automatically generated API page for +catalog support.

The header for the catalog interfaces should be included as:

#include <libxml/catalog.h>

The API is voluntarily kept very simple. First it is not obvious that +applications really need access to it since it is the default behaviour of +libxml2 (Note: it is possible to completely override libxml2 default catalog +by using xmlSetExternalEntityLoader to +plug an application specific resolver).

Basically libxml2 support 2 catalog lists:

  • the default one, global shared by all the application
  • +
  • a per-document catalog, this one is built if the document uses the + oasis-xml-catalog PIs to specify its own catalog list, it is + associated to the parser context and destroyed when the parsing context + is destroyed.
  • +

the document one will be used first if it exists.

Initialization routines:

xmlInitializeCatalog(), xmlLoadCatalog() and xmlLoadCatalogs() should be +used at startup to initialize the catalog, if the catalog should be +initialized with specific values xmlLoadCatalog() or xmlLoadCatalogs() +should be called before xmlInitializeCatalog() which would otherwise do a +default initialization first.

The xmlCatalogAddLocal() call is used by the parser to grow the document +own catalog list if needed.

Preferences setup:

The XML Catalog spec requires the possibility to select default +preferences between public and system delegation, +xmlCatalogSetDefaultPrefer() allows this, xmlCatalogSetDefaults() and +xmlCatalogGetDefaults() allow to control if XML Catalogs resolution should +be forbidden, allowed for global catalog, for document catalog or both, the +default is to allow both.

And of course xmlCatalogSetDebug() allows to generate debug messages +(through the xmlGenericError() mechanism).

Querying routines:

xmlCatalogResolve(), xmlCatalogResolveSystem(), xmlCatalogResolvePublic() +and xmlCatalogResolveURI() are relatively explicit if you read the XML +Catalog specification they correspond to section 7 algorithms, they should +also work if you have loaded an SGML catalog with a simplified semantic.

xmlCatalogLocalResolve() and xmlCatalogLocalResolveURI() are the same but +operate on the document catalog list

Cleanup and Miscellaneous:

xmlCatalogCleanup() free-up the global catalog, xmlCatalogFreeLocal() is +the per-document equivalent.

xmlCatalogAdd() and xmlCatalogRemove() are used to dynamically modify the +first catalog in the global list, and xmlCatalogDump() allows to dump a +catalog state, those routines are primarily designed for xmlcatalog, I'm not +sure that exposing more complex interfaces (like navigation ones) would be +really useful.

The xmlParseCatalogFile() is a function used to load XML Catalog files, +it's similar as xmlParseFile() except it bypass all catalog lookups, it's +provided because this functionality may be useful for client tools.

threaded environments:

Since the catalog tree is built progressively, some care has been taken to +try to avoid troubles in multithreaded environments. The code is now thread +safe assuming that the libxml2 library has been compiled with threads +support.

Other resources

The XML Catalog specification is relatively recent so there isn't much +literature to point at:

  • You can find a good rant from Norm Walsh about the + need for catalogs, it provides a lot of context informations even if + I don't agree with everything presented. Norm also wrote a more recent + article XML + entities and URI resolvers describing them.
  • +
  • An old XML + catalog proposal from John Cowan
  • +
  • The Resource Directory Description + Language (RDDL) another catalog system but more oriented toward + providing metadata for XML namespaces.
  • +
  • the page from the OASIS Technical Committee on Entity + Resolution who maintains XML Catalog, you will find pointers to the + specification update, some background and pointers to others tools + providing XML Catalog support
  • +
  • There is a shell script to generate + XML Catalogs for DocBook 4.1.2 . If it can write to the /etc/xml/ + directory, it will set-up /etc/xml/catalog and /etc/xml/docbook based on + the resources found on the system. Otherwise it will just create + ~/xmlcatalog and ~/dbkxmlcatalog and doing: +

    export XML_CATALOG_FILES=$HOME/xmlcatalog

    +

    should allow to process DocBook documentations without requiring + network accesses for the DTD or stylesheets

    +
  • +
  • I have uploaded a + small tarball containing XML Catalogs for DocBook 4.1.2 which seems + to work fine for me too
  • +
  • The xmlcatalog + manual page
  • +

If you have suggestions for corrections or additions, simply contact +me:

Daniel Veillard

diff --git a/doc/contribs.html b/doc/contribs.html new file mode 100644 index 0000000..844d29e --- /dev/null +++ b/doc/contribs.html @@ -0,0 +1,39 @@ + + +Contributions
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

Contributions

Main Menu
Related links

Daniel Veillard

diff --git a/doc/docs.html b/doc/docs.html new file mode 100644 index 0000000..f486c13 --- /dev/null +++ b/doc/docs.html @@ -0,0 +1,33 @@ + + +Developer Menu
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

Developer Menu

Developer Menu
API Indexes
Related links

There are several on-line resources related to using libxml:

  1. Use the search engine to look up + information.
  2. +
  3. Check the FAQ.
  4. +
  5. Check the extensive + documentation automatically extracted from code comments.
  6. +
  7. Look at the documentation about libxml + internationalization support.
  8. +
  9. This page provides a global overview and some + examples on how to use libxml.
  10. +
  11. Code examples
  12. +
  13. John Fleck's libxml2 tutorial: html + or pdf.
  14. +
  15. If you need to parse large files, check the xmlReader API tutorial
  16. +
  17. James Henstridge wrote some nice + documentation explaining how to use the libxml SAX interface.
  18. +
  19. George Lebl wrote an article + for IBM developerWorks about using libxml.
  20. +
  21. Check the TODO + file.
  22. +
  23. Read the 1.x to 2.x upgrade path + description. If you are starting a new project using libxml you should + really use the 2.x version.
  24. +
  25. And don't forget to look at the mailing-list archive.
  26. +

Daniel Veillard

diff --git a/doc/downloads.html b/doc/downloads.html new file mode 100644 index 0000000..dc418c1 --- /dev/null +++ b/doc/downloads.html @@ -0,0 +1,36 @@ + + +Downloads
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

Downloads

Main Menu
Related links

The latest versions of libxml2 can be found on xmlsoft.org (Seattle, France) or on the Gnome FTP server either +as a source +archive + , Antonin Sprinzl also provide a +mirror in Austria. (NOTE that you need both the libxml(2) and libxml(2)-devel +packages installed to compile applications using libxml.)

Binary ports:

If you know other supported binary ports, please contact me.

Snapshot:

Contributions:

I do accept external contributions, especially if compiling on another +platform, get in touch with me to upload the package, wrappers for various +languages have been provided, and can be found in the contrib section

Libxml2 is also available from CVS:

Daniel Veillard

diff --git a/doc/encoding.html b/doc/encoding.html new file mode 100644 index 0000000..3b7e5a3 --- /dev/null +++ b/doc/encoding.html @@ -0,0 +1,210 @@ + + +Encodings support
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

Encodings support

Main Menu
Related links

Table of Content:

  1. What does internationalization support + mean ?
  2. +
  3. The internal encoding, how and + why
  4. +
  5. How is it implemented ?
  6. +
  7. Default supported encodings
  8. +
  9. How to extend the existing + support
  10. +

What does internationalization support mean ?

If you are not really familiar with Internationalization (usual shortcut +is I18N) , Unicode, characters and glyphs, I suggest you read a presentation +by Tim Bray on Unicode and why you should care about it.

XML was designed from the start to allow the support of any character set +by using Unicode. Any conformant XML parser has to support the UTF-8 and +UTF-16 default encodings which can both express the full unicode ranges. UTF8 +is a variable length encoding whose greatest points are to reuse the same +encoding for ASCII and to save space for Western encodings, but it is a bit +more complex to handle in practice. UTF-16 use 2 bytes per character (and +sometimes combines two pairs), it makes implementation easier, but looks a +bit overkill for Western languages encoding. Moreover the XML specification +allows the document to be encoded in other encodings at the condition that +they are clearly labeled as such. For example the following is a wellformed +XML document encoded in ISO-8859-1 and using accentuated letters that we +French like for both markup and content:

<?xml version="1.0" encoding="ISO-8859-1"?>
+<très>là</très>

Having internationalization support in libxml2 means the following:

  • the document is properly parsed
  • +
  • informations about it's encoding are saved
  • +
  • it can be modified
  • +
  • it can be saved in its original encoding
  • +
  • it can also be saved in another encoding supported by libxml2 (for + example straight UTF8 or even an ASCII form)
  • +

Another very important point is that the whole libxml2 API, with the +exception of a few routines to read with a specific encoding or save to a +specific encoding, is completely agnostic about the original encoding of the +document.

It should be noted too that the HTML parser embedded in libxml2 now obey +the same rules too, the following document will be (as of 2.2.2) handled in +an internationalized fashion by libxml2 too:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
+                      "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html lang="fr">
+<head>
+  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+</head>
+<body>
+<p>W3C crée des standards pour le Web.</body>
+</html>

The internal encoding, how and why

One of the core decisions was to force all documents to be converted to a +default internal encoding, and that encoding to be UTF-8, here are the +rationales for those choices:

  • keeping the native encoding in the internal form would force the libxml + users (or the code associated) to be fully aware of the encoding of the + original document, for examples when adding a text node to a document, + the content would have to be provided in the document encoding, i.e. the + client code would have to check it before hand, make sure it's conformant + to the encoding, etc ... Very hard in practice, though in some specific + cases this may make sense.
  • +
  • the second decision was which encoding. From the XML spec only UTF8 and + UTF16 really makes sense as being the two only encodings for which there + is mandatory support. UCS-4 (32 bits fixed size encoding) could be + considered an intelligent choice too since it's a direct Unicode mapping + support. I selected UTF-8 on the basis of efficiency and compatibility + with surrounding software: +
    • UTF-8 while a bit more complex to convert from/to (i.e. slightly + more costly to import and export CPU wise) is also far more compact + than UTF-16 (and UCS-4) for a majority of the documents I see it used + for right now (RPM RDF catalogs, advogato data, various configuration + file formats, etc.) and the key point for today's computer + architecture is efficient uses of caches. If one nearly double the + memory requirement to store the same amount of data, this will trash + caches (main memory/external caches/internal caches) and my take is + that this harms the system far more than the CPU requirements needed + for the conversion to UTF-8
    • +
    • Most of libxml2 version 1 users were using it with straight ASCII + most of the time, doing the conversion with an internal encoding + requiring all their code to be rewritten was a serious show-stopper + for using UTF-16 or UCS-4.
    • +
    • UTF-8 is being used as the de-facto internal encoding standard for + related code like the pango + upcoming Gnome text widget, and a lot of Unix code (yet another place + where Unix programmer base takes a different approach from Microsoft + - they are using UTF-16)
    • +
  • +

What does this mean in practice for the libxml2 user:

  • xmlChar, the libxml2 data type is a byte, those bytes must be assembled + as UTF-8 valid strings. The proper way to terminate an xmlChar * string + is simply to append 0 byte, as usual.
  • +
  • One just need to make sure that when using chars outside the ASCII set, + the values has been properly converted to UTF-8
  • +

How is it implemented ?

Let's describe how all this works within libxml, basically the I18N +(internationalization) support get triggered only during I/O operation, i.e. +when reading a document or saving one. Let's look first at the reading +sequence:

  1. when a document is processed, we usually don't know the encoding, a + simple heuristic allows to detect UTF-16 and UCS-4 from encodings where + the ASCII range (0-0x7F) maps with ASCII
  2. +
  3. the xml declaration if available is parsed, including the encoding + declaration. At that point, if the autodetected encoding is different + from the one declared a call to xmlSwitchEncoding() is issued.
  4. +
  5. If there is no encoding declaration, then the input has to be in either + UTF-8 or UTF-16, if it is not then at some point when processing the + input, the converter/checker of UTF-8 form will raise an encoding error. + You may end-up with a garbled document, or no document at all ! Example: +
    ~/XML -> ./xmllint err.xml 
    +err.xml:1: error: Input is not proper UTF-8, indicate encoding !
    +<très>là</très>
    +   ^
    +err.xml:1: error: Bytes: 0xE8 0x73 0x3E 0x6C
    +<très>là</très>
    +   ^
    +
  6. +
  7. xmlSwitchEncoding() does an encoding name lookup, canonicalize it, and + then search the default registered encoding converters for that encoding. + If it's not within the default set and iconv() support has been compiled + it, it will ask iconv for such an encoder. If this fails then the parser + will report an error and stops processing: +
    ~/XML -> ./xmllint err2.xml 
    +err2.xml:1: error: Unsupported encoding UnsupportedEnc
    +<?xml version="1.0" encoding="UnsupportedEnc"?>
    +                                             ^
    +
  8. +
  9. From that point the encoder processes progressively the input (it is + plugged as a front-end to the I/O module) for that entity. It captures + and converts on-the-fly the document to be parsed to UTF-8. The parser + itself just does UTF-8 checking of this input and process it + transparently. The only difference is that the encoding information has + been added to the parsing context (more precisely to the input + corresponding to this entity).
  10. +
  11. The result (when using DOM) is an internal form completely in UTF-8 + with just an encoding information on the document node.
  12. +

Ok then what happens when saving the document (assuming you +collected/built an xmlDoc DOM like structure) ? It depends on the function +called, xmlSaveFile() will just try to save in the original encoding, while +xmlSaveFileTo() and xmlSaveFileEnc() can optionally save to a given +encoding:

  1. if no encoding is given, libxml2 will look for an encoding value + associated to the document and if it exists will try to save to that + encoding, +

    otherwise everything is written in the internal form, i.e. UTF-8

    +
  2. +
  3. so if an encoding was specified, either at the API level or on the + document, libxml2 will again canonicalize the encoding name, lookup for a + converter in the registered set or through iconv. If not found the + function will return an error code
  4. +
  5. the converter is placed before the I/O buffer layer, as another kind of + buffer, then libxml2 will simply push the UTF-8 serialization to through + that buffer, which will then progressively be converted and pushed onto + the I/O layer.
  6. +
  7. It is possible that the converter code fails on some input, for example + trying to push an UTF-8 encoded Chinese character through the UTF-8 to + ISO-8859-1 converter won't work. Since the encoders are progressive they + will just report the error and the number of bytes converted, at that + point libxml2 will decode the offending character, remove it from the + buffer and replace it with the associated charRef encoding &#123; and + resume the conversion. This guarantees that any document will be saved + without losses (except for markup names where this is not legal, this is + a problem in the current version, in practice avoid using non-ascii + characters for tag or attribute names). A special "ascii" encoding name + is used to save documents to a pure ascii form can be used when + portability is really crucial
  8. +

Here are a few examples based on the same test document:

~/XML -> ./xmllint isolat1 
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<très>là</très>
+~/XML -> ./xmllint --encode UTF-8 isolat1 
+<?xml version="1.0" encoding="UTF-8"?>
+<très>là  </très>
+~/XML -> 

The same processing is applied (and reuse most of the code) for HTML I18N +processing. Looking up and modifying the content encoding is a bit more +difficult since it is located in a <meta> tag under the <head>, +so a couple of functions htmlGetMetaEncoding() and htmlSetMetaEncoding() have +been provided. The parser also attempts to switch encoding on the fly when +detecting such a tag on input. Except for that the processing is the same +(and again reuses the same code).

Default supported encodings

libxml2 has a set of default converters for the following encodings +(located in encoding.c):

  1. UTF-8 is supported by default (null handlers)
  2. +
  3. UTF-16, both little and big endian
  4. +
  5. ISO-Latin-1 (ISO-8859-1) covering most western languages
  6. +
  7. ASCII, useful mostly for saving
  8. +
  9. HTML, a specific handler for the conversion of UTF-8 to ASCII with HTML + predefined entities like &copy; for the Copyright sign.
  10. +

More over when compiled on an Unix platform with iconv support the full +set of encodings supported by iconv can be instantly be used by libxml. On a +linux machine with glibc-2.1 the list of supported encodings and aliases fill +3 full pages, and include UCS-4, the full set of ISO-Latin encodings, and the +various Japanese ones.

Encoding aliases

From 2.2.3, libxml2 has support to register encoding names aliases. The +goal is to be able to parse document whose encoding is supported but where +the name differs (for example from the default set of names accepted by +iconv). The following functions allow to register and handle new aliases for +existing encodings. Once registered libxml2 will automatically lookup the +aliases when handling a document:

  • int xmlAddEncodingAlias(const char *name, const char *alias);
  • +
  • int xmlDelEncodingAlias(const char *alias);
  • +
  • const char * xmlGetEncodingAlias(const char *alias);
  • +
  • void xmlCleanupEncodingAliases(void);
  • +

How to extend the existing support

Well adding support for new encoding, or overriding one of the encoders +(assuming it is buggy) should not be hard, just write input and output +conversion routines to/from UTF-8, and register them using +xmlNewCharEncodingHandler(name, xxxToUTF8, UTF8Toxxx), and they will be +called automatically if the parser(s) encounter such an encoding name +(register it uppercase, this will help). The description of the encoders, +their arguments and expected return values are described in the encoding.h +header.

A quick note on the topic of subverting the parser to use a different +internal encoding than UTF-8, in some case people will absolutely want to +keep the internal encoding different, I think it's still possible (but the +encoding must be compliant with ASCII on the same subrange) though I didn't +tried it. The key is to override the default conversion routines (by +registering null encoders/decoders for your charsets), and bypass the UTF-8 +checking of the parser by setting the parser context charset +(ctxt->charset) to something different than XML_CHAR_ENCODING_UTF8, but +there is no guarantee that this will work. You may also have some troubles +saving back.

Basically proper I18N support is important, this requires at least +libxml-2.0.0, but a lot of features and corrections are really available only +starting 2.2.

Daniel Veillard

diff --git a/doc/entities.html b/doc/entities.html new file mode 100644 index 0000000..563def4 --- /dev/null +++ b/doc/entities.html @@ -0,0 +1,64 @@ + + +Entities or no entities
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

Entities or no entities

Developer Menu
API Indexes
Related links

Entities in principle are similar to simple C macros. An entity defines an +abbreviation for a given string that you can reuse many times throughout the +content of your document. Entities are especially useful when a given string +may occur frequently within a document, or to confine the change needed to a +document to a restricted area in the internal subset of the document (at the +beginning). Example:

1 <?xml version="1.0"?>
+2 <!DOCTYPE EXAMPLE SYSTEM "example.dtd" [
+3 <!ENTITY xml "Extensible Markup Language">
+4 ]>
+5 <EXAMPLE>
+6    &xml;
+7 </EXAMPLE>

Line 3 declares the xml entity. Line 6 uses the xml entity, by prefixing +its name with '&' and following it by ';' without any spaces added. There +are 5 predefined entities in libxml2 allowing you to escape characters with +predefined meaning in some parts of the xml document content: +&lt; for the character '<', &gt; +for the character '>', &apos; for the character ''', +&quot; for the character '"', and +&amp; for the character '&'.

One of the problems related to entities is that you may want the parser to +substitute an entity's content so that you can see the replacement text in +your application. Or you may prefer to keep entity references as such in the +content to be able to save the document back without losing this usually +precious information (if the user went through the pain of explicitly +defining entities, he may have a a rather negative attitude if you blindly +substitute them as saving time). The xmlSubstituteEntitiesDefault() +function allows you to check and change the behaviour, which is to not +substitute entities by default.

Here is the DOM tree built by libxml2 for the previous document in the +default case:

/gnome/src/gnome-xml -> ./xmllint --debug test/ent1
+DOCUMENT
+version=1.0
+   ELEMENT EXAMPLE
+     TEXT
+     content=
+     ENTITY_REF
+       INTERNAL_GENERAL_ENTITY xml
+       content=Extensible Markup Language
+     TEXT
+     content=

And here is the result when substituting entities:

/gnome/src/gnome-xml -> ./tester --debug --noent test/ent1
+DOCUMENT
+version=1.0
+   ELEMENT EXAMPLE
+     TEXT
+     content=     Extensible Markup Language

So, entities or no entities? Basically, it depends on your use case. I +suggest that you keep the non-substituting default behaviour and avoid using +entities in your XML document or data if you are not willing to handle the +entity references elements in the DOM tree.

Note that at save time libxml2 enforces the conversion of the predefined +entities where necessary to prevent well-formedness problems, and will also +transparently replace those with chars (i.e. it will not generate entity +reference elements in the DOM tree or call the reference() SAX callback when +finding them in the input).

WARNING: handling entities +on top of the libxml2 SAX interface is difficult!!! If you plan to use +non-predefined entities in your documents, then the learning curve to handle +then using the SAX API may be long. If you plan to use complex documents, I +strongly suggest you consider using the DOM interface instead and let libxml +deal with the complexity rather than trying to do it yourself.

Daniel Veillard

diff --git a/doc/example.html b/doc/example.html new file mode 100644 index 0000000..b84524f --- /dev/null +++ b/doc/example.html @@ -0,0 +1,186 @@ + + +A real example
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

A real example

Developer Menu
API Indexes
Related links

Here is a real size example, where the actual content of the application +data is not kept in the DOM tree but uses internal structures. It is based on +a proposal to keep a database of jobs related to Gnome, with an XML based +storage structure. Here is an XML encoded jobs +base:

<?xml version="1.0"?>
+<gjob:Helping xmlns:gjob="http://www.gnome.org/some-location">
+  <gjob:Jobs>
+
+    <gjob:Job>
+      <gjob:Project ID="3"/>
+      <gjob:Application>GBackup</gjob:Application>
+      <gjob:Category>Development</gjob:Category>
+
+      <gjob:Update>
+        <gjob:Status>Open</gjob:Status>
+        <gjob:Modified>Mon, 07 Jun 1999 20:27:45 -0400 MET DST</gjob:Modified>
+        <gjob:Salary>USD 0.00</gjob:Salary>
+      </gjob:Update>
+
+      <gjob:Developers>
+        <gjob:Developer>
+        </gjob:Developer>
+      </gjob:Developers>
+
+      <gjob:Contact>
+        <gjob:Person>Nathan Clemons</gjob:Person>
+        <gjob:Email>nathan@windsofstorm.net</gjob:Email>
+        <gjob:Company>
+        </gjob:Company>
+        <gjob:Organisation>
+        </gjob:Organisation>
+        <gjob:Webpage>
+        </gjob:Webpage>
+        <gjob:Snailmail>
+        </gjob:Snailmail>
+        <gjob:Phone>
+        </gjob:Phone>
+      </gjob:Contact>
+
+      <gjob:Requirements>
+      The program should be released as free software, under the GPL.
+      </gjob:Requirements>
+
+      <gjob:Skills>
+      </gjob:Skills>
+
+      <gjob:Details>
+      A GNOME based system that will allow a superuser to configure 
+      compressed and uncompressed files and/or file systems to be backed 
+      up with a supported media in the system.  This should be able to 
+      perform via find commands generating a list of files that are passed 
+      to tar, dd, cpio, cp, gzip, etc., to be directed to the tape machine 
+      or via operations performed on the filesystem itself. Email 
+      notification and GUI status display very important.
+      </gjob:Details>
+
+    </gjob:Job>
+
+  </gjob:Jobs>
+</gjob:Helping>

While loading the XML file into an internal DOM tree is a matter of +calling only a couple of functions, browsing the tree to gather the data and +generate the internal structures is harder, and more error prone.

The suggested principle is to be tolerant with respect to the input +structure. For example, the ordering of the attributes is not significant, +the XML specification is clear about it. It's also usually a good idea not to +depend on the order of the children of a given node, unless it really makes +things harder. Here is some code to parse the information for a person:

/*
+ * A person record
+ */
+typedef struct person {
+    char *name;
+    char *email;
+    char *company;
+    char *organisation;
+    char *smail;
+    char *webPage;
+    char *phone;
+} person, *personPtr;
+
+/*
+ * And the code needed to parse it
+ */
+personPtr parsePerson(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur) {
+    personPtr ret = NULL;
+
+DEBUG("parsePerson\n");
+    /*
+     * allocate the struct
+     */
+    ret = (personPtr) malloc(sizeof(person));
+    if (ret == NULL) {
+        fprintf(stderr,"out of memory\n");
+        return(NULL);
+    }
+    memset(ret, 0, sizeof(person));
+
+    /* We don't care what the top level element name is */
+    cur = cur->xmlChildrenNode;
+    while (cur != NULL) {
+        if ((!strcmp(cur->name, "Person")) && (cur->ns == ns))
+            ret->name = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
+        if ((!strcmp(cur->name, "Email")) && (cur->ns == ns))
+            ret->email = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
+        cur = cur->next;
+    }
+
+    return(ret);
+}

Here are a couple of things to notice:

  • Usually a recursive parsing style is the more convenient one: XML data + is by nature subject to repetitive constructs and usually exhibits highly + structured patterns.
  • +
  • The two arguments of type xmlDocPtr and xmlNsPtr, + i.e. the pointer to the global XML document and the namespace reserved to + the application. Document wide information are needed for example to + decode entities and it's a good coding practice to define a namespace for + your application set of data and test that the element and attributes + you're analyzing actually pertains to your application space. This is + done by a simple equality test (cur->ns == ns).
  • +
  • To retrieve text and attributes value, you can use the function + xmlNodeListGetString to gather all the text and entity reference + nodes generated by the DOM output and produce an single text string.
  • +

Here is another piece of code used to parse another level of the +structure:

#include <libxml/tree.h>
+/*
+ * a Description for a Job
+ */
+typedef struct job {
+    char *projectID;
+    char *application;
+    char *category;
+    personPtr contact;
+    int nbDevelopers;
+    personPtr developers[100]; /* using dynamic alloc is left as an exercise */
+} job, *jobPtr;
+
+/*
+ * And the code needed to parse it
+ */
+jobPtr parseJob(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur) {
+    jobPtr ret = NULL;
+
+DEBUG("parseJob\n");
+    /*
+     * allocate the struct
+     */
+    ret = (jobPtr) malloc(sizeof(job));
+    if (ret == NULL) {
+        fprintf(stderr,"out of memory\n");
+        return(NULL);
+    }
+    memset(ret, 0, sizeof(job));
+
+    /* We don't care what the top level element name is */
+    cur = cur->xmlChildrenNode;
+    while (cur != NULL) {
+        
+        if ((!strcmp(cur->name, "Project")) && (cur->ns == ns)) {
+            ret->projectID = xmlGetProp(cur, "ID");
+            if (ret->projectID == NULL) {
+                fprintf(stderr, "Project has no ID\n");
+            }
+        }
+        if ((!strcmp(cur->name, "Application")) && (cur->ns == ns))
+            ret->application = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
+        if ((!strcmp(cur->name, "Category")) && (cur->ns == ns))
+            ret->category = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
+        if ((!strcmp(cur->name, "Contact")) && (cur->ns == ns))
+            ret->contact = parsePerson(doc, ns, cur);
+        cur = cur->next;
+    }
+
+    return(ret);
+}

Once you are used to it, writing this kind of code is quite simple, but +boring. Ultimately, it could be possible to write stubbers taking either C +data structure definitions, a set of XML examples or an XML DTD and produce +the code needed to import and export the content between C data and XML +storage. This is left as an exercise to the reader :-)

Feel free to use the code for the full C +parsing example as a template, it is also available with Makefile in the +Gnome CVS base under gnome-xml/example

Daniel Veillard

diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am new file mode 100644 index 0000000..754e663 --- /dev/null +++ b/doc/examples/Makefile.am @@ -0,0 +1,93 @@ +# Beware this is autogenerated by index.py +INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I@srcdir@/include @THREAD_CFLAGS@ @Z_CFLAGS@ +DEPS = $(top_builddir)/libxml2.la +LDADDS = @STATIC_BINARIES@ $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm @WIN32_EXTRA_LIBADD@ + +rebuild: examples.xml index.html + +examples.xml: index.py *.c + -@($(srcdir)/index.py) + +index.html: examples.xml examples.xsl + -@(xsltproc examples.xsl examples.xml && echo "Rebuilt web page" && xmllint --valid --noout index.html) + +install-data-local: + $(mkinstalldirs) $(DESTDIR)$(HTML_DIR) + -@INSTALL@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR) + +EXTRA_DIST=examples.xsl index.py test1.xml examples.xml test2.xml writer.xml test3.xml reader1.res reader3.res tree1.res tree2.res io1.res + +noinst_PROGRAMS=xpath1 parse1 parse2 tree1 tree2 testWriter reader1 reader2 reader3 io1 + +xpath1_SOURCES=xpath1.c +xpath1_LDFLAGS= +xpath1_DEPENDENCIES= $(DEPS) +xpath1_LDADD= @RDL_LIBS@ $(LDADDS) + +parse1_SOURCES=parse1.c +parse1_LDFLAGS= +parse1_DEPENDENCIES= $(DEPS) +parse1_LDADD= @RDL_LIBS@ $(LDADDS) + +parse2_SOURCES=parse2.c +parse2_LDFLAGS= +parse2_DEPENDENCIES= $(DEPS) +parse2_LDADD= @RDL_LIBS@ $(LDADDS) + +tree1_SOURCES=tree1.c +tree1_LDFLAGS= +tree1_DEPENDENCIES= $(DEPS) +tree1_LDADD= @RDL_LIBS@ $(LDADDS) + +tree2_SOURCES=tree2.c +tree2_LDFLAGS= +tree2_DEPENDENCIES= $(DEPS) +tree2_LDADD= @RDL_LIBS@ $(LDADDS) + +testWriter_SOURCES=testWriter.c +testWriter_LDFLAGS= +testWriter_DEPENDENCIES= $(DEPS) +testWriter_LDADD= @RDL_LIBS@ $(LDADDS) + +reader1_SOURCES=reader1.c +reader1_LDFLAGS= +reader1_DEPENDENCIES= $(DEPS) +reader1_LDADD= @RDL_LIBS@ $(LDADDS) + +reader2_SOURCES=reader2.c +reader2_LDFLAGS= +reader2_DEPENDENCIES= $(DEPS) +reader2_LDADD= @RDL_LIBS@ $(LDADDS) + +reader3_SOURCES=reader3.c +reader3_LDFLAGS= +reader3_DEPENDENCIES= $(DEPS) +reader3_LDADD= @RDL_LIBS@ $(LDADDS) + +io1_SOURCES=io1.c +io1_LDFLAGS= +io1_DEPENDENCIES= $(DEPS) +io1_LDADD= @RDL_LIBS@ $(LDADDS) + +tests: $(noinst_PROGRAMS) + @(echo > .memdump) + @(./parse1 test1.xml) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./parse2 test2.xml) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./tree1 test2.xml > tree1.tmp ; diff tree1.tmp tree1.res ; rm tree1.tmp) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./tree2 > tree2.tmp ; diff tree2.tmp tree2.res ; rm tree2.tmp) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./testWriter ; for i in 1 2 3 4 ; do diff writer.xml writer$$i.res ; done ; rm writer*.res) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./reader1 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./reader2 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./reader3 > reader3.tmp ; diff reader3.tmp reader3.res ; rm reader3.tmp) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./io1 > io1.tmp ; diff io1.tmp io1.res ; rm -f io1.tmp) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + + diff --git a/doc/examples/Makefile.in b/doc/examples/Makefile.in new file mode 100644 index 0000000..7c1478f --- /dev/null +++ b/doc/examples/Makefile.in @@ -0,0 +1,665 @@ +# Makefile.in generated by automake 1.8.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = $(io1_SOURCES) $(parse1_SOURCES) $(parse2_SOURCES) $(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) $(tree2_SOURCES) $(xpath1_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +noinst_PROGRAMS = xpath1$(EXEEXT) parse1$(EXEEXT) parse2$(EXEEXT) \ + tree1$(EXEEXT) tree2$(EXEEXT) testWriter$(EXEEXT) \ + reader1$(EXEEXT) reader2$(EXEEXT) reader3$(EXEEXT) \ + io1$(EXEEXT) +subdir = doc/examples +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am_io1_OBJECTS = io1.$(OBJEXT) +io1_OBJECTS = $(am_io1_OBJECTS) +am__DEPENDENCIES_1 = +am__DEPENDENCIES_2 = $(top_builddir)/libxml2.la $(am__DEPENDENCIES_1) +am_parse1_OBJECTS = parse1.$(OBJEXT) +parse1_OBJECTS = $(am_parse1_OBJECTS) +am_parse2_OBJECTS = parse2.$(OBJEXT) +parse2_OBJECTS = $(am_parse2_OBJECTS) +am_reader1_OBJECTS = reader1.$(OBJEXT) +reader1_OBJECTS = $(am_reader1_OBJECTS) +am_reader2_OBJECTS = reader2.$(OBJEXT) +reader2_OBJECTS = $(am_reader2_OBJECTS) +am_reader3_OBJECTS = reader3.$(OBJEXT) +reader3_OBJECTS = $(am_reader3_OBJECTS) +am_testWriter_OBJECTS = testWriter.$(OBJEXT) +testWriter_OBJECTS = $(am_testWriter_OBJECTS) +am_tree1_OBJECTS = tree1.$(OBJEXT) +tree1_OBJECTS = $(am_tree1_OBJECTS) +am_tree2_OBJECTS = tree2.$(OBJEXT) +tree2_OBJECTS = $(am_tree2_OBJECTS) +am_xpath1_OBJECTS = xpath1.$(OBJEXT) +xpath1_OBJECTS = $(am_xpath1_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/io1.Po ./$(DEPDIR)/parse1.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/parse2.Po ./$(DEPDIR)/reader1.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/reader2.Po ./$(DEPDIR)/reader3.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/testWriter.Po ./$(DEPDIR)/tree1.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/tree2.Po ./$(DEPDIR)/xpath1.Po +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(io1_SOURCES) $(parse1_SOURCES) $(parse2_SOURCES) \ + $(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \ + $(testWriter_SOURCES) $(tree1_SOURCES) $(tree2_SOURCES) \ + $(xpath1_SOURCES) +DIST_SOURCES = $(io1_SOURCES) $(parse1_SOURCES) $(parse2_SOURCES) \ + $(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \ + $(testWriter_SOURCES) $(tree1_SOURCES) $(tree2_SOURCES) \ + $(xpath1_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +C14N_OBJ = @C14N_OBJ@ +CATALOG_OBJ = @CATALOG_OBJ@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEBUG_OBJ = @DEBUG_OBJ@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DOCB_OBJ = @DOCB_OBJ@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FTP_OBJ = @FTP_OBJ@ +HAVE_ISINF = @HAVE_ISINF@ +HAVE_ISNAN = @HAVE_ISNAN@ +HTML_DIR = @HTML_DIR@ +HTML_OBJ = @HTML_OBJ@ +HTTP_OBJ = @HTTP_OBJ@ +ICONV_LIBS = @ICONV_LIBS@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXML_MAJOR_VERSION = @LIBXML_MAJOR_VERSION@ +LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@ +LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@ +LIBXML_VERSION = @LIBXML_VERSION@ +LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@ +LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MV = @MV@ +M_LIBS = @M_LIBS@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PATTERN_TEST = @PATTERN_TEST@ +PYTHON = @PYTHON@ +PYTHON_INCLUDES = @PYTHON_INCLUDES@ +PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@ +PYTHON_SUBDIR = @PYTHON_SUBDIR@ +PYTHON_TESTS = @PYTHON_TESTS@ +PYTHON_VERSION = @PYTHON_VERSION@ +RANLIB = @RANLIB@ +RDL_LIBS = @RDL_LIBS@ +READER_TEST = @READER_TEST@ +RELDATE = @RELDATE@ +RM = @RM@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STATIC_BINARIES = @STATIC_BINARIES@ +STRIP = @STRIP@ +TAR = @TAR@ +TEST_C14N = @TEST_C14N@ +TEST_CATALOG = @TEST_CATALOG@ +TEST_DEBUG = @TEST_DEBUG@ +TEST_HTML = @TEST_HTML@ +TEST_PHTML = @TEST_PHTML@ +TEST_PUSH = @TEST_PUSH@ +TEST_REGEXPS = @TEST_REGEXPS@ +TEST_SAX = @TEST_SAX@ +TEST_SCHEMAS = @TEST_SCHEMAS@ +TEST_THREADS = @TEST_THREADS@ +TEST_VALID = @TEST_VALID@ +TEST_VTIME = @TEST_VTIME@ +TEST_XINCLUDE = @TEST_XINCLUDE@ +TEST_XPATH = @TEST_XPATH@ +TEST_XPTR = @TEST_XPTR@ +THREADS_W32 = @THREADS_W32@ +THREAD_CFLAGS = @THREAD_CFLAGS@ +THREAD_LIBS = @THREAD_LIBS@ +U = @U@ +VERSION = @VERSION@ +WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@ +WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@ +WITH_C14N = @WITH_C14N@ +WITH_CATALOG = @WITH_CATALOG@ +WITH_DEBUG = @WITH_DEBUG@ +WITH_DOCB = @WITH_DOCB@ +WITH_FTP = @WITH_FTP@ +WITH_HTML = @WITH_HTML@ +WITH_HTTP = @WITH_HTTP@ +WITH_ICONV = @WITH_ICONV@ +WITH_ISO8859X = @WITH_ISO8859X@ +WITH_LEGACY = @WITH_LEGACY@ +WITH_MEM_DEBUG = @WITH_MEM_DEBUG@ +WITH_OUTPUT = @WITH_OUTPUT@ +WITH_PATTERN = @WITH_PATTERN@ +WITH_PUSH = @WITH_PUSH@ +WITH_PYTHON_FALSE = @WITH_PYTHON_FALSE@ +WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@ +WITH_READER = @WITH_READER@ +WITH_REGEXPS = @WITH_REGEXPS@ +WITH_SAX1 = @WITH_SAX1@ +WITH_SCHEMAS = @WITH_SCHEMAS@ +WITH_THREADS = @WITH_THREADS@ +WITH_TREE = @WITH_TREE@ +WITH_TRIO = @WITH_TRIO@ +WITH_TRIO_SOURCES_FALSE = @WITH_TRIO_SOURCES_FALSE@ +WITH_TRIO_SOURCES_TRUE = @WITH_TRIO_SOURCES_TRUE@ +WITH_VALID = @WITH_VALID@ +WITH_WRITER = @WITH_WRITER@ +WITH_XINCLUDE = @WITH_XINCLUDE@ +WITH_XPATH = @WITH_XPATH@ +WITH_XPTR = @WITH_XPTR@ +XINCLUDE_OBJ = @XINCLUDE_OBJ@ +XML_CFLAGS = @XML_CFLAGS@ +XML_INCLUDEDIR = @XML_INCLUDEDIR@ +XML_LIBDIR = @XML_LIBDIR@ +XML_LIBS = @XML_LIBS@ +XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@ +XPATH_OBJ = @XPATH_OBJ@ +XPTR_OBJ = @XPTR_OBJ@ +Z_CFLAGS = @Z_CFLAGS@ +Z_LIBS = @Z_LIBS@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_AS = @ac_ct_AS@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DLLTOOL = @ac_ct_DLLTOOL@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_OBJDUMP = @ac_ct_OBJDUMP@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +pythondir = @pythondir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ + +# Beware this is autogenerated by index.py +INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I@srcdir@/include @THREAD_CFLAGS@ @Z_CFLAGS@ +DEPS = $(top_builddir)/libxml2.la +LDADDS = @STATIC_BINARIES@ $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm @WIN32_EXTRA_LIBADD@ +EXTRA_DIST = examples.xsl index.py test1.xml examples.xml test2.xml writer.xml test3.xml reader1.res reader3.res tree1.res tree2.res io1.res +xpath1_SOURCES = xpath1.c +xpath1_LDFLAGS = +xpath1_DEPENDENCIES = $(DEPS) +xpath1_LDADD = @RDL_LIBS@ $(LDADDS) +parse1_SOURCES = parse1.c +parse1_LDFLAGS = +parse1_DEPENDENCIES = $(DEPS) +parse1_LDADD = @RDL_LIBS@ $(LDADDS) +parse2_SOURCES = parse2.c +parse2_LDFLAGS = +parse2_DEPENDENCIES = $(DEPS) +parse2_LDADD = @RDL_LIBS@ $(LDADDS) +tree1_SOURCES = tree1.c +tree1_LDFLAGS = +tree1_DEPENDENCIES = $(DEPS) +tree1_LDADD = @RDL_LIBS@ $(LDADDS) +tree2_SOURCES = tree2.c +tree2_LDFLAGS = +tree2_DEPENDENCIES = $(DEPS) +tree2_LDADD = @RDL_LIBS@ $(LDADDS) +testWriter_SOURCES = testWriter.c +testWriter_LDFLAGS = +testWriter_DEPENDENCIES = $(DEPS) +testWriter_LDADD = @RDL_LIBS@ $(LDADDS) +reader1_SOURCES = reader1.c +reader1_LDFLAGS = +reader1_DEPENDENCIES = $(DEPS) +reader1_LDADD = @RDL_LIBS@ $(LDADDS) +reader2_SOURCES = reader2.c +reader2_LDFLAGS = +reader2_DEPENDENCIES = $(DEPS) +reader2_LDADD = @RDL_LIBS@ $(LDADDS) +reader3_SOURCES = reader3.c +reader3_LDFLAGS = +reader3_DEPENDENCIES = $(DEPS) +reader3_LDADD = @RDL_LIBS@ $(LDADDS) +io1_SOURCES = io1.c +io1_LDFLAGS = +io1_DEPENDENCIES = $(DEPS) +io1_LDADD = @RDL_LIBS@ $(LDADDS) +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/examples/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/examples/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +io1$(EXEEXT): $(io1_OBJECTS) $(io1_DEPENDENCIES) + @rm -f io1$(EXEEXT) + $(LINK) $(io1_LDFLAGS) $(io1_OBJECTS) $(io1_LDADD) $(LIBS) +parse1$(EXEEXT): $(parse1_OBJECTS) $(parse1_DEPENDENCIES) + @rm -f parse1$(EXEEXT) + $(LINK) $(parse1_LDFLAGS) $(parse1_OBJECTS) $(parse1_LDADD) $(LIBS) +parse2$(EXEEXT): $(parse2_OBJECTS) $(parse2_DEPENDENCIES) + @rm -f parse2$(EXEEXT) + $(LINK) $(parse2_LDFLAGS) $(parse2_OBJECTS) $(parse2_LDADD) $(LIBS) +reader1$(EXEEXT): $(reader1_OBJECTS) $(reader1_DEPENDENCIES) + @rm -f reader1$(EXEEXT) + $(LINK) $(reader1_LDFLAGS) $(reader1_OBJECTS) $(reader1_LDADD) $(LIBS) +reader2$(EXEEXT): $(reader2_OBJECTS) $(reader2_DEPENDENCIES) + @rm -f reader2$(EXEEXT) + $(LINK) $(reader2_LDFLAGS) $(reader2_OBJECTS) $(reader2_LDADD) $(LIBS) +reader3$(EXEEXT): $(reader3_OBJECTS) $(reader3_DEPENDENCIES) + @rm -f reader3$(EXEEXT) + $(LINK) $(reader3_LDFLAGS) $(reader3_OBJECTS) $(reader3_LDADD) $(LIBS) +testWriter$(EXEEXT): $(testWriter_OBJECTS) $(testWriter_DEPENDENCIES) + @rm -f testWriter$(EXEEXT) + $(LINK) $(testWriter_LDFLAGS) $(testWriter_OBJECTS) $(testWriter_LDADD) $(LIBS) +tree1$(EXEEXT): $(tree1_OBJECTS) $(tree1_DEPENDENCIES) + @rm -f tree1$(EXEEXT) + $(LINK) $(tree1_LDFLAGS) $(tree1_OBJECTS) $(tree1_LDADD) $(LIBS) +tree2$(EXEEXT): $(tree2_OBJECTS) $(tree2_DEPENDENCIES) + @rm -f tree2$(EXEEXT) + $(LINK) $(tree2_LDFLAGS) $(tree2_OBJECTS) $(tree2_LDADD) $(LIBS) +xpath1$(EXEEXT): $(xpath1_OBJECTS) $(xpath1_DEPENDENCIES) + @rm -f xpath1$(EXEEXT) + $(LINK) $(xpath1_LDFLAGS) $(xpath1_OBJECTS) $(xpath1_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader3.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testWriter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tree1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tree2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath1.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-data-local + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstPROGRAMS ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-data-local install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-info-am + + +rebuild: examples.xml index.html + +examples.xml: index.py *.c + -@($(srcdir)/index.py) + +index.html: examples.xml examples.xsl + -@(xsltproc examples.xsl examples.xml && echo "Rebuilt web page" && xmllint --valid --noout index.html) + +install-data-local: + $(mkinstalldirs) $(DESTDIR)$(HTML_DIR) + -@INSTALL@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR) + +tests: $(noinst_PROGRAMS) + @(echo > .memdump) + @(./parse1 test1.xml) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./parse2 test2.xml) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./tree1 test2.xml > tree1.tmp ; diff tree1.tmp tree1.res ; rm tree1.tmp) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./tree2 > tree2.tmp ; diff tree2.tmp tree2.res ; rm tree2.tmp) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./testWriter ; for i in 1 2 3 4 ; do diff writer.xml writer$$i.res ; done ; rm writer*.res) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./reader1 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./reader2 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./reader3 > reader3.tmp ; diff reader3.tmp reader3.res ; rm reader3.tmp) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) + @(./io1 > io1.tmp ; diff io1.tmp io1.res ; rm -f io1.tmp) + @(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0) +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/doc/examples/examples.xml b/doc/examples/examples.xml new file mode 100644 index 0000000..9c14221 --- /dev/null +++ b/doc/examples/examples.xml @@ -0,0 +1,602 @@ + + + Evaluate XPath expression and prints result node set. + Shows how to evaluate XPath expression and register known namespaces in XPath context. + xpath1 <xml-file> <xpath-expr> [<known-ns-list>] + Aleksey Sanin + see Copyright for the status of this software. +
XPath
+ + <libxml/xpath.h> + <libxml/parser.h> + <libxml/xpathInternals.h> + <libxml/tree.h> + + + + + + + + + + + + + + + + + + + + + + + + +
+ + Parse an XML file to a tree and free it + Demonstrate the use of xmlReadFile() to read an XML file into a tree and and xmlFreeDoc() to free the resulting tree + parse1 test1.xml + parse1 test1.xml + Daniel Veillard + see Copyright for the status of this software. +
Parsing
+ + <libxml/tree.h> + <libxml/parser.h> + + + + + + + + + +
+ + Parse and validate an XML file to a tree and free the result + Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree. + parse2 test2.xml + parse2 test2.xml + Daniel Veillard + see Copyright for the status of this software. +
Parsing
+ + <libxml/tree.h> + <libxml/parser.h> + + + + + + + + + + + + + +
+ + Navigates a tree to print element names + Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order. + tree1 filename_or_URL + tree1 test2.xml > tree1.tmp ; diff tree1.tmp tree1.res ; rm tree1.tmp + Dodji Seketeli + see Copyright for the status of this software. +
Tree
+ + <libxml/tree.h> + <libxml/parser.h> + + + + + + + + + +
+ + Creates a tree + Shows how to create document, nodes and dump it to stdout or file. + tree2 <filename> -Default output: stdout + tree2 > tree2.tmp ; diff tree2.tmp tree2.res ; rm tree2.tmp + Lucas Brasilino <brasilino@recife.pe.gov.br> + see Copyright for the status of this software +
Tree
+ + <libxml/tree.h> + <libxml/parser.h> + + + + + + + + + + + + + + + + +
+ + use various APIs for the xmlWriter + tests a number of APIs for the xmlWriter, especially the various methods to write to a filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string conversions too. The resulting documents are then serialized. + testWriter + testWriter ; for i in 1 2 3 4 ; do diff writer.xml writer$$i.res ; done ; rm writer*.res + Alfred Mickautsch + see Copyright for the status of this software. +
xmlWriter
+ + <libxml/encoding.h> + <libxml/xmlwriter.h> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + Parse an XML file with an xmlReader + Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the informations about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.) + reader1 <filename> + reader1 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp + Daniel Veillard + see Copyright for the status of this software. +
xmlReader
+ + <libxml/xmlreader.h> + + + + + + + + + + + + + + + +
+ + Parse and validate an XML file with an xmlReader + Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.) + reader2 <valid_xml_filename> + reader2 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp + Daniel Veillard + see Copyright for the status of this software. +
xmlReader
+ + <libxml/xmlreader.h> + + + + + + + + + + + + + + + + + + +
+ + Show how to extract subdocuments with xmlReader + Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions require libxml2 version later than 2.6.) + reader3 + reader3 > reader3.tmp ; diff reader3.tmp reader3.res ; rm reader3.tmp + Daniel Veillard + see Copyright for the status of this software. +
xmlReader
+ + <libxml/xmlreader.h> + + + + + + + + + + + +
+ + Example of custom Input/Output + Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way. + io1 + io1 > io1.tmp ; diff io1.tmp io1.res ; rm -f io1.tmp + Daniel Veillard + see Copyright for the status of this software. +
InputOutput
+ + <libxml/parser.h> + <libxml/xinclude.h> + <libxml/tree.h> + <libxml/xmlIO.h> + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + +
+
+ + +
+
+ +
+
+ + + +
+
+ +
+
+
diff --git a/doc/examples/examples.xsl b/doc/examples/examples.xsl new file mode 100644 index 0000000..e4ccfd3 --- /dev/null +++ b/doc/examples/examples.xsl @@ -0,0 +1,169 @@ + + + + + + ../ + Examples Menu + + +
+ + +
+ +
+ + + + +
  • +
    + + + + + +
  • line : Type from
  • +
    + + + + + +
  • line : Function from
  • +
    + + + + + +
  • line : Macro from
  • +
    + + + +

    :

    +

    +

    Includes:

    +
      + + + +
    +

    Uses:

    +
      + + + + +
    +

    Usage:

    +

    +

    Author:

    +
    + + +
  • :

    +
      + + + +
    • :
    • +
      +
    +
  • +
    + + +

    The examples are stored per section depending on the main focus + of the example:

    +
      + + + + +
    +
    + + + + +

    Examples

    + +
    +
    + + + Libxml2 set of examples + + + + + + + + + + + + + + + + +
    + + + + + +
    + + + + + + +
    + + + + +
    + + + + +
    + + +

    Daniel Veillard

    +
    +
    +
    +
    +
    + + +
    +
    + +
    diff --git a/doc/examples/index.py b/doc/examples/index.py new file mode 100755 index 0000000..c3a85de --- /dev/null +++ b/doc/examples/index.py @@ -0,0 +1,296 @@ +#!/usr/bin/python -u +# +# Indexes the examples and build an XML description +# +import string +import glob +import sys +try: + import libxml2 +except: + sys.exit(1) +sys.path.append("..") +from apibuild import CParser, escape + +examples = [] +extras = ['examples.xsl', 'index.py'] +tests = [] +sections = {} +symbols = {} +api_dict = None +api_doc = None + +def load_api(): + global api_dict + global api_doc + + if api_dict != None: + return + api_dict = {} + try: + print "loading ../libxml2-api.xml" + api_doc = libxml2.parseFile("../libxml2-api.xml") + except: + print "failed to parse ../libxml2-api.xml" + sys.exit(1) + +def find_symbol(name): + global api_dict + global api_doc + + if api_doc == None: + load_api() + + if name == None: + return + if api_dict.has_key(name): + return api_dict[name] + ctxt = api_doc.xpathNewContext() + res = ctxt.xpathEval("/api/symbols/*[@name = '%s']" % (name)) + if type(res) == type([]) and len(res) >= 1: + if len(res) > 1: + print "Found %d references to %s in the API" % (len(res), name) + node = res[0] + typ = node.name + file = node.xpathEval("string(@file)") + info = node.xpathEval("string(info)") + else: + print "Reference %s not found in the API" % (name) + return None + ret = (typ, file, info) + api_dict[name] = ret + return ret + +def parse_top_comment(filename, comment): + res = {} + lines = string.split(comment, "\n") + item = None + for line in lines: + while line != "" and (line[0] == ' ' or line[0] == '\t'): + line = line[1:] + while line != "" and line[0] == '*': + line = line[1:] + while line != "" and (line[0] == ' ' or line[0] == '\t'): + line = line[1:] + try: + (it, line) = string.split(line, ":", 1) + item = it + while line != "" and (line[0] == ' ' or line[0] == '\t'): + line = line[1:] + if res.has_key(item): + res[item] = res[item] + " " + line + else: + res[item] = line + except: + if item != None: + if res.has_key(item): + res[item] = res[item] + " " + line + else: + res[item] = line + return res + +def parse(filename, output): + global symbols + global sections + + parser = CParser(filename) + parser.collect_references() + idx = parser.parse() + info = parse_top_comment(filename, parser.top_comment) + output.write(" \n" % filename) + try: + synopsis = info['synopsis'] + output.write(" %s\n" % escape(synopsis)); + except: + print "Example %s lacks a synopsis description" % (filename) + try: + purpose = info['purpose'] + output.write(" %s\n" % escape(purpose)); + except: + print "Example %s lacks a purpose description" % (filename) + try: + usage = info['usage'] + output.write(" %s\n" % escape(usage)); + except: + print "Example %s lacks an usage description" % (filename) + try: + test = info['test'] + output.write(" %s\n" % escape(test)); + progname=filename[0:-2] + command=string.replace(test, progname, './' + progname, 1) + tests.append(command) + except: + pass + try: + author = info['author'] + output.write(" %s\n" % escape(author)); + except: + print "Example %s lacks an author description" % (filename) + try: + copy = info['copy'] + output.write(" %s\n" % escape(copy)); + except: + print "Example %s lacks a copyright description" % (filename) + try: + section = info['section'] + output.write("
    %s
    \n" % escape(section)); + if sections.has_key(section): + sections[section].append(filename) + else: + sections[section] = [filename] + except: + print "Example %s lacks a section description" % (filename) + for topic in info.keys(): + if topic != "purpose" and topic != "usage" and \ + topic != "author" and topic != "copy" and \ + topic != "section" and topic != "synopsis" and topic != "test": + str = info[topic] + output.write(" %s\n" % ( + escape(topic), escape(str))) + output.write(" \n") + for include in idx.includes.keys(): + if include.find("libxml") != -1: + output.write(" %s\n" % (escape(include))) + output.write(" \n") + output.write(" \n") + for ref in idx.references.keys(): + id = idx.references[ref] + name = id.get_name() + line = id.get_lineno() + if symbols.has_key(name): + sinfo = symbols[name] + refs = sinfo[0] + # gather at most 5 references per symbols + if refs > 5: + continue + sinfo.append(filename) + sinfo[0] = refs + 1 + else: + symbols[name] = [1, filename] + info = find_symbol(name) + if info != None: + type = info[0] + file = info[1] + output.write(" <%s line='%d' file='%s' name='%s'/>\n" % (type, + line, file, name)) + else: + type = id.get_type() + output.write(" <%s line='%d' name='%s'/>\n" % (type, + line, name)) + + output.write(" \n") + output.write("
    \n") + + return idx + +def dump_symbols(output): + global symbols + + output.write(" \n") + keys = symbols.keys() + keys.sort() + for symbol in keys: + output.write(" \n" % (symbol)) + info = symbols[symbol] + i = 1 + while i < len(info): + output.write(" \n" % (info[i])) + i = i + 1 + output.write(" \n") + output.write(" \n") + +def dump_sections(output): + global sections + + output.write(" \n") + keys = sections.keys() + keys.sort() + for section in keys: + output.write("
    \n" % (section)) + info = sections[section] + i = 0 + while i < len(info): + output.write(" \n" % (info[i])) + i = i + 1 + output.write("
    \n") + output.write("
    \n") + +def dump_Makefile(): + for file in glob.glob('*.xml'): + extras.append(file) + for file in glob.glob('*.res'): + extras.append(file) + Makefile="""# Beware this is autogenerated by index.py +INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I@srcdir@/include @THREAD_CFLAGS@ @Z_CFLAGS@ +DEPS = $(top_builddir)/libxml2.la +LDADDS = @STATIC_BINARIES@ $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm @WIN32_EXTRA_LIBADD@ + +rebuild: examples.xml index.html + +examples.xml: index.py *.c + -@($(srcdir)/index.py) + +index.html: examples.xml examples.xsl + -@(xsltproc examples.xsl examples.xml && echo "Rebuilt web page" && xmllint --valid --noout index.html) + +install-data-local: + $(mkinstalldirs) $(DESTDIR)$(HTML_DIR) + -@INSTALL@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR) + +""" + EXTRA_DIST="" + for extra in extras: + EXTRA_DIST = EXTRA_DIST + extra + " " + Makefile = Makefile + "EXTRA_DIST=%s\n\n" % (EXTRA_DIST) + noinst_PROGRAMS="" + for example in examples: + noinst_PROGRAMS = noinst_PROGRAMS + example + " " + Makefile = Makefile + "noinst_PROGRAMS=%s\n\n" % (noinst_PROGRAMS) + for example in examples: + Makefile = Makefile + "%s_SOURCES=%s.c\n%s_LDFLAGS=\n%s_DEPENDENCIES= $(DEPS)\n%s_LDADD= @RDL_LIBS@ $(LDADDS)\n\n" % (example, example, example, + example, example) + Makefile = Makefile + "tests: $(noinst_PROGRAMS)\n" + Makefile = Makefile + "\t@(echo > .memdump)\n" + for test in tests: + Makefile = Makefile + "\t@(%s)\n" % (test) + Makefile = Makefile + '\t@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)\n' + Makefile = Makefile + "\n\n" + try: + old = open("Makefile.am", "r").read() + if old != Makefile: + n = open("Makefile.am", "w").write(Makefile) + print "Updated Makefile.am" + except: + print "Failed to read or save Makefile.am" + # + # Autogenerate the .cvsignore too ... + # + ignore = """.memdump +Makefile.in +Makefile +""" + for example in examples: + ignore = ignore + "%s\n" % (example) + try: + old = open(".cvsignore", "r").read() + if old != ignore: + n = open(".cvsignore", "w").write(ignore) + print "Updated .cvsignore" + except: + print "Failed to read or save .cvsignore" + +if __name__ == "__main__": + load_api() + output = open("examples.xml", "w") + output.write("\n") + + for file in glob.glob('*.c'): + parse(file, output) + examples.append(file[:-2]) + + dump_symbols(output) + dump_sections(output) + output.write("\n") + output.close() + dump_Makefile() + diff --git a/doc/examples/io1.c b/doc/examples/io1.c new file mode 100644 index 0000000..c8a47e3 --- /dev/null +++ b/doc/examples/io1.c @@ -0,0 +1,166 @@ +/** + * section: InputOutput + * synopsis: Example of custom Input/Output + * purpose: Demonstrate the use of xmlRegisterInputCallbacks + * to build a custom I/O layer, this is used in an + * XInclude method context to show how dynamic document can + * be built in a clean way. + * usage: io1 + * test: io1 > io1.tmp ; diff io1.tmp io1.res ; rm -f io1.tmp + * author: Daniel Veillard + * copy: see Copyright for the status of this software. + */ + +#include +#include +#include +#include +#include +#include + +#ifdef LIBXML_XINCLUDE_ENABLED +static const char *result = "ab"; +static const char *cur = NULL; +static int rlen; + +/** + * sqlMatch: + * @URI: an URI to test + * + * Check for an sql: query + * + * Returns 1 if yes and 0 if another Input module should be used + */ +static int +sqlMatch(const char * URI) { + if ((URI != NULL) && (!strncmp(URI, "sql:", 4))) + return(1); + return(0); +} + +/** + * sqlOpen: + * @URI: an URI to test + * + * Return a pointer to the sql: query handler, in this example simply + * the current pointer... + * + * Returns an Input context or NULL in case or error + */ +static void * +sqlOpen(const char * URI) { + if ((URI == NULL) || (strncmp(URI, "sql:", 4))) + return(NULL); + cur = result; + rlen = strlen(result); + return((void *) cur); +} + +/** + * sqlClose: + * @context: the read context + * + * Close the sql: query handler + * + * Returns 0 or -1 in case of error + */ +static int +sqlClose(void * context) { + if (context == NULL) return(-1); + cur = NULL; + rlen = 0; + return(0); +} + +/** + * sqlRead: + * @context: the read context + * @buffer: where to store data + * @len: number of bytes to read + * + * Implement an sql: query read. + * + * Returns the number of bytes read or -1 in case of error + */ +static int +sqlRead(void * context, char * buffer, int len) { + const char *ptr = (const char *) context; + + if ((context == NULL) || (buffer == NULL) || (len < 0)) + return(-1); + + if (len > rlen) len = rlen; + memcpy(buffer, ptr, len); + rlen -= len; + return(len); +} + +const char *include = "\n\ +\n\ +

    List of people:

    \n\ + \n\ +
    \n"; + +int main(void) { + xmlDocPtr doc; + + /* + * this initialize the library and check potential ABI mismatches + * between the version it was compiled for and the actual shared + * library used. + */ + LIBXML_TEST_VERSION + + /* + * register the new I/O handlers + */ + if (xmlRegisterInputCallbacks(sqlMatch, sqlOpen, sqlRead, sqlClose) < 0) { + fprintf(stderr, "failed to register SQL handler\n"); + exit(1); + } + /* + * parse include into a document + */ + doc = xmlReadMemory(include, strlen(include), "include.xml", NULL, 0); + if (doc == NULL) { + fprintf(stderr, "failed to parse the including file\n"); + exit(1); + } + + /* + * apply the XInclude process, this should trigger the I/O just + * registered. + */ + if (xmlXIncludeProcess(doc) <= 0) { + fprintf(stderr, "XInclude processing failed\n"); + exit(1); + } + +#ifdef LIBXML_OUTPUT_ENABLED + /* + * save the output for checking to stdout + */ + xmlDocDump(stdout, doc); +#endif + + /* + * Free the document + */ + xmlFreeDoc(doc); + + /* + * Cleanup function for the XML library. + */ + xmlCleanupParser(); + /* + * this is to debug memory for regression tests + */ + xmlMemoryDump(); + return(0); +} +#else +int main(void) { + fprintf(stderr, "XInclude support not compiled in\n"); + exit(1); +} +#endif diff --git a/doc/examples/io1.res b/doc/examples/io1.res new file mode 100644 index 0000000..4a4c036 --- /dev/null +++ b/doc/examples/io1.res @@ -0,0 +1,5 @@ + + +

    List of people:

    + ab +
    diff --git a/doc/examples/parse1.c b/doc/examples/parse1.c new file mode 100644 index 0000000..b44b03b --- /dev/null +++ b/doc/examples/parse1.c @@ -0,0 +1,56 @@ +/** + * section: Parsing + * synopsis: Parse an XML file to a tree and free it + * purpose: Demonstrate the use of xmlReadFile() to read an XML file + * into a tree and and xmlFreeDoc() to free the resulting tree + * usage: parse1 test1.xml + * test: parse1 test1.xml + * author: Daniel Veillard + * copy: see Copyright for the status of this software. + */ + +#include +#include +#include + +/** + * example1Func: + * @filename: a filename or an URL + * + * Parse the resource and free the resulting tree + */ +static void +example1Func(const char *filename) { + xmlDocPtr doc; /* the resulting document tree */ + + doc = xmlReadFile(filename, NULL, 0); + if (doc == NULL) { + fprintf(stderr, "Failed to parse %s\n", filename); + return; + } + xmlFreeDoc(doc); +} + +int main(int argc, char **argv) { + if (argc != 2) + return(1); + + /* + * this initialize the library and check potential ABI mismatches + * between the version it was compiled for and the actual shared + * library used. + */ + LIBXML_TEST_VERSION + + example1Func(argv[1]); + + /* + * Cleanup function for the XML library. + */ + xmlCleanupParser(); + /* + * this is to debug memory for regression tests + */ + xmlMemoryDump(); + return(0); +} diff --git a/doc/examples/parse2.c b/doc/examples/parse2.c new file mode 100644 index 0000000..aed7676 --- /dev/null +++ b/doc/examples/parse2.c @@ -0,0 +1,72 @@ +/** + * section: Parsing + * synopsis: Parse and validate an XML file to a tree and free the result + * purpose: Create a parser context for an XML file, then parse and validate + * the file, creating a tree, check the validation result + * and xmlFreeDoc() to free the resulting tree. + * usage: parse2 test2.xml + * test: parse2 test2.xml + * author: Daniel Veillard + * copy: see Copyright for the status of this software. + */ + +#include +#include +#include + +/** + * exampleFunc: + * @filename: a filename or an URL + * + * Parse and validate the resource and free the resulting tree + */ +static void +exampleFunc(const char *filename) { + xmlParserCtxtPtr ctxt; /* the parser context */ + xmlDocPtr doc; /* the resulting document tree */ + + /* create a parser context */ + ctxt = xmlNewParserCtxt(); + if (ctxt == NULL) { + fprintf(stderr, "Failed to allocate parser context\n"); + return; + } + /* parse the file, activating the DTD validation option */ + doc = xmlCtxtReadFile(ctxt, filename, NULL, XML_PARSE_DTDVALID); + /* check if parsing suceeded */ + if (doc == NULL) { + fprintf(stderr, "Failed to parse %s\n", filename); + } else { + /* check if validation suceeded */ + if (ctxt->valid == 0) + fprintf(stderr, "Failed to validate %s\n", filename); + /* free up the resulting document */ + xmlFreeDoc(doc); + } + /* free up the parser context */ + xmlFreeParserCtxt(ctxt); +} + +int main(int argc, char **argv) { + if (argc != 2) + return(1); + + /* + * this initialize the library and check potential ABI mismatches + * between the version it was compiled for and the actual shared + * library used. + */ + LIBXML_TEST_VERSION + + exampleFunc(argv[1]); + + /* + * Cleanup function for the XML library. + */ + xmlCleanupParser(); + /* + * this is to debug memory for regression tests + */ + xmlMemoryDump(); + return(0); +} diff --git a/doc/examples/reader1.c b/doc/examples/reader1.c new file mode 100644 index 0000000..90db2a1 --- /dev/null +++ b/doc/examples/reader1.c @@ -0,0 +1,107 @@ +/** + * section: xmlReader + * synopsis: Parse an XML file with an xmlReader + * purpose: Demonstrate the use of xmlReaderForFile() to parse an XML file + * and dump the informations about the nodes found in the process. + * (Note that the XMLReader functions require libxml2 version later + * than 2.6.) + * usage: reader1 + * test: reader1 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp + * author: Daniel Veillard + * copy: see Copyright for the status of this software. + */ + +#include +#include + +#ifdef LIBXML_READER_ENABLED + +/** + * processNode: + * @reader: the xmlReader + * + * Dump information about the current node + */ +static void +processNode(xmlTextReaderPtr reader) { + const xmlChar *name, *value; + + name = xmlTextReaderConstName(reader); + if (name == NULL) + name = BAD_CAST "--"; + + value = xmlTextReaderConstValue(reader); + + printf("%d %d %s %d %d", + xmlTextReaderDepth(reader), + xmlTextReaderNodeType(reader), + name, + xmlTextReaderIsEmptyElement(reader), + xmlTextReaderHasValue(reader)); + if (value == NULL) + printf("\n"); + else { + if (xmlStrlen(value) > 40) + printf(" %.40s...\n", value); + else + printf(" %s\n", value); + } +} + +/** + * streamFile: + * @filename: the file name to parse + * + * Parse and print information about an XML file. + */ +static void +streamFile(const char *filename) { + xmlTextReaderPtr reader; + int ret; + + reader = xmlReaderForFile(filename, NULL, 0); + if (reader != NULL) { + ret = xmlTextReaderRead(reader); + while (ret == 1) { + processNode(reader); + ret = xmlTextReaderRead(reader); + } + xmlFreeTextReader(reader); + if (ret != 0) { + fprintf(stderr, "%s : failed to parse\n", filename); + } + } else { + fprintf(stderr, "Unable to open %s\n", filename); + } +} + +int main(int argc, char **argv) { + if (argc != 2) + return(1); + + /* + * this initialize the library and check potential ABI mismatches + * between the version it was compiled for and the actual shared + * library used. + */ + LIBXML_TEST_VERSION + + streamFile(argv[1]); + + /* + * Cleanup function for the XML library. + */ + xmlCleanupParser(); + /* + * this is to debug memory for regression tests + */ + xmlMemoryDump(); + return(0); +} + +#else +int main(void) { + fprintf(stderr, "XInclude support not compiled in\n"); + exit(1); +} +#endif diff --git a/doc/examples/reader1.res b/doc/examples/reader1.res new file mode 100644 index 0000000..eb48d85 --- /dev/null +++ b/doc/examples/reader1.res @@ -0,0 +1,14 @@ +0 10 doc 0 0 +0 1 doc 0 0 +1 14 #text 0 1 + +1 1 src 1 0 +1 14 #text 0 1 + +1 1 dest 1 0 +1 14 #text 0 1 + +1 1 src 1 0 +1 14 #text 0 1 + +0 15 doc 0 0 diff --git a/doc/examples/reader2.c b/doc/examples/reader2.c new file mode 100644 index 0000000..c32ada5 --- /dev/null +++ b/doc/examples/reader2.c @@ -0,0 +1,122 @@ +/** + * section: xmlReader + * synopsis: Parse and validate an XML file with an xmlReader + * purpose: Demonstrate the use of xmlReaderForFile() to parse an XML file + * validating the content in the process and activating options + * like entities substitution, and DTD attributes defaulting. + * (Note that the XMLReader functions require libxml2 version later + * than 2.6.) + * usage: reader2 + * test: reader2 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp + * author: Daniel Veillard + * copy: see Copyright for the status of this software. + */ + +#include +#include + +#ifdef LIBXML_READER_ENABLED + +/** + * processNode: + * @reader: the xmlReader + * + * Dump information about the current node + */ +static void +processNode(xmlTextReaderPtr reader) { + const xmlChar *name, *value; + + name = xmlTextReaderConstName(reader); + if (name == NULL) + name = BAD_CAST "--"; + + value = xmlTextReaderConstValue(reader); + + printf("%d %d %s %d %d", + xmlTextReaderDepth(reader), + xmlTextReaderNodeType(reader), + name, + xmlTextReaderIsEmptyElement(reader), + xmlTextReaderHasValue(reader)); + if (value == NULL) + printf("\n"); + else { + if (xmlStrlen(value) > 40) + printf(" %.40s...\n", value); + else + printf(" %s\n", value); + } +} + +/** + * streamFile: + * @filename: the file name to parse + * + * Parse, validate and print information about an XML file. + */ +static void +streamFile(const char *filename) { + xmlTextReaderPtr reader; + int ret; + + + /* + * Pass some special parsing options to activate DTD attribute defaulting, + * entities substitution and DTD validation + */ + reader = xmlReaderForFile(filename, NULL, + XML_PARSE_DTDATTR | /* default DTD attributes */ + XML_PARSE_NOENT | /* substitute entities */ + XML_PARSE_DTDVALID); /* validate with the DTD */ + if (reader != NULL) { + ret = xmlTextReaderRead(reader); + while (ret == 1) { + processNode(reader); + ret = xmlTextReaderRead(reader); + } + /* + * Once the document has been fully parsed check the validation results + */ + if (xmlTextReaderIsValid(reader) != 1) { + fprintf(stderr, "Document %s does not validate\n", filename); + } + xmlFreeTextReader(reader); + if (ret != 0) { + fprintf(stderr, "%s : failed to parse\n", filename); + } + } else { + fprintf(stderr, "Unable to open %s\n", filename); + } +} + +int main(int argc, char **argv) { + if (argc != 2) + return(1); + + /* + * this initialize the library and check potential ABI mismatches + * between the version it was compiled for and the actual shared + * library used. + */ + LIBXML_TEST_VERSION + + streamFile(argv[1]); + + /* + * Cleanup function for the XML library. + */ + xmlCleanupParser(); + /* + * this is to debug memory for regression tests + */ + xmlMemoryDump(); + return(0); +} + +#else +int main(void) { + fprintf(stderr, "XInclude support not compiled in\n"); + exit(1); +} +#endif diff --git a/doc/examples/reader3.c b/doc/examples/reader3.c new file mode 100644 index 0000000..2da7532 --- /dev/null +++ b/doc/examples/reader3.c @@ -0,0 +1,119 @@ +/** + * section: xmlReader + * synopsis: Show how to extract subdocuments with xmlReader + * purpose: Demonstrate the use of xmlTextReaderPreservePattern() + * to parse an XML file with the xmlReader while collecting + * only some subparts of the document. + * (Note that the XMLReader functions require libxml2 version later + * than 2.6.) + * usage: reader3 + * test: reader3 > reader3.tmp ; diff reader3.tmp reader3.res ; rm reader3.tmp + * author: Daniel Veillard + * copy: see Copyright for the status of this software. + */ + +#include +#include + +#ifdef LIBXML_READER_ENABLED + +/** + * streamFile: + * @filename: the file name to parse + * + * Parse and print information about an XML file. + * + * Returns the resulting doc with just the elements preserved. + */ +static xmlDocPtr +extractFile(const char *filename, const xmlChar *pattern) { + xmlDocPtr doc; + xmlTextReaderPtr reader; + int ret; + + /* + * build an xmlReader for that file + */ + reader = xmlReaderForFile(filename, NULL, 0); + if (reader != NULL) { + /* + * add the pattern to preserve + */ + if (xmlTextReaderPreservePattern(reader, pattern, NULL) < 0) { + fprintf(stderr, "%s : failed add preserve pattern %s\n", + filename, (const char *) pattern); + } + /* + * Parse and traverse the tree, collecting the nodes in the process + */ + ret = xmlTextReaderRead(reader); + while (ret == 1) { + ret = xmlTextReaderRead(reader); + } + if (ret != 0) { + fprintf(stderr, "%s : failed to parse\n", filename); + xmlFreeTextReader(reader); + return(NULL); + } + /* + * get the resulting nodes + */ + doc = xmlTextReaderCurrentDoc(reader); + /* + * Free up the reader + */ + xmlFreeTextReader(reader); + } else { + fprintf(stderr, "Unable to open %s\n", filename); + return(NULL); + } + return(doc); +} + +int main(int argc, char **argv) { + const char *filename = "test3.xml"; + const char *pattern = "preserved"; + xmlDocPtr doc; + + if (argc == 3) { + filename = argv[1]; + pattern = argv[2]; + } + + /* + * this initialize the library and check potential ABI mismatches + * between the version it was compiled for and the actual shared + * library used. + */ + LIBXML_TEST_VERSION + + doc = extractFile(filename, (const xmlChar *) pattern); + if (doc != NULL) { + /* + * ouptut the result. + */ + xmlDocDump(stdout, doc); + /* + * don't forget to free up the doc + */ + xmlFreeDoc(doc); + } + + + /* + * Cleanup function for the XML library. + */ + xmlCleanupParser(); + /* + * this is to debug memory for regression tests + */ + xmlMemoryDump(); + return(0); +} + +#else +int main(void) { + fprintf(stderr, "XInclude support not compiled in\n"); + exit(1); +} +#endif diff --git a/doc/examples/reader3.res b/doc/examples/reader3.res new file mode 100644 index 0000000..20e2e82 --- /dev/null +++ b/doc/examples/reader3.res @@ -0,0 +1,13 @@ + + + content1 + + content2 + too + content3 + + content4 + + content5 + content6 + diff --git a/doc/examples/test1.xml b/doc/examples/test1.xml new file mode 100644 index 0000000..69d62f2 --- /dev/null +++ b/doc/examples/test1.xml @@ -0,0 +1 @@ + diff --git a/doc/examples/test2.xml b/doc/examples/test2.xml new file mode 100644 index 0000000..7390f5e --- /dev/null +++ b/doc/examples/test2.xml @@ -0,0 +1,13 @@ + + + + + +]> + + + + + + diff --git a/doc/examples/test3.xml b/doc/examples/test3.xml new file mode 100644 index 0000000..4d0828f --- /dev/null +++ b/doc/examples/test3.xml @@ -0,0 +1,39 @@ + + + + + + + This text node must be discarded + + + + + content1 + + content2 + too + content3 + + content4 + + content5 + content6 + + This text node must be discarded + + + + This text node must be discarded + + This text node must be discarded + + This text node must be discarded + + + + This text node must be discarded + + + + diff --git a/doc/examples/testWriter.c b/doc/examples/testWriter.c new file mode 100644 index 0000000..02f9eb7 --- /dev/null +++ b/doc/examples/testWriter.c @@ -0,0 +1,1198 @@ +/** + * section: xmlWriter + * synopsis: use various APIs for the xmlWriter + * purpose: tests a number of APIs for the xmlWriter, especially + * the various methods to write to a filename, to a memory + * buffer, to a new document, or to a subtree. It shows how to + * do encoding string conversions too. The resulting + * documents are then serialized. + * usage: testWriter + * test: testWriter ; for i in 1 2 3 4 ; do diff writer.xml writer$$i.res ; done ; rm writer*.res + * author: Alfred Mickautsch + * copy: see Copyright for the status of this software. + */ +#include +#include +#include +#include + +#if defined(LIBXML_WRITER_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) + +#define MY_ENCODING "ISO-8859-1" + +void testXmlwriterFilename(const char *uri); +void testXmlwriterMemory(const char *file); +void testXmlwriterDoc(const char *file); +void testXmlwriterTree(const char *file); +xmlChar *ConvertInput(const char *in, const char *encoding); + +int +main(void) +{ + /* + * this initialize the library and check potential ABI mismatches + * between the version it was compiled for and the actual shared + * library used. + */ + LIBXML_TEST_VERSION + + /* first, the file version */ + testXmlwriterFilename("writer1.res"); + + /* next, the memory version */ + testXmlwriterMemory("writer2.res"); + + /* next, the DOM version */ + testXmlwriterDoc("writer3.res"); + + /* next, the tree version */ + testXmlwriterTree("writer4.res"); + + /* + * Cleanup function for the XML library. + */ + xmlCleanupParser(); + /* + * this is to debug memory for regression tests + */ + xmlMemoryDump(); + return 0; +} + +/** + * testXmlwriterFilename: + * @uri: the output URI + * + * test the xmlWriter interface when writing to a new file + */ +void +testXmlwriterFilename(const char *uri) +{ + int rc; + xmlTextWriterPtr writer; + xmlChar *tmp; + + /* Create a new XmlWriter for uri, with no compression. */ + writer = xmlNewTextWriterFilename(uri, 0); + if (writer == NULL) { + printf("testXmlwriterFilename: Error creating the xml writer\n"); + return; + } + + /* Start the document with the xml default for the version, + * encoding ISO 8858-1 and the default for the standalone + * declaration. */ + rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterStartDocument\n"); + return; + } + + /* Start an element named "EXAMPLE". Since thist is the first + * element, this will be the root element of the document. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write a comment as child of EXAMPLE. + * Please observe, that the input to the xmlTextWriter functions + * HAS to be in UTF-8, even if the output XML is encoded + * in iso-8859-1 */ + tmp = ConvertInput("This is a comment with special chars: <äöü>", + MY_ENCODING); + rc = xmlTextWriterWriteComment(writer, tmp); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterWriteComment\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Start an element named "ORDER" as child of EXAMPLE. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Add an attribute with name "version" and value "1.0" to ORDER. */ + rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", + BAD_CAST "1.0"); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n"); + return; + } + + /* Add an attribute with name "xml:lang" and value "de" to ORDER. */ + rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", + BAD_CAST "de"); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n"); + return; + } + + /* Write a comment as child of ORDER */ + tmp = ConvertInput("<äöü>", MY_ENCODING); + rc = xmlTextWriterWriteFormatComment(writer, + "This is another comment with special chars: %s", + tmp); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatComment\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Start an element named "HEADER" as child of ORDER. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "X_ORDER_ID" as child of HEADER. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", + "%010d", 53535L); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Write an element named "CUSTOMER_ID" as child of HEADER. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", + "%d", 1010); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Write an element named "NAME_1" as child of HEADER. */ + tmp = ConvertInput("Müller", MY_ENCODING); + rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Write an element named "NAME_2" as child of HEADER. */ + tmp = ConvertInput("Jörg", MY_ENCODING); + rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Close the element named HEADER. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Start an element named "ENTRIES" as child of ORDER. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Start an element named "ENTRY" as child of ENTRIES. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "ARTICLE" as child of ENTRY. */ + rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", + BAD_CAST ""); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); + return; + } + + /* Write an element named "ENTRY_NO" as child of ENTRY. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", + 10); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Close the element named ENTRY. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Start an element named "ENTRY" as child of ENTRIES. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "ARTICLE" as child of ENTRY. */ + rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", + BAD_CAST ""); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); + return; + } + + /* Write an element named "ENTRY_NO" as child of ENTRY. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", + 20); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Close the element named ENTRY. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Close the element named ENTRIES. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Start an element named "FOOTER" as child of ORDER. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "TEXT" as child of FOOTER. */ + rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", + BAD_CAST "This is a text."); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); + return; + } + + /* Close the element named FOOTER. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Here we could close the elements ORDER and EXAMPLE using the + * function xmlTextWriterEndElement, but since we do not want to + * write any other elements, we simply call xmlTextWriterEndDocument, + * which will do all the work. */ + rc = xmlTextWriterEndDocument(writer); + if (rc < 0) { + printf + ("testXmlwriterFilename: Error at xmlTextWriterEndDocument\n"); + return; + } + + xmlFreeTextWriter(writer); +} + +/** + * testXmlwriterMemory: + * @file: the output file + * + * test the xmlWriter interface when writing to memory + */ +void +testXmlwriterMemory(const char *file) +{ + int rc; + xmlTextWriterPtr writer; + xmlBufferPtr buf; + xmlChar *tmp; + FILE *fp; + + /* Create a new XML buffer, to which the XML document will be + * written */ + buf = xmlBufferCreate(); + if (buf == NULL) { + printf("testXmlwriterMemory: Error creating the xml buffer\n"); + return; + } + + /* Create a new XmlWriter for memory, with no compression. + * Remark: there is no compression for this kind of xmlTextWriter */ + writer = xmlNewTextWriterMemory(buf, 0); + if (writer == NULL) { + printf("testXmlwriterMemory: Error creating the xml writer\n"); + return; + } + + /* Start the document with the xml default for the version, + * encoding ISO 8858-1 and the default for the standalone + * declaration. */ + rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterStartDocument\n"); + return; + } + + /* Start an element named "EXAMPLE". Since thist is the first + * element, this will be the root element of the document. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write a comment as child of EXAMPLE. + * Please observe, that the input to the xmlTextWriter functions + * HAS to be in UTF-8, even if the output XML is encoded + * in iso-8859-1 */ + tmp = ConvertInput("This is a comment with special chars: <äöü>", + MY_ENCODING); + rc = xmlTextWriterWriteComment(writer, tmp); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterWriteComment\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Start an element named "ORDER" as child of EXAMPLE. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Add an attribute with name "version" and value "1.0" to ORDER. */ + rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", + BAD_CAST "1.0"); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n"); + return; + } + + /* Add an attribute with name "xml:lang" and value "de" to ORDER. */ + rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", + BAD_CAST "de"); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n"); + return; + } + + /* Write a comment as child of ORDER */ + tmp = ConvertInput("<äöü>", MY_ENCODING); + rc = xmlTextWriterWriteFormatComment(writer, + "This is another comment with special chars: %s", + tmp); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatComment\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Start an element named "HEADER" as child of ORDER. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "X_ORDER_ID" as child of HEADER. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", + "%010d", 53535L); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Write an element named "CUSTOMER_ID" as child of HEADER. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", + "%d", 1010); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Write an element named "NAME_1" as child of HEADER. */ + tmp = ConvertInput("Müller", MY_ENCODING); + rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Write an element named "NAME_2" as child of HEADER. */ + tmp = ConvertInput("Jörg", MY_ENCODING); + rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp); + + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Close the element named HEADER. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Start an element named "ENTRIES" as child of ORDER. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Start an element named "ENTRY" as child of ENTRIES. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "ARTICLE" as child of ENTRY. */ + rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", + BAD_CAST ""); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); + return; + } + + /* Write an element named "ENTRY_NO" as child of ENTRY. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", + 10); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Close the element named ENTRY. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Start an element named "ENTRY" as child of ENTRIES. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "ARTICLE" as child of ENTRY. */ + rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", + BAD_CAST ""); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); + return; + } + + /* Write an element named "ENTRY_NO" as child of ENTRY. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", + 20); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Close the element named ENTRY. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Close the element named ENTRIES. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Start an element named "FOOTER" as child of ORDER. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "TEXT" as child of FOOTER. */ + rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", + BAD_CAST "This is a text."); + if (rc < 0) { + printf + ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); + return; + } + + /* Close the element named FOOTER. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Here we could close the elements ORDER and EXAMPLE using the + * function xmlTextWriterEndElement, but since we do not want to + * write any other elements, we simply call xmlTextWriterEndDocument, + * which will do all the work. */ + rc = xmlTextWriterEndDocument(writer); + if (rc < 0) { + printf("testXmlwriterMemory: Error at xmlTextWriterEndDocument\n"); + return; + } + + xmlFreeTextWriter(writer); + + fp = fopen(file, "w"); + if (fp == NULL) { + printf("testXmlwriterMemory: Error at fopen\n"); + return; + } + + fprintf(fp, "%s", (const char *) buf->content); + + fclose(fp); + + xmlBufferFree(buf); +} + +/** + * testXmlwriterDoc: + * @file: the output file + * + * test the xmlWriter interface when creating a new document + */ +void +testXmlwriterDoc(const char *file) +{ + int rc; + xmlTextWriterPtr writer; + xmlChar *tmp; + xmlDocPtr doc; + + + /* Create a new XmlWriter for DOM, with no compression. */ + writer = xmlNewTextWriterDoc(&doc, 0); + if (writer == NULL) { + printf("testXmlwriterDoc: Error creating the xml writer\n"); + return; + } + + /* Start the document with the xml default for the version, + * encoding ISO 8858-1 and the default for the standalone + * declaration. */ + rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterStartDocument\n"); + return; + } + + /* Start an element named "EXAMPLE". Since thist is the first + * element, this will be the root element of the document. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write a comment as child of EXAMPLE. + * Please observe, that the input to the xmlTextWriter functions + * HAS to be in UTF-8, even if the output XML is encoded + * in iso-8859-1 */ + tmp = ConvertInput("This is a comment with special chars: <äöü>", + MY_ENCODING); + rc = xmlTextWriterWriteComment(writer, tmp); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterWriteComment\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Start an element named "ORDER" as child of EXAMPLE. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Add an attribute with name "version" and value "1.0" to ORDER. */ + rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", + BAD_CAST "1.0"); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n"); + return; + } + + /* Add an attribute with name "xml:lang" and value "de" to ORDER. */ + rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", + BAD_CAST "de"); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n"); + return; + } + + /* Write a comment as child of ORDER */ + tmp = ConvertInput("<äöü>", MY_ENCODING); + rc = xmlTextWriterWriteFormatComment(writer, + "This is another comment with special chars: %s", + tmp); + if (rc < 0) { + printf + ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatComment\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Start an element named "HEADER" as child of ORDER. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "X_ORDER_ID" as child of HEADER. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", + "%010d", 53535L); + if (rc < 0) { + printf + ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Write an element named "CUSTOMER_ID" as child of HEADER. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", + "%d", 1010); + if (rc < 0) { + printf + ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Write an element named "NAME_1" as child of HEADER. */ + tmp = ConvertInput("Müller", MY_ENCODING); + rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Write an element named "NAME_2" as child of HEADER. */ + tmp = ConvertInput("Jörg", MY_ENCODING); + rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Close the element named HEADER. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Start an element named "ENTRIES" as child of ORDER. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Start an element named "ENTRY" as child of ENTRIES. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "ARTICLE" as child of ENTRY. */ + rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", + BAD_CAST ""); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); + return; + } + + /* Write an element named "ENTRY_NO" as child of ENTRY. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", + 10); + if (rc < 0) { + printf + ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Close the element named ENTRY. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Start an element named "ENTRY" as child of ENTRIES. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "ARTICLE" as child of ENTRY. */ + rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", + BAD_CAST ""); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); + return; + } + + /* Write an element named "ENTRY_NO" as child of ENTRY. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", + 20); + if (rc < 0) { + printf + ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Close the element named ENTRY. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Close the element named ENTRIES. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Start an element named "FOOTER" as child of ORDER. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "TEXT" as child of FOOTER. */ + rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", + BAD_CAST "This is a text."); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); + return; + } + + /* Close the element named FOOTER. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Here we could close the elements ORDER and EXAMPLE using the + * function xmlTextWriterEndElement, but since we do not want to + * write any other elements, we simply call xmlTextWriterEndDocument, + * which will do all the work. */ + rc = xmlTextWriterEndDocument(writer); + if (rc < 0) { + printf("testXmlwriterDoc: Error at xmlTextWriterEndDocument\n"); + return; + } + + xmlFreeTextWriter(writer); + + xmlSaveFileEnc(file, doc, MY_ENCODING); + + xmlFreeDoc(doc); +} + +/** + * testXmlwriterTree: + * @file: the output file + * + * test the xmlWriter interface when writing to a subtree + */ +void +testXmlwriterTree(const char *file) +{ + int rc; + xmlTextWriterPtr writer; + xmlDocPtr doc; + xmlNodePtr node; + xmlChar *tmp; + + /* Create a new XML DOM tree, to which the XML document will be + * written */ + doc = xmlNewDoc(BAD_CAST XML_DEFAULT_VERSION); + if (doc == NULL) { + printf + ("testXmlwriterTree: Error creating the xml document tree\n"); + return; + } + + /* Create a new XML node, to which the XML document will be + * appended */ + node = xmlNewDocNode(doc, NULL, BAD_CAST "EXAMPLE", NULL); + if (node == NULL) { + printf("testXmlwriterTree: Error creating the xml node\n"); + return; + } + + /* Make ELEMENT the root node of the tree */ + xmlDocSetRootElement(doc, node); + + /* Create a new XmlWriter for DOM tree, with no compression. */ + writer = xmlNewTextWriterTree(doc, node, 0); + if (writer == NULL) { + printf("testXmlwriterTree: Error creating the xml writer\n"); + return; + } + + /* Start the document with the xml default for the version, + * encoding ISO 8858-1 and the default for the standalone + * declaration. */ + rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterStartDocument\n"); + return; + } + + /* Write a comment as child of EXAMPLE. + * Please observe, that the input to the xmlTextWriter functions + * HAS to be in UTF-8, even if the output XML is encoded + * in iso-8859-1 */ + tmp = ConvertInput("This is a comment with special chars: <äöü>", + MY_ENCODING); + rc = xmlTextWriterWriteComment(writer, tmp); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterWriteComment\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Start an element named "ORDER" as child of EXAMPLE. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Add an attribute with name "version" and value "1.0" to ORDER. */ + rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", + BAD_CAST "1.0"); + if (rc < 0) { + printf + ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n"); + return; + } + + /* Add an attribute with name "xml:lang" and value "de" to ORDER. */ + rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", + BAD_CAST "de"); + if (rc < 0) { + printf + ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n"); + return; + } + + /* Write a comment as child of ORDER */ + tmp = ConvertInput("<äöü>", MY_ENCODING); + rc = xmlTextWriterWriteFormatComment(writer, + "This is another comment with special chars: %s", + tmp); + if (rc < 0) { + printf + ("testXmlwriterTree: Error at xmlTextWriterWriteFormatComment\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Start an element named "HEADER" as child of ORDER. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "X_ORDER_ID" as child of HEADER. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", + "%010d", 53535L); + if (rc < 0) { + printf + ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Write an element named "CUSTOMER_ID" as child of HEADER. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", + "%d", 1010); + if (rc < 0) { + printf + ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Write an element named "NAME_1" as child of HEADER. */ + tmp = ConvertInput("Müller", MY_ENCODING); + rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Write an element named "NAME_2" as child of HEADER. */ + tmp = ConvertInput("Jörg", MY_ENCODING); + rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); + return; + } + if (tmp != NULL) xmlFree(tmp); + + /* Close the element named HEADER. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Start an element named "ENTRIES" as child of ORDER. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Start an element named "ENTRY" as child of ENTRIES. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "ARTICLE" as child of ENTRY. */ + rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", + BAD_CAST ""); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); + return; + } + + /* Write an element named "ENTRY_NO" as child of ENTRY. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", + 10); + if (rc < 0) { + printf + ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Close the element named ENTRY. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Start an element named "ENTRY" as child of ENTRIES. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "ARTICLE" as child of ENTRY. */ + rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", + BAD_CAST ""); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); + return; + } + + /* Write an element named "ENTRY_NO" as child of ENTRY. */ + rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", + 20); + if (rc < 0) { + printf + ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); + return; + } + + /* Close the element named ENTRY. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Close the element named ENTRIES. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Start an element named "FOOTER" as child of ORDER. */ + rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); + return; + } + + /* Write an element named "TEXT" as child of FOOTER. */ + rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", + BAD_CAST "This is a text."); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); + return; + } + + /* Close the element named FOOTER. */ + rc = xmlTextWriterEndElement(writer); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); + return; + } + + /* Here we could close the elements ORDER and EXAMPLE using the + * function xmlTextWriterEndElement, but since we do not want to + * write any other elements, we simply call xmlTextWriterEndDocument, + * which will do all the work. */ + rc = xmlTextWriterEndDocument(writer); + if (rc < 0) { + printf("testXmlwriterTree: Error at xmlTextWriterEndDocument\n"); + return; + } + + xmlFreeTextWriter(writer); + + xmlSaveFileEnc(file, doc, MY_ENCODING); + + xmlFreeDoc(doc); +} + +/** + * ConvertInput: + * @in: string in a given encoding + * @encoding: the encoding used + * + * Converts @in into UTF-8 for processing with libxml2 APIs + * + * Returns the converted UTF-8 string, or NULL in case of error. + */ +xmlChar * +ConvertInput(const char *in, const char *encoding) +{ + xmlChar *out; + int ret; + int size; + int out_size; + int temp; + xmlCharEncodingHandlerPtr handler; + + if (in == 0) + return 0; + + handler = xmlFindCharEncodingHandler(encoding); + + if (!handler) { + printf("ConvertInput: no encoding handler found for '%s'\n", + encoding ? encoding : ""); + return 0; + } + + size = (int) strlen(in) + 1; + out_size = size * 2 - 1; + out = (unsigned char *) xmlMalloc((size_t) out_size); + + if (out != 0) { + temp = size - 1; + ret = handler->input(out, &out_size, (const xmlChar *) in, &temp); + if (ret || temp - size + 1) { + if (ret) { + printf("ConvertInput: conversion wasn't successful.\n"); + } else { + printf + ("ConvertInput: conversion wasn't successful. converted: %i octets.\n", + temp); + } + + xmlFree(out); + out = 0; + } else { + out = (unsigned char *) xmlRealloc(out, out_size + 1); + out[out_size] = 0; /*null terminating out */ + } + } else { + printf("ConvertInput: no mem\n"); + } + + return out; +} + +#else +int main(void) { + fprintf(stderr, "Writer or output support not compiled in\n"); + exit(1); +} +#endif diff --git a/doc/examples/tree1.c b/doc/examples/tree1.c new file mode 100644 index 0000000..8a303e2 --- /dev/null +++ b/doc/examples/tree1.c @@ -0,0 +1,94 @@ +/** + * section: Tree + * synopsis: Navigates a tree to print element names + * purpose: Parse a file to a tree, use xmlDocGetRootElement() to + * get the root element, then walk the document and print + * all the element name in document order. + * usage: tree1 filename_or_URL + * test: tree1 test2.xml > tree1.tmp ; diff tree1.tmp tree1.res ; rm tree1.tmp + * author: Dodji Seketeli + * copy: see Copyright for the status of this software. + */ +#include +#include +#include + +#ifdef LIBXML_TREE_ENABLED + +/* + *To compile this file using gcc you can type + *gcc `xml2-config --cflags --libs` -o xmlexample libxml2-example.c + */ + +/** + * print_element_names: + * @a_node: the initial xml node to consider. + * + * Prints the names of the all the xml elements + * that are siblings or children of a given xml node. + */ +static void +print_element_names(xmlNode * a_node) +{ + xmlNode *cur_node = NULL; + + for (cur_node = a_node; cur_node; cur_node = cur_node->next) { + if (cur_node->type == XML_ELEMENT_NODE) { + printf("node type: Element, name: %s\n", cur_node->name); + } + + print_element_names(cur_node->children); + } +} + + +/** + * Simple example to parse a file called "file.xml", + * walk down the DOM, and print the name of the + * xml elements nodes. + */ +int +main(int argc, char **argv) +{ + xmlDoc *doc = NULL; + xmlNode *root_element = NULL; + + if (argc != 2) + return(1); + + /* + * this initialize the library and check potential ABI mismatches + * between the version it was compiled for and the actual shared + * library used. + */ + LIBXML_TEST_VERSION + + /*parse the file and get the DOM */ + doc = xmlParseFile(argv[1]); + + if (doc == NULL) { + printf("error: could not parse file file.xml\n"); + } + + /*Get the root element node */ + root_element = xmlDocGetRootElement(doc); + + print_element_names(root_element); + + /*free the document */ + xmlFreeDoc(doc); + + /* + *Free the global variables that may + *have been allocated by the parser. + */ + xmlCleanupParser(); + + return 0; +} +#else +int main(void) { + fprintf(stderr, "Tree support not compiled in\n"); + exit(1); +} +#endif diff --git a/doc/examples/tree1.res b/doc/examples/tree1.res new file mode 100644 index 0000000..7b14ad0 --- /dev/null +++ b/doc/examples/tree1.res @@ -0,0 +1,4 @@ +node type: Element, name: doc +node type: Element, name: src +node type: Element, name: dest +node type: Element, name: src diff --git a/doc/examples/tree2.c b/doc/examples/tree2.c new file mode 100644 index 0000000..3ab2179 --- /dev/null +++ b/doc/examples/tree2.c @@ -0,0 +1,118 @@ +/* + * section: Tree + * synopsis: Creates a tree + * purpose: Shows how to create document, nodes and dump it to stdout or file. + * usage: tree2 -Default output: stdout + * test: tree2 > tree2.tmp ; diff tree2.tmp tree2.res ; rm tree2.tmp + * author: Lucas Brasilino + * copy: see Copyright for the status of this software + */ + +#include +#include +#include + +#ifdef LIBXML_TREE_ENABLED + +/* + *To compile this file using gcc you can type + *gcc `xml2-config --cflags --libs` -o tree2 tree2.c + */ + +/* A simple example how to create DOM. Libxml2 automagically + * allocates the necessary amount of memory to it. +*/ +int +main(int argc, char **argv) +{ + xmlDocPtr doc = NULL; /* document pointer */ + xmlNodePtr root_node = NULL, node = NULL, node1 = NULL;/* node pointers */ + xmlDtdPtr dtd = NULL; /* DTD pointer */ + char buff[256]; + int i, j; + + LIBXML_TEST_VERSION; + + /* + * Creates a new document, a node and set it as a root node + */ + doc = xmlNewDoc(BAD_CAST "1.0"); + root_node = xmlNewNode(NULL, BAD_CAST "root"); + xmlDocSetRootElement(doc, root_node); + + /* + * Creates a DTD declaration. Isn't mandatory. + */ + dtd = xmlCreateIntSubset(doc, BAD_CAST "root", NULL, BAD_CAST "tree2.dtd"); + + /* + * xmlNewChild() creates a new node, which is "attached" as child node + * of root_node node. + */ + xmlNewChild(root_node, NULL, BAD_CAST "node1", + BAD_CAST "content of node 1"); + /* + * The same as above, but the new child node doesn't have a content + */ + xmlNewChild(root_node, NULL, BAD_CAST "node2", NULL); + + /* + * xmlNewProp() creates attributes, which is "attached" to an node. + * It returns xmlAttrPtr, which isn't used here. + */ + node = + xmlNewChild(root_node, NULL, BAD_CAST "node3", + BAD_CAST "this node has attributes"); + xmlNewProp(node, BAD_CAST "attribute", BAD_CAST "yes"); + xmlNewProp(node, BAD_CAST "foo", BAD_CAST "bar"); + + /* + * Here goes another way to create nodes. xmlNewNode() and xmlNewText + * creates a node and a text node separately. They are "attached" + * by xmlAddChild() + */ + node = xmlNewNode(NULL, BAD_CAST "node4"); + node1 = xmlNewText(BAD_CAST + "other way to create content (which is also a node)"); + xmlAddChild(node, node1); + xmlAddChild(root_node, node); + + /* + * A simple loop that "automates" nodes creation + */ + for (i = 5; i < 7; i++) { + sprintf(buff, "node%d", i); + node = xmlNewChild(root_node, NULL, BAD_CAST buff, NULL); + for (j = 1; j < 4; j++) { + sprintf(buff, "node%d%d", i, j); + node1 = xmlNewChild(node, NULL, BAD_CAST buff, NULL); + xmlNewProp(node1, BAD_CAST "odd", BAD_CAST((j % 2) ? "no" : "yes")); + } + } + + /* + * Dumping document to stdio or file + */ + xmlSaveFormatFileEnc(argc > 1 ? argv[1] : "-", doc, "UTF-8", 1); + + /*free the document */ + xmlFreeDoc(doc); + + /* + *Free the global variables that may + *have been allocated by the parser. + */ + xmlCleanupParser(); + + /* + * this is to debug memory for regression tests + */ + xmlMemoryDump(); + return(0); +} +#else +int main(void) { + fprintf(stderr, "tree support not compiled in\n"); + exit(1); +} +#endif diff --git a/doc/examples/tree2.res b/doc/examples/tree2.res new file mode 100644 index 0000000..ed00195 --- /dev/null +++ b/doc/examples/tree2.res @@ -0,0 +1,18 @@ + + + + content of node 1 + + this node has attributes + other way to create content (which is also a node) + + + + + + + + + + + diff --git a/doc/examples/writer.xml b/doc/examples/writer.xml new file mode 100644 index 0000000..6ab05fd --- /dev/null +++ b/doc/examples/writer.xml @@ -0,0 +1,2 @@ + +
    00000535351010MüllerJörg
    <Test>
    10
    <Test 2>
    20
    This is a text.
    diff --git a/doc/examples/xpath1.c b/doc/examples/xpath1.c new file mode 100644 index 0000000..0e49737 --- /dev/null +++ b/doc/examples/xpath1.c @@ -0,0 +1,249 @@ +/** + * section: XPath + * synopsis: Evaluate XPath expression and prints result node set. + * purpose: Shows how to evaluate XPath expression and register + * known namespaces in XPath context. + * usage: xpath1 [] + * author: Aleksey Sanin + * copy: see Copyright for the status of this software. + */ +#include +#include +#include +#include + +#include +#include +#include +#include + +#ifdef LIBXML_XPATH_ENABLED + + +void usage(const char *name); +int execute_xpath_expression(const char* filename, const xmlChar* xpathExpr, const xmlChar* nsList); +int register_namespaces(xmlXPathContextPtr xpathCtx, const xmlChar* nsList); +void print_xpath_nodes(xmlNodeSetPtr nodes, FILE* output); + +int +main(int argc, char **argv) { + /* Parse command line and process file */ + if((argc < 3) || (argc > 4)) { + fprintf(stderr, "Error: wrong number of arguments.\n"); + usage(argv[0]); + return(-1); + } + + /* Init libxml */ + xmlInitParser(); + LIBXML_TEST_VERSION + + /* Do the main job */ + if(execute_xpath_expression(argv[1], BAD_CAST argv[2], (argc > 3) ? BAD_CAST argv[3] : NULL) < 0) { + usage(argv[0]); + return(-1); + } + + /* Shutdown libxml */ + xmlCleanupParser(); + + /* + * this is to debug memory for regression tests + */ + xmlMemoryDump(); + return 0; +} + +/** + * usage: + * @name: the program name. + * + * Prints usage information. + */ +void +usage(const char *name) { + assert(name); + + fprintf(stderr, "Usage: %s []\n", name); + fprintf(stderr, "where is a list of known namespaces\n"); + fprintf(stderr, "in \"= =href2> ...\" format\n"); +} + +/** + * execute_xpath_expression: + * @filename: the input XML filename. + * @xpathExpr: the xpath expression for evaluation. + * @nsList: the optional list of known namespaces in + * "= =href2> ..." format. + * + * Parses input XML file, evaluates XPath expression and prints results. + * + * Returns 0 on success and a negative value otherwise. + */ +int +execute_xpath_expression(const char* filename, const xmlChar* xpathExpr, const xmlChar* nsList) { + xmlDocPtr doc; + xmlXPathContextPtr xpathCtx; + xmlXPathObjectPtr xpathObj; + + assert(filename); + assert(xpathExpr); + + /* Load XML document */ + doc = xmlParseFile(filename); + if (doc == NULL) { + fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename); + return(-1); + } + + /* Create xpath evaluation context */ + xpathCtx = xmlXPathNewContext(doc); + if(xpathCtx == NULL) { + fprintf(stderr,"Error: unable to create new XPath context\n"); + xmlFreeDoc(doc); + return(-1); + } + + /* Register namespaces from list (if any) */ + if((nsList != NULL) && (register_namespaces(xpathCtx, nsList) < 0)) { + fprintf(stderr,"Error: failed to register namespaces list \"%s\"\n", nsList); + xmlXPathFreeContext(xpathCtx); + xmlFreeDoc(doc); + return(-1); + } + + /* Evaluate xpath expression */ + xpathObj = xmlXPathEvalExpression(xpathExpr, xpathCtx); + if(xpathObj == NULL) { + fprintf(stderr,"Error: unable to evaluate xpath expression \"%s\"\n", xpathExpr); + xmlXPathFreeContext(xpathCtx); + xmlFreeDoc(doc); + return(-1); + } + + /* Print results */ + print_xpath_nodes(xpathObj->nodesetval, stdout); + + /* Cleanup */ + xmlXPathFreeObject(xpathObj); + xmlXPathFreeContext(xpathCtx); + xmlFreeDoc(doc); + + return(0); +} + +/** + * register_namespaces: + * @xpathCtx: the pointer to an XPath context. + * @nsList: the list of known namespaces in + * "= =href2> ..." format. + * + * Registers namespaces from @nsList in @xpathCtx. + * + * Returns 0 on success and a negative value otherwise. + */ +int +register_namespaces(xmlXPathContextPtr xpathCtx, const xmlChar* nsList) { + xmlChar* nsListDup; + xmlChar* prefix; + xmlChar* href; + xmlChar* next; + + assert(xpathCtx); + assert(nsList); + + nsListDup = xmlStrdup(nsList); + if(nsListDup == NULL) { + fprintf(stderr, "Error: unable to strdup namespaces list\n"); + return(-1); + } + + next = nsListDup; + while(next != NULL) { + /* skip spaces */ + while((*next) == ' ') next++; + if((*next) == '\0') break; + + /* find prefix */ + prefix = next; + next = (xmlChar*)xmlStrchr(next, '='); + if(next == NULL) { + fprintf(stderr,"Error: invalid namespaces list format\n"); + xmlFree(nsListDup); + return(-1); + } + *(next++) = '\0'; + + /* find href */ + href = next; + next = (xmlChar*)xmlStrchr(next, ' '); + if(next != NULL) { + *(next++) = '\0'; + } + + /* do register namespace */ + if(xmlXPathRegisterNs(xpathCtx, prefix, href) != 0) { + fprintf(stderr,"Error: unable to register NS with prefix=\"%s\" and href=\"%s\"\n", prefix, href); + xmlFree(nsListDup); + return(-1); + } + } + + xmlFree(nsListDup); + return(0); +} + +/** + * print_xpath_nodes: + * @nodes: the nodes set. + * @output: the output file handle. + * + * Prints the @nodes content to @output. + */ +void +print_xpath_nodes(xmlNodeSetPtr nodes, FILE* output) { + xmlNodePtr cur; + int size; + int i; + + assert(output); + size = (nodes) ? nodes->nodeNr : 0; + + fprintf(output, "Result (%d nodes):\n", size); + for(i = 0; i < size; ++i) { + assert(nodes->nodeTab[i]); + + if(nodes->nodeTab[i]->type == XML_NAMESPACE_DECL) { + xmlNsPtr ns; + + ns = (xmlNsPtr)nodes->nodeTab[i]; + cur = (xmlNodePtr)ns->next; + if(cur->ns) { + fprintf(output, "= namespace \"%s\"=\"%s\" for node %s:%s\n", + ns->prefix, ns->href, cur->ns->href, cur->name); + } else { + fprintf(output, "= namespace \"%s\"=\"%s\" for node %s\n", + ns->prefix, ns->href, cur->name); + } + } else if(nodes->nodeTab[i]->type == XML_ELEMENT_NODE) { + cur = nodes->nodeTab[i]; + if(cur->ns) { + fprintf(output, "= element node \"%s:%s\"\n", + cur->ns->href, cur->name); + } else { + fprintf(output, "= element node \"%s\"\n", + cur->name); + } + } else { + cur = nodes->nodeTab[i]; + fprintf(output, "= node \"%s\": type %d\n", cur->name, cur->type); + } + } +} + +#else +int main(void) { + fprintf(stderr, "XPath support not compiled in\n"); + exit(1); +} +#endif diff --git a/doc/guidelines.html b/doc/guidelines.html new file mode 100644 index 0000000..092eaf1 --- /dev/null +++ b/doc/guidelines.html @@ -0,0 +1,374 @@ + + + + + + + XML resources publication guidelines + + + +

    XML resources publication guidelines

    + +

    + +

    The goal of this document is to provide a set of guidelines and tips +helping the publication and deployment of XML resources for the GNOME project. However it is not tied to +GNOME and might be helpful more generally. I welcome feedback on this document.

    + +

    The intended audience is the software developers who started using XML +for some of the resources of their project, as a storage format, for data +exchange, checking or transformations. There have been an increasing number +of new XML formats defined, but not all steps have been taken, possibly because of +lack of documentation, to truly gain all the benefits of the use of XML. +These guidelines hope to improve the matter and provide a better overview of +the overall XML processing and associated steps needed to deploy it +successfully:

    + +

    Table of contents:

    +
      +
    1. Design guidelines
    2. +
    3. Canonical URL
    4. +
    5. Catalog setup
    6. +
    7. Package integration
    8. +
    + +

    Design guidelines

    + +

    This part intends to focus on the format itself of XML. It may arrive +a bit too late since the structure of the document may already be cast in +existing and deployed code. Still, here are a few rules which might be helpful +when designing a new XML vocabulary or making the revision of an existing +format:

    + +

    Reuse existing formats:

    + +

    This may sounds a bit simplistic, but before designing your own format, +try to lookup existing XML vocabularies on similar data. Ideally this allows +you to reuse them, in which case a lot of the existing tools like DTD, schemas +and stylesheets may already be available. If you are looking at a +documentation format, DocBook should +handle your needs. If reuse is not possible because some semantic or use case +aspects are too different this will be helpful avoiding design errors like +targeting the vocabulary to the wrong abstraction level. In this format +design phase try to be synthetic and be sure to express the real content of +your data and use the XML structure to express the semantic and context of +those data.

    + +

    DTD rules:

    + +

    Building a DTD (Document Type Definition) or a Schema describing the +structure allowed by instances is the core of the design process of the +vocabulary. Here are a few tips:

    +
      +
    • use significant words for the element and attributes names.
    • +
    • do not use attributes for general textual content, attributes + will be modified by the parser before reaching the application, + spaces and line informations will be modified.
    • +
    • use single elements for every string that might be subject to + localization. The canonical way to localize XML content is to use + siblings element carrying different xml:lang attributes like in the + following: +
      <welcome>
      +  <msg xml:lang="en">hello</msg>
      +  <msg xml:lang="fr">bonjour</msg>
      +</welcome>
      +
    • +
    • use attributes to refine the content of an element but avoid them for + more complex tasks, attribute parsing is not cheaper than an element and + it is far easier to make an element content more complex while attribute + will have to remain very simple.
    • +
    + +

    Versioning:

    + +

    As part of the design, make sure the structure you define will be usable +for future extension that you may not consider for the current version. There +are two parts to this:

    +
      +
    • Make sure the instance contains a version number which will allow to + make backward compatibility easy. Something as simple as having a + version="1.0" on the root document of the instance is + sufficient.
    • +
    • While designing the code doing the analysis of the data provided by the + XML parser, make sure you can work with unknown versions, generate a UI + warning and process only the tags recognized by your version but keep in + mind that you should not break on unknown elements if the version + attribute was not in the recognized set.
    • +
    + +

    Other design parts:

    + +

    While defining you vocabulary, try to think in term of other usage of your +data, for example how using XSLT stylesheets could be used to make an HTML +view of your data, or to convert it into a different format. Checking XML +Schemas and looking at defining an XML Schema with a more complete +validation and datatyping of your data structures is important, this helps +avoiding some mistakes in the design phase.

    + +

    Namespace:

    + +

    If you expect your XML vocabulary to be used or recognized outside of your +application (for example binding a specific processing from a graphic shell +like Nautilus to an instance of your data) then you should really define an XML namespace for your +vocabulary. A namespace name is an URL (absolute URI more precisely). It is +generally recommended to anchor it as an HTTP resource to a server associated +with the software project. See the next section about this. In practice this +will mean that XML parsers will not handle your element names as-is but as a +couple based on the namespace name and the element name. This allows it to +recognize and disambiguate processing. Unicity of the namespace name can be +for the most part guaranteed by the use of the DNS registry. Namespace can +also be used to carry versioning information like:

    + +

    "http://www.gnome.org/project/projectname/1.0/"

    + +

    An easy way to use them is to make them the default namespace on the +root element of the XML instance like:

    +
    <structure xmlns="http://www.gnome.org/project/projectname/1.0/">
    +  <data>
    +  ...
    +  </data>
    +</structure>
    + +

    In that document, structure and all descendant elements like data are in +the given namespace.

    + +

    Canonical URL

    + +

    As seen in the previous namespace section, while XML processing is not +tied to the Web there is a natural synergy between both. XML was designed to +be available on the Web, and keeping the infrastructure that way helps +deploying the XML resources. The core of this issue is the notion of +"Canonical URL" of an XML resource. The resource can be an XML document, a +DTD, a stylesheet, a schema, or even non-XML data associated with an XML +resource, the canonical URL is the URL where the "master" copy of that +resource is expected to be present on the Web. Usually when processing XML a +copy of the resource will be present on the local disk, maybe in +/usr/share/xml or /usr/share/sgml maybe in /opt or even on C:\projectname\ +(horror !). The key point is that the way to name that resource should be +independent of the actual place where it resides on disk if it is available, +and the fact that the processing will still work if there is no local copy +(and that the machine where the processing is connected to the Internet).

    + +

    What this really means is that one should never use the local name of a +resource to reference it but always use the canonical URL. For example in a +DocBook instance the following should not be used:

    +
    <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
    + + + "/usr/share/xml/docbook/4.2/docbookx.dtd">
    + +

    But always reference the canonical URL for the DTD:

    +
    <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
    + + + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
    + +

    Similarly, the document instance may reference the XSLT stylesheets needed to process it to +generate HTML, and the canonical URL should be used:

    +
    <?xml-stylesheet
    +  href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"
    +  type="text/xsl"?>
    + +

    Defining the canonical URL for the resources needed should obey a few +simple rules similar to those used to design namespace names:

    +
      +
    • use a DNS name you know is associated to the project and will be + available on the long term
    • +
    • within that server space, reserve the right to the subtree where you + intend to keep those data
    • +
    • version the URL so that multiple concurrent versions of the resources + can be hosted simultaneously
    • +
    + +

    Catalog setup

    + +

    How catalogs work:

    + +

    The catalogs are the technical mechanism which allow the XML processing +tools to use a local copy of the resources if it is available even if the +instance document references the canonical URL. XML Catalogs are +anchored in the root catalog (usually /etc/xml/catalog or +defined by the user). They are a tree of XML documents defining the mappings +between the canonical naming space and the local installed ones, this can be +seen as a static cache structure.

    + +

    When the XML processor is asked to process a resource it will +automatically test for a locally available version in the catalog, starting +from the root catalog, and possibly fetching sub-catalog resources until it +finds that the catalog has that resource or not. If not the default +processing of fetching the resource from the Web is done, allowing in most +case to recover from a catalog miss. The key point is that the document +instances are totally independent of the availability of a catalog or from +the actual place where the local resource they reference may be installed. +This greatly improves the management of the documents in the long run, making +them independent of the platform or toolchain used to process them. The +figure below tries to express that mechanism:

    + +

    Usual catalog setup:

    + +

    Usually catalogs for a project are setup as a 2 level hierarchical cache, +the root catalog containing only "delegates" indicating a separate subcatalog +dedicated to the project. The goal is to keep the root catalog clean and +simplify the maintenance of the catalog by using separate catalogs per +project. For example when creating a catalog for the XHTML1 DTDs, only 3 items are added to +the root catalog:

    +
      <delegatePublic publicIdStartString="-//W3C//DTD XHTML 1.0"
    +                  catalog="file:///usr/share/sgml/xhtml1/xmlcatalog"/>
    +  <delegateSystem systemIdStartString="http://www.w3.org/TR/xhtml1/DTD"
    +                  catalog="file:///usr/share/sgml/xhtml1/xmlcatalog"/>
    +  <delegateURI uriStartString="http://www.w3.org/TR/xhtml1/DTD"
    +                  catalog="file:///usr/share/sgml/xhtml1/xmlcatalog"/>
    + +

    They are all "delegates" meaning that if the catalog system is asked to +resolve a reference corresponding to them, it has to lookup a sub catalog. +Here the subcatalog was installed as +/usr/share/sgml/xhtml1/xmlcatalog in the local tree. That +decision is left to the sysadmin or the packager for that system and may +obey different rules, but the actual place on the filesystem (or on a +resource cache on the local network) will not influence the processing as +long as it is available. The first rule indicate that if the reference uses a +PUBLIC identifier beginning with the

    + +

    "-//W3C//DTD XHTML 1.0"

    + +

    substring, then the catalog lookup should be limited to the specific given +lookup catalog. Similarly the second and third entries indicate those +delegation rules for SYSTEM, DOCTYPE or normal URI references when the URL +starts with the "http://www.w3.org/TR/xhtml1/DTD" substring +which indicates the location on the W3C server where the XHTML1 resources are +stored. Those are the beginning of all Canonical URLs for XHTML1 resources. +Those three rules are sufficient in practice to capture all references to XHTML1 +resources and direct the processing tools to the right subcatalog.

    + +

    A subcatalog example:

    + +

    Here is the complete subcatalog used for XHTML1:

    +
    <?xml version="1.0"?>
    +<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
    +          "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
    +<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
    +  <public publicId="-//W3C//DTD XHTML 1.0 Strict//EN"
    +          uri="xhtml1-20020801/DTD/xhtml1-strict.dtd"/>
    +  <public publicId="-//W3C//DTD XHTML 1.0 Transitional//EN"
    +          uri="xhtml1-20020801/DTD/xhtml1-transitional.dtd"/>
    +  <public publicId="-//W3C//DTD XHTML 1.0 Frameset//EN"
    +          uri="xhtml1-20020801/DTD/xhtml1-frameset.dtd"/>
    +  <rewriteSystem systemIdStartString="http://www.w3.org/TR/xhtml1/DTD"
    +          rewritePrefix="xhtml1-20020801/DTD"/>
    +  <rewriteURI uriStartString="http://www.w3.org/TR/xhtml1/DTD"
    +          rewritePrefix="xhtml1-20020801/DTD"/>
    +</catalog>
    + +

    There are a few things to notice:

    +
      +
    • this is an XML resource, it points to the DTD using Canonical URLs, the + root element defines a namespace (but based on an URN not an HTTP + URL).
    • +
    • it contains 5 rules, the 3 first ones are direct mapping for the 3 + PUBLIC identifiers defined by the XHTML1 specification and associating + them with the local resource containing the DTD, the 2 last ones are + rewrite rules allowing to build the local filename for any URL based on + "http://www.w3.org/TR/xhtml1/DTD", the local cache simplifies the rules by + keeping the same structure as the on-line server at the Canonical URL
    • +
    • the local resources are designated using URI references (the uri or + rewritePrefix attributes), the base being the containing sub-catalog URL, + which means that in practice the copy of the XHTML1 strict DTD is stored + locally in + /usr/share/sgml/xhtml1/xmlcatalog/xhtml1-20020801/DTD/xhtml1-strict.dtd
    • +
    + +

    Those 5 rules are sufficient to cover all references to the resources held +at the Canonical URL for the XHTML1 DTDs.

    + +

    Package integration

    + +

    Creating and removing catalogs should be handled as part of the process of +(un)installing the local copy of the resources. The catalog files being XML +resources should be processed with XML based tools to avoid problems with the +generated files, the xmlcatalog command coming with libxml2 allows you to create +catalogs, and add or remove rules at that time. Here is a complete example +coming from the RPM for the XHTML1 DTDs post install script. While this example +is platform and packaging specific, this can be useful as a an example in +other contexts:

    +
    %post
    +CATALOG=/usr/share/sgml/xhtml1/xmlcatalog
    +#
    +# Register it in the super catalog with the appropriate delegates
    +#
    +ROOTCATALOG=/etc/xml/catalog
    +
    +if [ ! -r $ROOTCATALOG ]
    +then
    +    /usr/bin/xmlcatalog --noout --create $ROOTCATALOG
    +fi
    +
    +if [ -w $ROOTCATALOG ]
    +then
    +        /usr/bin/xmlcatalog --noout --add "delegatePublic" \
    +                "-//W3C//DTD XHTML 1.0" \
    +                "file://$CATALOG" $ROOTCATALOG
    +        /usr/bin/xmlcatalog --noout --add "delegateSystem" \
    +                "http://www.w3.org/TR/xhtml1/DTD" \
    +                "file://$CATALOG" $ROOTCATALOG
    +        /usr/bin/xmlcatalog --noout --add "delegateURI" \
    +                "http://www.w3.org/TR/xhtml1/DTD" \
    +                "file://$CATALOG" $ROOTCATALOG
    +fi
    + +

    The XHTML1 subcatalog is not created on-the-fly in that case, it is +installed as part of the files of the packages. So the only work needed is to +make sure the root catalog exists and register the delegate rules.

    + +

    Similarly, the script for the post-uninstall just remove the rules from the +catalog:

    +
    %postun
    +#
    +# On removal, unregister the xmlcatalog from the supercatalog
    +#
    +if [ "$1" = 0 ]; then
    +    CATALOG=/usr/share/sgml/xhtml1/xmlcatalog
    +    ROOTCATALOG=/etc/xml/catalog
    +
    +    if [ -w $ROOTCATALOG ]
    +    then
    +            /usr/bin/xmlcatalog --noout --del \
    +                    "-//W3C//DTD XHTML 1.0" $ROOTCATALOG
    +            /usr/bin/xmlcatalog --noout --del \
    +                    "http://www.w3.org/TR/xhtml1/DTD" $ROOTCATALOG
    +            /usr/bin/xmlcatalog --noout --del \
    +                    "http://www.w3.org/TR/xhtml1/DTD" $ROOTCATALOG
    +    fi
    +fi
    + +

    Note the test against $1, this is needed to not remove the delegate rules +in case of upgrade of the package.

    + +

    Following the set of guidelines and tips provided in this document should +help deploy the XML resources in the GNOME framework without much pain and +ensure a smooth evolution of the resource and instances.

    + +

    Daniel Veillard

    + +

    $Id: guidelines.html,v 1.5 2003/09/01 22:17:39 wbrack Exp $

    + +

    + + diff --git a/doc/help.html b/doc/help.html new file mode 100644 index 0000000..12c19bb --- /dev/null +++ b/doc/help.html @@ -0,0 +1,25 @@ + + +How to help
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    How to help

    Main Menu
    Related links

    You can help the project in various ways, the best thing to do first is to +subscribe to the mailing-list as explained before, check the archives and the Gnome bug +database:

    1. Provide patches when you find problems.
    2. +
    3. Provide the diffs when you port libxml2 to a new platform. They may not + be integrated in all cases but help pinpointing portability problems + and
    4. +
    5. Provide documentation fixes (either as patches to the code comments or + as HTML diffs).
    6. +
    7. Provide new documentations pieces (translations, examples, etc + ...).
    8. +
    9. Check the TODO file and try to close one of the items.
    10. +
    11. Take one of the points raised in the archive or the bug database and + provide a fix. Get in touch with me + before to avoid synchronization problems and check that the suggested + fix will fit in nicely :-)
    12. +

    Daniel Veillard

    diff --git a/doc/html/book1.html b/doc/html/book1.html new file mode 100644 index 0000000..5edc0f7 --- /dev/null +++ b/doc/html/book1.html @@ -0,0 +1,13 @@ + + +Reference Manual for libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Reference Manual for libxml2

    API Menu
    API Indexes
    Related links

    Table of Contents

    • DOCBparser: old DocBook SGML parser
    • HTMLparser: interface for an HTML 4.0 non-verifying parser
    • HTMLtree: specific APIs to process HTML tree, especially serialization
    • SAX: Old SAX version 1 handler, deprecated
    • SAX2: SAX2 parser interface used to build the DOM tree
    • c14n: Provide Canonical XML and Exclusive XML Canonicalization
    • catalog: interfaces to the Catalog handling system
    • chvalid: Unicode character range checking
    • debugXML: Tree debugging APIs
    • dict: string dictionnary
    • encoding: interface for the encoding conversion functions
    • entities: interface for the XML entities handling
    • globals: interface for all global variables of the library
    • hash: chained hash tables
    • list: lists interfaces
    • nanoftp: minimal FTP implementation
    • nanohttp: minimal HTTP implementation
    • parser: the core parser module
    • parserInternals: internals routines exported by the parser.
    • pattern: pattern expression handling
    • relaxng: implementation of the Relax-NG validation
    • schemasInternals: internal interfaces for XML Schemas
    • threads: interfaces for thread handling
    • tree: interfaces for tree manipulation
    • uri: library of generic URI related routines
    • valid: The DTD validation
    • xinclude: implementation of XInclude
    • xlink: unfinished XLink detection module
    • xmlIO: interface for the I/O interfaces used by the parser
    • xmlautomata: API to build regexp automata
    • xmlerror: error handling
    • xmlexports: macros for marking symbols as exportable/importable.
    • xmlmemory: interface for the memory allocator
    • xmlreader: the XMLReader implementation
    • xmlregexp: regular expressions handling
    • xmlsave: the XML document serializer
    • xmlschemas: incomplete XML Schemas structure implementation
    • xmlschemastypes: implementation of XML Schema Datatypes
    • xmlstring: set of routines to process strings
    • xmlunicode: Unicode character APIs
    • xmlversion: compile-time version informations
    • xmlwriter: text writing API for XML
    • xpath: XML Path Language implementation
    • xpathInternals: internal interfaces for XML Path Language implementation
    • xpointer: API to handle XML Pointers

    Daniel Veillard

    diff --git a/doc/html/home.png b/doc/html/home.png new file mode 100644 index 0000000..1700361 Binary files /dev/null and b/doc/html/home.png differ diff --git a/doc/html/index.html b/doc/html/index.html new file mode 100644 index 0000000..5edc0f7 --- /dev/null +++ b/doc/html/index.html @@ -0,0 +1,13 @@ + + +Reference Manual for libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Reference Manual for libxml2

    API Menu
    API Indexes
    Related links

    Table of Contents

    • DOCBparser: old DocBook SGML parser
    • HTMLparser: interface for an HTML 4.0 non-verifying parser
    • HTMLtree: specific APIs to process HTML tree, especially serialization
    • SAX: Old SAX version 1 handler, deprecated
    • SAX2: SAX2 parser interface used to build the DOM tree
    • c14n: Provide Canonical XML and Exclusive XML Canonicalization
    • catalog: interfaces to the Catalog handling system
    • chvalid: Unicode character range checking
    • debugXML: Tree debugging APIs
    • dict: string dictionnary
    • encoding: interface for the encoding conversion functions
    • entities: interface for the XML entities handling
    • globals: interface for all global variables of the library
    • hash: chained hash tables
    • list: lists interfaces
    • nanoftp: minimal FTP implementation
    • nanohttp: minimal HTTP implementation
    • parser: the core parser module
    • parserInternals: internals routines exported by the parser.
    • pattern: pattern expression handling
    • relaxng: implementation of the Relax-NG validation
    • schemasInternals: internal interfaces for XML Schemas
    • threads: interfaces for thread handling
    • tree: interfaces for tree manipulation
    • uri: library of generic URI related routines
    • valid: The DTD validation
    • xinclude: implementation of XInclude
    • xlink: unfinished XLink detection module
    • xmlIO: interface for the I/O interfaces used by the parser
    • xmlautomata: API to build regexp automata
    • xmlerror: error handling
    • xmlexports: macros for marking symbols as exportable/importable.
    • xmlmemory: interface for the memory allocator
    • xmlreader: the XMLReader implementation
    • xmlregexp: regular expressions handling
    • xmlsave: the XML document serializer
    • xmlschemas: incomplete XML Schemas structure implementation
    • xmlschemastypes: implementation of XML Schema Datatypes
    • xmlstring: set of routines to process strings
    • xmlunicode: Unicode character APIs
    • xmlversion: compile-time version informations
    • xmlwriter: text writing API for XML
    • xpath: XML Path Language implementation
    • xpathInternals: internal interfaces for XML Path Language implementation
    • xpointer: API to handle XML Pointers

    Daniel Veillard

    diff --git a/doc/html/left.png b/doc/html/left.png new file mode 100644 index 0000000..2d05b3d Binary files /dev/null and b/doc/html/left.png differ diff --git a/doc/html/libxml-DOCBparser.html b/doc/html/libxml-DOCBparser.html new file mode 100644 index 0000000..3df83f5 --- /dev/null +++ b/doc/html/libxml-DOCBparser.html @@ -0,0 +1,51 @@ + + +Module DOCBparser from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module DOCBparser from libxml2

    API Menu
    API Indexes
    Related links

    This module is deprecated

    interface for a DocBook SGML non-verifying parser This code is DEPRECATED, and should not be used anymore.

    Table of Contents

    Typedef xmlParserInput docbParserInput
    +
    Typedef xmlParserInputPtr docbParserInputPtr
    +
    Typedef xmlParserCtxt docbParserCtxt
    +
    Typedef xmlParserCtxtPtr docbParserCtxtPtr
    +
    Typedef xmlDocPtr docbDocPtr
    +
    Typedef xmlSAXHandler docbSAXHandler
    +
    Typedef xmlSAXHandlerPtr docbSAXHandlerPtr
    +
    docbParserCtxtPtr	docbCreatePushParserCtxt	(docbSAXHandlerPtr sax, 
    void * user_data,
    const char * chunk,
    int size,
    const char * filename,
    xmlCharEncoding enc)
    +
    int	docbEncodeEntities		(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen,
    int quoteChar)
    +
    docbDocPtr	docbParseFile		(const char * filename, 
    const char * encoding)
    +
    int	docbParseDocument		(docbParserCtxtPtr ctxt)
    +
    docbParserCtxtPtr	docbCreateFileParserCtxt	(const char * filename, 
    const char * encoding)
    +
    docbDocPtr	docbParseDoc		(xmlChar * cur, 
    const char * encoding)
    +
    docbDocPtr	docbSAXParseDoc		(xmlChar * cur, 
    const char * encoding,
    docbSAXHandlerPtr sax,
    void * userData)
    +
    docbDocPtr	docbSAXParseFile	(const char * filename, 
    const char * encoding,
    docbSAXHandlerPtr sax,
    void * userData)
    +
    int	docbParseChunk			(docbParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    int terminate)
    +
    void	docbFreeParserCtxt		(docbParserCtxtPtr ctxt)
    +

    Description

    +

    Function: docbCreatePushParserCtxt

    docbParserCtxtPtr	docbCreatePushParserCtxt	(docbSAXHandlerPtr sax, 
    void * user_data,
    const char * chunk,
    int size,
    const char * filename,
    xmlCharEncoding enc)
    +

    Create a parser context for using the DocBook SGML parser in push mode To allow content encoding detection, @size should be >= 4 The value of @filename is used for fetching external entities and error/warning reports.

    +
    sax:a SAX handler
    user_data:The user data returned on SAX callbacks
    chunk:a pointer to an array of chars
    size:number of chars in the array
    filename:an optional file name or URI
    enc:an optional encoding
    Returns:the new parser context or NULL

    Function: docbEncodeEntities

    int	docbEncodeEntities		(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen,
    int quoteChar)
    +

    Take a block of UTF-8 chars in and try to convert it to an ASCII plus SGML entities block of chars out.

    +
    out:a pointer to an array of bytes to store the result
    outlen:the length of @out
    in:a pointer to an array of UTF-8 chars
    inlen:the length of @in
    quoteChar:the quote character to escape (' or ") or zero.
    Returns:0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.

    Function: docbParseFile

    docbDocPtr	docbParseFile		(const char * filename, 
    const char * encoding)
    +

    parse a Docbook SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

    +
    filename:the filename
    encoding:a free form C string describing document encoding, or NULL
    Returns:the resulting document tree

    Function: docbParseDocument

    int	docbParseDocument		(docbParserCtxtPtr ctxt)
    +

    parse an SGML document (and build a tree if using the standard SAX interface).

    +
    ctxt:an SGML parser context
    Returns:0, -1 in case of error. the parser context is augmented as a result of the parsing.

    Function: docbCreateFileParserCtxt

    docbParserCtxtPtr	docbCreateFileParserCtxt	(const char * filename, 
    const char * encoding)
    +

    Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

    +
    filename:the filename
    encoding:the SGML document encoding, or NULL
    Returns:the new parser context or NULL

    Function: docbParseDoc

    docbDocPtr	docbParseDoc		(xmlChar * cur, 
    const char * encoding)
    +

    parse an SGML in-memory document and build a tree.

    +
    cur:a pointer to an array of xmlChar
    encoding:a free form C string describing the SGML document encoding, or NULL
    Returns:the resulting document tree

    Function: docbSAXParseDoc

    docbDocPtr	docbSAXParseDoc		(xmlChar * cur, 
    const char * encoding,
    docbSAXHandlerPtr sax,
    void * userData)
    +

    parse an SGML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.

    +
    cur:a pointer to an array of xmlChar
    encoding:a free form C string describing the SGML document encoding, or NULL
    sax:the SAX handler block
    userData:if using SAX, this pointer will be provided on callbacks.
    Returns:the resulting document tree

    Function: docbSAXParseFile

    docbDocPtr	docbSAXParseFile	(const char * filename, 
    const char * encoding,
    docbSAXHandlerPtr sax,
    void * userData)
    +

    parse an SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.

    +
    filename:the filename
    encoding:a free form C string describing the SGML document encoding, or NULL
    sax:the SAX handler block
    userData:if using SAX, this pointer will be provided on callbacks.
    Returns:the resulting document tree

    Function: docbParseChunk

    int	docbParseChunk			(docbParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    int terminate)
    +

    Parse a Chunk of memory

    +
    ctxt:an XML parser context
    chunk:an char array
    size:the size in byte of the chunk
    terminate:last chunk indicator
    Returns:zero if no error, the xmlParserErrors otherwise.

    Function: docbFreeParserCtxt

    void	docbFreeParserCtxt		(docbParserCtxtPtr ctxt)
    +

    Free all the memory used by a parser context. However the parsed document in ctxt->myDoc is not freed.

    +
    ctxt:an SGML parser context

    Daniel Veillard

    diff --git a/doc/html/libxml-HTMLparser.html b/doc/html/libxml-HTMLparser.html new file mode 100644 index 0000000..fc3b126 --- /dev/null +++ b/doc/html/libxml-HTMLparser.html @@ -0,0 +1,176 @@ + + +Module HTMLparser from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module HTMLparser from libxml2

    API Menu
    API Indexes
    Related links

    this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. It should be able to parse "real world" HTML, even if severely broken from a specification point of view.

    Table of Contents

    #define htmlDefaultSubelement
    #define htmlElementAllowedHereDesc
    #define htmlRequiredAttrs
    Typedef xmlDocPtr htmlDocPtr
    +
    Structure htmlElemDesc
    struct _htmlElemDesc +
    Typedef htmlElemDesc * htmlElemDescPtr
    +
    Structure htmlEntityDesc
    struct _htmlEntityDesc +
    Typedef htmlEntityDesc * htmlEntityDescPtr
    +
    Typedef xmlNodePtr htmlNodePtr
    +
    Typedef xmlParserCtxt htmlParserCtxt
    +
    Typedef xmlParserCtxtPtr htmlParserCtxtPtr
    +
    Typedef xmlParserInput htmlParserInput
    +
    Typedef xmlParserInputPtr htmlParserInputPtr
    +
    Typedef xmlParserNodeInfo htmlParserNodeInfo
    +
    Enum htmlParserOption
    +
    Typedef xmlSAXHandler htmlSAXHandler
    +
    Typedef xmlSAXHandlerPtr htmlSAXHandlerPtr
    +
    Enum htmlStatus
    +
    int	UTF8ToHtml			(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen)
    +
    htmlStatus	htmlAttrAllowed		(const htmlElemDesc * elt, 
    const xmlChar * attr,
    int legacy)
    +
    int	htmlAutoCloseTag		(htmlDocPtr doc, 
    const xmlChar * name,
    htmlNodePtr elem)
    +
    htmlParserCtxtPtr	htmlCreateMemoryParserCtxt	(const char * buffer, 
    int size)
    +
    htmlParserCtxtPtr	htmlCreatePushParserCtxt	(htmlSAXHandlerPtr sax, 
    void * user_data,
    const char * chunk,
    int size,
    const char * filename,
    xmlCharEncoding enc)
    +
    htmlDocPtr	htmlCtxtReadDoc		(htmlParserCtxtPtr ctxt, 
    const xmlChar * cur,
    const char * URL,
    const char * encoding,
    int options)
    +
    htmlDocPtr	htmlCtxtReadFd		(htmlParserCtxtPtr ctxt, 
    int fd,
    const char * URL,
    const char * encoding,
    int options)
    +
    htmlDocPtr	htmlCtxtReadFile	(htmlParserCtxtPtr ctxt, 
    const char * filename,
    const char * encoding,
    int options)
    +
    htmlDocPtr	htmlCtxtReadIO		(htmlParserCtxtPtr ctxt, 
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    +
    htmlDocPtr	htmlCtxtReadMemory	(htmlParserCtxtPtr ctxt, 
    const char * buffer,
    int size,
    const char * URL,
    const char * encoding,
    int options)
    +
    void	htmlCtxtReset			(htmlParserCtxtPtr ctxt)
    +
    int	htmlCtxtUseOptions		(htmlParserCtxtPtr ctxt, 
    int options)
    +
    int	htmlElementAllowedHere		(const htmlElemDesc * parent, 
    const xmlChar * elt)
    +
    htmlStatus	htmlElementStatusHere	(const htmlElemDesc * parent, 
    const htmlElemDesc * elt)
    +
    int	htmlEncodeEntities		(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen,
    int quoteChar)
    +
    const htmlEntityDesc *	htmlEntityLookup	(const xmlChar * name)
    +
    const htmlEntityDesc *	htmlEntityValueLookup	(unsigned int value)
    +
    void	htmlFreeParserCtxt		(htmlParserCtxtPtr ctxt)
    +
    int	htmlHandleOmittedElem		(int val)
    +
    int	htmlIsAutoClosed		(htmlDocPtr doc, 
    htmlNodePtr elem)
    +
    int	htmlIsScriptAttribute		(const xmlChar * name)
    +
    htmlStatus	htmlNodeStatus		(const htmlNodePtr node, 
    int legacy)
    +
    int	htmlParseCharRef		(htmlParserCtxtPtr ctxt)
    +
    int	htmlParseChunk			(htmlParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    int terminate)
    +
    htmlDocPtr	htmlParseDoc		(xmlChar * cur, 
    const char * encoding)
    +
    int	htmlParseDocument		(htmlParserCtxtPtr ctxt)
    +
    void	htmlParseElement		(htmlParserCtxtPtr ctxt)
    +
    const htmlEntityDesc *	htmlParseEntityRef	(htmlParserCtxtPtr ctxt, 
    const xmlChar ** str)
    +
    htmlDocPtr	htmlParseFile		(const char * filename, 
    const char * encoding)
    +
    htmlDocPtr	htmlReadDoc		(const xmlChar * cur, 
    const char * URL,
    const char * encoding,
    int options)
    +
    htmlDocPtr	htmlReadFd		(int fd, 
    const char * URL,
    const char * encoding,
    int options)
    +
    htmlDocPtr	htmlReadFile		(const char * filename, 
    const char * encoding,
    int options)
    +
    htmlDocPtr	htmlReadIO		(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    +
    htmlDocPtr	htmlReadMemory		(const char * buffer, 
    int size,
    const char * URL,
    const char * encoding,
    int options)
    +
    htmlDocPtr	htmlSAXParseDoc		(xmlChar * cur, 
    const char * encoding,
    htmlSAXHandlerPtr sax,
    void * userData)
    +
    htmlDocPtr	htmlSAXParseFile	(const char * filename, 
    const char * encoding,
    htmlSAXHandlerPtr sax,
    void * userData)
    +
    const htmlElemDesc *	htmlTagLookup	(const xmlChar * tag)
    +

    Description

    +

    Macro: htmlDefaultSubelement

    #define htmlDefaultSubelement

    Returns the default subelement for this element

    +

    Macro: htmlElementAllowedHereDesc

    #define htmlElementAllowedHereDesc

    Checks whether an HTML element description may be a direct child of the specified element. Returns 1 if allowed; 0 otherwise.

    +

    Macro: htmlRequiredAttrs

    #define htmlRequiredAttrs

    Returns the attributes required for the specified element.

    +

    Structure htmlElemDesc

    Structure htmlElemDesc
    struct _htmlElemDesc { + const char * name : The tag name + char startTag : Whether the start tag can be implied + char endTag : Whether the end tag can be implied + char saveEndTag : Whether the end tag should be saved + char empty : Is this an empty element ? + char depr : Is this a deprecated element ? + char dtd : 1: only in Loose DTD, 2: only Frameset + char isinline : is this a block 0 or inline 1 element + const char * desc : the description NRK Jan.2003 * New fiel + const char ** subelts : allowed sub-elements of this element + const char * defaultsubelt : subelement for suggested auto-repair if + const char ** attrs_opt : Optional Attributes + const char ** attrs_depr : Additional deprecated attributes + const char ** attrs_req : Required attributes +}

    Structure htmlEntityDesc

    Structure htmlEntityDesc
    struct _htmlEntityDesc { + unsigned int value : the UNICODE value for the character + const char * name : The entity name + const char * desc : the description +}

    Enum htmlParserOption

    Enum htmlParserOption {
    +    HTML_PARSE_NOERROR = 32 : suppress error reports
    +    HTML_PARSE_NOWARNING = 64 : suppress warning reports
    +    HTML_PARSE_PEDANTIC = 128 : pedantic error reporting
    +    HTML_PARSE_NOBLANKS = 256 : remove blank nodes
    +    HTML_PARSE_NONET = 2048 : Forbid network access
    +}
    +

    Enum htmlStatus

    Enum htmlStatus {
    +    HTML_NA = 0 : something we don't check at all
    +    HTML_INVALID = 1
    +    HTML_DEPRECATED = 2
    +    HTML_VALID = 4
    +    HTML_REQUIRED = 12 : VALID bit set so ( & HTML_VALID ) is TRUE
    +}
    +

    Function: UTF8ToHtml

    int	UTF8ToHtml			(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen)
    +

    Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.

    +
    out:a pointer to an array of bytes to store the result
    outlen:the length of @out
    in:a pointer to an array of UTF-8 chars
    inlen:the length of @in
    Returns:0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.

    Function: htmlAttrAllowed

    htmlStatus	htmlAttrAllowed		(const htmlElemDesc * elt, 
    const xmlChar * attr,
    int legacy)
    +

    Checks whether an attribute is valid for an element Has full knowledge of Required and Deprecated attributes

    +
    elt:HTML element
    attr:HTML attribute
    legacy:whether to allow deprecated attributes
    Returns:one of HTML_REQUIRED, HTML_VALID, HTML_DEPRECATED, HTML_INVALID

    Function: htmlAutoCloseTag

    int	htmlAutoCloseTag		(htmlDocPtr doc, 
    const xmlChar * name,
    htmlNodePtr elem)
    +

    The HTML DTD allows a tag to implicitly close other tags. The list is kept in htmlStartClose array. This function checks if the element or one of it's children would autoclose the given tag.

    +
    doc:the HTML document
    name:The tag name
    elem:the HTML element
    Returns:1 if autoclose, 0 otherwise

    Function: htmlCreateMemoryParserCtxt

    htmlParserCtxtPtr	htmlCreateMemoryParserCtxt	(const char * buffer, 
    int size)
    +

    Create a parser context for an HTML in-memory document.

    +
    buffer:a pointer to a char array
    size:the size of the array
    Returns:the new parser context or NULL

    Function: htmlCreatePushParserCtxt

    htmlParserCtxtPtr	htmlCreatePushParserCtxt	(htmlSAXHandlerPtr sax, 
    void * user_data,
    const char * chunk,
    int size,
    const char * filename,
    xmlCharEncoding enc)
    +

    Create a parser context for using the HTML parser in push mode The value of @filename is used for fetching external entities and error/warning reports.

    +
    sax:a SAX handler
    user_data:The user data returned on SAX callbacks
    chunk:a pointer to an array of chars
    size:number of chars in the array
    filename:an optional file name or URI
    enc:an optional encoding
    Returns:the new parser context or NULL

    Function: htmlCtxtReadDoc

    htmlDocPtr	htmlCtxtReadDoc		(htmlParserCtxtPtr ctxt, 
    const xmlChar * cur,
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context

    +
    ctxt:an HTML parser context
    cur:a pointer to a zero terminated string
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlCtxtReadFd

    htmlDocPtr	htmlCtxtReadFd		(htmlParserCtxtPtr ctxt, 
    int fd,
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context

    +
    ctxt:an HTML parser context
    fd:an open file descriptor
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlCtxtReadFile

    htmlDocPtr	htmlCtxtReadFile	(htmlParserCtxtPtr ctxt, 
    const char * filename,
    const char * encoding,
    int options)
    +

    parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context

    +
    ctxt:an HTML parser context
    filename:a file or URL
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlCtxtReadIO

    htmlDocPtr	htmlCtxtReadIO		(htmlParserCtxtPtr ctxt, 
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an HTML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context

    +
    ctxt:an HTML parser context
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlCtxtReadMemory

    htmlDocPtr	htmlCtxtReadMemory	(htmlParserCtxtPtr ctxt, 
    const char * buffer,
    int size,
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context

    +
    ctxt:an HTML parser context
    buffer:a pointer to a char array
    size:the size of the array
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlCtxtReset

    void	htmlCtxtReset			(htmlParserCtxtPtr ctxt)
    +

    Reset a parser context

    +
    ctxt:an HTML parser context

    Function: htmlCtxtUseOptions

    int	htmlCtxtUseOptions		(htmlParserCtxtPtr ctxt, 
    int options)
    +

    Applies the options to the parser context

    +
    ctxt:an HTML parser context
    options:a combination of htmlParserOption(s)
    Returns:0 in case of success, the set of unknown or unimplemented options in case of error.

    Function: htmlElementAllowedHere

    int	htmlElementAllowedHere		(const htmlElemDesc * parent, 
    const xmlChar * elt)
    +

    Checks whether an HTML element may be a direct child of a parent element. Note - doesn't check for deprecated elements

    +
    parent:HTML parent element
    elt:HTML element
    Returns:1 if allowed; 0 otherwise.

    Function: htmlElementStatusHere

    htmlStatus	htmlElementStatusHere	(const htmlElemDesc * parent, 
    const htmlElemDesc * elt)
    +

    Checks whether an HTML element may be a direct child of a parent element. and if so whether it is valid or deprecated.

    +
    parent:HTML parent element
    elt:HTML element
    Returns:one of HTML_VALID, HTML_DEPRECATED, HTML_INVALID

    Function: htmlEncodeEntities

    int	htmlEncodeEntities		(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen,
    int quoteChar)
    +

    Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.

    +
    out:a pointer to an array of bytes to store the result
    outlen:the length of @out
    in:a pointer to an array of UTF-8 chars
    inlen:the length of @in
    quoteChar:the quote character to escape (' or ") or zero.
    Returns:0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.

    Function: htmlEntityLookup

    const htmlEntityDesc *	htmlEntityLookup	(const xmlChar * name)
    +

    Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.

    +
    name:the entity name
    Returns:the associated htmlEntityDescPtr if found, NULL otherwise.

    Function: htmlEntityValueLookup

    const htmlEntityDesc *	htmlEntityValueLookup	(unsigned int value)
    +

    Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.

    +
    value:the entity's unicode value
    Returns:the associated htmlEntityDescPtr if found, NULL otherwise.

    Function: htmlFreeParserCtxt

    void	htmlFreeParserCtxt		(htmlParserCtxtPtr ctxt)
    +

    Free all the memory used by a parser context. However the parsed document in ctxt->myDoc is not freed.

    +
    ctxt:an HTML parser context

    Function: htmlHandleOmittedElem

    int	htmlHandleOmittedElem		(int val)
    +

    Set and return the previous value for handling HTML omitted tags.

    +
    val:int 0 or 1
    Returns:the last value for 0 for no handling, 1 for auto insertion.

    Function: htmlIsAutoClosed

    int	htmlIsAutoClosed		(htmlDocPtr doc, 
    htmlNodePtr elem)
    +

    The HTML DTD allows a tag to implicitly close other tags. The list is kept in htmlStartClose array. This function checks if a tag is autoclosed by one of it's child

    +
    doc:the HTML document
    elem:the HTML element
    Returns:1 if autoclosed, 0 otherwise

    Function: htmlIsScriptAttribute

    int	htmlIsScriptAttribute		(const xmlChar * name)
    +

    Check if an attribute is of content type Script

    +
    name:an attribute name
    Returns:1 is the attribute is a script 0 otherwise

    Function: htmlNodeStatus

    htmlStatus	htmlNodeStatus		(const htmlNodePtr node, 
    int legacy)
    +

    Checks whether the tree node is valid. Experimental (the author only uses the HTML enhancements in a SAX parser)

    +
    node:an htmlNodePtr in a tree
    legacy:whether to allow deprecated elements (YES is faster here for Element nodes)
    Returns:for Element nodes, a return from htmlElementAllowedHere (if legacy allowed) or htmlElementStatusHere (otherwise). for Attribute nodes, a return from htmlAttrAllowed for other nodes, HTML_NA (no checks performed)

    Function: htmlParseCharRef

    int	htmlParseCharRef		(htmlParserCtxtPtr ctxt)
    +

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

    +
    ctxt:an HTML parser context
    Returns:the value parsed (as an int)

    Function: htmlParseChunk

    int	htmlParseChunk			(htmlParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    int terminate)
    +

    Parse a Chunk of memory

    +
    ctxt:an HTML parser context
    chunk:an char array
    size:the size in byte of the chunk
    terminate:last chunk indicator
    Returns:zero if no error, the xmlParserErrors otherwise.

    Function: htmlParseDoc

    htmlDocPtr	htmlParseDoc		(xmlChar * cur, 
    const char * encoding)
    +

    parse an HTML in-memory document and build a tree.

    +
    cur:a pointer to an array of xmlChar
    encoding:a free form C string describing the HTML document encoding, or NULL
    Returns:the resulting document tree

    Function: htmlParseDocument

    int	htmlParseDocument		(htmlParserCtxtPtr ctxt)
    +

    parse an HTML document (and build a tree if using the standard SAX interface).

    +
    ctxt:an HTML parser context
    Returns:0, -1 in case of error. the parser context is augmented as a result of the parsing.

    Function: htmlParseElement

    void	htmlParseElement		(htmlParserCtxtPtr ctxt)
    +

    parse an HTML element, this is highly recursive [39] element ::= EmptyElemTag | STag content ETag [41] Attribute ::= Name Eq AttValue

    +
    ctxt:an HTML parser context

    Function: htmlParseEntityRef

    const htmlEntityDesc *	htmlParseEntityRef	(htmlParserCtxtPtr ctxt, 
    const xmlChar ** str)
    +

    parse an HTML ENTITY references [68] EntityRef ::= '&' Name ';'

    +
    ctxt:an HTML parser context
    str:location to store the entity name
    Returns:the associated htmlEntityDescPtr if found, or NULL otherwise, if non-NULL *str will have to be freed by the caller.

    Function: htmlParseFile

    htmlDocPtr	htmlParseFile		(const char * filename, 
    const char * encoding)
    +

    parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

    +
    filename:the filename
    encoding:a free form C string describing the HTML document encoding, or NULL
    Returns:the resulting document tree

    Function: htmlReadDoc

    htmlDocPtr	htmlReadDoc		(const xmlChar * cur, 
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an XML in-memory document and build a tree.

    +
    cur:a pointer to a zero terminated string
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlReadFd

    htmlDocPtr	htmlReadFd		(int fd, 
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an XML from a file descriptor and build a tree.

    +
    fd:an open file descriptor
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlReadFile

    htmlDocPtr	htmlReadFile		(const char * filename, 
    const char * encoding,
    int options)
    +

    parse an XML file from the filesystem or the network.

    +
    filename:a file or URL
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlReadIO

    htmlDocPtr	htmlReadIO		(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an HTML document from I/O functions and source and build a tree.

    +
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlReadMemory

    htmlDocPtr	htmlReadMemory		(const char * buffer, 
    int size,
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an XML in-memory document and build a tree.

    +
    buffer:a pointer to a char array
    size:the size of the array
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of htmlParserOption(s)
    Returns:the resulting document tree

    Function: htmlSAXParseDoc

    htmlDocPtr	htmlSAXParseDoc		(xmlChar * cur, 
    const char * encoding,
    htmlSAXHandlerPtr sax,
    void * userData)
    +

    Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks to handle parse events. If sax is NULL, fallback to the default DOM behavior and return a tree.

    +
    cur:a pointer to an array of xmlChar
    encoding:a free form C string describing the HTML document encoding, or NULL
    sax:the SAX handler block
    userData:if using SAX, this pointer will be provided on callbacks.
    Returns:the resulting document tree unless SAX is NULL or the document is not well formed.

    Function: htmlSAXParseFile

    htmlDocPtr	htmlSAXParseFile	(const char * filename, 
    const char * encoding,
    htmlSAXHandlerPtr sax,
    void * userData)
    +

    parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.

    +
    filename:the filename
    encoding:a free form C string describing the HTML document encoding, or NULL
    sax:the SAX handler block
    userData:if using SAX, this pointer will be provided on callbacks.
    Returns:the resulting document tree unless SAX is NULL or the document is not well formed.

    Function: htmlTagLookup

    const htmlElemDesc *	htmlTagLookup	(const xmlChar * tag)
    +

    Lookup the HTML tag in the ElementTable

    +
    tag:The tag name in lowercase
    Returns:the related htmlElemDescPtr or NULL if not found.

    Daniel Veillard

    diff --git a/doc/html/libxml-HTMLtree.html b/doc/html/libxml-HTMLtree.html new file mode 100644 index 0000000..19ca975 --- /dev/null +++ b/doc/html/libxml-HTMLtree.html @@ -0,0 +1,70 @@ + + +Module HTMLtree from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module HTMLtree from libxml2

    API Menu
    API Indexes
    Related links

    this module implements a few function needed to process tree in an HTML specific way.

    Table of Contents

    #define HTML_COMMENT_NODE
    #define HTML_ENTITY_REF_NODE
    #define HTML_PI_NODE
    #define HTML_PRESERVE_NODE
    #define HTML_TEXT_NODE
    void	htmlDocContentDumpFormatOutput	(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    +
    void	htmlDocContentDumpOutput	(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding)
    +
    int	htmlDocDump			(FILE * f, 
    xmlDocPtr cur)
    +
    void	htmlDocDumpMemory		(xmlDocPtr cur, 
    xmlChar ** mem,
    int * size)
    +
    const xmlChar *	htmlGetMetaEncoding	(htmlDocPtr doc)
    +
    int	htmlIsBooleanAttr		(const xmlChar * name)
    +
    htmlDocPtr	htmlNewDoc		(const xmlChar * URI, 
    const xmlChar * ExternalID)
    +
    htmlDocPtr	htmlNewDocNoDtD		(const xmlChar * URI, 
    const xmlChar * ExternalID)
    +
    int	htmlNodeDump			(xmlBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur)
    +
    void	htmlNodeDumpFile		(FILE * out, 
    xmlDocPtr doc,
    xmlNodePtr cur)
    +
    int	htmlNodeDumpFileFormat		(FILE * out, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    const char * encoding,
    int format)
    +
    void	htmlNodeDumpFormatOutput	(xmlOutputBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    const char * encoding,
    int format)
    +
    void	htmlNodeDumpOutput		(xmlOutputBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    const char * encoding)
    +
    int	htmlSaveFile			(const char * filename, 
    xmlDocPtr cur)
    +
    int	htmlSaveFileEnc			(const char * filename, 
    xmlDocPtr cur,
    const char * encoding)
    +
    int	htmlSaveFileFormat		(const char * filename, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    +
    int	htmlSetMetaEncoding		(htmlDocPtr doc, 
    const xmlChar * encoding)
    +

    Description

    +

    Macro: HTML_COMMENT_NODE

    #define HTML_COMMENT_NODE

    Macro. A comment in a HTML document is really implemented the same way as a comment in an XML document.

    +

    Macro: HTML_ENTITY_REF_NODE

    #define HTML_ENTITY_REF_NODE

    Macro. An entity reference in a HTML document is really implemented the same way as an entity reference in an XML document.

    +

    Macro: HTML_PI_NODE

    #define HTML_PI_NODE

    Macro. A processing instruction in a HTML document is really implemented the same way as a processing instruction in an XML document.

    +

    Macro: HTML_PRESERVE_NODE

    #define HTML_PRESERVE_NODE

    Macro. A preserved node in a HTML document is really implemented the same way as a CDATA section in an XML document.

    +

    Macro: HTML_TEXT_NODE

    #define HTML_TEXT_NODE

    Macro. A text node in a HTML document is really implemented the same way as a text node in an XML document.

    +

    Function: htmlDocContentDumpFormatOutput

    void	htmlDocContentDumpFormatOutput	(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    +

    Dump an HTML document.

    +
    buf:the HTML buffer output
    cur:the document
    encoding:the encoding string
    format:should formatting spaces been added

    Function: htmlDocContentDumpOutput

    void	htmlDocContentDumpOutput	(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding)
    +

    Dump an HTML document. Formating return/spaces are added.

    +
    buf:the HTML buffer output
    cur:the document
    encoding:the encoding string

    Function: htmlDocDump

    int	htmlDocDump			(FILE * f, 
    xmlDocPtr cur)
    +

    Dump an HTML document to an open FILE.

    +
    f:the FILE*
    cur:the document
    Returns:the number of byte written or -1 in case of failure.

    Function: htmlDocDumpMemory

    void	htmlDocDumpMemory		(xmlDocPtr cur, 
    xmlChar ** mem,
    int * size)
    +

    Dump an HTML document in memory and return the xmlChar * and it's size. It's up to the caller to free the memory.

    +
    cur:the document
    mem:OUT: the memory pointer
    size:OUT: the memory length

    Function: htmlGetMetaEncoding

    const xmlChar *	htmlGetMetaEncoding	(htmlDocPtr doc)
    +

    Encoding definition lookup in the Meta tags

    +
    doc:the document
    Returns:the current encoding as flagged in the HTML source

    Function: htmlIsBooleanAttr

    int	htmlIsBooleanAttr		(const xmlChar * name)
    +

    Determine if a given attribute is a boolean attribute.

    +
    name:the name of the attribute to check
    Returns:false if the attribute is not boolean, true otherwise.

    Function: htmlNewDoc

    htmlDocPtr	htmlNewDoc		(const xmlChar * URI, 
    const xmlChar * ExternalID)
    +

    Creates a new HTML document

    +
    URI:URI for the dtd, or NULL
    ExternalID:the external ID of the DTD, or NULL
    Returns:a new document

    Function: htmlNewDocNoDtD

    htmlDocPtr	htmlNewDocNoDtD		(const xmlChar * URI, 
    const xmlChar * ExternalID)
    +

    Creates a new HTML document without a DTD node if @URI and @ExternalID are NULL

    +
    URI:URI for the dtd, or NULL
    ExternalID:the external ID of the DTD, or NULL
    Returns:a new document, do not initialize the DTD if not provided

    Function: htmlNodeDump

    int	htmlNodeDump			(xmlBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur)
    +

    Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.

    +
    buf:the HTML buffer output
    doc:the document
    cur:the current node
    Returns:the number of byte written or -1 in case of error

    Function: htmlNodeDumpFile

    void	htmlNodeDumpFile		(FILE * out, 
    xmlDocPtr doc,
    xmlNodePtr cur)
    +

    Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.

    +
    out:the FILE pointer
    doc:the document
    cur:the current node

    Function: htmlNodeDumpFileFormat

    int	htmlNodeDumpFileFormat		(FILE * out, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    const char * encoding,
    int format)
    +

    Dump an HTML node, recursive behaviour,children are printed too. TODO: if encoding == NULL try to save in the doc encoding

    +
    out:the FILE pointer
    doc:the document
    cur:the current node
    encoding:the document encoding
    format:should formatting spaces been added
    Returns:the number of byte written or -1 in case of failure.

    Function: htmlNodeDumpFormatOutput

    void	htmlNodeDumpFormatOutput	(xmlOutputBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    const char * encoding,
    int format)
    +

    Dump an HTML node, recursive behaviour,children are printed too.

    +
    buf:the HTML buffer output
    doc:the document
    cur:the current node
    encoding:the encoding string
    format:should formatting spaces been added

    Function: htmlNodeDumpOutput

    void	htmlNodeDumpOutput		(xmlOutputBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    const char * encoding)
    +

    Dump an HTML node, recursive behaviour,children are printed too, and formatting returns/spaces are added.

    +
    buf:the HTML buffer output
    doc:the document
    cur:the current node
    encoding:the encoding string

    Function: htmlSaveFile

    int	htmlSaveFile			(const char * filename, 
    xmlDocPtr cur)
    +

    Dump an HTML document to a file. If @filename is "-" the stdout file is used.

    +
    filename:the filename (or URL)
    cur:the document
    Returns:the number of byte written or -1 in case of failure.

    Function: htmlSaveFileEnc

    int	htmlSaveFileEnc			(const char * filename, 
    xmlDocPtr cur,
    const char * encoding)
    +

    Dump an HTML document to a file using a given encoding and formatting returns/spaces are added.

    +
    filename:the filename
    cur:the document
    encoding:the document encoding
    Returns:the number of byte written or -1 in case of failure.

    Function: htmlSaveFileFormat

    int	htmlSaveFileFormat		(const char * filename, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    +

    Dump an HTML document to a file using a given encoding.

    +
    filename:the filename
    cur:the document
    encoding:the document encoding
    format:should formatting spaces been added
    Returns:the number of byte written or -1 in case of failure.

    Function: htmlSetMetaEncoding

    int	htmlSetMetaEncoding		(htmlDocPtr doc, 
    const xmlChar * encoding)
    +

    Sets the current encoding in the Meta tags NOTE: this will not change the document content encoding, just the META flag associated.

    +
    doc:the document
    encoding:the encoding string
    Returns:0 in case of success and -1 in case of error

    Daniel Veillard

    diff --git a/doc/html/libxml-SAX.html b/doc/html/libxml-SAX.html new file mode 100644 index 0000000..60646f8 --- /dev/null +++ b/doc/html/libxml-SAX.html @@ -0,0 +1,125 @@ + + +Module SAX from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module SAX from libxml2

    API Menu
    API Indexes
    Related links

    This module is deprecated

    DEPRECATED set of SAX version 1 interfaces used to build the DOM tree.

    Table of Contents

    void	cdataBlock			(void * ctx, 
    const xmlChar * value,
    int len)
    +
    void	comment			(void * ctx, 
    const xmlChar * value)
    +
    int	checkNamespace			(void * ctx, 
    xmlChar * namespace)
    +
    void	startElement			(void * ctx, 
    const xmlChar * fullname,
    const xmlChar ** atts)
    +
    void	inithtmlDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr)
    +
    int	getColumnNumber			(void * ctx)
    +
    void	endElement			(void * ctx, 
    const xmlChar * name)
    +
    void	attribute			(void * ctx, 
    const xmlChar * fullname,
    const xmlChar * value)
    +
    void	namespaceDecl			(void * ctx, 
    const xmlChar * href,
    const xmlChar * prefix)
    +
    xmlNsPtr	getNamespace		(void * ctx)
    +
    void	initdocbDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr)
    +
    void	setDocumentLocator		(void * ctx, 
    xmlSAXLocatorPtr loc)
    +
    const xmlChar *	getPublicId		(void * ctx)
    +
    xmlEntityPtr	getEntity		(void * ctx, 
    const xmlChar * name)
    +
    void	characters			(void * ctx, 
    const xmlChar * ch,
    int len)
    +
    void	elementDecl			(void * ctx, 
    const xmlChar * name,
    int type,
    xmlElementContentPtr content)
    +
    void	ignorableWhitespace		(void * ctx, 
    const xmlChar * ch,
    int len)
    +
    int	hasExternalSubset		(void * ctx)
    +
    int	isStandalone			(void * ctx)
    +
    void	unparsedEntityDecl		(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId,
    const xmlChar * notationName)
    +
    void	reference			(void * ctx, 
    const xmlChar * name)
    +
    void	globalNamespace			(void * ctx, 
    const xmlChar * href,
    const xmlChar * prefix)
    +
    void	initxmlDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr, 
    int warning)
    +
    int	hasInternalSubset		(void * ctx)
    +
    void	processingInstruction		(void * ctx, 
    const xmlChar * target,
    const xmlChar * data)
    +
    xmlEntityPtr	getParameterEntity	(void * ctx, 
    const xmlChar * name)
    +
    void	attributeDecl			(void * ctx, 
    const xmlChar * elem,
    const xmlChar * fullname,
    int type,
    int def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree)
    +
    void	notationDecl			(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId)
    +
    void	entityDecl			(void * ctx, 
    const xmlChar * name,
    int type,
    const xmlChar * publicId,
    const xmlChar * systemId,
    xmlChar * content)
    +
    void	setNamespace			(void * ctx, 
    const xmlChar * name)
    +
    void	externalSubset			(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +
    xmlParserInputPtr	resolveEntity	(void * ctx, 
    const xmlChar * publicId,
    const xmlChar * systemId)
    +
    const xmlChar *	getSystemId		(void * ctx)
    +
    void	startDocument			(void * ctx)
    +
    void	internalSubset			(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +
    void	endDocument			(void * ctx)
    +
    int	getLineNumber			(void * ctx)
    +

    Description

    +

    Function: cdataBlock

    void	cdataBlock			(void * ctx, 
    const xmlChar * value,
    int len)
    +

    called when a pcdata block has been parsed DEPRECATED: use xmlSAX2CDataBlock()

    +
    ctx:the user data (XML parser context)
    value:The pcdata content
    len:the block length

    Function: comment

    void	comment			(void * ctx, 
    const xmlChar * value)
    +

    A comment has been parsed. DEPRECATED: use xmlSAX2Comment()

    +
    ctx:the user data (XML parser context)
    value:the comment content

    Function: checkNamespace

    int	checkNamespace			(void * ctx, 
    xmlChar * namespace)
    +

    Check that the current element namespace is the same as the one read upon parsing. DEPRECATED

    +
    ctx:the user data (XML parser context)
    namespace:the namespace to check against
    Returns:1 if true 0 otherwise

    Function: startElement

    void	startElement			(void * ctx, 
    const xmlChar * fullname,
    const xmlChar ** atts)
    +

    called when an opening tag has been processed. DEPRECATED: use xmlSAX2StartElement()

    +
    ctx:the user data (XML parser context)
    fullname:The element name, including namespace prefix
    atts:An array of name/value attributes pairs, NULL terminated

    Function: inithtmlDefaultSAXHandler

    void	inithtmlDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr)
    +

    Initialize the default HTML SAX version 1 handler DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks

    +
    hdlr:the SAX handler

    Function: getColumnNumber

    int	getColumnNumber			(void * ctx)
    +

    Provide the column number of the current parsing point. DEPRECATED: use xmlSAX2GetColumnNumber()

    +
    ctx:the user data (XML parser context)
    Returns:an int

    Function: endElement

    void	endElement			(void * ctx, 
    const xmlChar * name)
    +

    called when the end of an element has been detected. DEPRECATED: use xmlSAX2EndElement()

    +
    ctx:the user data (XML parser context)
    name:The element name

    Function: attribute

    void	attribute			(void * ctx, 
    const xmlChar * fullname,
    const xmlChar * value)
    +

    Handle an attribute that has been read by the parser. The default handling is to convert the attribute into an DOM subtree and past it in a new xmlAttr element added to the element. DEPRECATED: use xmlSAX2Attribute()

    +
    ctx:the user data (XML parser context)
    fullname:The attribute name, including namespace prefix
    value:The attribute value

    Function: namespaceDecl

    void	namespaceDecl			(void * ctx, 
    const xmlChar * href,
    const xmlChar * prefix)
    +

    A namespace has been parsed. DEPRECATED

    +
    ctx:the user data (XML parser context)
    href:the namespace associated URN
    prefix:the namespace prefix

    Function: getNamespace

    xmlNsPtr	getNamespace		(void * ctx)
    +

    Get the current element namespace. DEPRECATED

    +
    ctx:the user data (XML parser context)
    Returns:the xmlNsPtr or NULL if none

    Function: initdocbDefaultSAXHandler

    void	initdocbDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr)
    +

    Initialize the default DocBook SAX version 1 handler DEPRECATED: use xmlSAX2InitDocbDefaultSAXHandler() for the new SAX2 blocks

    +
    hdlr:the SAX handler

    Function: setDocumentLocator

    void	setDocumentLocator		(void * ctx, 
    xmlSAXLocatorPtr loc)
    +

    Receive the document locator at startup, actually xmlDefaultSAXLocator Everything is available on the context, so this is useless in our case. DEPRECATED

    +
    ctx:the user data (XML parser context)
    loc:A SAX Locator

    Function: getPublicId

    const xmlChar *	getPublicId		(void * ctx)
    +

    Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN" DEPRECATED: use xmlSAX2GetPublicId()

    +
    ctx:the user data (XML parser context)
    Returns:a xmlChar *

    Function: getEntity

    xmlEntityPtr	getEntity		(void * ctx, 
    const xmlChar * name)
    +

    Get an entity by name DEPRECATED: use xmlSAX2GetEntity()

    +
    ctx:the user data (XML parser context)
    name:The entity name
    Returns:the xmlEntityPtr if found.

    Function: characters

    void	characters			(void * ctx, 
    const xmlChar * ch,
    int len)
    +

    receiving some chars from the parser. DEPRECATED: use xmlSAX2Characters()

    +
    ctx:the user data (XML parser context)
    ch:a xmlChar string
    len:the number of xmlChar

    Function: elementDecl

    void	elementDecl			(void * ctx, 
    const xmlChar * name,
    int type,
    xmlElementContentPtr content)
    +

    An element definition has been parsed DEPRECATED: use xmlSAX2ElementDecl()

    +
    ctx:the user data (XML parser context)
    name:the element name
    type:the element type
    content:the element value tree

    Function: ignorableWhitespace

    void	ignorableWhitespace		(void * ctx, 
    const xmlChar * ch,
    int len)
    +

    receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use characters DEPRECATED: use xmlSAX2IgnorableWhitespace()

    +
    ctx:the user data (XML parser context)
    ch:a xmlChar string
    len:the number of xmlChar

    Function: hasExternalSubset

    int	hasExternalSubset		(void * ctx)
    +

    Does this document has an external subset DEPRECATED: use xmlSAX2HasExternalSubset()

    +
    ctx:the user data (XML parser context)
    Returns:1 if true

    Function: isStandalone

    int	isStandalone			(void * ctx)
    +

    Is this document tagged standalone ? DEPRECATED: use xmlSAX2IsStandalone()

    +
    ctx:the user data (XML parser context)
    Returns:1 if true

    Function: unparsedEntityDecl

    void	unparsedEntityDecl		(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId,
    const xmlChar * notationName)
    +

    What to do when an unparsed entity declaration is parsed DEPRECATED: use xmlSAX2UnparsedEntityDecl()

    +
    ctx:the user data (XML parser context)
    name:The name of the entity
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    notationName:the name of the notation

    Function: reference

    void	reference			(void * ctx, 
    const xmlChar * name)
    +

    called when an entity reference is detected. DEPRECATED: use xmlSAX2Reference()

    +
    ctx:the user data (XML parser context)
    name:The entity name

    Function: globalNamespace

    void	globalNamespace			(void * ctx, 
    const xmlChar * href,
    const xmlChar * prefix)
    +

    An old global namespace has been parsed. DEPRECATED

    +
    ctx:the user data (XML parser context)
    href:the namespace associated URN
    prefix:the namespace prefix

    Function: initxmlDefaultSAXHandler

    void	initxmlDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr, 
    int warning)
    +

    Initialize the default XML SAX version 1 handler DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for the new SAX2 blocks

    +
    hdlr:the SAX handler
    warning:flag if non-zero sets the handler warning procedure

    Function: hasInternalSubset

    int	hasInternalSubset		(void * ctx)
    +

    Does this document has an internal subset DEPRECATED: use xmlSAX2HasInternalSubset()

    +
    ctx:the user data (XML parser context)
    Returns:1 if true

    Function: processingInstruction

    void	processingInstruction		(void * ctx, 
    const xmlChar * target,
    const xmlChar * data)
    +

    A processing instruction has been parsed. DEPRECATED: use xmlSAX2ProcessingInstruction()

    +
    ctx:the user data (XML parser context)
    target:the target name
    data:the PI data's

    Function: getParameterEntity

    xmlEntityPtr	getParameterEntity	(void * ctx, 
    const xmlChar * name)
    +

    Get a parameter entity by name DEPRECATED: use xmlSAX2GetParameterEntity()

    +
    ctx:the user data (XML parser context)
    name:The entity name
    Returns:the xmlEntityPtr if found.

    Function: attributeDecl

    void	attributeDecl			(void * ctx, 
    const xmlChar * elem,
    const xmlChar * fullname,
    int type,
    int def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree)
    +

    An attribute definition has been parsed DEPRECATED: use xmlSAX2AttributeDecl()

    +
    ctx:the user data (XML parser context)
    elem:the name of the element
    fullname:the attribute name
    type:the attribute type
    def:the type of default value
    defaultValue:the attribute default value
    tree:the tree of enumerated value set

    Function: notationDecl

    void	notationDecl			(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId)
    +

    What to do when a notation declaration has been parsed. DEPRECATED: use xmlSAX2NotationDecl()

    +
    ctx:the user data (XML parser context)
    name:The name of the notation
    publicId:The public ID of the entity
    systemId:The system ID of the entity

    Function: entityDecl

    void	entityDecl			(void * ctx, 
    const xmlChar * name,
    int type,
    const xmlChar * publicId,
    const xmlChar * systemId,
    xmlChar * content)
    +

    An entity definition has been parsed DEPRECATED: use xmlSAX2EntityDecl()

    +
    ctx:the user data (XML parser context)
    name:the entity name
    type:the entity type
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    content:the entity value (without processing).

    Function: setNamespace

    void	setNamespace			(void * ctx, 
    const xmlChar * name)
    +

    Set the current element namespace. DEPRECATED

    +
    ctx:the user data (XML parser context)
    name:the namespace prefix

    Function: externalSubset

    void	externalSubset			(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +

    Callback on external subset declaration. DEPRECATED: use xmlSAX2ExternalSubset()

    +
    ctx:the user data (XML parser context)
    name:the root element name
    ExternalID:the external ID
    SystemID:the SYSTEM ID (e.g. filename or URL)

    Function: resolveEntity

    xmlParserInputPtr	resolveEntity	(void * ctx, 
    const xmlChar * publicId,
    const xmlChar * systemId)
    +

    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 DEPRECATED: use xmlSAX2ResolveEntity()

    +
    ctx:the user data (XML parser context)
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    Returns:the xmlParserInputPtr if inlined or NULL for DOM behaviour.

    Function: getSystemId

    const xmlChar *	getSystemId		(void * ctx)
    +

    Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd DEPRECATED: use xmlSAX2GetSystemId()

    +
    ctx:the user data (XML parser context)
    Returns:a xmlChar *

    Function: startDocument

    void	startDocument			(void * ctx)
    +

    called when the document start being processed. DEPRECATED: use xmlSAX2StartDocument()

    +
    ctx:the user data (XML parser context)

    Function: internalSubset

    void	internalSubset			(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +

    Callback on internal subset declaration. DEPRECATED: use xmlSAX2InternalSubset()

    +
    ctx:the user data (XML parser context)
    name:the root element name
    ExternalID:the external ID
    SystemID:the SYSTEM ID (e.g. filename or URL)

    Function: endDocument

    void	endDocument			(void * ctx)
    +

    called when the document end has been detected. DEPRECATED: use xmlSAX2EndDocument()

    +
    ctx:the user data (XML parser context)

    Function: getLineNumber

    int	getLineNumber			(void * ctx)
    +

    Provide the line number of the current parsing point. DEPRECATED: use xmlSAX2GetLineNumber()

    +
    ctx:the user data (XML parser context)
    Returns:an int

    Daniel Veillard

    diff --git a/doc/html/libxml-SAX2.html b/doc/html/libxml-SAX2.html new file mode 100644 index 0000000..2b9055e --- /dev/null +++ b/doc/html/libxml-SAX2.html @@ -0,0 +1,143 @@ + + +Module SAX2 from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module SAX2 from libxml2

    API Menu
    API Indexes
    Related links

    those are the default SAX2 interfaces used by the library when building DOM tree.

    Table of Contents

    void	docbDefaultSAXHandlerInit	(void)
    +
    void	htmlDefaultSAXHandlerInit	(void)
    +
    void	xmlDefaultSAXHandlerInit	(void)
    +
    void	xmlSAX2AttributeDecl		(void * ctx, 
    const xmlChar * elem,
    const xmlChar * fullname,
    int type,
    int def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree)
    +
    void	xmlSAX2CDataBlock		(void * ctx, 
    const xmlChar * value,
    int len)
    +
    void	xmlSAX2Characters		(void * ctx, 
    const xmlChar * ch,
    int len)
    +
    int	xmlSAX2CheckNamespace		(void * ctx, 
    xmlChar * nameSpace)
    +
    void	xmlSAX2Comment			(void * ctx, 
    const xmlChar * value)
    +
    void	xmlSAX2ElementDecl		(void * ctx, 
    const xmlChar * name,
    int type,
    xmlElementContentPtr content)
    +
    void	xmlSAX2EndDocument		(void * ctx)
    +
    void	xmlSAX2EndElement		(void * ctx, 
    const xmlChar * name)
    +
    void	xmlSAX2EndElementNs		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI)
    +
    void	xmlSAX2EntityDecl		(void * ctx, 
    const xmlChar * name,
    int type,
    const xmlChar * publicId,
    const xmlChar * systemId,
    xmlChar * content)
    +
    void	xmlSAX2ExternalSubset		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +
    int	xmlSAX2GetColumnNumber		(void * ctx)
    +
    xmlEntityPtr	xmlSAX2GetEntity	(void * ctx, 
    const xmlChar * name)
    +
    int	xmlSAX2GetLineNumber		(void * ctx)
    +
    xmlNsPtr	xmlSAX2GetNamespace	(void * ctx)
    +
    xmlEntityPtr	xmlSAX2GetParameterEntity	(void * ctx, 
    const xmlChar * name)
    +
    const xmlChar *	xmlSAX2GetPublicId	(void * ctx)
    +
    const xmlChar *	xmlSAX2GetSystemId	(void * ctx)
    +
    void	xmlSAX2GlobalNamespace		(void * ctx, 
    const xmlChar * href,
    const xmlChar * prefix)
    +
    int	xmlSAX2HasExternalSubset	(void * ctx)
    +
    int	xmlSAX2HasInternalSubset	(void * ctx)
    +
    void	xmlSAX2IgnorableWhitespace	(void * ctx, 
    const xmlChar * ch,
    int len)
    +
    void	xmlSAX2InitDefaultSAXHandler	(xmlSAXHandler * hdlr, 
    int warning)
    +
    void	xmlSAX2InitDocbDefaultSAXHandler	(xmlSAXHandler * hdlr)
    +
    void	xmlSAX2InitHtmlDefaultSAXHandler	(xmlSAXHandler * hdlr)
    +
    void	xmlSAX2InternalSubset		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +
    int	xmlSAX2IsStandalone		(void * ctx)
    +
    void	xmlSAX2NamespaceDecl		(void * ctx, 
    const xmlChar * href,
    const xmlChar * prefix)
    +
    void	xmlSAX2NotationDecl		(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId)
    +
    void	xmlSAX2ProcessingInstruction	(void * ctx, 
    const xmlChar * target,
    const xmlChar * data)
    +
    void	xmlSAX2Reference		(void * ctx, 
    const xmlChar * name)
    +
    xmlParserInputPtr	xmlSAX2ResolveEntity	(void * ctx, 
    const xmlChar * publicId,
    const xmlChar * systemId)
    +
    void	xmlSAX2SetDocumentLocator	(void * ctx, 
    xmlSAXLocatorPtr loc)
    +
    void	xmlSAX2SetNamespace		(void * ctx, 
    const xmlChar * name)
    +
    void	xmlSAX2StartDocument		(void * ctx)
    +
    void	xmlSAX2StartElement		(void * ctx, 
    const xmlChar * fullname,
    const xmlChar ** atts)
    +
    void	xmlSAX2StartElementNs		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI,
    int nb_namespaces,
    const xmlChar ** namespaces,
    int nb_attributes,
    int nb_defaulted,
    const xmlChar ** attributes)
    +
    void	xmlSAX2UnparsedEntityDecl	(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId,
    const xmlChar * notationName)
    +
    int	xmlSAXDefaultVersion		(int version)
    +
    int	xmlSAXVersion			(xmlSAXHandler * hdlr, 
    int version)
    +

    Description

    +

    Function: docbDefaultSAXHandlerInit

    void	docbDefaultSAXHandlerInit	(void)
    +

    Initialize the default SAX handler

    +

    Function: htmlDefaultSAXHandlerInit

    void	htmlDefaultSAXHandlerInit	(void)
    +

    Initialize the default SAX handler

    +

    Function: xmlDefaultSAXHandlerInit

    void	xmlDefaultSAXHandlerInit	(void)
    +

    Initialize the default SAX2 handler

    +

    Function: xmlSAX2AttributeDecl

    void	xmlSAX2AttributeDecl		(void * ctx, 
    const xmlChar * elem,
    const xmlChar * fullname,
    int type,
    int def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree)
    +

    An attribute definition has been parsed

    +
    ctx:the user data (XML parser context)
    elem:the name of the element
    fullname:the attribute name
    type:the attribute type
    def:the type of default value
    defaultValue:the attribute default value
    tree:the tree of enumerated value set

    Function: xmlSAX2CDataBlock

    void	xmlSAX2CDataBlock		(void * ctx, 
    const xmlChar * value,
    int len)
    +

    called when a pcdata block has been parsed

    +
    ctx:the user data (XML parser context)
    value:The pcdata content
    len:the block length

    Function: xmlSAX2Characters

    void	xmlSAX2Characters		(void * ctx, 
    const xmlChar * ch,
    int len)
    +

    receiving some chars from the parser.

    +
    ctx:the user data (XML parser context)
    ch:a xmlChar string
    len:the number of xmlChar

    Function: xmlSAX2CheckNamespace

    int	xmlSAX2CheckNamespace		(void * ctx, 
    xmlChar * nameSpace)
    +

    +
    ctx:
    nameSpace:
    Returns:

    Function: xmlSAX2Comment

    void	xmlSAX2Comment			(void * ctx, 
    const xmlChar * value)
    +

    A xmlSAX2Comment has been parsed.

    +
    ctx:the user data (XML parser context)
    value:the xmlSAX2Comment content

    Function: xmlSAX2ElementDecl

    void	xmlSAX2ElementDecl		(void * ctx, 
    const xmlChar * name,
    int type,
    xmlElementContentPtr content)
    +

    An element definition has been parsed

    +
    ctx:the user data (XML parser context)
    name:the element name
    type:the element type
    content:the element value tree

    Function: xmlSAX2EndDocument

    void	xmlSAX2EndDocument		(void * ctx)
    +

    called when the document end has been detected.

    +
    ctx:the user data (XML parser context)

    Function: xmlSAX2EndElement

    void	xmlSAX2EndElement		(void * ctx, 
    const xmlChar * name)
    +

    called when the end of an element has been detected.

    +
    ctx:the user data (XML parser context)
    name:The element name

    Function: xmlSAX2EndElementNs

    void	xmlSAX2EndElementNs		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI)
    +

    SAX2 callback when an element end has been detected by the parser. It provides the namespace informations for the element.

    +
    ctx:the user data (XML parser context)
    localname:the local name of the element
    prefix:the element namespace prefix if available
    URI:the element namespace name if available

    Function: xmlSAX2EntityDecl

    void	xmlSAX2EntityDecl		(void * ctx, 
    const xmlChar * name,
    int type,
    const xmlChar * publicId,
    const xmlChar * systemId,
    xmlChar * content)
    +

    An entity definition has been parsed

    +
    ctx:the user data (XML parser context)
    name:the entity name
    type:the entity type
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    content:the entity value (without processing).

    Function: xmlSAX2ExternalSubset

    void	xmlSAX2ExternalSubset		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +

    Callback on external subset declaration.

    +
    ctx:the user data (XML parser context)
    name:the root element name
    ExternalID:the external ID
    SystemID:the SYSTEM ID (e.g. filename or URL)

    Function: xmlSAX2GetColumnNumber

    int	xmlSAX2GetColumnNumber		(void * ctx)
    +

    Provide the column number of the current parsing point.

    +
    ctx:the user data (XML parser context)
    Returns:an int

    Function: xmlSAX2GetEntity

    xmlEntityPtr	xmlSAX2GetEntity	(void * ctx, 
    const xmlChar * name)
    +

    Get an entity by name

    +
    ctx:the user data (XML parser context)
    name:The entity name
    Returns:the xmlEntityPtr if found.

    Function: xmlSAX2GetLineNumber

    int	xmlSAX2GetLineNumber		(void * ctx)
    +

    Provide the line number of the current parsing point.

    +
    ctx:the user data (XML parser context)
    Returns:an int

    Function: xmlSAX2GetNamespace

    xmlNsPtr	xmlSAX2GetNamespace	(void * ctx)
    +

    +
    ctx:
    Returns:

    Function: xmlSAX2GetParameterEntity

    xmlEntityPtr	xmlSAX2GetParameterEntity	(void * ctx, 
    const xmlChar * name)
    +

    Get a parameter entity by name

    +
    ctx:the user data (XML parser context)
    name:The entity name
    Returns:the xmlEntityPtr if found.

    Function: xmlSAX2GetPublicId

    const xmlChar *	xmlSAX2GetPublicId	(void * ctx)
    +

    Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"

    +
    ctx:the user data (XML parser context)
    Returns:a xmlChar *

    Function: xmlSAX2GetSystemId

    const xmlChar *	xmlSAX2GetSystemId	(void * ctx)
    +

    Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd

    +
    ctx:the user data (XML parser context)
    Returns:a xmlChar *

    Function: xmlSAX2GlobalNamespace

    void	xmlSAX2GlobalNamespace		(void * ctx, 
    const xmlChar * href,
    const xmlChar * prefix)
    +

    +
    ctx:
    href:
    prefix:

    Function: xmlSAX2HasExternalSubset

    int	xmlSAX2HasExternalSubset	(void * ctx)
    +

    Does this document has an external subset

    +
    ctx:the user data (XML parser context)
    Returns:1 if true

    Function: xmlSAX2HasInternalSubset

    int	xmlSAX2HasInternalSubset	(void * ctx)
    +

    Does this document has an internal subset

    +
    ctx:the user data (XML parser context)
    Returns:1 if true

    Function: xmlSAX2IgnorableWhitespace

    void	xmlSAX2IgnorableWhitespace	(void * ctx, 
    const xmlChar * ch,
    int len)
    +

    receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use xmlSAX2Characters

    +
    ctx:the user data (XML parser context)
    ch:a xmlChar string
    len:the number of xmlChar

    Function: xmlSAX2InitDefaultSAXHandler

    void	xmlSAX2InitDefaultSAXHandler	(xmlSAXHandler * hdlr, 
    int warning)
    +

    Initialize the default XML SAX2 handler

    +
    hdlr:the SAX handler
    warning:flag if non-zero sets the handler warning procedure

    Function: xmlSAX2InitDocbDefaultSAXHandler

    void	xmlSAX2InitDocbDefaultSAXHandler	(xmlSAXHandler * hdlr)
    +

    Initialize the default DocBook SAX2 handler

    +
    hdlr:the SAX handler

    Function: xmlSAX2InitHtmlDefaultSAXHandler

    void	xmlSAX2InitHtmlDefaultSAXHandler	(xmlSAXHandler * hdlr)
    +

    Initialize the default HTML SAX2 handler

    +
    hdlr:the SAX handler

    Function: xmlSAX2InternalSubset

    void	xmlSAX2InternalSubset		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +

    Callback on internal subset declaration.

    +
    ctx:the user data (XML parser context)
    name:the root element name
    ExternalID:the external ID
    SystemID:the SYSTEM ID (e.g. filename or URL)

    Function: xmlSAX2IsStandalone

    int	xmlSAX2IsStandalone		(void * ctx)
    +

    Is this document tagged standalone ?

    +
    ctx:the user data (XML parser context)
    Returns:1 if true

    Function: xmlSAX2NamespaceDecl

    void	xmlSAX2NamespaceDecl		(void * ctx, 
    const xmlChar * href,
    const xmlChar * prefix)
    +

    +
    ctx:
    href:
    prefix:

    Function: xmlSAX2NotationDecl

    void	xmlSAX2NotationDecl		(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId)
    +

    What to do when a notation declaration has been parsed.

    +
    ctx:the user data (XML parser context)
    name:The name of the notation
    publicId:The public ID of the entity
    systemId:The system ID of the entity

    Function: xmlSAX2ProcessingInstruction

    void	xmlSAX2ProcessingInstruction	(void * ctx, 
    const xmlChar * target,
    const xmlChar * data)
    +

    A processing instruction has been parsed.

    +
    ctx:the user data (XML parser context)
    target:the target name
    data:the PI data's

    Function: xmlSAX2Reference

    void	xmlSAX2Reference		(void * ctx, 
    const xmlChar * name)
    +

    called when an entity xmlSAX2Reference is detected.

    +
    ctx:the user data (XML parser context)
    name:The entity name

    Function: xmlSAX2ResolveEntity

    xmlParserInputPtr	xmlSAX2ResolveEntity	(void * ctx, 
    const xmlChar * publicId,
    const xmlChar * systemId)
    +

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

    +
    ctx:the user data (XML parser context)
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    Returns:the xmlParserInputPtr if inlined or NULL for DOM behaviour.

    Function: xmlSAX2SetDocumentLocator

    void	xmlSAX2SetDocumentLocator	(void * ctx, 
    xmlSAXLocatorPtr loc)
    +

    Receive the document locator at startup, actually xmlDefaultSAXLocator Everything is available on the context, so this is useless in our case.

    +
    ctx:the user data (XML parser context)
    loc:A SAX Locator

    Function: xmlSAX2SetNamespace

    void	xmlSAX2SetNamespace		(void * ctx, 
    const xmlChar * name)
    +

    +
    ctx:
    name:

    Function: xmlSAX2StartDocument

    void	xmlSAX2StartDocument		(void * ctx)
    +

    called when the document start being processed.

    +
    ctx:the user data (XML parser context)

    Function: xmlSAX2StartElement

    void	xmlSAX2StartElement		(void * ctx, 
    const xmlChar * fullname,
    const xmlChar ** atts)
    +

    called when an opening tag has been processed.

    +
    ctx:the user data (XML parser context)
    fullname:The element name, including namespace prefix
    atts:An array of name/value attributes pairs, NULL terminated

    Function: xmlSAX2StartElementNs

    void	xmlSAX2StartElementNs		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI,
    int nb_namespaces,
    const xmlChar ** namespaces,
    int nb_attributes,
    int nb_defaulted,
    const xmlChar ** attributes)
    +

    SAX2 callback when an element start has been detected by the parser. It provides the namespace informations for the element, as well as the new namespace declarations on the element.

    +
    ctx:the user data (XML parser context)
    localname:the local name of the element
    prefix:the element namespace prefix if available
    URI:the element namespace name if available
    nb_namespaces:number of namespace definitions on that node
    namespaces:pointer to the array of prefix/URI pairs namespace definitions
    nb_attributes:the number of attributes on that node
    nb_defaulted:the number of defaulted attributes.
    attributes:pointer to the array of (localname/prefix/URI/value/end) attribute values.

    Function: xmlSAX2UnparsedEntityDecl

    void	xmlSAX2UnparsedEntityDecl	(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId,
    const xmlChar * notationName)
    +

    What to do when an unparsed entity declaration is parsed

    +
    ctx:the user data (XML parser context)
    name:The name of the entity
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    notationName:the name of the notation

    Function: xmlSAXDefaultVersion

    int	xmlSAXDefaultVersion		(int version)
    +

    Set the default version of SAX used globally by the library. Note that this may not be a good thing to do from a library it is better to use xmlSAXVersion() to set up specifically the version for a given parsing context.

    +
    version:the version, 1 or 2
    Returns:the previous value in case of success and -1 in case of error.

    Function: xmlSAXVersion

    int	xmlSAXVersion			(xmlSAXHandler * hdlr, 
    int version)
    +

    Initialize the default XML SAX handler according to the version

    +
    hdlr:the SAX handler
    version:the version, 1 or 2
    Returns:0 in case of success and -1 in case of error.

    Daniel Veillard

    diff --git a/doc/html/libxml-c14n.html b/doc/html/libxml-c14n.html new file mode 100644 index 0000000..ea440c5 --- /dev/null +++ b/doc/html/libxml-c14n.html @@ -0,0 +1,32 @@ + + +Module c14n from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module c14n from libxml2

    API Menu
    API Indexes
    Related links

    the c14n modules provides a "Canonical XML" implementation

    Table of Contents

    int	xmlC14NDocDumpMemory		(xmlDocPtr doc, 
    xmlNodeSetPtr nodes,
    int exclusive,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    xmlChar ** doc_txt_ptr)
    +
    int	xmlC14NDocSave			(xmlDocPtr doc, 
    xmlNodeSetPtr nodes,
    int exclusive,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    const char * filename,
    int compression)
    +
    int	xmlC14NDocSaveTo		(xmlDocPtr doc, 
    xmlNodeSetPtr nodes,
    int exclusive,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    xmlOutputBufferPtr buf)
    +
    int	xmlC14NExecute			(xmlDocPtr doc, 
    xmlC14NIsVisibleCallback is_visible_callback,
    void * user_data,
    int exclusive,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    xmlOutputBufferPtr buf)
    +
    Function type: xmlC14NIsVisibleCallback
    +int	xmlC14NIsVisibleCallback	(void * user_data, 
    xmlNodePtr node,
    xmlNodePtr parent) +
    +

    Description

    +

    Function: xmlC14NDocDumpMemory

    int	xmlC14NDocDumpMemory		(xmlDocPtr doc, 
    xmlNodeSetPtr nodes,
    int exclusive,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    xmlChar ** doc_txt_ptr)
    +

    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)

    +
    doc:the XML document for canonization
    nodes:the nodes set to be included in the canonized image or NULL if all document nodes should be included
    exclusive:the exclusive flag (0 - non-exclusive canonicalization; otherwise - exclusive canonicalization)
    inclusive_ns_prefixes:the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)
    with_comments:include comments in the result (!=0) or not (==0)
    doc_txt_ptr:the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory
    Returns:the number of bytes written on success or a negative value on fail

    Function: xmlC14NDocSave

    int	xmlC14NDocSave			(xmlDocPtr doc, 
    xmlNodeSetPtr nodes,
    int exclusive,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    const char * filename,
    int compression)
    +

    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)

    +
    doc:the XML document for canonization
    nodes:the nodes set to be included in the canonized image or NULL if all document nodes should be included
    exclusive:the exclusive flag (0 - non-exclusive canonicalization; otherwise - exclusive canonicalization)
    inclusive_ns_prefixes:the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)
    with_comments:include comments in the result (!=0) or not (==0)
    filename:the filename to store canonical XML image
    compression:the compression level (zlib requred): -1 - libxml default, 0 - uncompressed, >0 - compression level
    Returns:the number of bytes written success or a negative value on fail

    Function: xmlC14NDocSaveTo

    int	xmlC14NDocSaveTo		(xmlDocPtr doc, 
    xmlNodeSetPtr nodes,
    int exclusive,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    xmlOutputBufferPtr buf)
    +

    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)

    +
    doc:the XML document for canonization
    nodes:the nodes set to be included in the canonized image or NULL if all document nodes should be included
    exclusive:the exclusive flag (0 - non-exclusive canonicalization; otherwise - exclusive canonicalization)
    inclusive_ns_prefixes:the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)
    with_comments:include comments in the result (!=0) or not (==0)
    buf:the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output
    Returns:non-negative value on success or a negative value on fail

    Function: xmlC14NExecute

    int	xmlC14NExecute			(xmlDocPtr doc, 
    xmlC14NIsVisibleCallback is_visible_callback,
    void * user_data,
    int exclusive,
    xmlChar ** inclusive_ns_prefixes,
    int with_comments,
    xmlOutputBufferPtr buf)
    +

    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)

    +
    doc:the XML document for canonization
    is_visible_callback:the function to use to determine is node visible or not
    user_data:the first parameter for @is_visible_callback function (in most cases, it is nodes set)
    exclusive:the exclusive flag (0 - non-exclusive canonicalization; otherwise - exclusive canonicalization)
    inclusive_ns_prefixes:the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)
    with_comments:include comments in the result (!=0) or not (==0)
    buf:the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output
    Returns:non-negative value on success or a negative value on fail

    Function type: xmlC14NIsVisibleCallback

    Function type: xmlC14NIsVisibleCallback
    +int	xmlC14NIsVisibleCallback	(void * user_data, 
    xmlNodePtr node,
    xmlNodePtr parent) +

    user_data:
    node:
    parent:
    Returns:

    +

    Daniel Veillard

    diff --git a/doc/html/libxml-catalog.html b/doc/html/libxml-catalog.html new file mode 100644 index 0000000..59345bd --- /dev/null +++ b/doc/html/libxml-catalog.html @@ -0,0 +1,142 @@ + + +Module catalog from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module catalog from libxml2

    API Menu
    API Indexes
    Related links

    the catalog module implements the support for XML Catalogs and SGML catalogs

    Table of Contents

    #define XML_CATALOGS_NAMESPACE
    #define XML_CATALOG_PI
    Structure xmlCatalog
    struct _xmlCatalog +The content of this structure is not made public by the API. +
    Enum xmlCatalogAllow
    +
    Enum xmlCatalogPrefer
    +
    Typedef xmlCatalog * xmlCatalogPtr
    +
    int	xmlACatalogAdd			(xmlCatalogPtr catal, 
    const xmlChar * type,
    const xmlChar * orig,
    const xmlChar * replace)
    +
    void	xmlACatalogDump			(xmlCatalogPtr catal, 
    FILE * out)
    +
    int	xmlACatalogRemove		(xmlCatalogPtr catal, 
    const xmlChar * value)
    +
    xmlChar *	xmlACatalogResolve	(xmlCatalogPtr catal, 
    const xmlChar * pubID,
    const xmlChar * sysID)
    +
    xmlChar *	xmlACatalogResolvePublic	(xmlCatalogPtr catal, 
    const xmlChar * pubID)
    +
    xmlChar *	xmlACatalogResolveSystem	(xmlCatalogPtr catal, 
    const xmlChar * sysID)
    +
    xmlChar *	xmlACatalogResolveURI	(xmlCatalogPtr catal, 
    const xmlChar * URI)
    +
    int	xmlCatalogAdd			(const xmlChar * type, 
    const xmlChar * orig,
    const xmlChar * replace)
    +
    void *	xmlCatalogAddLocal		(void * catalogs, 
    const xmlChar * URL)
    +
    void	xmlCatalogCleanup		(void)
    +
    int	xmlCatalogConvert		(void)
    +
    void	xmlCatalogDump			(FILE * out)
    +
    void	xmlCatalogFreeLocal		(void * catalogs)
    +
    xmlCatalogAllow	xmlCatalogGetDefaults	(void)
    +
    const xmlChar *	xmlCatalogGetPublic	(const xmlChar * pubID)
    +
    const xmlChar *	xmlCatalogGetSystem	(const xmlChar * sysID)
    +
    int	xmlCatalogIsEmpty		(xmlCatalogPtr catal)
    +
    xmlChar *	xmlCatalogLocalResolve	(void * catalogs, 
    const xmlChar * pubID,
    const xmlChar * sysID)
    +
    xmlChar *	xmlCatalogLocalResolveURI	(void * catalogs, 
    const xmlChar * URI)
    +
    int	xmlCatalogRemove		(const xmlChar * value)
    +
    xmlChar *	xmlCatalogResolve	(const xmlChar * pubID, 
    const xmlChar * sysID)
    +
    xmlChar *	xmlCatalogResolvePublic	(const xmlChar * pubID)
    +
    xmlChar *	xmlCatalogResolveSystem	(const xmlChar * sysID)
    +
    xmlChar *	xmlCatalogResolveURI	(const xmlChar * URI)
    +
    int	xmlCatalogSetDebug		(int level)
    +
    xmlCatalogPrefer	xmlCatalogSetDefaultPrefer	(xmlCatalogPrefer prefer)
    +
    void	xmlCatalogSetDefaults		(xmlCatalogAllow allow)
    +
    int	xmlConvertSGMLCatalog		(xmlCatalogPtr catal)
    +
    void	xmlFreeCatalog			(xmlCatalogPtr catal)
    +
    void	xmlInitializeCatalog		(void)
    +
    xmlCatalogPtr	xmlLoadACatalog		(const char * filename)
    +
    int	xmlLoadCatalog			(const char * filename)
    +
    void	xmlLoadCatalogs			(const char * pathss)
    +
    xmlCatalogPtr	xmlLoadSGMLSuperCatalog	(const char * filename)
    +
    xmlCatalogPtr	xmlNewCatalog		(int sgml)
    +
    xmlDocPtr	xmlParseCatalogFile	(const char * filename)
    +

    Description

    +

    Macro: XML_CATALOGS_NAMESPACE

    #define XML_CATALOGS_NAMESPACE

    The namespace for the XML Catalogs elements.

    +

    Macro: XML_CATALOG_PI

    #define XML_CATALOG_PI

    The specific XML Catalog Processing Instuction name.

    +

    Structure xmlCatalog

    Structure xmlCatalog
    struct _xmlCatalog { +The content of this structure is not made public by the API. +}

    Enum xmlCatalogAllow

    Enum xmlCatalogAllow {
    +    XML_CATA_ALLOW_NONE = 0
    +    XML_CATA_ALLOW_GLOBAL = 1
    +    XML_CATA_ALLOW_DOCUMENT = 2
    +    XML_CATA_ALLOW_ALL = 3
    +}
    +

    Enum xmlCatalogPrefer

    Enum xmlCatalogPrefer {
    +    XML_CATA_PREFER_NONE = 0
    +    XML_CATA_PREFER_PUBLIC = 1
    +    XML_CATA_PREFER_SYSTEM = 2
    +}
    +

    Function: xmlACatalogAdd

    int	xmlACatalogAdd			(xmlCatalogPtr catal, 
    const xmlChar * type,
    const xmlChar * orig,
    const xmlChar * replace)
    +

    Add an entry in the catalog, it may overwrite existing but different entries.

    +
    catal:a Catalog
    type:the type of record to add to the catalog
    orig:the system, public or prefix to match
    replace:the replacement value for the match
    Returns:0 if successful, -1 otherwise

    Function: xmlACatalogDump

    void	xmlACatalogDump			(xmlCatalogPtr catal, 
    FILE * out)
    +

    Free up all the memory associated with catalogs

    +
    catal:a Catalog
    out:the file.

    Function: xmlACatalogRemove

    int	xmlACatalogRemove		(xmlCatalogPtr catal, 
    const xmlChar * value)
    +

    Remove an entry from the catalog

    +
    catal:a Catalog
    value:the value to remove
    Returns:the number of entries removed if successful, -1 otherwise

    Function: xmlACatalogResolve

    xmlChar *	xmlACatalogResolve	(xmlCatalogPtr catal, 
    const xmlChar * pubID,
    const xmlChar * sysID)
    +

    Do a complete resolution lookup of an External Identifier

    +
    catal:a Catalog
    pubID:the public ID string
    sysID:the system ID string
    Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

    Function: xmlACatalogResolvePublic

    xmlChar *	xmlACatalogResolvePublic	(xmlCatalogPtr catal, 
    const xmlChar * pubID)
    +

    Try to lookup the catalog local reference associated to a public ID in that catalog

    +
    catal:a Catalog
    pubID:the public ID string
    Returns:the local resource if found or NULL otherwise, the value returned must be freed by the caller.

    Function: xmlACatalogResolveSystem

    xmlChar *	xmlACatalogResolveSystem	(xmlCatalogPtr catal, 
    const xmlChar * sysID)
    +

    Try to lookup the catalog resource for a system ID

    +
    catal:a Catalog
    sysID:the system ID string
    Returns:the resource if found or NULL otherwise, the value returned must be freed by the caller.

    Function: xmlACatalogResolveURI

    xmlChar *	xmlACatalogResolveURI	(xmlCatalogPtr catal, 
    const xmlChar * URI)
    +

    Do a complete resolution lookup of an URI

    +
    catal:a Catalog
    URI:the URI
    Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

    Function: xmlCatalogAdd

    int	xmlCatalogAdd			(const xmlChar * type, 
    const xmlChar * orig,
    const xmlChar * replace)
    +

    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();

    +
    type:the type of record to add to the catalog
    orig:the system, public or prefix to match
    replace:the replacement value for the match
    Returns:0 if successful, -1 otherwise

    Function: xmlCatalogAddLocal

    void *	xmlCatalogAddLocal		(void * catalogs, 
    const xmlChar * URL)
    +

    Add the new entry to the catalog list

    +
    catalogs:a document's list of catalogs
    URL:the URL to a new local catalog
    Returns:the updated list

    Function: xmlCatalogCleanup

    void	xmlCatalogCleanup		(void)
    +

    Free up all the memory associated with catalogs

    +

    Function: xmlCatalogConvert

    int	xmlCatalogConvert		(void)
    +

    Convert all the SGML catalog entries as XML ones

    +
    Returns:the number of entries converted if successful, -1 otherwise

    Function: xmlCatalogDump

    void	xmlCatalogDump			(FILE * out)
    +

    Free up all the memory associated with catalogs

    +
    out:the file.

    Function: xmlCatalogFreeLocal

    void	xmlCatalogFreeLocal		(void * catalogs)
    +

    Free up the memory associated to the catalog list

    +
    catalogs:a document's list of catalogs

    Function: xmlCatalogGetDefaults

    xmlCatalogAllow	xmlCatalogGetDefaults	(void)
    +

    Used to get the user preference w.r.t. to what catalogs should be accepted

    +
    Returns:the current xmlCatalogAllow value

    Function: xmlCatalogGetPublic

    const xmlChar *	xmlCatalogGetPublic	(const xmlChar * pubID)
    +

    Try to lookup the catalog reference associated to a public ID DEPRECATED, use xmlCatalogResolvePublic()

    +
    pubID:the public ID string
    Returns:the resource if found or NULL otherwise.

    Function: xmlCatalogGetSystem

    const xmlChar *	xmlCatalogGetSystem	(const xmlChar * sysID)
    +

    Try to lookup the catalog reference associated to a system ID DEPRECATED, use xmlCatalogResolveSystem()

    +
    sysID:the system ID string
    Returns:the resource if found or NULL otherwise.

    Function: xmlCatalogIsEmpty

    int	xmlCatalogIsEmpty		(xmlCatalogPtr catal)
    +

    Check is a catalog is empty

    +
    catal:should this create an SGML catalog
    Returns:1 if the catalog is empty, 0 if not, amd -1 in case of error.

    Function: xmlCatalogLocalResolve

    xmlChar *	xmlCatalogLocalResolve	(void * catalogs, 
    const xmlChar * pubID,
    const xmlChar * sysID)
    +

    Do a complete resolution lookup of an External Identifier using a document's private catalog list

    +
    catalogs:a document's list of catalogs
    pubID:the public ID string
    sysID:the system ID string
    Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

    Function: xmlCatalogLocalResolveURI

    xmlChar *	xmlCatalogLocalResolveURI	(void * catalogs, 
    const xmlChar * URI)
    +

    Do a complete resolution lookup of an URI using a document's private catalog list

    +
    catalogs:a document's list of catalogs
    URI:the URI
    Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

    Function: xmlCatalogRemove

    int	xmlCatalogRemove		(const xmlChar * value)
    +

    Remove an entry from the catalog

    +
    value:the value to remove
    Returns:the number of entries removed if successful, -1 otherwise

    Function: xmlCatalogResolve

    xmlChar *	xmlCatalogResolve	(const xmlChar * pubID, 
    const xmlChar * sysID)
    +

    Do a complete resolution lookup of an External Identifier

    +
    pubID:the public ID string
    sysID:the system ID string
    Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

    Function: xmlCatalogResolvePublic

    xmlChar *	xmlCatalogResolvePublic	(const xmlChar * pubID)
    +

    Try to lookup the catalog reference associated to a public ID

    +
    pubID:the public ID string
    Returns:the resource if found or NULL otherwise, the value returned must be freed by the caller.

    Function: xmlCatalogResolveSystem

    xmlChar *	xmlCatalogResolveSystem	(const xmlChar * sysID)
    +

    Try to lookup the catalog resource for a system ID

    +
    sysID:the system ID string
    Returns:the resource if found or NULL otherwise, the value returned must be freed by the caller.

    Function: xmlCatalogResolveURI

    xmlChar *	xmlCatalogResolveURI	(const xmlChar * URI)
    +

    Do a complete resolution lookup of an URI

    +
    URI:the URI
    Returns:the URI of the resource or NULL if not found, it must be freed by the caller.

    Function: xmlCatalogSetDebug

    int	xmlCatalogSetDebug		(int level)
    +

    Used to set the debug level for catalog operation, 0 disable debugging, 1 enable it

    +
    level:the debug level of catalogs required
    Returns:the previous value of the catalog debugging level

    Function: xmlCatalogSetDefaultPrefer

    xmlCatalogPrefer	xmlCatalogSetDefaultPrefer	(xmlCatalogPrefer prefer)
    +

    Allows to set the preference between public and system for deletion in XML Catalog resolution. C.f. section 4.1.1 of the spec Values accepted are XML_CATA_PREFER_PUBLIC or XML_CATA_PREFER_SYSTEM

    +
    prefer:the default preference for delegation
    Returns:the previous value of the default preference for delegation

    Function: xmlCatalogSetDefaults

    void	xmlCatalogSetDefaults		(xmlCatalogAllow allow)
    +

    Used to set the user preference w.r.t. to what catalogs should be accepted

    +
    allow:what catalogs should be accepted

    Function: xmlConvertSGMLCatalog

    int	xmlConvertSGMLCatalog		(xmlCatalogPtr catal)
    +

    Convert all the SGML catalog entries as XML ones

    +
    catal:the catalog
    Returns:the number of entries converted if successful, -1 otherwise

    Function: xmlFreeCatalog

    void	xmlFreeCatalog			(xmlCatalogPtr catal)
    +

    Free the memory allocated to a Catalog

    +
    catal:a Catalog

    Function: xmlInitializeCatalog

    void	xmlInitializeCatalog		(void)
    +

    Do the catalog initialization. this function is not thread safe, catalog initialization should preferably be done once at startup

    +

    Function: xmlLoadACatalog

    xmlCatalogPtr	xmlLoadACatalog		(const char * filename)
    +

    Load the catalog and build the associated data structures. This can be either an XML Catalog or an SGML Catalog It will recurse in SGML CATALOG entries. On the other hand XML Catalogs are not handled recursively.

    +
    filename:a file path
    Returns:the catalog parsed or NULL in case of error

    Function: xmlLoadCatalog

    int	xmlLoadCatalog			(const char * filename)
    +

    Load the catalog and makes its definitions effective for the default external entity loader. It will recurse in SGML CATALOG entries. this function is not thread safe, catalog initialization should preferably be done once at startup

    +
    filename:a file path
    Returns:0 in case of success -1 in case of error

    Function: xmlLoadCatalogs

    void	xmlLoadCatalogs			(const char * pathss)
    +

    Load the catalogs and makes their definitions effective for the default external entity loader. this function is not thread safe, catalog initialization should preferably be done once at startup

    +
    pathss:a list of directories separated by a colon or a space.

    Function: xmlLoadSGMLSuperCatalog

    xmlCatalogPtr	xmlLoadSGMLSuperCatalog	(const char * filename)
    +

    Load an SGML super catalog. It won't expand CATALOG or DELEGATE references. This is only needed for manipulating SGML Super Catalogs like adding and removing CATALOG or DELEGATE entries.

    +
    filename:a file path
    Returns:the catalog parsed or NULL in case of error

    Function: xmlNewCatalog

    xmlCatalogPtr	xmlNewCatalog		(int sgml)
    +

    create a new Catalog.

    +
    sgml:should this create an SGML catalog
    Returns:the xmlCatalogPtr or NULL in case of error

    Function: xmlParseCatalogFile

    xmlDocPtr	xmlParseCatalogFile	(const char * filename)
    +

    parse an XML file and build a tree. It's like xmlParseFile() except it bypass all catalog lookups.

    +
    filename:the filename
    Returns:the resulting document tree or NULL in case of error

    Daniel Veillard

    diff --git a/doc/html/libxml-chvalid.html b/doc/html/libxml-chvalid.html new file mode 100644 index 0000000..86aa593 --- /dev/null +++ b/doc/html/libxml-chvalid.html @@ -0,0 +1,72 @@ + + +Module chvalid from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module chvalid from libxml2

    API Menu
    API Indexes
    Related links

    this module exports interfaces for the character range validation APIs This file is automatically generated from the cvs source definition files using the genChRanges.py Python script

    Table of Contents

    #define xmlIsBaseCharQ
    #define xmlIsBaseChar_ch
    #define xmlIsBlankQ
    #define xmlIsBlank_ch
    #define xmlIsCharQ
    #define xmlIsChar_ch
    #define xmlIsCombiningQ
    #define xmlIsDigitQ
    #define xmlIsDigit_ch
    #define xmlIsExtenderQ
    #define xmlIsExtender_ch
    #define xmlIsIdeographicQ
    #define xmlIsPubidCharQ
    #define xmlIsPubidChar_ch
    Structure xmlChLRange
    struct _xmlChLRange +
    Typedef xmlChLRange * xmlChLRangePtr
    +
    Structure xmlChRangeGroup
    struct _xmlChRangeGroup +
    Typedef xmlChRangeGroup * xmlChRangeGroupPtr
    +
    Structure xmlChSRange
    struct _xmlChSRange +
    Typedef xmlChSRange * xmlChSRangePtr
    +
    int	xmlCharInRange			(unsigned int val, 
    const xmlChRangeGroupPtr rptr)
    +
    int	xmlIsBaseChar			(unsigned int ch)
    +
    int	xmlIsBlank			(unsigned int ch)
    +
    int	xmlIsChar			(unsigned int ch)
    +
    int	xmlIsCombining			(unsigned int ch)
    +
    int	xmlIsDigit			(unsigned int ch)
    +
    int	xmlIsExtender			(unsigned int ch)
    +
    int	xmlIsIdeographic		(unsigned int ch)
    +
    int	xmlIsPubidChar			(unsigned int ch)
    +

    Description

    +

    Macro: xmlIsBaseCharQ

    #define xmlIsBaseCharQ

    Automatically generated by genChRanges.py

    +

    Macro: xmlIsBaseChar_ch

    #define xmlIsBaseChar_ch

    Automatically generated by genChRanges.py

    +

    Macro: xmlIsBlankQ

    #define xmlIsBlankQ

    Automatically generated by genChRanges.py

    +

    Macro: xmlIsBlank_ch

    #define xmlIsBlank_ch

    Automatically generated by genChRanges.py

    +

    Macro: xmlIsCharQ

    #define xmlIsCharQ

    Automatically generated by genChRanges.py

    +

    Macro: xmlIsChar_ch

    #define xmlIsChar_ch

    Automatically generated by genChRanges.py

    +

    Macro: xmlIsCombiningQ

    #define xmlIsCombiningQ

    Automatically generated by genChRanges.py

    +

    Macro: xmlIsDigitQ

    #define xmlIsDigitQ

    Automatically generated by genChRanges.py

    +

    Macro: xmlIsDigit_ch

    #define xmlIsDigit_ch

    Automatically generated by genChRanges.py

    +

    Macro: xmlIsExtenderQ

    #define xmlIsExtenderQ

    Automatically generated by genChRanges.py

    +

    Macro: xmlIsExtender_ch

    #define xmlIsExtender_ch

    Automatically generated by genChRanges.py

    +

    Macro: xmlIsIdeographicQ

    #define xmlIsIdeographicQ

    Automatically generated by genChRanges.py

    +

    Macro: xmlIsPubidCharQ

    #define xmlIsPubidCharQ

    Automatically generated by genChRanges.py

    +

    Macro: xmlIsPubidChar_ch

    #define xmlIsPubidChar_ch

    Automatically generated by genChRanges.py

    +

    Structure xmlChLRange

    Structure xmlChLRange
    struct _xmlChLRange { + unsigned int low + unsigned int high +}

    Structure xmlChRangeGroup

    Structure xmlChRangeGroup
    struct _xmlChRangeGroup { + int nbShortRange + int nbLongRange + xmlChSRangePtr shortRange : points to an array of ranges + xmlChLRangePtr longRange +}

    Structure xmlChSRange

    Structure xmlChSRange
    struct _xmlChSRange { + unsigned short low + unsigned short high +}

    Function: xmlCharInRange

    int	xmlCharInRange			(unsigned int val, 
    const xmlChRangeGroupPtr rptr)
    +

    Does a binary search of the range table to determine if char is valid

    +
    val:character to be validated
    rptr:pointer to range to be used to validate
    Returns:true if character valid, false otherwise

    Function: xmlIsBaseChar

    int	xmlIsBaseChar			(unsigned int ch)
    +

    This function is DEPRECATED. Use xmlIsBaseChar_ch or xmlIsBaseCharQ instead

    +
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Function: xmlIsBlank

    int	xmlIsBlank			(unsigned int ch)
    +

    This function is DEPRECATED. Use xmlIsBlank_ch or xmlIsBlankQ instead

    +
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Function: xmlIsChar

    int	xmlIsChar			(unsigned int ch)
    +

    This function is DEPRECATED. Use xmlIsChar_ch or xmlIsCharQ instead

    +
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Function: xmlIsCombining

    int	xmlIsCombining			(unsigned int ch)
    +

    This function is DEPRECATED. Use xmlIsCombiningQ instead

    +
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Function: xmlIsDigit

    int	xmlIsDigit			(unsigned int ch)
    +

    This function is DEPRECATED. Use xmlIsDigit_ch or xmlIsDigitQ instead

    +
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Function: xmlIsExtender

    int	xmlIsExtender			(unsigned int ch)
    +

    This function is DEPRECATED. Use xmlIsExtender_ch or xmlIsExtenderQ instead

    +
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Function: xmlIsIdeographic

    int	xmlIsIdeographic		(unsigned int ch)
    +

    This function is DEPRECATED. Use xmlIsIdeographicQ instead

    +
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Function: xmlIsPubidChar

    int	xmlIsPubidChar			(unsigned int ch)
    +

    This function is DEPRECATED. Use xmlIsPubidChar_ch or xmlIsPubidCharQ instead

    +
    ch:character to validate
    Returns:true if argument valid, false otherwise

    Daniel Veillard

    diff --git a/doc/html/libxml-debugXML.html b/doc/html/libxml-debugXML.html new file mode 100644 index 0000000..6695a89 --- /dev/null +++ b/doc/html/libxml-debugXML.html @@ -0,0 +1,117 @@ + + +Module debugXML from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module debugXML from libxml2

    API Menu
    API Indexes
    Related links

    Interfaces to a set of routines used for debugging the tree produced by the XML parser.

    Table of Contents

    Structure xmlShellCtxt
    struct _xmlShellCtxt +
    Typedef xmlShellCtxt * xmlShellCtxtPtr
    +
    const char *	xmlBoolToText		(int boolval)
    +
    void	xmlDebugDumpAttr		(FILE * output, 
    xmlAttrPtr attr,
    int depth)
    +
    void	xmlDebugDumpAttrList		(FILE * output, 
    xmlAttrPtr attr,
    int depth)
    +
    void	xmlDebugDumpDTD			(FILE * output, 
    xmlDtdPtr dtd)
    +
    void	xmlDebugDumpDocument		(FILE * output, 
    xmlDocPtr doc)
    +
    void	xmlDebugDumpDocumentHead	(FILE * output, 
    xmlDocPtr doc)
    +
    void	xmlDebugDumpEntities		(FILE * output, 
    xmlDocPtr doc)
    +
    void	xmlDebugDumpNode		(FILE * output, 
    xmlNodePtr node,
    int depth)
    +
    void	xmlDebugDumpNodeList		(FILE * output, 
    xmlNodePtr node,
    int depth)
    +
    void	xmlDebugDumpOneNode		(FILE * output, 
    xmlNodePtr node,
    int depth)
    +
    void	xmlDebugDumpString		(FILE * output, 
    const xmlChar * str)
    +
    int	xmlLsCountNode			(xmlNodePtr node)
    +
    void	xmlLsOneNode			(FILE * output, 
    xmlNodePtr node)
    +
    void	xmlShell			(xmlDocPtr doc, 
    char * filename,
    xmlShellReadlineFunc input,
    FILE * output)
    +
    int	xmlShellBase			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    +
    int	xmlShellCat			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    +
    Function type: xmlShellCmd
    +int	xmlShellCmd			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2) +
    +
    int	xmlShellDir			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    +
    int	xmlShellDu			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr tree,
    xmlNodePtr node2)
    +
    int	xmlShellList			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    +
    int	xmlShellLoad			(xmlShellCtxtPtr ctxt, 
    char * filename,
    xmlNodePtr node,
    xmlNodePtr node2)
    +
    void	xmlShellPrintNode		(xmlNodePtr node)
    +
    void	xmlShellPrintXPathError		(int errorType, 
    const char * arg)
    +
    void	xmlShellPrintXPathResult	(xmlXPathObjectPtr list)
    +
    int	xmlShellPwd			(xmlShellCtxtPtr ctxt, 
    char * buffer,
    xmlNodePtr node,
    xmlNodePtr node2)
    +
    Function type: xmlShellReadlineFunc
    +char *	xmlShellReadlineFunc		(char * prompt)
    +
    +
    int	xmlShellSave			(xmlShellCtxtPtr ctxt, 
    char * filename,
    xmlNodePtr node,
    xmlNodePtr node2)
    +
    int	xmlShellValidate		(xmlShellCtxtPtr ctxt, 
    char * dtd,
    xmlNodePtr node,
    xmlNodePtr node2)
    +
    int	xmlShellWrite			(xmlShellCtxtPtr ctxt, 
    char * filename,
    xmlNodePtr node,
    xmlNodePtr node2)
    +

    Description

    +

    Structure xmlShellCtxt

    Structure xmlShellCtxt
    struct _xmlShellCtxt { + char * filename + xmlDocPtr doc + xmlNodePtr node + xmlXPathContextPtr pctxt + int loaded + FILE * output + xmlShellReadlineFunc input +}

    Function: xmlBoolToText

    const char *	xmlBoolToText		(int boolval)
    +

    Convenient way to turn bool into text

    +
    boolval:a bool to turn into text
    Returns:a pointer to either "True" or "False"

    Function: xmlDebugDumpAttr

    void	xmlDebugDumpAttr		(FILE * output, 
    xmlAttrPtr attr,
    int depth)
    +

    Dumps debug information for the attribute

    +
    output:the FILE * for the output
    attr:the attribute
    depth:the indentation level.

    Function: xmlDebugDumpAttrList

    void	xmlDebugDumpAttrList		(FILE * output, 
    xmlAttrPtr attr,
    int depth)
    +

    Dumps debug information for the attribute list

    +
    output:the FILE * for the output
    attr:the attribute list
    depth:the indentation level.

    Function: xmlDebugDumpDTD

    void	xmlDebugDumpDTD			(FILE * output, 
    xmlDtdPtr dtd)
    +

    Dumps debug information for the DTD

    +
    output:the FILE * for the output
    dtd:the DTD

    Function: xmlDebugDumpDocument

    void	xmlDebugDumpDocument		(FILE * output, 
    xmlDocPtr doc)
    +

    Dumps debug information for the document, it's recursive

    +
    output:the FILE * for the output
    doc:the document

    Function: xmlDebugDumpDocumentHead

    void	xmlDebugDumpDocumentHead	(FILE * output, 
    xmlDocPtr doc)
    +

    Dumps debug information cncerning the document, not recursive

    +
    output:the FILE * for the output
    doc:the document

    Function: xmlDebugDumpEntities

    void	xmlDebugDumpEntities		(FILE * output, 
    xmlDocPtr doc)
    +

    Dumps debug information for all the entities in use by the document

    +
    output:the FILE * for the output
    doc:the document

    Function: xmlDebugDumpNode

    void	xmlDebugDumpNode		(FILE * output, 
    xmlNodePtr node,
    int depth)
    +

    Dumps debug information for the element node, it is recursive

    +
    output:the FILE * for the output
    node:the node
    depth:the indentation level.

    Function: xmlDebugDumpNodeList

    void	xmlDebugDumpNodeList		(FILE * output, 
    xmlNodePtr node,
    int depth)
    +

    Dumps debug information for the list of element node, it is recursive

    +
    output:the FILE * for the output
    node:the node list
    depth:the indentation level.

    Function: xmlDebugDumpOneNode

    void	xmlDebugDumpOneNode		(FILE * output, 
    xmlNodePtr node,
    int depth)
    +

    Dumps debug information for the element node, it is not recursive

    +
    output:the FILE * for the output
    node:the node
    depth:the indentation level.

    Function: xmlDebugDumpString

    void	xmlDebugDumpString		(FILE * output, 
    const xmlChar * str)
    +

    Dumps informations about the string, shorten it if necessary

    +
    output:the FILE * for the output
    str:the string

    Function: xmlLsCountNode

    int	xmlLsCountNode			(xmlNodePtr node)
    +

    Count the children of @node.

    +
    node:the node to count
    Returns:the number of children of @node.

    Function: xmlLsOneNode

    void	xmlLsOneNode			(FILE * output, 
    xmlNodePtr node)
    +

    Dump to @output the type and name of @node.

    +
    output:the FILE * for the output
    node:the node to dump

    Function: xmlShell

    void	xmlShell			(xmlDocPtr doc, 
    char * filename,
    xmlShellReadlineFunc input,
    FILE * output)
    +

    Implements the XML shell This allow to load, validate, view, modify and save a document using a environment similar to a UNIX commandline.

    +
    doc:the initial document
    filename:the output buffer
    input:the line reading function
    output:the output FILE*, defaults to stdout if NULL

    Function: xmlShellBase

    int	xmlShellBase			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    +

    Implements the XML shell function "base" dumps the current XML base of the node

    +
    ctxt:the shell context
    arg:unused
    node:a node
    node2:unused
    Returns:0

    Function: xmlShellCat

    int	xmlShellCat			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    +

    Implements the XML shell function "cat" dumps the serialization node content (XML or HTML).

    +
    ctxt:the shell context
    arg:unused
    node:a node
    node2:unused
    Returns:0

    Function type: xmlShellCmd

    Function type: xmlShellCmd
    +int	xmlShellCmd			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2) +

    This is a generic signature for the XML shell functions.

    ctxt:a shell context
    arg:a string argument
    node:a first node
    node2:a second node
    Returns:an int, negative returns indicating errors.

    +

    Function: xmlShellDir

    int	xmlShellDir			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    +

    Implements the XML shell function "dir" dumps informations about the node (namespace, attributes, content).

    +
    ctxt:the shell context
    arg:unused
    node:a node
    node2:unused
    Returns:0

    Function: xmlShellDu

    int	xmlShellDu			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr tree,
    xmlNodePtr node2)
    +

    Implements the XML shell function "du" show the structure of the subtree under node @tree If @tree is null, the command works on the current node.

    +
    ctxt:the shell context
    arg:unused
    tree:a node defining a subtree
    node2:unused
    Returns:0 or -1 in case of error

    Function: xmlShellList

    int	xmlShellList			(xmlShellCtxtPtr ctxt, 
    char * arg,
    xmlNodePtr node,
    xmlNodePtr node2)
    +

    Implements the XML shell function "ls" Does an Unix like listing of the given node (like a directory)

    +
    ctxt:the shell context
    arg:unused
    node:a node
    node2:unused
    Returns:0

    Function: xmlShellLoad

    int	xmlShellLoad			(xmlShellCtxtPtr ctxt, 
    char * filename,
    xmlNodePtr node,
    xmlNodePtr node2)
    +

    Implements the XML shell function "load" loads a new document specified by the filename

    +
    ctxt:the shell context
    filename:the file name
    node:unused
    node2:unused
    Returns:0 or -1 if loading failed

    Function: xmlShellPrintNode

    void	xmlShellPrintNode		(xmlNodePtr node)
    +

    Print node to the output FILE

    +
    node:a non-null node to print to the output FILE

    Function: xmlShellPrintXPathError

    void	xmlShellPrintXPathError		(int errorType, 
    const char * arg)
    +

    Print the xpath error to libxml default error channel

    +
    errorType:valid xpath error id
    arg:the argument that cause xpath to fail

    Function: xmlShellPrintXPathResult

    void	xmlShellPrintXPathResult	(xmlXPathObjectPtr list)
    +

    Prints result to the output FILE

    +
    list:a valid result generated by an xpath evaluation

    Function: xmlShellPwd

    int	xmlShellPwd			(xmlShellCtxtPtr ctxt, 
    char * buffer,
    xmlNodePtr node,
    xmlNodePtr node2)
    +

    Implements the XML shell function "pwd" Show the full path from the root to the node, if needed building thumblers when similar elements exists at a given ancestor level. The output is compatible with XPath commands.

    +
    ctxt:the shell context
    buffer:the output buffer
    node:a node
    node2:unused
    Returns:0 or -1 in case of error

    Function type: xmlShellReadlineFunc

    Function type: xmlShellReadlineFunc
    +char *	xmlShellReadlineFunc		(char * prompt)
    +

    This is a generic signature for the XML shell input function.

    prompt:a string prompt
    Returns:a string which will be freed by the Shell.

    +

    Function: xmlShellSave

    int	xmlShellSave			(xmlShellCtxtPtr ctxt, 
    char * filename,
    xmlNodePtr node,
    xmlNodePtr node2)
    +

    Implements the XML shell function "save" Write the current document to the filename, or it's original name

    +
    ctxt:the shell context
    filename:the file name (optional)
    node:unused
    node2:unused
    Returns:0 or -1 in case of error

    Function: xmlShellValidate

    int	xmlShellValidate		(xmlShellCtxtPtr ctxt, 
    char * dtd,
    xmlNodePtr node,
    xmlNodePtr node2)
    +

    Implements the XML shell function "validate" Validate the document, if a DTD path is provided, then the validation is done against the given DTD.

    +
    ctxt:the shell context
    dtd:the DTD URI (optional)
    node:unused
    node2:unused
    Returns:0 or -1 in case of error

    Function: xmlShellWrite

    int	xmlShellWrite			(xmlShellCtxtPtr ctxt, 
    char * filename,
    xmlNodePtr node,
    xmlNodePtr node2)
    +

    Implements the XML shell function "write" Write the current node to the filename, it saves the serialization of the subtree under the @node specified

    +
    ctxt:the shell context
    filename:the file name
    node:a node in the tree
    node2:unused
    Returns:0 or -1 in case of error

    Daniel Veillard

    diff --git a/doc/html/libxml-dict.html b/doc/html/libxml-dict.html new file mode 100644 index 0000000..ec5bb37 --- /dev/null +++ b/doc/html/libxml-dict.html @@ -0,0 +1,43 @@ + + +Module dict from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module dict from libxml2

    API Menu
    API Indexes
    Related links

    dictionary of reusable strings, just used to avoid allocation and freeing operations.

    Table of Contents

    Structure xmlDict
    struct _xmlDict +The content of this structure is not made public by the API. +
    Typedef xmlDict * xmlDictPtr
    +
    xmlDictPtr	xmlDictCreate		(void)
    +
    xmlDictPtr	xmlDictCreateSub	(xmlDictPtr sub)
    +
    void	xmlDictFree			(xmlDictPtr dict)
    +
    const xmlChar *	xmlDictLookup		(xmlDictPtr dict, 
    const xmlChar * name,
    int len)
    +
    int	xmlDictOwns			(xmlDictPtr dict, 
    const xmlChar * str)
    +
    const xmlChar *	xmlDictQLookup		(xmlDictPtr dict, 
    const xmlChar * prefix,
    const xmlChar * name)
    +
    int	xmlDictReference		(xmlDictPtr dict)
    +
    int	xmlDictSize			(xmlDictPtr dict)
    +

    Description

    +

    Structure xmlDict

    Structure xmlDict
    struct _xmlDict { +The content of this structure is not made public by the API. +}

    Function: xmlDictCreate

    xmlDictPtr	xmlDictCreate		(void)
    +

    Create a new dictionary

    +
    Returns:the newly created dictionnary, or NULL if an error occured.

    Function: xmlDictCreateSub

    xmlDictPtr	xmlDictCreateSub	(xmlDictPtr sub)
    +

    Create a new dictionary, inheriting strings from the read-only dictionnary @sub. On lookup, strings are first searched in the new dictionnary, then in @sub, and if not found are created in the new dictionnary.

    +
    sub:an existing dictionnary
    Returns:the newly created dictionnary, or NULL if an error occured.

    Function: xmlDictFree

    void	xmlDictFree			(xmlDictPtr dict)
    +

    Free the hash @dict and its contents. The userdata is deallocated with @f if provided.

    +
    dict:the dictionnary

    Function: xmlDictLookup

    const xmlChar *	xmlDictLookup		(xmlDictPtr dict, 
    const xmlChar * name,
    int len)
    +

    Add the @name to the hash @dict if not present.

    +
    dict:the dictionnary
    name:the name of the userdata
    len:the length of the name, if -1 it is recomputed
    Returns:the internal copy of the name or NULL in case of internal error

    Function: xmlDictOwns

    int	xmlDictOwns			(xmlDictPtr dict, 
    const xmlChar * str)
    +

    check if a string is owned by the disctionary

    +
    dict:the dictionnary
    str:the string
    Returns:1 if true, 0 if false and -1 in case of error -1 in case of error

    Function: xmlDictQLookup

    const xmlChar *	xmlDictQLookup		(xmlDictPtr dict, 
    const xmlChar * prefix,
    const xmlChar * name)
    +

    Add the QName @prefix:@name to the hash @dict if not present.

    +
    dict:the dictionnary
    prefix:the prefix
    name:the name
    Returns:the internal copy of the QName or NULL in case of internal error

    Function: xmlDictReference

    int	xmlDictReference		(xmlDictPtr dict)
    +

    Increment the reference counter of a dictionary

    +
    dict:the dictionnary
    Returns:0 in case of success and -1 in case of error

    Function: xmlDictSize

    int	xmlDictSize			(xmlDictPtr dict)
    +

    Query the number of elements installed in the hash @dict.

    +
    dict:the dictionnary
    Returns:the number of elements in the dictionnary or -1 in case of error

    Daniel Veillard

    diff --git a/doc/html/libxml-encoding.html b/doc/html/libxml-encoding.html new file mode 100644 index 0000000..e2e61b6 --- /dev/null +++ b/doc/html/libxml-encoding.html @@ -0,0 +1,118 @@ + + +Module encoding from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module encoding from libxml2

    API Menu
    API Indexes
    Related links

    interface for the encoding conversion functions needed for XML basic encoding and iconv() support. Related specs are rfc2044 (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646] UTF-8 and UTF-16 in Annexes [ISO-8859-1] ISO Latin-1 characters codes. [UNICODE] The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992. UTF-8 is described in Unicode Technical Report #4. [US-ASCII] Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986.

    Table of Contents

    Enum xmlCharEncoding
    +
    Structure xmlCharEncodingHandler
    struct _xmlCharEncodingHandler +
    Typedef xmlCharEncodingHandler * xmlCharEncodingHandlerPtr
    +
    int	UTF8Toisolat1			(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen)
    +
    int	isolat1ToUTF8			(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen)
    +
    int	xmlAddEncodingAlias		(const char * name, 
    const char * alias)
    +
    int	xmlCharEncCloseFunc		(xmlCharEncodingHandler * handler)
    +
    int	xmlCharEncFirstLine		(xmlCharEncodingHandler * handler, 
    xmlBufferPtr out,
    xmlBufferPtr in)
    +
    int	xmlCharEncInFunc		(xmlCharEncodingHandler * handler, 
    xmlBufferPtr out,
    xmlBufferPtr in)
    +
    int	xmlCharEncOutFunc		(xmlCharEncodingHandler * handler, 
    xmlBufferPtr out,
    xmlBufferPtr in)
    +
    Function type: xmlCharEncodingInputFunc
    +int	xmlCharEncodingInputFunc	(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen) +
    +
    Function type: xmlCharEncodingOutputFunc
    +int	xmlCharEncodingOutputFunc	(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen) +
    +
    void	xmlCleanupCharEncodingHandlers	(void)
    +
    void	xmlCleanupEncodingAliases	(void)
    +
    int	xmlDelEncodingAlias		(const char * alias)
    +
    xmlCharEncoding	xmlDetectCharEncoding	(const unsigned char * in, 
    int len)
    +
    xmlCharEncodingHandlerPtr	xmlFindCharEncodingHandler	(const char * name)
    +
    xmlCharEncodingHandlerPtr	xmlGetCharEncodingHandler	(xmlCharEncoding enc)
    +
    const char *	xmlGetCharEncodingName	(xmlCharEncoding enc)
    +
    const char *	xmlGetEncodingAlias	(const char * alias)
    +
    void	xmlInitCharEncodingHandlers	(void)
    +
    xmlCharEncodingHandlerPtr	xmlNewCharEncodingHandler	(const char * name, 
    xmlCharEncodingInputFunc input,
    xmlCharEncodingOutputFunc output)
    +
    xmlCharEncoding	xmlParseCharEncoding	(const char * name)
    +
    void	xmlRegisterCharEncodingHandler	(xmlCharEncodingHandlerPtr handler)
    +

    Description

    +

    Enum xmlCharEncoding

    Enum xmlCharEncoding {
    +    XML_CHAR_ENCODING_ERROR = -1 : No char encoding detected
    +    XML_CHAR_ENCODING_NONE = 0 : No char encoding detected
    +    XML_CHAR_ENCODING_UTF8 = 1 : UTF-8
    +    XML_CHAR_ENCODING_UTF16LE = 2 : UTF-16 little endian
    +    XML_CHAR_ENCODING_UTF16BE = 3 : UTF-16 big endian
    +    XML_CHAR_ENCODING_UCS4LE = 4 : UCS-4 little endian
    +    XML_CHAR_ENCODING_UCS4BE = 5 : UCS-4 big endian
    +    XML_CHAR_ENCODING_EBCDIC = 6 : EBCDIC uh!
    +    XML_CHAR_ENCODING_UCS4_2143 = 7 : UCS-4 unusual ordering
    +    XML_CHAR_ENCODING_UCS4_3412 = 8 : UCS-4 unusual ordering
    +    XML_CHAR_ENCODING_UCS2 = 9 : UCS-2
    +    XML_CHAR_ENCODING_8859_1 = 10 : ISO-8859-1 ISO Latin 1
    +    XML_CHAR_ENCODING_8859_2 = 11 : ISO-8859-2 ISO Latin 2
    +    XML_CHAR_ENCODING_8859_3 = 12 : ISO-8859-3
    +    XML_CHAR_ENCODING_8859_4 = 13 : ISO-8859-4
    +    XML_CHAR_ENCODING_8859_5 = 14 : ISO-8859-5
    +    XML_CHAR_ENCODING_8859_6 = 15 : ISO-8859-6
    +    XML_CHAR_ENCODING_8859_7 = 16 : ISO-8859-7
    +    XML_CHAR_ENCODING_8859_8 = 17 : ISO-8859-8
    +    XML_CHAR_ENCODING_8859_9 = 18 : ISO-8859-9
    +    XML_CHAR_ENCODING_2022_JP = 19 : ISO-2022-JP
    +    XML_CHAR_ENCODING_SHIFT_JIS = 20 : Shift_JIS
    +    XML_CHAR_ENCODING_EUC_JP = 21 : EUC-JP
    +    XML_CHAR_ENCODING_ASCII = 22 : pure ASCII
    +}
    +

    Structure xmlCharEncodingHandler

    Structure xmlCharEncodingHandler
    struct _xmlCharEncodingHandler { + char * name + xmlCharEncodingInputFunc input + xmlCharEncodingOutputFunc output + iconv_t iconv_in + iconv_t iconv_out +}

    Function: UTF8Toisolat1

    int	UTF8Toisolat1			(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen)
    +

    Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1 block of chars out.

    +
    out:a pointer to an array of bytes to store the result
    outlen:the length of @out
    in:a pointer to an array of UTF-8 chars
    inlen:the length of @in
    Returns:0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.

    Function: isolat1ToUTF8

    int	isolat1ToUTF8			(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen)
    +

    Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 block of chars out.

    +
    out:a pointer to an array of bytes to store the result
    outlen:the length of @out
    in:a pointer to an array of ISO Latin 1 chars
    inlen:the length of @in
    Returns:0 if success, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.

    Function: xmlAddEncodingAlias

    int	xmlAddEncodingAlias		(const char * name, 
    const char * alias)
    +

    Registers an alias @alias for an encoding named @name. Existing alias will be overwritten.

    +
    name:the encoding name as parsed, in UTF-8 format (ASCII actually)
    alias:the alias name as parsed, in UTF-8 format (ASCII actually)
    Returns:0 in case of success, -1 in case of error

    Function: xmlCharEncCloseFunc

    int	xmlCharEncCloseFunc		(xmlCharEncodingHandler * handler)
    +

    Generic front-end for encoding handler close function

    +
    handler:char enconding transformation data structure
    Returns:0 if success, or -1 in case of error

    Function: xmlCharEncFirstLine

    int	xmlCharEncFirstLine		(xmlCharEncodingHandler * handler, 
    xmlBufferPtr out,
    xmlBufferPtr in)
    +

    Front-end for the encoding handler input function, but handle only the very first line, i.e. limit itself to 45 chars.

    +
    handler:char enconding transformation data structure
    out:an xmlBuffer for the output.
    in:an xmlBuffer for the input
    Returns: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

    Function: xmlCharEncInFunc

    int	xmlCharEncInFunc		(xmlCharEncodingHandler * handler, 
    xmlBufferPtr out,
    xmlBufferPtr in)
    +

    Generic front-end for the encoding handler input function

    +
    handler:char encoding transformation data structure
    out:an xmlBuffer for the output.
    in:an xmlBuffer for the input
    Returns: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

    Function: xmlCharEncOutFunc

    int	xmlCharEncOutFunc		(xmlCharEncodingHandler * handler, 
    xmlBufferPtr out,
    xmlBufferPtr in)
    +

    Generic front-end for the encoding handler output function a first call with @in == NULL has to be made firs to initiate the output in case of non-stateless encoding needing to initiate their state or the output (like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content will be automatically remapped to a CharRef sequence.

    +
    handler:char enconding transformation data structure
    out:an xmlBuffer for the output.
    in:an xmlBuffer for the input
    Returns: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

    Function type: xmlCharEncodingInputFunc

    Function type: xmlCharEncodingInputFunc
    +int	xmlCharEncodingInputFunc	(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen) +

    Take a block of chars in the original encoding and try to convert it to an UTF-8 block of chars out.

    out:a pointer to an array of bytes to store the UTF-8 result
    outlen:the length of @out
    in:a pointer to an array of chars in the original encoding
    inlen:the length of @in
    Returns:the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets consumed.

    +

    Function type: xmlCharEncodingOutputFunc

    Function type: xmlCharEncodingOutputFunc
    +int	xmlCharEncodingOutputFunc	(unsigned char * out, 
    int * outlen,
    const unsigned char * in,
    int * inlen) +

    Take a block of UTF-8 chars in and try to convert it to another encoding. Note: a first call designed to produce heading info is called with in = NULL. If stateful this should also initialize the encoder state.

    out:a pointer to an array of bytes to store the result
    outlen:the length of @out
    in:a pointer to an array of UTF-8 chars
    inlen:the length of @in
    Returns:the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets produced.

    +

    Function: xmlCleanupCharEncodingHandlers

    void	xmlCleanupCharEncodingHandlers	(void)
    +

    Cleanup the memory allocated for the char encoding support, it unregisters all the encoding handlers and the aliases.

    +

    Function: xmlCleanupEncodingAliases

    void	xmlCleanupEncodingAliases	(void)
    +

    Unregisters all aliases

    +

    Function: xmlDelEncodingAlias

    int	xmlDelEncodingAlias		(const char * alias)
    +

    Unregisters an encoding alias @alias

    +
    alias:the alias name as parsed, in UTF-8 format (ASCII actually)
    Returns:0 in case of success, -1 in case of error

    Function: xmlDetectCharEncoding

    xmlCharEncoding	xmlDetectCharEncoding	(const unsigned char * in, 
    int len)
    +

    Guess the encoding of the entity using the first bytes of the entity content according to the non-normative appendix F of the XML-1.0 recommendation.

    +
    in:a pointer to the first bytes of the XML entity, must be at least 2 bytes long (at least 4 if encoding is UTF4 variant).
    len:pointer to the length of the buffer
    Returns:one of the XML_CHAR_ENCODING_... values.

    Function: xmlFindCharEncodingHandler

    xmlCharEncodingHandlerPtr	xmlFindCharEncodingHandler	(const char * name)
    +

    Search in the registered set the handler able to read/write that encoding.

    +
    name:a string describing the char encoding.
    Returns:the handler or NULL if not found

    Function: xmlGetCharEncodingHandler

    xmlCharEncodingHandlerPtr	xmlGetCharEncodingHandler	(xmlCharEncoding enc)
    +

    Search in the registered set the handler able to read/write that encoding.

    +
    enc:an xmlCharEncoding value.
    Returns:the handler or NULL if not found

    Function: xmlGetCharEncodingName

    const char *	xmlGetCharEncodingName	(xmlCharEncoding enc)
    +

    The "canonical" name for XML encoding. C.f. http://www.w3.org/TR/REC-xml#charencoding Section 4.3.3 Character Encoding in Entities

    +
    enc:the encoding
    Returns:the canonical name for the given encoding

    Function: xmlGetEncodingAlias

    const char *	xmlGetEncodingAlias	(const char * alias)
    +

    Lookup an encoding name for the given alias.

    +
    alias:the alias name as parsed, in UTF-8 format (ASCII actually)
    Returns:NULL if not found, otherwise the original name

    Function: xmlInitCharEncodingHandlers

    void	xmlInitCharEncodingHandlers	(void)
    +

    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.

    +

    Function: xmlNewCharEncodingHandler

    xmlCharEncodingHandlerPtr	xmlNewCharEncodingHandler	(const char * name, 
    xmlCharEncodingInputFunc input,
    xmlCharEncodingOutputFunc output)
    +

    Create and registers an xmlCharEncodingHandler.

    +
    name:the encoding name, in UTF-8 format (ASCII actually)
    input:the xmlCharEncodingInputFunc to read that encoding
    output:the xmlCharEncodingOutputFunc to write that encoding
    Returns:the xmlCharEncodingHandlerPtr created (or NULL in case of error).

    Function: xmlParseCharEncoding

    xmlCharEncoding	xmlParseCharEncoding	(const char * name)
    +

    Compare the string to the encoding schemes already known. Note that the comparison is case insensitive accordingly to the section [XML] 4.3.3 Character Encoding in Entities.

    +
    name:the encoding name as parsed, in UTF-8 format (ASCII actually)
    Returns:one of the XML_CHAR_ENCODING_... values or XML_CHAR_ENCODING_NONE if not recognized.

    Function: xmlRegisterCharEncodingHandler

    void	xmlRegisterCharEncodingHandler	(xmlCharEncodingHandlerPtr handler)
    +

    Register the char encoding handler, surprising, isn't it ?

    +
    handler:the xmlCharEncodingHandlerPtr handler block

    Daniel Veillard

    diff --git a/doc/html/libxml-entities.html b/doc/html/libxml-entities.html new file mode 100644 index 0000000..f45a876 --- /dev/null +++ b/doc/html/libxml-entities.html @@ -0,0 +1,76 @@ + + +Module entities from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module entities from libxml2

    API Menu
    API Indexes
    Related links

    this module provides some of the entity API needed for the parser and applications.

    Table of Contents

    Structure xmlEntitiesTable
    struct _xmlHashTable +The content of this structure is not made public by the API. +
    Typedef xmlEntitiesTable * xmlEntitiesTablePtr
    +
    Enum xmlEntityType
    +
    xmlEntityPtr	xmlAddDocEntity		(xmlDocPtr doc, 
    const xmlChar * name,
    int type,
    const xmlChar * ExternalID,
    const xmlChar * SystemID,
    const xmlChar * content)
    +
    xmlEntityPtr	xmlAddDtdEntity		(xmlDocPtr doc, 
    const xmlChar * name,
    int type,
    const xmlChar * ExternalID,
    const xmlChar * SystemID,
    const xmlChar * content)
    +
    void	xmlCleanupPredefinedEntities	(void)
    +
    xmlEntitiesTablePtr	xmlCopyEntitiesTable	(xmlEntitiesTablePtr table)
    +
    xmlEntitiesTablePtr	xmlCreateEntitiesTable	(void)
    +
    void	xmlDumpEntitiesTable		(xmlBufferPtr buf, 
    xmlEntitiesTablePtr table)
    +
    void	xmlDumpEntityDecl		(xmlBufferPtr buf, 
    xmlEntityPtr ent)
    +
    const xmlChar *	xmlEncodeEntities	(xmlDocPtr doc, 
    const xmlChar * input)
    +
    xmlChar *	xmlEncodeEntitiesReentrant	(xmlDocPtr doc, 
    const xmlChar * input)
    +
    xmlChar *	xmlEncodeSpecialChars	(xmlDocPtr doc, 
    const xmlChar * input)
    +
    void	xmlFreeEntitiesTable		(xmlEntitiesTablePtr table)
    +
    xmlEntityPtr	xmlGetDocEntity		(xmlDocPtr doc, 
    const xmlChar * name)
    +
    xmlEntityPtr	xmlGetDtdEntity		(xmlDocPtr doc, 
    const xmlChar * name)
    +
    xmlEntityPtr	xmlGetParameterEntity	(xmlDocPtr doc, 
    const xmlChar * name)
    +
    xmlEntityPtr	xmlGetPredefinedEntity	(const xmlChar * name)
    +
    void	xmlInitializePredefinedEntities	(void)
    +

    Description

    +

    Structure xmlEntitiesTable

    Structure xmlEntitiesTable
    struct _xmlHashTable { +The content of this structure is not made public by the API. +}

    Enum xmlEntityType

    Enum xmlEntityType {
    +    XML_INTERNAL_GENERAL_ENTITY = 1
    +    XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2
    +    XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3
    +    XML_INTERNAL_PARAMETER_ENTITY = 4
    +    XML_EXTERNAL_PARAMETER_ENTITY = 5
    +    XML_INTERNAL_PREDEFINED_ENTITY = 6
    +}
    +

    Function: xmlAddDocEntity

    xmlEntityPtr	xmlAddDocEntity		(xmlDocPtr doc, 
    const xmlChar * name,
    int type,
    const xmlChar * ExternalID,
    const xmlChar * SystemID,
    const xmlChar * content)
    +

    Register a new entity for this document.

    +
    doc:the document
    name:the entity name
    type:the entity type XML_xxx_yyy_ENTITY
    ExternalID:the entity external ID if available
    SystemID:the entity system ID if available
    content:the entity content
    Returns:a pointer to the entity or NULL in case of error

    Function: xmlAddDtdEntity

    xmlEntityPtr	xmlAddDtdEntity		(xmlDocPtr doc, 
    const xmlChar * name,
    int type,
    const xmlChar * ExternalID,
    const xmlChar * SystemID,
    const xmlChar * content)
    +

    Register a new entity for this document DTD external subset.

    +
    doc:the document
    name:the entity name
    type:the entity type XML_xxx_yyy_ENTITY
    ExternalID:the entity external ID if available
    SystemID:the entity system ID if available
    content:the entity content
    Returns:a pointer to the entity or NULL in case of error

    Function: xmlCleanupPredefinedEntities

    void	xmlCleanupPredefinedEntities	(void)
    +

    Cleanup up the predefined entities table. Deprecated call

    +

    Function: xmlCopyEntitiesTable

    xmlEntitiesTablePtr	xmlCopyEntitiesTable	(xmlEntitiesTablePtr table)
    +

    Build a copy of an entity table.

    +
    table:An entity table
    Returns:the new xmlEntitiesTablePtr or NULL in case of error.

    Function: xmlCreateEntitiesTable

    xmlEntitiesTablePtr	xmlCreateEntitiesTable	(void)
    +

    create and initialize an empty entities hash table.

    +
    Returns:the xmlEntitiesTablePtr just created or NULL in case of error.

    Function: xmlDumpEntitiesTable

    void	xmlDumpEntitiesTable		(xmlBufferPtr buf, 
    xmlEntitiesTablePtr table)
    +

    This will dump the content of the entity table as an XML DTD definition

    +
    buf:An XML buffer.
    table:An entity table

    Function: xmlDumpEntityDecl

    void	xmlDumpEntityDecl		(xmlBufferPtr buf, 
    xmlEntityPtr ent)
    +

    This will dump the content of the entity table as an XML DTD definition

    +
    buf:An XML buffer.
    ent:An entity table

    Function: xmlEncodeEntities

    const xmlChar *	xmlEncodeEntities	(xmlDocPtr doc, 
    const xmlChar * input)
    +

    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.

    +
    doc:the document containing the string
    input:A string to convert to XML.
    Returns:NULL

    Function: xmlEncodeEntitiesReentrant

    xmlChar *	xmlEncodeEntitiesReentrant	(xmlDocPtr doc, 
    const xmlChar * input)
    +

    Do a global encoding of a string, replacing the predefined entities and non ASCII values with their entities and CharRef counterparts. Contrary to xmlEncodeEntities, this routine is reentrant, and result must be deallocated.

    +
    doc:the document containing the string
    input:A string to convert to XML.
    Returns:A newly allocated string with the substitution done.

    Function: xmlEncodeSpecialChars

    xmlChar *	xmlEncodeSpecialChars	(xmlDocPtr doc, 
    const xmlChar * input)
    +

    Do a global encoding of a string, replacing the predefined entities this routine is reentrant, and result must be deallocated.

    +
    doc:the document containing the string
    input:A string to convert to XML.
    Returns:A newly allocated string with the substitution done.

    Function: xmlFreeEntitiesTable

    void	xmlFreeEntitiesTable		(xmlEntitiesTablePtr table)
    +

    Deallocate the memory used by an entities hash table.

    +
    table:An entity table

    Function: xmlGetDocEntity

    xmlEntityPtr	xmlGetDocEntity		(xmlDocPtr doc, 
    const xmlChar * name)
    +

    Do an entity lookup in the document entity hash table and

    +
    doc:the document referencing the entity
    name:the entity name
    Returns:the corresponding entity, otherwise a lookup is done in the predefined entities too. Returns A pointer to the entity structure or NULL if not found.

    Function: xmlGetDtdEntity

    xmlEntityPtr	xmlGetDtdEntity		(xmlDocPtr doc, 
    const xmlChar * name)
    +

    Do an entity lookup in the DTD entity hash table and

    +
    doc:the document referencing the entity
    name:the entity name
    Returns:the corresponding entity, if found. Note: the first argument is the document node, not the DTD node. Returns A pointer to the entity structure or NULL if not found.

    Function: xmlGetParameterEntity

    xmlEntityPtr	xmlGetParameterEntity	(xmlDocPtr doc, 
    const xmlChar * name)
    +

    Do an entity lookup in the internal and external subsets and

    +
    doc:the document referencing the entity
    name:the entity name
    Returns:the corresponding parameter entity, if found. Returns A pointer to the entity structure or NULL if not found.

    Function: xmlGetPredefinedEntity

    xmlEntityPtr	xmlGetPredefinedEntity	(const xmlChar * name)
    +

    Check whether this name is an predefined entity.

    +
    name:the entity name
    Returns:NULL if not, otherwise the entity

    Function: xmlInitializePredefinedEntities

    void	xmlInitializePredefinedEntities	(void)
    +

    Set up the predefined entities. Deprecated call

    +

    Daniel Veillard

    diff --git a/doc/html/libxml-globals.html b/doc/html/libxml-globals.html new file mode 100644 index 0000000..33cb383 --- /dev/null +++ b/doc/html/libxml-globals.html @@ -0,0 +1,125 @@ + + +Module globals from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module globals from libxml2

    API Menu
    API Indexes
    Related links

    all the global variables and thread handling for those variables is handled by this module. The bottom of this file is automatically generated by build_glob.py based on the description file global.data

    Table of Contents

    Structure xmlGlobalState
    struct _xmlGlobalState +
    Typedef xmlGlobalState * xmlGlobalStatePtr
    +
    void	xmlCleanupGlobals		(void)
    +
    xmlDeregisterNodeFunc	xmlDeregisterNodeDefault	(xmlDeregisterNodeFunc func)
    +
    Function type: xmlDeregisterNodeFunc
    +void	xmlDeregisterNodeFunc		(xmlNodePtr node)
    +
    +
    void	xmlInitGlobals			(void)
    +
    void	xmlInitializeGlobalState	(xmlGlobalStatePtr gs)
    +
    xmlRegisterNodeFunc	xmlRegisterNodeDefault	(xmlRegisterNodeFunc func)
    +
    Function type: xmlRegisterNodeFunc
    +void	xmlRegisterNodeFunc		(xmlNodePtr node)
    +
    +
    xmlBufferAllocationScheme	xmlThrDefBufferAllocScheme	(xmlBufferAllocationScheme v)
    +
    int	xmlThrDefDefaultBufferSize	(int v)
    +
    xmlDeregisterNodeFunc	xmlThrDefDeregisterNodeDefault	(xmlDeregisterNodeFunc func)
    +
    int	xmlThrDefDoValidityCheckingDefaultValue	(int v)
    +
    int	xmlThrDefGetWarningsDefaultValue	(int v)
    +
    int	xmlThrDefIndentTreeOutput	(int v)
    +
    int	xmlThrDefKeepBlanksDefaultValue	(int v)
    +
    int	xmlThrDefLineNumbersDefaultValue	(int v)
    +
    int	xmlThrDefLoadExtDtdDefaultValue	(int v)
    +
    int	xmlThrDefParserDebugEntities	(int v)
    +
    int	xmlThrDefPedanticParserDefaultValue	(int v)
    +
    xmlRegisterNodeFunc	xmlThrDefRegisterNodeDefault	(xmlRegisterNodeFunc func)
    +
    int	xmlThrDefSaveNoEmptyTags	(int v)
    +
    void	xmlThrDefSetGenericErrorFunc	(void * ctx, 
    xmlGenericErrorFunc handler)
    +
    void	xmlThrDefSetStructuredErrorFunc	(void * ctx, 
    xmlStructuredErrorFunc handler)
    +
    int	xmlThrDefSubstituteEntitiesDefaultValue	(int v)
    +
    const char *	xmlThrDefTreeIndentString	(const char * v)
    +

    Description

    +

    Structure xmlGlobalState

    Structure xmlGlobalState
    struct _xmlGlobalState { + const char * xmlParserVersion + xmlSAXLocator xmlDefaultSAXLocator + xmlSAXHandlerV1 xmlDefaultSAXHandler + xmlSAXHandlerV1 docbDefaultSAXHandler + xmlSAXHandlerV1 htmlDefaultSAXHandler + xmlFreeFunc xmlFree + xmlMallocFunc xmlMalloc + xmlStrdupFunc xmlMemStrdup + xmlReallocFunc xmlRealloc + xmlGenericErrorFunc xmlGenericError + xmlStructuredErrorFunc xmlStructuredError + void * xmlGenericErrorContext + int oldXMLWDcompatibility + xmlBufferAllocationScheme xmlBufferAllocScheme + int xmlDefaultBufferSize + int xmlSubstituteEntitiesDefaultValue + int xmlDoValidityCheckingDefaultValue + int xmlGetWarningsDefaultValue + int xmlKeepBlanksDefaultValue + int xmlLineNumbersDefaultValue + int xmlLoadExtDtdDefaultValue + int xmlParserDebugEntities + int xmlPedanticParserDefaultValue + int xmlSaveNoEmptyTags + int xmlIndentTreeOutput + const char * xmlTreeIndentString + xmlRegisterNodeFunc xmlRegisterNodeDefaultValue + xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue + xmlMallocFunc xmlMallocAtomic + xmlError xmlLastError +}

    Function: xmlCleanupGlobals

    void	xmlCleanupGlobals		(void)
    +

    Additional cleanup for multi-threading

    +

    Function: xmlDeregisterNodeDefault

    xmlDeregisterNodeFunc	xmlDeregisterNodeDefault	(xmlDeregisterNodeFunc func)
    +

    Registers a callback for node destruction

    +
    func:function pointer to the new DeregisterNodeFunc
    Returns:the previous value of the deregistration function

    Function type: xmlDeregisterNodeFunc

    Function type: xmlDeregisterNodeFunc
    +void	xmlDeregisterNodeFunc		(xmlNodePtr node)
    +

    node:

    +

    Function: xmlInitGlobals

    void	xmlInitGlobals			(void)
    +

    Additional initialisation for multi-threading

    +

    Function: xmlInitializeGlobalState

    void	xmlInitializeGlobalState	(xmlGlobalStatePtr gs)
    +

    xmlInitializeGlobalState() initialize a global state with all the default values of the library.

    +
    gs:a pointer to a newly allocated global state

    Function: xmlRegisterNodeDefault

    xmlRegisterNodeFunc	xmlRegisterNodeDefault	(xmlRegisterNodeFunc func)
    +

    Registers a callback for node creation

    +
    func:function pointer to the new RegisterNodeFunc
    Returns:the old value of the registration function

    Function type: xmlRegisterNodeFunc

    Function type: xmlRegisterNodeFunc
    +void	xmlRegisterNodeFunc		(xmlNodePtr node)
    +

    node:

    +

    Function: xmlThrDefBufferAllocScheme

    xmlBufferAllocationScheme	xmlThrDefBufferAllocScheme	(xmlBufferAllocationScheme v)
    +

    +
    v:
    Returns:

    Function: xmlThrDefDefaultBufferSize

    int	xmlThrDefDefaultBufferSize	(int v)
    +

    +
    v:
    Returns:

    Function: xmlThrDefDeregisterNodeDefault

    xmlDeregisterNodeFunc	xmlThrDefDeregisterNodeDefault	(xmlDeregisterNodeFunc func)
    +

    +
    func:
    Returns:

    Function: xmlThrDefDoValidityCheckingDefaultValue

    int	xmlThrDefDoValidityCheckingDefaultValue	(int v)
    +

    +
    v:
    Returns:

    Function: xmlThrDefGetWarningsDefaultValue

    int	xmlThrDefGetWarningsDefaultValue	(int v)
    +

    +
    v:
    Returns:

    Function: xmlThrDefIndentTreeOutput

    int	xmlThrDefIndentTreeOutput	(int v)
    +

    +
    v:
    Returns:

    Function: xmlThrDefKeepBlanksDefaultValue

    int	xmlThrDefKeepBlanksDefaultValue	(int v)
    +

    +
    v:
    Returns:

    Function: xmlThrDefLineNumbersDefaultValue

    int	xmlThrDefLineNumbersDefaultValue	(int v)
    +

    +
    v:
    Returns:

    Function: xmlThrDefLoadExtDtdDefaultValue

    int	xmlThrDefLoadExtDtdDefaultValue	(int v)
    +

    +
    v:
    Returns:

    Function: xmlThrDefParserDebugEntities

    int	xmlThrDefParserDebugEntities	(int v)
    +

    +
    v:
    Returns:

    Function: xmlThrDefPedanticParserDefaultValue

    int	xmlThrDefPedanticParserDefaultValue	(int v)
    +

    +
    v:
    Returns:

    Function: xmlThrDefRegisterNodeDefault

    xmlRegisterNodeFunc	xmlThrDefRegisterNodeDefault	(xmlRegisterNodeFunc func)
    +

    +
    func:
    Returns:

    Function: xmlThrDefSaveNoEmptyTags

    int	xmlThrDefSaveNoEmptyTags	(int v)
    +

    +
    v:
    Returns:

    Function: xmlThrDefSetGenericErrorFunc

    void	xmlThrDefSetGenericErrorFunc	(void * ctx, 
    xmlGenericErrorFunc handler)
    +

    +
    ctx:
    handler:

    Function: xmlThrDefSetStructuredErrorFunc

    void	xmlThrDefSetStructuredErrorFunc	(void * ctx, 
    xmlStructuredErrorFunc handler)
    +

    +
    ctx:
    handler:

    Function: xmlThrDefSubstituteEntitiesDefaultValue

    int	xmlThrDefSubstituteEntitiesDefaultValue	(int v)
    +

    +
    v:
    Returns:

    Function: xmlThrDefTreeIndentString

    const char *	xmlThrDefTreeIndentString	(const char * v)
    +

    +
    v:
    Returns:

    Daniel Veillard

    diff --git a/doc/html/libxml-hash.html b/doc/html/libxml-hash.html new file mode 100644 index 0000000..217b12e --- /dev/null +++ b/doc/html/libxml-hash.html @@ -0,0 +1,112 @@ + + +Module hash from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module hash from libxml2

    API Menu
    API Indexes
    Related links

    Table of Contents

    Structure xmlHashTable
    struct _xmlHashTable +The content of this structure is not made public by the API. +
    Typedef xmlHashTable * xmlHashTablePtr
    +
    int	xmlHashAddEntry			(xmlHashTablePtr table, 
    const xmlChar * name,
    void * userdata)
    +
    int	xmlHashAddEntry2		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    void * userdata)
    +
    int	xmlHashAddEntry3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    void * userdata)
    +
    Function type: xmlHashCopier
    +void *	xmlHashCopier			(void * payload, 
    xmlChar * name) +
    +
    xmlHashTablePtr	xmlHashCopy		(xmlHashTablePtr table, 
    xmlHashCopier f)
    +
    xmlHashTablePtr	xmlHashCreate		(int size)
    +
    Function type: xmlHashDeallocator
    +void	xmlHashDeallocator		(void * payload, 
    xmlChar * name) +
    +
    void	xmlHashFree			(xmlHashTablePtr table, 
    xmlHashDeallocator f)
    +
    void *	xmlHashLookup			(xmlHashTablePtr table, 
    const xmlChar * name)
    +
    void *	xmlHashLookup2			(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2)
    +
    void *	xmlHashLookup3			(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3)
    +
    void *	xmlHashQLookup			(xmlHashTablePtr table, 
    const xmlChar * prefix,
    const xmlChar * name)
    +
    void *	xmlHashQLookup2			(xmlHashTablePtr table, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * prefix2,
    const xmlChar * name2)
    +
    void *	xmlHashQLookup3			(xmlHashTablePtr table, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * prefix2,
    const xmlChar * name2,
    const xmlChar * prefix3,
    const xmlChar * name3)
    +
    int	xmlHashRemoveEntry		(xmlHashTablePtr table, 
    const xmlChar * name,
    xmlHashDeallocator f)
    +
    int	xmlHashRemoveEntry2		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    xmlHashDeallocator f)
    +
    int	xmlHashRemoveEntry3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    xmlHashDeallocator f)
    +
    void	xmlHashScan			(xmlHashTablePtr table, 
    xmlHashScanner f,
    void * data)
    +
    void	xmlHashScan3			(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    xmlHashScanner f,
    void * data)
    +
    void	xmlHashScanFull			(xmlHashTablePtr table, 
    xmlHashScannerFull f,
    void * data)
    +
    void	xmlHashScanFull3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    xmlHashScannerFull f,
    void * data)
    +
    Function type: xmlHashScanner
    +void	xmlHashScanner			(void * payload, 
    void * data,
    xmlChar * name) +
    +
    Function type: xmlHashScannerFull
    +void	xmlHashScannerFull		(void * payload, 
    void * data,
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3) +
    +
    int	xmlHashSize			(xmlHashTablePtr table)
    +
    int	xmlHashUpdateEntry		(xmlHashTablePtr table, 
    const xmlChar * name,
    void * userdata,
    xmlHashDeallocator f)
    +
    int	xmlHashUpdateEntry2		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    void * userdata,
    xmlHashDeallocator f)
    +
    int	xmlHashUpdateEntry3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    void * userdata,
    xmlHashDeallocator f)
    +

    Description

    +

    Structure xmlHashTable

    Structure xmlHashTable
    struct _xmlHashTable { +The content of this structure is not made public by the API. +}

    Function: xmlHashAddEntry

    int	xmlHashAddEntry			(xmlHashTablePtr table, 
    const xmlChar * name,
    void * userdata)
    +

    Add the @userdata to the hash @table. This can later be retrieved by using the @name. Duplicate names generate errors.

    +
    table:the hash table
    name:the name of the userdata
    userdata:a pointer to the userdata
    Returns:0 the addition succeeded and -1 in case of error.

    Function: xmlHashAddEntry2

    int	xmlHashAddEntry2		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    void * userdata)
    +

    Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Duplicate tuples generate errors.

    +
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    userdata:a pointer to the userdata
    Returns:0 the addition succeeded and -1 in case of error.

    Function: xmlHashAddEntry3

    int	xmlHashAddEntry3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    void * userdata)
    +

    Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Duplicate entries generate errors.

    +
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    name3:a third name of the userdata
    userdata:a pointer to the userdata
    Returns:0 the addition succeeded and -1 in case of error.

    Function type: xmlHashCopier

    Function type: xmlHashCopier
    +void *	xmlHashCopier			(void * payload, 
    xmlChar * name) +

    Callback to copy data from a hash.

    payload:the data in the hash
    name:the name associated
    Returns:a copy of the data or NULL in case of error.

    +

    Function: xmlHashCopy

    xmlHashTablePtr	xmlHashCopy		(xmlHashTablePtr table, 
    xmlHashCopier f)
    +

    Scan the hash @table and applied @f to each value.

    +
    table:the hash table
    f:the copier function for items in the hash
    Returns:the new table or NULL in case of error.

    Function: xmlHashCreate

    xmlHashTablePtr	xmlHashCreate		(int size)
    +

    Create a new xmlHashTablePtr.

    +
    size:the size of the hash table
    Returns:the newly created object, or NULL if an error occured.

    Function type: xmlHashDeallocator

    Function type: xmlHashDeallocator
    +void	xmlHashDeallocator		(void * payload, 
    xmlChar * name) +

    Callback to free data from a hash.

    payload:the data in the hash
    name:the name associated

    +

    Function: xmlHashFree

    void	xmlHashFree			(xmlHashTablePtr table, 
    xmlHashDeallocator f)
    +

    Free the hash @table and its contents. The userdata is deallocated with @f if provided.

    +
    table:the hash table
    f:the deallocator function for items in the hash

    Function: xmlHashLookup

    void *	xmlHashLookup			(xmlHashTablePtr table, 
    const xmlChar * name)
    +

    Find the userdata specified by the @name.

    +
    table:the hash table
    name:the name of the userdata
    Returns:the pointer to the userdata

    Function: xmlHashLookup2

    void *	xmlHashLookup2			(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2)
    +

    Find the userdata specified by the (@name, @name2) tuple.

    +
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    Returns:the pointer to the userdata

    Function: xmlHashLookup3

    void *	xmlHashLookup3			(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3)
    +

    Find the userdata specified by the (@name, @name2, @name3) tuple.

    +
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    name3:a third name of the userdata
    Returns:the a pointer to the userdata

    Function: xmlHashQLookup

    void *	xmlHashQLookup			(xmlHashTablePtr table, 
    const xmlChar * prefix,
    const xmlChar * name)
    +

    Find the userdata specified by the QName @prefix:@name/@name.

    +
    table:the hash table
    prefix:the prefix of the userdata
    name:the name of the userdata
    Returns:the pointer to the userdata

    Function: xmlHashQLookup2

    void *	xmlHashQLookup2			(xmlHashTablePtr table, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * prefix2,
    const xmlChar * name2)
    +

    Find the userdata specified by the QNames tuple

    +
    table:the hash table
    prefix:the prefix of the userdata
    name:the name of the userdata
    prefix2:the second prefix of the userdata
    name2:a second name of the userdata
    Returns:the pointer to the userdata

    Function: xmlHashQLookup3

    void *	xmlHashQLookup3			(xmlHashTablePtr table, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * prefix2,
    const xmlChar * name2,
    const xmlChar * prefix3,
    const xmlChar * name3)
    +

    Find the userdata specified by the (@name, @name2, @name3) tuple.

    +
    table:the hash table
    prefix:the prefix of the userdata
    name:the name of the userdata
    prefix2:the second prefix of the userdata
    name2:a second name of the userdata
    prefix3:the third prefix of the userdata
    name3:a third name of the userdata
    Returns:the a pointer to the userdata

    Function: xmlHashRemoveEntry

    int	xmlHashRemoveEntry		(xmlHashTablePtr table, 
    const xmlChar * name,
    xmlHashDeallocator f)
    +

    Find the userdata specified by the @name and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.

    +
    table:the hash table
    name:the name of the userdata
    f:the deallocator function for removed item (if any)
    Returns:0 if the removal succeeded and -1 in case of error or not found.

    Function: xmlHashRemoveEntry2

    int	xmlHashRemoveEntry2		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    xmlHashDeallocator f)
    +

    Find the userdata specified by the (@name, @name2) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.

    +
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    f:the deallocator function for removed item (if any)
    Returns:0 if the removal succeeded and -1 in case of error or not found.

    Function: xmlHashRemoveEntry3

    int	xmlHashRemoveEntry3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    xmlHashDeallocator f)
    +

    Find the userdata specified by the (@name, @name2, @name3) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.

    +
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    name3:a third name of the userdata
    f:the deallocator function for removed item (if any)
    Returns:0 if the removal succeeded and -1 in case of error or not found.

    Function: xmlHashScan

    void	xmlHashScan			(xmlHashTablePtr table, 
    xmlHashScanner f,
    void * data)
    +

    Scan the hash @table and applied @f to each value.

    +
    table:the hash table
    f:the scanner function for items in the hash
    data:extra data passed to f

    Function: xmlHashScan3

    void	xmlHashScan3			(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    xmlHashScanner f,
    void * data)
    +

    Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.

    +
    table:the hash table
    name:the name of the userdata or NULL
    name2:a second name of the userdata or NULL
    name3:a third name of the userdata or NULL
    f:the scanner function for items in the hash
    data:extra data passed to f

    Function: xmlHashScanFull

    void	xmlHashScanFull			(xmlHashTablePtr table, 
    xmlHashScannerFull f,
    void * data)
    +

    Scan the hash @table and applied @f to each value.

    +
    table:the hash table
    f:the scanner function for items in the hash
    data:extra data passed to f

    Function: xmlHashScanFull3

    void	xmlHashScanFull3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    xmlHashScannerFull f,
    void * data)
    +

    Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.

    +
    table:the hash table
    name:the name of the userdata or NULL
    name2:a second name of the userdata or NULL
    name3:a third name of the userdata or NULL
    f:the scanner function for items in the hash
    data:extra data passed to f

    Function type: xmlHashScanner

    Function type: xmlHashScanner
    +void	xmlHashScanner			(void * payload, 
    void * data,
    xmlChar * name) +

    Callback when scanning data in a hash with the simple scanner.

    payload:the data in the hash
    data:extra scannner data
    name:the name associated

    +

    Function type: xmlHashScannerFull

    Function type: xmlHashScannerFull
    +void	xmlHashScannerFull		(void * payload, 
    void * data,
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3) +

    Callback when scanning data in a hash with the full scanner.

    payload:the data in the hash
    data:extra scannner data
    name:the name associated
    name2:the second name associated
    name3:the third name associated

    +

    Function: xmlHashSize

    int	xmlHashSize			(xmlHashTablePtr table)
    +

    Query the number of elements installed in the hash @table.

    +
    table:the hash table
    Returns:the number of elements in the hash table or -1 in case of error

    Function: xmlHashUpdateEntry

    int	xmlHashUpdateEntry		(xmlHashTablePtr table, 
    const xmlChar * name,
    void * userdata,
    xmlHashDeallocator f)
    +

    Add the @userdata to the hash @table. This can later be retrieved by using the @name. Existing entry for this @name will be removed and freed with @f if found.

    +
    table:the hash table
    name:the name of the userdata
    userdata:a pointer to the userdata
    f:the deallocator function for replaced item (if any)
    Returns:0 the addition succeeded and -1 in case of error.

    Function: xmlHashUpdateEntry2

    int	xmlHashUpdateEntry2		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    void * userdata,
    xmlHashDeallocator f)
    +

    Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Existing entry for this tuple will be removed and freed with @f if found.

    +
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    userdata:a pointer to the userdata
    f:the deallocator function for replaced item (if any)
    Returns:0 the addition succeeded and -1 in case of error.

    Function: xmlHashUpdateEntry3

    int	xmlHashUpdateEntry3		(xmlHashTablePtr table, 
    const xmlChar * name,
    const xmlChar * name2,
    const xmlChar * name3,
    void * userdata,
    xmlHashDeallocator f)
    +

    Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Existing entry for this tuple will be removed and freed with @f if found.

    +
    table:the hash table
    name:the name of the userdata
    name2:a second name of the userdata
    name3:a third name of the userdata
    userdata:a pointer to the userdata
    f:the deallocator function for replaced item (if any)
    Returns:0 the addition succeeded and -1 in case of error.

    Daniel Veillard

    diff --git a/doc/html/libxml-lib.html b/doc/html/libxml-lib.html new file mode 100644 index 0000000..5edc0f7 --- /dev/null +++ b/doc/html/libxml-lib.html @@ -0,0 +1,13 @@ + + +Reference Manual for libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Reference Manual for libxml2

    API Menu
    API Indexes
    Related links

    Table of Contents

    • DOCBparser: old DocBook SGML parser
    • HTMLparser: interface for an HTML 4.0 non-verifying parser
    • HTMLtree: specific APIs to process HTML tree, especially serialization
    • SAX: Old SAX version 1 handler, deprecated
    • SAX2: SAX2 parser interface used to build the DOM tree
    • c14n: Provide Canonical XML and Exclusive XML Canonicalization
    • catalog: interfaces to the Catalog handling system
    • chvalid: Unicode character range checking
    • debugXML: Tree debugging APIs
    • dict: string dictionnary
    • encoding: interface for the encoding conversion functions
    • entities: interface for the XML entities handling
    • globals: interface for all global variables of the library
    • hash: chained hash tables
    • list: lists interfaces
    • nanoftp: minimal FTP implementation
    • nanohttp: minimal HTTP implementation
    • parser: the core parser module
    • parserInternals: internals routines exported by the parser.
    • pattern: pattern expression handling
    • relaxng: implementation of the Relax-NG validation
    • schemasInternals: internal interfaces for XML Schemas
    • threads: interfaces for thread handling
    • tree: interfaces for tree manipulation
    • uri: library of generic URI related routines
    • valid: The DTD validation
    • xinclude: implementation of XInclude
    • xlink: unfinished XLink detection module
    • xmlIO: interface for the I/O interfaces used by the parser
    • xmlautomata: API to build regexp automata
    • xmlerror: error handling
    • xmlexports: macros for marking symbols as exportable/importable.
    • xmlmemory: interface for the memory allocator
    • xmlreader: the XMLReader implementation
    • xmlregexp: regular expressions handling
    • xmlsave: the XML document serializer
    • xmlschemas: incomplete XML Schemas structure implementation
    • xmlschemastypes: implementation of XML Schema Datatypes
    • xmlstring: set of routines to process strings
    • xmlunicode: Unicode character APIs
    • xmlversion: compile-time version informations
    • xmlwriter: text writing API for XML
    • xpath: XML Path Language implementation
    • xpathInternals: internal interfaces for XML Path Language implementation
    • xpointer: API to handle XML Pointers

    Daniel Veillard

    diff --git a/doc/html/libxml-list.html b/doc/html/libxml-list.html new file mode 100644 index 0000000..e9f0e03 --- /dev/null +++ b/doc/html/libxml-list.html @@ -0,0 +1,120 @@ + + +Module list from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module list from libxml2

    API Menu
    API Indexes
    Related links

    this module implement the list support used in various place in the library.

    Table of Contents

    Structure xmlLink
    struct _xmlLink +The content of this structure is not made public by the API. +
    Typedef xmlLink * xmlLinkPtr
    +
    Structure xmlList
    struct _xmlList +The content of this structure is not made public by the API. +
    Typedef xmlList * xmlListPtr
    +
    void *	xmlLinkGetData			(xmlLinkPtr lk)
    +
    int	xmlListAppend			(xmlListPtr l, 
    void * data)
    +
    void	xmlListClear			(xmlListPtr l)
    +
    int	xmlListCopy			(xmlListPtr cur, 
    const xmlListPtr old)
    +
    xmlListPtr	xmlListCreate		(xmlListDeallocator deallocator, 
    xmlListDataCompare compare)
    +
    Function type: xmlListDataCompare
    +int	xmlListDataCompare		(const void * data0, 
    const void * data1) +
    +
    Function type: xmlListDeallocator
    +void	xmlListDeallocator		(xmlLinkPtr lk)
    +
    +
    void	xmlListDelete			(xmlListPtr l)
    +
    xmlListPtr	xmlListDup		(const xmlListPtr old)
    +
    int	xmlListEmpty			(xmlListPtr l)
    +
    xmlLinkPtr	xmlListEnd		(xmlListPtr l)
    +
    xmlLinkPtr	xmlListFront		(xmlListPtr l)
    +
    int	xmlListInsert			(xmlListPtr l, 
    void * data)
    +
    void	xmlListMerge			(xmlListPtr l1, 
    xmlListPtr l2)
    +
    void	xmlListPopBack			(xmlListPtr l)
    +
    void	xmlListPopFront			(xmlListPtr l)
    +
    int	xmlListPushBack			(xmlListPtr l, 
    void * data)
    +
    int	xmlListPushFront		(xmlListPtr l, 
    void * data)
    +
    int	xmlListRemoveAll		(xmlListPtr l, 
    void * data)
    +
    int	xmlListRemoveFirst		(xmlListPtr l, 
    void * data)
    +
    int	xmlListRemoveLast		(xmlListPtr l, 
    void * data)
    +
    void	xmlListReverse			(xmlListPtr l)
    +
    void *	xmlListReverseSearch		(xmlListPtr l, 
    void * data)
    +
    void	xmlListReverseWalk		(xmlListPtr l, 
    xmlListWalker walker,
    const void * user)
    +
    void *	xmlListSearch			(xmlListPtr l, 
    void * data)
    +
    int	xmlListSize			(xmlListPtr l)
    +
    void	xmlListSort			(xmlListPtr l)
    +
    void	xmlListWalk			(xmlListPtr l, 
    xmlListWalker walker,
    const void * user)
    +
    Function type: xmlListWalker
    +int	xmlListWalker			(const void * data, 
    const void * user) +
    +

    Description

    +

    Structure xmlLink

    Structure xmlLink
    struct _xmlLink { +The content of this structure is not made public by the API. +}

    Structure xmlList

    Structure xmlList
    struct _xmlList { +The content of this structure is not made public by the API. +}

    Function: xmlLinkGetData

    void *	xmlLinkGetData			(xmlLinkPtr lk)
    +

    See Returns.

    +
    lk:a link
    Returns:a pointer to the data referenced from this link

    Function: xmlListAppend

    int	xmlListAppend			(xmlListPtr l, 
    void * data)
    +

    Insert data in the ordered list at the end for this value

    +
    l:a list
    data:the data
    Returns:0 in case of success, 1 in case of failure

    Function: xmlListClear

    void	xmlListClear			(xmlListPtr l)
    +

    Remove the all data in the list

    +
    l:a list

    Function: xmlListCopy

    int	xmlListCopy			(xmlListPtr cur, 
    const xmlListPtr old)
    +

    Move all the element from the old list in the new list

    +
    cur:the new list
    old:the old list
    Returns:0 in case of success 1 in case of error

    Function: xmlListCreate

    xmlListPtr	xmlListCreate		(xmlListDeallocator deallocator, 
    xmlListDataCompare compare)
    +

    Create a new list

    +
    deallocator:an optional deallocator function
    compare:an optional comparison function
    Returns:the new list or NULL in case of error

    Function type: xmlListDataCompare

    Function type: xmlListDataCompare
    +int	xmlListDataCompare		(const void * data0, 
    const void * data1) +

    Callback function used to compare 2 data.

    data0:the first data
    data1:the second data
    Returns:0 is equality, -1 or 1 otherwise depending on the ordering.

    +

    Function type: xmlListDeallocator

    Function type: xmlListDeallocator
    +void	xmlListDeallocator		(xmlLinkPtr lk)
    +

    Callback function used to free data from a list.

    lk:the data to deallocate

    +

    Function: xmlListDelete

    void	xmlListDelete			(xmlListPtr l)
    +

    Deletes the list and its associated data

    +
    l:a list

    Function: xmlListDup

    xmlListPtr	xmlListDup		(const xmlListPtr old)
    +

    Duplicate the list

    +
    old:the list
    Returns:a new copy of the list or NULL in case of error

    Function: xmlListEmpty

    int	xmlListEmpty			(xmlListPtr l)
    +

    Is the list empty ?

    +
    l:a list
    Returns:1 if the list is empty, 0 otherwise

    Function: xmlListEnd

    xmlLinkPtr	xmlListEnd		(xmlListPtr l)
    +

    Get the last element in the list

    +
    l:a list
    Returns:the last element in the list, or NULL

    Function: xmlListFront

    xmlLinkPtr	xmlListFront		(xmlListPtr l)
    +

    Get the first element in the list

    +
    l:a list
    Returns:the first element in the list, or NULL

    Function: xmlListInsert

    int	xmlListInsert			(xmlListPtr l, 
    void * data)
    +

    Insert data in the ordered list at the beginning for this value

    +
    l:a list
    data:the data
    Returns:0 in case of success, 1 in case of failure

    Function: xmlListMerge

    void	xmlListMerge			(xmlListPtr l1, 
    xmlListPtr l2)
    +

    include all the elements of the second list in the first one and clear the second list

    +
    l1:the original list
    l2:the new list

    Function: xmlListPopBack

    void	xmlListPopBack			(xmlListPtr l)
    +

    Removes the last element in the list

    +
    l:a list

    Function: xmlListPopFront

    void	xmlListPopFront			(xmlListPtr l)
    +

    Removes the first element in the list

    +
    l:a list

    Function: xmlListPushBack

    int	xmlListPushBack			(xmlListPtr l, 
    void * data)
    +

    add the new data at the end of the list

    +
    l:a list
    data:new data
    Returns:1 if successful, 0 otherwise

    Function: xmlListPushFront

    int	xmlListPushFront		(xmlListPtr l, 
    void * data)
    +

    add the new data at the beginning of the list

    +
    l:a list
    data:new data
    Returns:1 if successful, 0 otherwise

    Function: xmlListRemoveAll

    int	xmlListRemoveAll		(xmlListPtr l, 
    void * data)
    +

    Remove the all instance associated to data in the list

    +
    l:a list
    data:list data
    Returns:the number of deallocation, or 0 if not found

    Function: xmlListRemoveFirst

    int	xmlListRemoveFirst		(xmlListPtr l, 
    void * data)
    +

    Remove the first instance associated to data in the list

    +
    l:a list
    data:list data
    Returns:1 if a deallocation occured, or 0 if not found

    Function: xmlListRemoveLast

    int	xmlListRemoveLast		(xmlListPtr l, 
    void * data)
    +

    Remove the last instance associated to data in the list

    +
    l:a list
    data:list data
    Returns:1 if a deallocation occured, or 0 if not found

    Function: xmlListReverse

    void	xmlListReverse			(xmlListPtr l)
    +

    Reverse the order of the elements in the list

    +
    l:a list

    Function: xmlListReverseSearch

    void *	xmlListReverseSearch		(xmlListPtr l, 
    void * data)
    +

    Search the list in reverse order for an existing value of @data

    +
    l:a list
    data:a search value
    Returns:the value associated to @data or NULL in case of error

    Function: xmlListReverseWalk

    void	xmlListReverseWalk		(xmlListPtr l, 
    xmlListWalker walker,
    const void * user)
    +

    Walk all the element of the list in reverse order and apply the walker function to it

    +
    l:a list
    walker:a processing function
    user:a user parameter passed to the walker function

    Function: xmlListSearch

    void *	xmlListSearch			(xmlListPtr l, 
    void * data)
    +

    Search the list for an existing value of @data

    +
    l:a list
    data:a search value
    Returns:the value associated to @data or NULL in case of error

    Function: xmlListSize

    int	xmlListSize			(xmlListPtr l)
    +

    Get the number of elements in the list

    +
    l:a list
    Returns:the number of elements in the list

    Function: xmlListSort

    void	xmlListSort			(xmlListPtr l)
    +

    Sort all the elements in the list

    +
    l:a list

    Function: xmlListWalk

    void	xmlListWalk			(xmlListPtr l, 
    xmlListWalker walker,
    const void * user)
    +

    Walk all the element of the first from first to last and apply the walker function to it

    +
    l:a list
    walker:a processing function
    user:a user parameter passed to the walker function

    Function type: xmlListWalker

    Function type: xmlListWalker
    +int	xmlListWalker			(const void * data, 
    const void * user) +

    Callback function used when walking a list with xmlListWalk().

    data:the data found in the list
    user:extra user provided data to the walker
    Returns:0 to stop walking the list, 1 otherwise.

    +

    Daniel Veillard

    diff --git a/doc/html/libxml-nanoftp.html b/doc/html/libxml-nanoftp.html new file mode 100644 index 0000000..afcd4d5 --- /dev/null +++ b/doc/html/libxml-nanoftp.html @@ -0,0 +1,92 @@ + + +Module nanoftp from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module nanoftp from libxml2

    API Menu
    API Indexes
    Related links

    minimal FTP implementation allowing to fetch resources like external subset.

    Table of Contents

    Function type: ftpDataCallback
    +void	ftpDataCallback			(void * userData, 
    const char * data,
    int len) +
    +
    Function type: ftpListCallback
    +void	ftpListCallback			(void * userData, 
    const char * filename,
    const char * attrib,
    const char * owner,
    const char * group,
    unsigned long size,
    int links,
    int year,
    const char * month,
    int day,
    int hour,
    int minute) +
    +
    int	xmlNanoFTPCheckResponse		(void * ctx)
    +
    void	xmlNanoFTPCleanup		(void)
    +
    int	xmlNanoFTPClose			(void * ctx)
    +
    int	xmlNanoFTPCloseConnection	(void * ctx)
    +
    int	xmlNanoFTPConnect		(void * ctx)
    +
    void *	xmlNanoFTPConnectTo		(const char * server, 
    int port)
    +
    int	xmlNanoFTPCwd			(void * ctx, 
    char * directory)
    +
    int	xmlNanoFTPDele			(void * ctx, 
    char * file)
    +
    void	xmlNanoFTPFreeCtxt		(void * ctx)
    +
    int	xmlNanoFTPGet			(void * ctx, 
    ftpDataCallback callback,
    void * userData,
    const char * filename)
    +
    int	xmlNanoFTPGetConnection		(void * ctx)
    +
    int	xmlNanoFTPGetResponse		(void * ctx)
    +
    int	xmlNanoFTPGetSocket		(void * ctx, 
    const char * filename)
    +
    void	xmlNanoFTPInit			(void)
    +
    int	xmlNanoFTPList			(void * ctx, 
    ftpListCallback callback,
    void * userData,
    char * filename)
    +
    void *	xmlNanoFTPNewCtxt		(const char * URL)
    +
    void *	xmlNanoFTPOpen			(const char * URL)
    +
    void	xmlNanoFTPProxy			(const char * host, 
    int port,
    const char * user,
    const char * passwd,
    int type)
    +
    int	xmlNanoFTPQuit			(void * ctx)
    +
    int	xmlNanoFTPRead			(void * ctx, 
    void * dest,
    int len)
    +
    void	xmlNanoFTPScanProxy		(const char * URL)
    +
    int	xmlNanoFTPUpdateURL		(void * ctx, 
    const char * URL)
    +

    Description

    +

    Function type: ftpDataCallback

    Function type: ftpDataCallback
    +void	ftpDataCallback			(void * userData, 
    const char * data,
    int len) +

    A callback for the xmlNanoFTPGet command.

    userData:the user provided context
    data:the data received
    len:its size in bytes

    +

    Function type: ftpListCallback

    Function type: ftpListCallback
    +void	ftpListCallback			(void * userData, 
    const char * filename,
    const char * attrib,
    const char * owner,
    const char * group,
    unsigned long size,
    int links,
    int year,
    const char * month,
    int day,
    int hour,
    int minute) +

    A callback for the xmlNanoFTPList command. Note that only one of year and day:minute are specified.

    userData:user provided data for the callback
    filename:the file name (including "->" when links are shown)
    attrib:the attribute string
    owner:the owner string
    group:the group string
    size:the file size
    links:the link count
    year:the year
    month:the month
    day:the day
    hour:the hour
    minute:the minute

    +

    Function: xmlNanoFTPCheckResponse

    int	xmlNanoFTPCheckResponse		(void * ctx)
    +

    Check if there is a response from the FTP server after a command.

    +
    ctx:an FTP context
    Returns:the code number, or 0

    Function: xmlNanoFTPCleanup

    void	xmlNanoFTPCleanup		(void)
    +

    Cleanup the FTP protocol layer. This cleanup proxy informations.

    +

    Function: xmlNanoFTPClose

    int	xmlNanoFTPClose			(void * ctx)
    +

    Close the connection and both control and transport

    +
    ctx:an FTP context
    Returns:-1 incase of error, 0 otherwise

    Function: xmlNanoFTPCloseConnection

    int	xmlNanoFTPCloseConnection	(void * ctx)
    +

    Close the data connection from the server

    +
    ctx:an FTP context
    Returns:-1 incase of error, 0 otherwise

    Function: xmlNanoFTPConnect

    int	xmlNanoFTPConnect		(void * ctx)
    +

    Tries to open a control connection

    +
    ctx:an FTP context
    Returns:-1 in case of error, 0 otherwise

    Function: xmlNanoFTPConnectTo

    void *	xmlNanoFTPConnectTo		(const char * server, 
    int port)
    +

    Tries to open a control connection to the given server/port

    +
    server:an FTP server name
    port:the port (use 21 if 0)
    Returns:an fTP context or NULL if it failed

    Function: xmlNanoFTPCwd

    int	xmlNanoFTPCwd			(void * ctx, 
    char * directory)
    +

    Tries to change the remote directory

    +
    ctx:an FTP context
    directory:a directory on the server
    Returns:-1 incase of error, 1 if CWD worked, 0 if it failed

    Function: xmlNanoFTPDele

    int	xmlNanoFTPDele			(void * ctx, 
    char * file)
    +

    Tries to delete an item (file or directory) from server

    +
    ctx:an FTP context
    file:a file or directory on the server
    Returns:-1 incase of error, 1 if DELE worked, 0 if it failed

    Function: xmlNanoFTPFreeCtxt

    void	xmlNanoFTPFreeCtxt		(void * ctx)
    +

    Frees the context after closing the connection.

    +
    ctx:an FTP context

    Function: xmlNanoFTPGet

    int	xmlNanoFTPGet			(void * ctx, 
    ftpDataCallback callback,
    void * userData,
    const char * filename)
    +

    Fetch the given file from the server. All data are passed back in the callbacks. The last callback has a size of 0 block.

    +
    ctx:an FTP context
    callback:the user callback
    userData:the user callback data
    filename:the file to retrieve
    Returns:-1 incase of error, 0 otherwise

    Function: xmlNanoFTPGetConnection

    int	xmlNanoFTPGetConnection		(void * ctx)
    +

    Try to open a data connection to the server. Currently only passive mode is supported.

    +
    ctx:an FTP context
    Returns:-1 incase of error, 0 otherwise

    Function: xmlNanoFTPGetResponse

    int	xmlNanoFTPGetResponse		(void * ctx)
    +

    Get the response from the FTP server after a command.

    +
    ctx:an FTP context
    Returns:the code number

    Function: xmlNanoFTPGetSocket

    int	xmlNanoFTPGetSocket		(void * ctx, 
    const char * filename)
    +

    Initiate fetch of the given file from the server.

    +
    ctx:an FTP context
    filename:the file to retrieve (or NULL if path is in context).
    Returns:the socket for the data connection, or <0 in case of error

    Function: xmlNanoFTPInit

    void	xmlNanoFTPInit			(void)
    +

    Initialize the FTP protocol layer. Currently it just checks for proxy informations, and get the hostname

    +

    Function: xmlNanoFTPList

    int	xmlNanoFTPList			(void * ctx, 
    ftpListCallback callback,
    void * userData,
    char * filename)
    +

    Do a listing on the server. All files info are passed back in the callbacks.

    +
    ctx:an FTP context
    callback:the user callback
    userData:the user callback data
    filename:optional files to list
    Returns:-1 incase of error, 0 otherwise

    Function: xmlNanoFTPNewCtxt

    void *	xmlNanoFTPNewCtxt		(const char * URL)
    +

    Allocate and initialize a new FTP context.

    +
    URL:The URL used to initialize the context
    Returns:an FTP context or NULL in case of error.

    Function: xmlNanoFTPOpen

    void *	xmlNanoFTPOpen			(const char * URL)
    +

    Start to fetch the given ftp:// resource

    +
    URL:the URL to the resource
    Returns:an FTP context, or NULL

    Function: xmlNanoFTPProxy

    void	xmlNanoFTPProxy			(const char * host, 
    int port,
    const char * user,
    const char * passwd,
    int type)
    +

    Setup the FTP proxy informations. This can also be done by using ftp_proxy ftp_proxy_user and ftp_proxy_password environment variables.

    +
    host:the proxy host name
    port:the proxy port
    user:the proxy user name
    passwd:the proxy password
    type:the type of proxy 1 for using SITE, 2 for USER a@b

    Function: xmlNanoFTPQuit

    int	xmlNanoFTPQuit			(void * ctx)
    +

    Send a QUIT command to the server

    +
    ctx:an FTP context
    Returns:-1 in case of error, 0 otherwise

    Function: xmlNanoFTPRead

    int	xmlNanoFTPRead			(void * ctx, 
    void * dest,
    int len)
    +

    This function tries to read @len bytes from the existing FTP connection and saves them in @dest. This is a blocking call.

    +
    ctx:the FTP context
    dest:a buffer
    len:the buffer length
    Returns:the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.

    Function: xmlNanoFTPScanProxy

    void	xmlNanoFTPScanProxy		(const char * URL)
    +

    (Re)Initialize the FTP Proxy context by parsing the URL and finding the protocol host port it indicates. Should be like ftp://myproxy/ or ftp://myproxy:3128/ A NULL URL cleans up proxy informations.

    +
    URL:The proxy URL used to initialize the proxy context

    Function: xmlNanoFTPUpdateURL

    int	xmlNanoFTPUpdateURL		(void * ctx, 
    const char * URL)
    +

    Update an FTP context by parsing the URL and finding new path it indicates. If there is an error in the protocol, hostname, port or other information, the error is raised. It indicates a new connection has to be established.

    +
    ctx:an FTP context
    URL:The URL used to update the context
    Returns:0 if Ok, -1 in case of error (other host).

    Daniel Veillard

    diff --git a/doc/html/libxml-nanohttp.html b/doc/html/libxml-nanohttp.html new file mode 100644 index 0000000..236ce02 --- /dev/null +++ b/doc/html/libxml-nanohttp.html @@ -0,0 +1,62 @@ + + +Module nanohttp from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module nanohttp from libxml2

    API Menu
    API Indexes
    Related links

    minimal HTTP implementation allowing to fetch resources like external subset.

    Table of Contents

    const char *	xmlNanoHTTPAuthHeader	(void * ctx)
    +
    void	xmlNanoHTTPCleanup		(void)
    +
    void	xmlNanoHTTPClose		(void * ctx)
    +
    const char *	xmlNanoHTTPEncoding	(void * ctx)
    +
    int	xmlNanoHTTPFetch		(const char * URL, 
    const char * filename,
    char ** contentType)
    +
    void	xmlNanoHTTPInit			(void)
    +
    void *	xmlNanoHTTPMethod		(const char * URL, 
    const char * method,
    const char * input,
    char ** contentType,
    const char * headers,
    int ilen)
    +
    void *	xmlNanoHTTPMethodRedir		(const char * URL, 
    const char * method,
    const char * input,
    char ** contentType,
    char ** redir,
    const char * headers,
    int ilen)
    +
    const char *	xmlNanoHTTPMimeType	(void * ctx)
    +
    void *	xmlNanoHTTPOpen			(const char * URL, 
    char ** contentType)
    +
    void *	xmlNanoHTTPOpenRedir		(const char * URL, 
    char ** contentType,
    char ** redir)
    +
    int	xmlNanoHTTPRead			(void * ctx, 
    void * dest,
    int len)
    +
    const char *	xmlNanoHTTPRedir	(void * ctx)
    +
    int	xmlNanoHTTPReturnCode		(void * ctx)
    +
    int	xmlNanoHTTPSave			(void * ctxt, 
    const char * filename)
    +
    void	xmlNanoHTTPScanProxy		(const char * URL)
    +

    Description

    +

    Function: xmlNanoHTTPAuthHeader

    const char *	xmlNanoHTTPAuthHeader	(void * ctx)
    +

    Get the authentication header of an HTTP context

    +
    ctx:the HTTP context
    Returns:the stashed value of the WWW-Authenticate or Proxy-Authenticate header.

    Function: xmlNanoHTTPCleanup

    void	xmlNanoHTTPCleanup		(void)
    +

    Cleanup the HTTP protocol layer.

    +

    Function: xmlNanoHTTPClose

    void	xmlNanoHTTPClose		(void * ctx)
    +

    This function closes an HTTP context, it ends up the connection and free all data related to it.

    +
    ctx:the HTTP context

    Function: xmlNanoHTTPEncoding

    const char *	xmlNanoHTTPEncoding	(void * ctx)
    +

    Provides the specified encoding if specified in the HTTP headers.

    +
    ctx:the HTTP context
    Returns:the specified encoding or NULL if not available

    Function: xmlNanoHTTPFetch

    int	xmlNanoHTTPFetch		(const char * URL, 
    const char * filename,
    char ** contentType)
    +

    This function try to fetch the indicated resource via HTTP GET and save it's content in the file.

    +
    URL:The URL to load
    filename:the filename where the content should be saved
    contentType:if available the Content-Type information will be returned at that location
    Returns:-1 in case of failure, 0 incase of success. The contentType, if provided must be freed by the caller

    Function: xmlNanoHTTPInit

    void	xmlNanoHTTPInit			(void)
    +

    Initialize the HTTP protocol layer. Currently it just checks for proxy informations

    +

    Function: xmlNanoHTTPMethod

    void *	xmlNanoHTTPMethod		(const char * URL, 
    const char * method,
    const char * input,
    char ** contentType,
    const char * headers,
    int ilen)
    +

    This function try to open a connection to the indicated resource via HTTP using the given @method, adding the given extra headers and the input buffer for the request content.

    +
    URL:The URL to load
    method:the HTTP method to use
    input:the input string if any
    contentType:the Content-Type information IN and OUT
    headers:the extra headers
    ilen:input length
    Returns:NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller

    Function: xmlNanoHTTPMethodRedir

    void *	xmlNanoHTTPMethodRedir		(const char * URL, 
    const char * method,
    const char * input,
    char ** contentType,
    char ** redir,
    const char * headers,
    int ilen)
    +

    This function try to open a connection to the indicated resource via HTTP using the given @method, adding the given extra headers and the input buffer for the request content.

    +
    URL:The URL to load
    method:the HTTP method to use
    input:the input string if any
    contentType:the Content-Type information IN and OUT
    redir:the redirected URL OUT
    headers:the extra headers
    ilen:input length
    Returns:NULL in case of failure, otherwise a request handler. The contentType, or redir, if provided must be freed by the caller

    Function: xmlNanoHTTPMimeType

    const char *	xmlNanoHTTPMimeType	(void * ctx)
    +

    Provides the specified Mime-Type if specified in the HTTP headers.

    +
    ctx:the HTTP context
    Returns:the specified Mime-Type or NULL if not available

    Function: xmlNanoHTTPOpen

    void *	xmlNanoHTTPOpen			(const char * URL, 
    char ** contentType)
    +

    This function try to open a connection to the indicated resource via HTTP GET.

    +
    URL:The URL to load
    contentType:if available the Content-Type information will be returned at that location
    Returns:NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller

    Function: xmlNanoHTTPOpenRedir

    void *	xmlNanoHTTPOpenRedir		(const char * URL, 
    char ** contentType,
    char ** redir)
    +

    This function try to open a connection to the indicated resource via HTTP GET.

    +
    URL:The URL to load
    contentType:if available the Content-Type information will be returned at that location
    redir:if available the redirected URL will be returned
    Returns:NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller

    Function: xmlNanoHTTPRead

    int	xmlNanoHTTPRead			(void * ctx, 
    void * dest,
    int len)
    +

    This function tries to read @len bytes from the existing HTTP connection and saves them in @dest. This is a blocking call.

    +
    ctx:the HTTP context
    dest:a buffer
    len:the buffer length
    Returns:the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.

    Function: xmlNanoHTTPRedir

    const char *	xmlNanoHTTPRedir	(void * ctx)
    +

    Provides the specified redirection URL if available from the HTTP header.

    +
    ctx:the HTTP context
    Returns:the specified redirection URL or NULL if not redirected.

    Function: xmlNanoHTTPReturnCode

    int	xmlNanoHTTPReturnCode		(void * ctx)
    +

    Get the latest HTTP return code received

    +
    ctx:the HTTP context
    Returns:the HTTP return code for the request.

    Function: xmlNanoHTTPSave

    int	xmlNanoHTTPSave			(void * ctxt, 
    const char * filename)
    +

    This function saves the output of the HTTP transaction to a file It closes and free the context at the end

    +
    ctxt:the HTTP context
    filename:the filename where the content should be saved
    Returns:-1 in case of failure, 0 incase of success.

    Function: xmlNanoHTTPScanProxy

    void	xmlNanoHTTPScanProxy		(const char * URL)
    +

    (Re)Initialize the HTTP Proxy context by parsing the URL and finding the protocol host port it indicates. Should be like http://myproxy/ or http://myproxy:3128/ A NULL URL cleans up proxy informations.

    +
    URL:The proxy URL used to initialize the proxy context

    Daniel Veillard

    diff --git a/doc/html/libxml-parser.html b/doc/html/libxml-parser.html new file mode 100644 index 0000000..876fc56 --- /dev/null +++ b/doc/html/libxml-parser.html @@ -0,0 +1,499 @@ + + +Module parser from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module parser from libxml2

    API Menu
    API Indexes
    Related links

    Interfaces, constants and types related to the XML parser

    Table of Contents

    #define XML_COMPLETE_ATTRS
    #define XML_DEFAULT_VERSION
    #define XML_DETECT_IDS
    #define XML_SAX2_MAGIC
    #define XML_SKIP_IDS
    Enum xmlParserInputState
    +
    Structure xmlParserNodeInfo
    struct _xmlParserNodeInfo +
    Typedef xmlParserNodeInfo * xmlParserNodeInfoPtr
    +
    Structure xmlParserNodeInfoSeq
    struct _xmlParserNodeInfoSeq +
    Typedef xmlParserNodeInfoSeq * xmlParserNodeInfoSeqPtr
    +
    Enum xmlParserOption
    +
    Structure xmlSAXHandlerV1
    struct _xmlSAXHandlerV1 +
    Typedef xmlSAXHandlerV1 * xmlSAXHandlerV1Ptr
    +
    Function type: attributeDeclSAXFunc
    +void	attributeDeclSAXFunc		(void * ctx, 
    const xmlChar * elem,
    const xmlChar * fullname,
    int type,
    int def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree) +
    +
    Function type: attributeSAXFunc
    +void	attributeSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * value) +
    +
    Function type: cdataBlockSAXFunc
    +void	cdataBlockSAXFunc		(void * ctx, 
    const xmlChar * value,
    int len) +
    +
    Function type: charactersSAXFunc
    +void	charactersSAXFunc		(void * ctx, 
    const xmlChar * ch,
    int len) +
    +
    Function type: commentSAXFunc
    +void	commentSAXFunc			(void * ctx, 
    const xmlChar * value) +
    +
    Function type: elementDeclSAXFunc
    +void	elementDeclSAXFunc		(void * ctx, 
    const xmlChar * name,
    int type,
    xmlElementContentPtr content) +
    +
    Function type: endDocumentSAXFunc
    +void	endDocumentSAXFunc		(void * ctx)
    +
    +
    Function type: endElementNsSAX2Func
    +void	endElementNsSAX2Func		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI) +
    +
    Function type: endElementSAXFunc
    +void	endElementSAXFunc		(void * ctx, 
    const xmlChar * name) +
    +
    Function type: entityDeclSAXFunc
    +void	entityDeclSAXFunc		(void * ctx, 
    const xmlChar * name,
    int type,
    const xmlChar * publicId,
    const xmlChar * systemId,
    xmlChar * content) +
    +
    Function type: errorSAXFunc
    +void	errorSAXFunc			(void * ctx, 
    const char * msg,
    ... ...) +
    +
    Function type: externalSubsetSAXFunc
    +void	externalSubsetSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID) +
    +
    Function type: fatalErrorSAXFunc
    +void	fatalErrorSAXFunc		(void * ctx, 
    const char * msg,
    ... ...) +
    +
    Function type: getEntitySAXFunc
    +xmlEntityPtr	getEntitySAXFunc	(void * ctx, 
    const xmlChar * name) +
    +
    Function type: getParameterEntitySAXFunc
    +xmlEntityPtr	getParameterEntitySAXFunc	(void * ctx, 
    const xmlChar * name) +
    +
    Function type: hasExternalSubsetSAXFunc
    +int	hasExternalSubsetSAXFunc	(void * ctx)
    +
    +
    Function type: hasInternalSubsetSAXFunc
    +int	hasInternalSubsetSAXFunc	(void * ctx)
    +
    +
    Function type: ignorableWhitespaceSAXFunc
    +void	ignorableWhitespaceSAXFunc	(void * ctx, 
    const xmlChar * ch,
    int len) +
    +
    Function type: internalSubsetSAXFunc
    +void	internalSubsetSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID) +
    +
    Function type: isStandaloneSAXFunc
    +int	isStandaloneSAXFunc		(void * ctx)
    +
    +
    Function type: notationDeclSAXFunc
    +void	notationDeclSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId) +
    +
    Function type: processingInstructionSAXFunc
    +void	processingInstructionSAXFunc	(void * ctx, 
    const xmlChar * target,
    const xmlChar * data) +
    +
    Function type: referenceSAXFunc
    +void	referenceSAXFunc		(void * ctx, 
    const xmlChar * name) +
    +
    Function type: resolveEntitySAXFunc
    +xmlParserInputPtr	resolveEntitySAXFunc	(void * ctx, 
    const xmlChar * publicId,
    const xmlChar * systemId) +
    +
    Function type: setDocumentLocatorSAXFunc
    +void	setDocumentLocatorSAXFunc	(void * ctx, 
    xmlSAXLocatorPtr loc) +
    +
    Function type: startDocumentSAXFunc
    +void	startDocumentSAXFunc		(void * ctx)
    +
    +
    Function type: startElementNsSAX2Func
    +void	startElementNsSAX2Func		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI,
    int nb_namespaces,
    const xmlChar ** namespaces,
    int nb_attributes,
    int nb_defaulted,
    const xmlChar ** attributes) +
    +
    Function type: startElementSAXFunc
    +void	startElementSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar ** atts) +
    +
    Function type: unparsedEntityDeclSAXFunc
    +void	unparsedEntityDeclSAXFunc	(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId,
    const xmlChar * notationName) +
    +
    Function type: warningSAXFunc
    +void	warningSAXFunc			(void * ctx, 
    const char * msg,
    ... ...) +
    +
    long	xmlByteConsumed			(xmlParserCtxtPtr ctxt)
    +
    void	xmlCleanupParser		(void)
    +
    void	xmlClearNodeInfoSeq		(xmlParserNodeInfoSeqPtr seq)
    +
    void	xmlClearParserCtxt		(xmlParserCtxtPtr ctxt)
    +
    xmlParserCtxtPtr	xmlCreateDocParserCtxt	(const xmlChar * cur)
    +
    xmlParserCtxtPtr	xmlCreateIOParserCtxt	(xmlSAXHandlerPtr sax, 
    void * user_data,
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    xmlCharEncoding enc)
    +
    xmlParserCtxtPtr	xmlCreatePushParserCtxt	(xmlSAXHandlerPtr sax, 
    void * user_data,
    const char * chunk,
    int size,
    const char * filename)
    +
    xmlDocPtr	xmlCtxtReadDoc		(xmlParserCtxtPtr ctxt, 
    const xmlChar * cur,
    const char * URL,
    const char * encoding,
    int options)
    +
    xmlDocPtr	xmlCtxtReadFd		(xmlParserCtxtPtr ctxt, 
    int fd,
    const char * URL,
    const char * encoding,
    int options)
    +
    xmlDocPtr	xmlCtxtReadFile		(xmlParserCtxtPtr ctxt, 
    const char * filename,
    const char * encoding,
    int options)
    +
    xmlDocPtr	xmlCtxtReadIO		(xmlParserCtxtPtr ctxt, 
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    +
    xmlDocPtr	xmlCtxtReadMemory	(xmlParserCtxtPtr ctxt, 
    const char * buffer,
    int size,
    const char * URL,
    const char * encoding,
    int options)
    +
    void	xmlCtxtReset			(xmlParserCtxtPtr ctxt)
    +
    int	xmlCtxtResetPush		(xmlParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    const char * filename,
    const char * encoding)
    +
    int	xmlCtxtUseOptions		(xmlParserCtxtPtr ctxt, 
    int options)
    +
    Function type: xmlExternalEntityLoader
    +xmlParserInputPtr	xmlExternalEntityLoader	(const char * URL, 
    const char * ID,
    xmlParserCtxtPtr context) +
    +
    void	xmlFreeParserCtxt		(xmlParserCtxtPtr ctxt)
    +
    xmlExternalEntityLoader	xmlGetExternalEntityLoader	(void)
    +
    int	xmlGetFeature			(xmlParserCtxtPtr ctxt, 
    const char * name,
    void * result)
    +
    int	xmlGetFeaturesList		(int * len, 
    const char ** result)
    +
    xmlDtdPtr	xmlIOParseDTD		(xmlSAXHandlerPtr sax, 
    xmlParserInputBufferPtr input,
    xmlCharEncoding enc)
    +
    void	xmlInitNodeInfoSeq		(xmlParserNodeInfoSeqPtr seq)
    +
    void	xmlInitParser			(void)
    +
    int	xmlInitParserCtxt		(xmlParserCtxtPtr ctxt)
    +
    int	xmlKeepBlanksDefault		(int val)
    +
    int	xmlLineNumbersDefault		(int val)
    +
    xmlParserInputPtr	xmlLoadExternalEntity	(const char * URL, 
    const char * ID,
    xmlParserCtxtPtr ctxt)
    +
    xmlParserInputPtr	xmlNewIOInputStream	(xmlParserCtxtPtr ctxt, 
    xmlParserInputBufferPtr input,
    xmlCharEncoding enc)
    +
    xmlParserCtxtPtr	xmlNewParserCtxt	(void)
    +
    int	xmlParseBalancedChunkMemory	(xmlDocPtr doc, 
    xmlSAXHandlerPtr sax,
    void * user_data,
    int depth,
    const xmlChar * string,
    xmlNodePtr * lst)
    +
    int	xmlParseBalancedChunkMemoryRecover	(xmlDocPtr doc, 
    xmlSAXHandlerPtr sax,
    void * user_data,
    int depth,
    const xmlChar * string,
    xmlNodePtr * lst,
    int recover)
    +
    int	xmlParseChunk			(xmlParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    int terminate)
    +
    int	xmlParseCtxtExternalEntity	(xmlParserCtxtPtr ctx, 
    const xmlChar * URL,
    const xmlChar * ID,
    xmlNodePtr * lst)
    +
    xmlDtdPtr	xmlParseDTD		(const xmlChar * ExternalID, 
    const xmlChar * SystemID)
    +
    xmlDocPtr	xmlParseDoc		(xmlChar * cur)
    +
    int	xmlParseDocument		(xmlParserCtxtPtr ctxt)
    +
    xmlDocPtr	xmlParseEntity		(const char * filename)
    +
    int	xmlParseExtParsedEnt		(xmlParserCtxtPtr ctxt)
    +
    int	xmlParseExternalEntity		(xmlDocPtr doc, 
    xmlSAXHandlerPtr sax,
    void * user_data,
    int depth,
    const xmlChar * URL,
    const xmlChar * ID,
    xmlNodePtr * lst)
    +
    xmlDocPtr	xmlParseFile		(const char * filename)
    +
    xmlDocPtr	xmlParseMemory		(const char * buffer, 
    int size)
    +
    void	xmlParserAddNodeInfo		(xmlParserCtxtPtr ctxt, 
    const xmlParserNodeInfoPtr info)
    +
    const xmlParserNodeInfo *	xmlParserFindNodeInfo	(const xmlParserCtxtPtr ctx, 
    const xmlNodePtr node)
    +
    unsigned long	xmlParserFindNodeInfoIndex	(const xmlParserNodeInfoSeqPtr seq, 
    const xmlNodePtr node)
    +
    Function type: xmlParserInputDeallocate
    +void	xmlParserInputDeallocate	(xmlChar * str)
    +
    +
    int	xmlParserInputGrow		(xmlParserInputPtr in, 
    int len)
    +
    int	xmlParserInputRead		(xmlParserInputPtr in, 
    int len)
    +
    int	xmlPedanticParserDefault	(int val)
    +
    xmlDocPtr	xmlReadDoc		(const xmlChar * cur, 
    const char * URL,
    const char * encoding,
    int options)
    +
    xmlDocPtr	xmlReadFd		(int fd, 
    const char * URL,
    const char * encoding,
    int options)
    +
    xmlDocPtr	xmlReadFile		(const char * filename, 
    const char * encoding,
    int options)
    +
    xmlDocPtr	xmlReadIO		(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    +
    xmlDocPtr	xmlReadMemory		(const char * buffer, 
    int size,
    const char * URL,
    const char * encoding,
    int options)
    +
    xmlDocPtr	xmlRecoverDoc		(xmlChar * cur)
    +
    xmlDocPtr	xmlRecoverFile		(const char * filename)
    +
    xmlDocPtr	xmlRecoverMemory	(const char * buffer, 
    int size)
    +
    xmlDtdPtr	xmlSAXParseDTD		(xmlSAXHandlerPtr sax, 
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +
    xmlDocPtr	xmlSAXParseDoc		(xmlSAXHandlerPtr sax, 
    xmlChar * cur,
    int recovery)
    +
    xmlDocPtr	xmlSAXParseEntity	(xmlSAXHandlerPtr sax, 
    const char * filename)
    +
    xmlDocPtr	xmlSAXParseFile		(xmlSAXHandlerPtr sax, 
    const char * filename,
    int recovery)
    +
    xmlDocPtr	xmlSAXParseFileWithData	(xmlSAXHandlerPtr sax, 
    const char * filename,
    int recovery,
    void * data)
    +
    xmlDocPtr	xmlSAXParseMemory	(xmlSAXHandlerPtr sax, 
    const char * buffer,
    int size,
    int recovery)
    +
    xmlDocPtr	xmlSAXParseMemoryWithData	(xmlSAXHandlerPtr sax, 
    const char * buffer,
    int size,
    int recovery,
    void * data)
    +
    int	xmlSAXUserParseFile		(xmlSAXHandlerPtr sax, 
    void * user_data,
    const char * filename)
    +
    int	xmlSAXUserParseMemory		(xmlSAXHandlerPtr sax, 
    void * user_data,
    const char * buffer,
    int size)
    +
    void	xmlSetExternalEntityLoader	(xmlExternalEntityLoader f)
    +
    int	xmlSetFeature			(xmlParserCtxtPtr ctxt, 
    const char * name,
    void * value)
    +
    void	xmlSetupParserForBuffer		(xmlParserCtxtPtr ctxt, 
    const xmlChar * buffer,
    const char * filename)
    +
    void	xmlStopParser			(xmlParserCtxtPtr ctxt)
    +
    int	xmlSubstituteEntitiesDefault	(int val)
    +

    Description

    +

    Macro: XML_COMPLETE_ATTRS

    #define XML_COMPLETE_ATTRS

    Bit in the loadsubset context field to tell to do complete the elements attributes lists with the ones defaulted from the DTDs. Use it to initialize xmlLoadExtDtdDefaultValue.

    +

    Macro: XML_DEFAULT_VERSION

    #define XML_DEFAULT_VERSION

    The default version of XML used: 1.0

    +

    Macro: XML_DETECT_IDS

    #define XML_DETECT_IDS

    Bit in the loadsubset context field to tell to do ID/REFs lookups. Use it to initialize xmlLoadExtDtdDefaultValue.

    +

    Macro: XML_SAX2_MAGIC

    #define XML_SAX2_MAGIC

    Special constant found in SAX2 blocks initialized fields

    +

    Macro: XML_SKIP_IDS

    #define XML_SKIP_IDS

    Bit in the loadsubset context field to tell to not do ID/REFs registration. Used to initialize xmlLoadExtDtdDefaultValue in some special cases.

    +

    Enum xmlParserInputState

    Enum xmlParserInputState {
    +    XML_PARSER_EOF = -1 : nothing is to be parsed
    +    XML_PARSER_START = 0 : nothing has been parsed
    +    XML_PARSER_MISC = 1 : Misc* before int subset
    +    XML_PARSER_PI = 2 : Within a processing instruction
    +    XML_PARSER_DTD = 3 : within some DTD content
    +    XML_PARSER_PROLOG = 4 : Misc* after internal subset
    +    XML_PARSER_COMMENT = 5 : within a comment
    +    XML_PARSER_START_TAG = 6 : within a start tag
    +    XML_PARSER_CONTENT = 7 : within the content
    +    XML_PARSER_CDATA_SECTION = 8 : within a CDATA section
    +    XML_PARSER_END_TAG = 9 : within a closing tag
    +    XML_PARSER_ENTITY_DECL = 10 : within an entity declaration
    +    XML_PARSER_ENTITY_VALUE = 11 : within an entity value in a decl
    +    XML_PARSER_ATTRIBUTE_VALUE = 12 : within an attribute value
    +    XML_PARSER_SYSTEM_LITERAL = 13 : within a SYSTEM value
    +    XML_PARSER_EPILOG = 14 : the Misc* after the last end tag
    +    XML_PARSER_IGNORE = 15 : within an IGNORED section
    +    XML_PARSER_PUBLIC_LITERAL = 16 : within a PUBLIC value
    +}
    +

    Structure xmlParserNodeInfo

    Structure xmlParserNodeInfo
    struct _xmlParserNodeInfo { + const struct _xmlNode * node : Position & line # that text that create + unsigned long begin_pos + unsigned long begin_line + unsigned long end_pos + unsigned long end_line +}

    Structure xmlParserNodeInfoSeq

    Structure xmlParserNodeInfoSeq
    struct _xmlParserNodeInfoSeq { + unsigned long maximum + unsigned long length + xmlParserNodeInfo * buffer +}

    Enum xmlParserOption

    Enum xmlParserOption {
    +    XML_PARSE_RECOVER = 1 : recover on errors
    +    XML_PARSE_NOENT = 2 : substitute entities
    +    XML_PARSE_DTDLOAD = 4 : load the external subset
    +    XML_PARSE_DTDATTR = 8 : default DTD attributes
    +    XML_PARSE_DTDVALID = 16 : validate with the DTD
    +    XML_PARSE_NOERROR = 32 : suppress error reports
    +    XML_PARSE_NOWARNING = 64 : suppress warning reports
    +    XML_PARSE_PEDANTIC = 128 : pedantic error reporting
    +    XML_PARSE_NOBLANKS = 256 : remove blank nodes
    +    XML_PARSE_SAX1 = 512 : use the SAX1 interface internally
    +    XML_PARSE_XINCLUDE = 1024 : Implement XInclude substitition
    +    XML_PARSE_NONET = 2048 : Forbid network access
    +    XML_PARSE_NODICT = 4096 : Do not reuse the context dictionnary
    +    XML_PARSE_NSCLEAN = 8192 : remove redundant namespaces declarations
    +    XML_PARSE_NOCDATA = 16384 : merge CDATA as text nodes
    +}
    +

    Structure xmlSAXHandlerV1

    Structure xmlSAXHandlerV1
    struct _xmlSAXHandlerV1 { + internalSubsetSAXFunc internalSubset + isStandaloneSAXFunc isStandalone + hasInternalSubsetSAXFunc hasInternalSubset + hasExternalSubsetSAXFunc hasExternalSubset + resolveEntitySAXFunc resolveEntity + getEntitySAXFunc getEntity + entityDeclSAXFunc entityDecl + notationDeclSAXFunc notationDecl + attributeDeclSAXFunc attributeDecl + elementDeclSAXFunc elementDecl + unparsedEntityDeclSAXFunc unparsedEntityDecl + setDocumentLocatorSAXFunc setDocumentLocator + startDocumentSAXFunc startDocument + endDocumentSAXFunc endDocument + startElementSAXFunc startElement + endElementSAXFunc endElement + referenceSAXFunc reference + charactersSAXFunc characters + ignorableWhitespaceSAXFunc ignorableWhitespace + processingInstructionSAXFunc processingInstruction + commentSAXFunc comment + warningSAXFunc warning + errorSAXFunc error + fatalErrorSAXFunc fatalError : unused error() get all the errors + getParameterEntitySAXFunc getParameterEntity + cdataBlockSAXFunc cdataBlock + externalSubsetSAXFunc externalSubset + unsigned int initialized +}

    Function type: attributeDeclSAXFunc

    Function type: attributeDeclSAXFunc
    +void	attributeDeclSAXFunc		(void * ctx, 
    const xmlChar * elem,
    const xmlChar * fullname,
    int type,
    int def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree) +

    An attribute definition has been parsed.

    ctx:the user data (XML parser context)
    elem:the name of the element
    fullname:the attribute name
    type:the attribute type
    def:the type of default value
    defaultValue:the attribute default value
    tree:the tree of enumerated value set

    +

    Function type: attributeSAXFunc

    Function type: attributeSAXFunc
    +void	attributeSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * value) +

    Handle an attribute that has been read by the parser. The default handling is to convert the attribute into an DOM subtree and past it in a new xmlAttr element added to the element.

    ctx:the user data (XML parser context)
    name:The attribute name, including namespace prefix
    value:The attribute value

    +

    Function type: cdataBlockSAXFunc

    Function type: cdataBlockSAXFunc
    +void	cdataBlockSAXFunc		(void * ctx, 
    const xmlChar * value,
    int len) +

    Called when a pcdata block has been parsed.

    ctx:the user data (XML parser context)
    value:The pcdata content
    len:the block length

    +

    Function type: charactersSAXFunc

    Function type: charactersSAXFunc
    +void	charactersSAXFunc		(void * ctx, 
    const xmlChar * ch,
    int len) +

    Receiving some chars from the parser.

    ctx:the user data (XML parser context)
    ch:a xmlChar string
    len:the number of xmlChar

    +

    Function type: commentSAXFunc

    Function type: commentSAXFunc
    +void	commentSAXFunc			(void * ctx, 
    const xmlChar * value) +

    A comment has been parsed.

    ctx:the user data (XML parser context)
    value:the comment content

    +

    Function type: elementDeclSAXFunc

    Function type: elementDeclSAXFunc
    +void	elementDeclSAXFunc		(void * ctx, 
    const xmlChar * name,
    int type,
    xmlElementContentPtr content) +

    An element definition has been parsed.

    ctx:the user data (XML parser context)
    name:the element name
    type:the element type
    content:the element value tree

    +

    Function type: endDocumentSAXFunc

    Function type: endDocumentSAXFunc
    +void	endDocumentSAXFunc		(void * ctx)
    +

    Called when the document end has been detected.

    ctx:the user data (XML parser context)

    +

    Function type: endElementNsSAX2Func

    Function type: endElementNsSAX2Func
    +void	endElementNsSAX2Func		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI) +

    SAX2 callback when an element end has been detected by the parser. It provides the namespace informations for the element.

    ctx:the user data (XML parser context)
    localname:the local name of the element
    prefix:the element namespace prefix if available
    URI:the element namespace name if available

    +

    Function type: endElementSAXFunc

    Function type: endElementSAXFunc
    +void	endElementSAXFunc		(void * ctx, 
    const xmlChar * name) +

    Called when the end of an element has been detected.

    ctx:the user data (XML parser context)
    name:The element name

    +

    Function type: entityDeclSAXFunc

    Function type: entityDeclSAXFunc
    +void	entityDeclSAXFunc		(void * ctx, 
    const xmlChar * name,
    int type,
    const xmlChar * publicId,
    const xmlChar * systemId,
    xmlChar * content) +

    An entity definition has been parsed.

    ctx:the user data (XML parser context)
    name:the entity name
    type:the entity type
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    content:the entity value (without processing).

    +

    Function type: errorSAXFunc

    Function type: errorSAXFunc
    +void	errorSAXFunc			(void * ctx, 
    const char * msg,
    ... ...) +

    Display and format an error messages, callback.

    ctx:an XML parser context
    msg:the message to display/transmit
    ...:extra parameters for the message display

    +

    Function type: externalSubsetSAXFunc

    Function type: externalSubsetSAXFunc
    +void	externalSubsetSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID) +

    Callback on external subset declaration.

    ctx:the user data (XML parser context)
    name:the root element name
    ExternalID:the external ID
    SystemID:the SYSTEM ID (e.g. filename or URL)

    +

    Function type: fatalErrorSAXFunc

    Function type: fatalErrorSAXFunc
    +void	fatalErrorSAXFunc		(void * ctx, 
    const char * msg,
    ... ...) +

    Display and format fatal error messages, callback. Note: so far fatalError() SAX callbacks are not used, error() get all the callbacks for errors.

    ctx:an XML parser context
    msg:the message to display/transmit
    ...:extra parameters for the message display

    +

    Function type: getEntitySAXFunc

    Function type: getEntitySAXFunc
    +xmlEntityPtr	getEntitySAXFunc	(void * ctx, 
    const xmlChar * name) +

    Get an entity by name.

    ctx:the user data (XML parser context)
    name:The entity name
    Returns:the xmlEntityPtr if found.

    +

    Function type: getParameterEntitySAXFunc

    Function type: getParameterEntitySAXFunc
    +xmlEntityPtr	getParameterEntitySAXFunc	(void * ctx, 
    const xmlChar * name) +

    Get a parameter entity by name.

    ctx:the user data (XML parser context)
    name:The entity name
    Returns:the xmlEntityPtr if found.

    +

    Function type: hasExternalSubsetSAXFunc

    Function type: hasExternalSubsetSAXFunc
    +int	hasExternalSubsetSAXFunc	(void * ctx)
    +

    Does this document has an external subset?

    ctx:the user data (XML parser context)
    Returns:1 if true

    +

    Function type: hasInternalSubsetSAXFunc

    Function type: hasInternalSubsetSAXFunc
    +int	hasInternalSubsetSAXFunc	(void * ctx)
    +

    Does this document has an internal subset.

    ctx:the user data (XML parser context)
    Returns:1 if true

    +

    Function type: ignorableWhitespaceSAXFunc

    Function type: ignorableWhitespaceSAXFunc
    +void	ignorableWhitespaceSAXFunc	(void * ctx, 
    const xmlChar * ch,
    int len) +

    Receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use characters.

    ctx:the user data (XML parser context)
    ch:a xmlChar string
    len:the number of xmlChar

    +

    Function type: internalSubsetSAXFunc

    Function type: internalSubsetSAXFunc
    +void	internalSubsetSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID) +

    Callback on internal subset declaration.

    ctx:the user data (XML parser context)
    name:the root element name
    ExternalID:the external ID
    SystemID:the SYSTEM ID (e.g. filename or URL)

    +

    Function type: isStandaloneSAXFunc

    Function type: isStandaloneSAXFunc
    +int	isStandaloneSAXFunc		(void * ctx)
    +

    Is this document tagged standalone?

    ctx:the user data (XML parser context)
    Returns:1 if true

    +

    Function type: notationDeclSAXFunc

    Function type: notationDeclSAXFunc
    +void	notationDeclSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId) +

    What to do when a notation declaration has been parsed.

    ctx:the user data (XML parser context)
    name:The name of the notation
    publicId:The public ID of the entity
    systemId:The system ID of the entity

    +

    Function type: processingInstructionSAXFunc

    Function type: processingInstructionSAXFunc
    +void	processingInstructionSAXFunc	(void * ctx, 
    const xmlChar * target,
    const xmlChar * data) +

    A processing instruction has been parsed.

    ctx:the user data (XML parser context)
    target:the target name
    data:the PI data's

    +

    Function type: referenceSAXFunc

    Function type: referenceSAXFunc
    +void	referenceSAXFunc		(void * ctx, 
    const xmlChar * name) +

    Called when an entity reference is detected.

    ctx:the user data (XML parser context)
    name:The entity name

    +

    Function type: resolveEntitySAXFunc

    Function type: resolveEntitySAXFunc
    +xmlParserInputPtr	resolveEntitySAXFunc	(void * ctx, 
    const xmlChar * publicId,
    const xmlChar * systemId) +

    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

    ctx:the user data (XML parser context)
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    Returns:the xmlParserInputPtr if inlined or NULL for DOM behaviour.

    +

    Function type: setDocumentLocatorSAXFunc

    Function type: setDocumentLocatorSAXFunc
    +void	setDocumentLocatorSAXFunc	(void * ctx, 
    xmlSAXLocatorPtr loc) +

    Receive the document locator at startup, actually xmlDefaultSAXLocator. Everything is available on the context, so this is useless in our case.

    ctx:the user data (XML parser context)
    loc:A SAX Locator

    +

    Function type: startDocumentSAXFunc

    Function type: startDocumentSAXFunc
    +void	startDocumentSAXFunc		(void * ctx)
    +

    Called when the document start being processed.

    ctx:the user data (XML parser context)

    +

    Function type: startElementNsSAX2Func

    Function type: startElementNsSAX2Func
    +void	startElementNsSAX2Func		(void * ctx, 
    const xmlChar * localname,
    const xmlChar * prefix,
    const xmlChar * URI,
    int nb_namespaces,
    const xmlChar ** namespaces,
    int nb_attributes,
    int nb_defaulted,
    const xmlChar ** attributes) +

    SAX2 callback when an element start has been detected by the parser. It provides the namespace informations for the element, as well as the new namespace declarations on the element.

    ctx:the user data (XML parser context)
    localname:the local name of the element
    prefix:the element namespace prefix if available
    URI:the element namespace name if available
    nb_namespaces:number of namespace definitions on that node
    namespaces:pointer to the array of prefix/URI pairs namespace definitions
    nb_attributes:the number of attributes on that node
    nb_defaulted:the number of defaulted attributes. The defaulted ones are at the end of the array
    attributes:pointer to the array of (localname/prefix/URI/value/end) attribute values.

    +

    Function type: startElementSAXFunc

    Function type: startElementSAXFunc
    +void	startElementSAXFunc		(void * ctx, 
    const xmlChar * name,
    const xmlChar ** atts) +

    Called when an opening tag has been processed.

    ctx:the user data (XML parser context)
    name:The element name, including namespace prefix
    atts:An array of name/value attributes pairs, NULL terminated

    +

    Function type: unparsedEntityDeclSAXFunc

    Function type: unparsedEntityDeclSAXFunc
    +void	unparsedEntityDeclSAXFunc	(void * ctx, 
    const xmlChar * name,
    const xmlChar * publicId,
    const xmlChar * systemId,
    const xmlChar * notationName) +

    What to do when an unparsed entity declaration is parsed.

    ctx:the user data (XML parser context)
    name:The name of the entity
    publicId:The public ID of the entity
    systemId:The system ID of the entity
    notationName:the name of the notation

    +

    Function type: warningSAXFunc

    Function type: warningSAXFunc
    +void	warningSAXFunc			(void * ctx, 
    const char * msg,
    ... ...) +

    Display and format a warning messages, callback.

    ctx:an XML parser context
    msg:the message to display/transmit
    ...:extra parameters for the message display

    +

    Function: xmlByteConsumed

    long	xmlByteConsumed			(xmlParserCtxtPtr ctxt)
    +

    This function provides the current index of the parser relative to the start of the current entity. This function is computed in bytes from the beginning starting at zero and finishing at the size in byte of the file if parsing a file. The function is of constant cost if the input is UTF-8 but can be costly if run on non-UTF-8 input.

    +
    ctxt:an XML parser context
    Returns:the index in bytes from the beginning of the entity or -1 in case the index could not be computed.

    Function: xmlCleanupParser

    void	xmlCleanupParser		(void)
    +

    Cleanup function for the XML library. It tries to reclaim all parsing related global memory allocated for the library processing. It doesn't deallocate any document related memory. Calling this function should not prevent reusing the library but one should call xmlCleanupParser() only when the process has finished using the library or XML document built with it.

    +

    Function: xmlClearNodeInfoSeq

    void	xmlClearNodeInfoSeq		(xmlParserNodeInfoSeqPtr seq)
    +

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

    +
    seq:a node info sequence pointer

    Function: xmlClearParserCtxt

    void	xmlClearParserCtxt		(xmlParserCtxtPtr ctxt)
    +

    Clear (release owned resources) and reinitialize a parser context

    +
    ctxt:an XML parser context

    Function: xmlCreateDocParserCtxt

    xmlParserCtxtPtr	xmlCreateDocParserCtxt	(const xmlChar * cur)
    +

    Creates a parser context for an XML in-memory document.

    +
    cur:a pointer to an array of xmlChar
    Returns:the new parser context or NULL

    Function: xmlCreateIOParserCtxt

    xmlParserCtxtPtr	xmlCreateIOParserCtxt	(xmlSAXHandlerPtr sax, 
    void * user_data,
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    xmlCharEncoding enc)
    +

    Create a parser context for using the XML parser with an existing I/O stream

    +
    sax:a SAX handler
    user_data:The user data returned on SAX callbacks
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    enc:the charset encoding if known
    Returns:the new parser context or NULL

    Function: xmlCreatePushParserCtxt

    xmlParserCtxtPtr	xmlCreatePushParserCtxt	(xmlSAXHandlerPtr sax, 
    void * user_data,
    const char * chunk,
    int size,
    const char * filename)
    +

    Create a parser context for using the XML parser in push mode. If @buffer and @size are non-NULL, the data is used to detect the encoding. The remaining characters will be parsed so they don't need to be fed in again through xmlParseChunk. To allow content encoding detection, @size should be >= 4 The value of @filename is used for fetching external entities and error/warning reports.

    +
    sax:a SAX handler
    user_data:The user data returned on SAX callbacks
    chunk:a pointer to an array of chars
    size:number of chars in the array
    filename:an optional file name or URI
    Returns:the new parser context or NULL

    Function: xmlCtxtReadDoc

    xmlDocPtr	xmlCtxtReadDoc		(xmlParserCtxtPtr ctxt, 
    const xmlChar * cur,
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context

    +
    ctxt:an XML parser context
    cur:a pointer to a zero terminated string
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlCtxtReadFd

    xmlDocPtr	xmlCtxtReadFd		(xmlParserCtxtPtr ctxt, 
    int fd,
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context NOTE that the file descriptor will not be closed when the reader is closed or reset.

    +
    ctxt:an XML parser context
    fd:an open file descriptor
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlCtxtReadFile

    xmlDocPtr	xmlCtxtReadFile		(xmlParserCtxtPtr ctxt, 
    const char * filename,
    const char * encoding,
    int options)
    +

    parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context

    +
    ctxt:an XML parser context
    filename:a file or URL
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlCtxtReadIO

    xmlDocPtr	xmlCtxtReadIO		(xmlParserCtxtPtr ctxt, 
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an XML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context

    +
    ctxt:an XML parser context
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlCtxtReadMemory

    xmlDocPtr	xmlCtxtReadMemory	(xmlParserCtxtPtr ctxt, 
    const char * buffer,
    int size,
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context

    +
    ctxt:an XML parser context
    buffer:a pointer to a char array
    size:the size of the array
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlCtxtReset

    void	xmlCtxtReset			(xmlParserCtxtPtr ctxt)
    +

    Reset a parser context

    +
    ctxt:an XML parser context

    Function: xmlCtxtResetPush

    int	xmlCtxtResetPush		(xmlParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    const char * filename,
    const char * encoding)
    +

    Reset a push parser context

    +
    ctxt:an XML parser context
    chunk:a pointer to an array of chars
    size:number of chars in the array
    filename:an optional file name or URI
    encoding:the document encoding, or NULL
    Returns:0 in case of success and 1 in case of error

    Function: xmlCtxtUseOptions

    int	xmlCtxtUseOptions		(xmlParserCtxtPtr ctxt, 
    int options)
    +

    Applies the options to the parser context

    +
    ctxt:an XML parser context
    options:a combination of xmlParserOption
    Returns:0 in case of success, the set of unknown or unimplemented options in case of error.

    Function type: xmlExternalEntityLoader

    Function type: xmlExternalEntityLoader
    +xmlParserInputPtr	xmlExternalEntityLoader	(const char * URL, 
    const char * ID,
    xmlParserCtxtPtr context) +

    External entity loaders types.

    URL:The System ID of the resource requested
    ID:The Public ID of the resource requested
    context:the XML parser context
    Returns:the entity input parser.

    +

    Function: xmlFreeParserCtxt

    void	xmlFreeParserCtxt		(xmlParserCtxtPtr ctxt)
    +

    Free all the memory used by a parser context. However the parsed document in ctxt->myDoc is not freed.

    +
    ctxt:an XML parser context

    Function: xmlGetExternalEntityLoader

    xmlExternalEntityLoader	xmlGetExternalEntityLoader	(void)
    +

    Get the default external entity resolver function for the application

    +
    Returns:the xmlExternalEntityLoader function pointer

    Function: xmlGetFeature

    int	xmlGetFeature			(xmlParserCtxtPtr ctxt, 
    const char * name,
    void * result)
    +

    Read the current value of one feature of this parser instance

    +
    ctxt:an XML/HTML parser context
    name:the feature name
    result:location to store the result
    Returns:-1 in case or error, 0 otherwise

    Function: xmlGetFeaturesList

    int	xmlGetFeaturesList		(int * len, 
    const char ** result)
    +

    Copy at most *@len feature names into the @result array

    +
    len:the length of the features name array (input/output)
    result:an array of string to be filled with the features name.
    Returns:-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

    Function: xmlIOParseDTD

    xmlDtdPtr	xmlIOParseDTD		(xmlSAXHandlerPtr sax, 
    xmlParserInputBufferPtr input,
    xmlCharEncoding enc)
    +

    Load and parse a DTD

    +
    sax:the SAX handler block or NULL
    input:an Input Buffer
    enc:the charset encoding if known
    Returns:the resulting xmlDtdPtr or NULL in case of error. @input will be freed at parsing end.

    Function: xmlInitNodeInfoSeq

    void	xmlInitNodeInfoSeq		(xmlParserNodeInfoSeqPtr seq)
    +

    -- Initialize (set to initial state) node info sequence

    +
    seq:a node info sequence pointer

    Function: xmlInitParser

    void	xmlInitParser			(void)
    +

    Initialization function for the XML parser. This is not reentrant. Call once before processing in case of use in multithreaded programs.

    +

    Function: xmlInitParserCtxt

    int	xmlInitParserCtxt		(xmlParserCtxtPtr ctxt)
    +

    Initialize a parser context

    +
    ctxt:an XML parser context
    Returns:0 in case of success and -1 in case of error

    Function: xmlKeepBlanksDefault

    int	xmlKeepBlanksDefault		(int val)
    +

    Set and return the previous value for default blanks text nodes support. The 1.x version of the parser used an heuristic to try to detect ignorable white spaces. As a result the SAX callback was generating xmlSAX2IgnorableWhitespace() callbacks instead of characters() one, and when using the DOM output text nodes containing those blanks were not generated. The 2.x and later version will switch to the XML standard way and ignorableWhitespace() are only generated when running the parser in validating mode and when the current element doesn't allow CDATA or mixed content. This function is provided as a way to force the standard behavior on 1.X libs and to switch back to the old mode for compatibility when running 1.X client code on 2.X . Upgrade of 1.X code should be done by using xmlIsBlankNode() commodity function to detect the "empty" nodes generated. This value also affect autogeneration of indentation when saving code if blanks sections are kept, indentation is not generated.

    +
    val:int 0 or 1
    Returns:the last value for 0 for no substitution, 1 for substitution.

    Function: xmlLineNumbersDefault

    int	xmlLineNumbersDefault		(int val)
    +

    Set and return the previous value for enabling line numbers in elements contents. This may break on old application and is turned off by default.

    +
    val:int 0 or 1
    Returns:the last value for 0 for no substitution, 1 for substitution.

    Function: xmlLoadExternalEntity

    xmlParserInputPtr	xmlLoadExternalEntity	(const char * URL, 
    const char * ID,
    xmlParserCtxtPtr ctxt)
    +

    Load an external entity, note that the use of this function for unparsed entities may generate problems TODO: a more generic External entity API must be designed

    +
    URL:the URL for the entity to load
    ID:the Public ID for the entity to load
    ctxt:the context in which the entity is called or NULL
    Returns:the xmlParserInputPtr or NULL

    Function: xmlNewIOInputStream

    xmlParserInputPtr	xmlNewIOInputStream	(xmlParserCtxtPtr ctxt, 
    xmlParserInputBufferPtr input,
    xmlCharEncoding enc)
    +

    Create a new input stream structure encapsulating the @input into a stream suitable for the parser.

    +
    ctxt:an XML parser context
    input:an I/O Input
    enc:the charset encoding if known
    Returns:the new input stream or NULL

    Function: xmlNewParserCtxt

    xmlParserCtxtPtr	xmlNewParserCtxt	(void)
    +

    Allocate and initialize a new parser context.

    +
    Returns:the xmlParserCtxtPtr or NULL

    Function: xmlParseBalancedChunkMemory

    int	xmlParseBalancedChunkMemory	(xmlDocPtr doc, 
    xmlSAXHandlerPtr sax,
    void * user_data,
    int depth,
    const xmlChar * string,
    xmlNodePtr * lst)
    +

    Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*

    +
    doc:the document the chunk pertains to
    sax:the SAX handler bloc (possibly NULL)
    user_data:The user data returned on SAX callbacks (possibly NULL)
    depth:Used for loop detection, use 0
    string:the input string in UTF8 or ISO-Latin (zero terminated)
    lst:the return value for the set of parsed nodes
    Returns:0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise

    Function: xmlParseBalancedChunkMemoryRecover

    int	xmlParseBalancedChunkMemoryRecover	(xmlDocPtr doc, 
    xmlSAXHandlerPtr sax,
    void * user_data,
    int depth,
    const xmlChar * string,
    xmlNodePtr * lst,
    int recover)
    +

    Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*

    +
    doc:the document the chunk pertains to
    sax:the SAX handler bloc (possibly NULL)
    user_data:The user data returned on SAX callbacks (possibly NULL)
    depth:Used for loop detection, use 0
    string:the input string in UTF8 or ISO-Latin (zero terminated)
    lst:the return value for the set of parsed nodes
    recover:return nodes even if the data is broken (use 0)
    Returns:0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise In case recover is set to 1, the nodelist will not be empty even if the parsed chunk is not well balanced.

    Function: xmlParseChunk

    int	xmlParseChunk			(xmlParserCtxtPtr ctxt, 
    const char * chunk,
    int size,
    int terminate)
    +

    Parse a Chunk of memory

    +
    ctxt:an XML parser context
    chunk:an char array
    size:the size in byte of the chunk
    terminate:last chunk indicator
    Returns:zero if no error, the xmlParserErrors otherwise.

    Function: xmlParseCtxtExternalEntity

    int	xmlParseCtxtExternalEntity	(xmlParserCtxtPtr ctx, 
    const xmlChar * URL,
    const xmlChar * ID,
    xmlNodePtr * lst)
    +

    Parse an external general entity within an existing parsing context An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content

    +
    ctx:the existing parsing context
    URL:the URL for the entity to load
    ID:the System ID for the entity to load
    lst:the return value for the set of parsed nodes
    Returns:0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise

    Function: xmlParseDTD

    xmlDtdPtr	xmlParseDTD		(const xmlChar * ExternalID, 
    const xmlChar * SystemID)
    +

    Load and parse an external subset.

    +
    ExternalID:a NAME* containing the External ID of the DTD
    SystemID:a NAME* containing the URL to the DTD
    Returns:the resulting xmlDtdPtr or NULL in case of error.

    Function: xmlParseDoc

    xmlDocPtr	xmlParseDoc		(xmlChar * cur)
    +

    parse an XML in-memory document and build a tree.

    +
    cur:a pointer to an array of xmlChar
    Returns:the resulting document tree

    Function: xmlParseDocument

    int	xmlParseDocument		(xmlParserCtxtPtr ctxt)
    +

    parse an XML document (and build a tree if using the standard SAX interface). [1] document ::= prolog element Misc* [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?

    +
    ctxt:an XML parser context
    Returns:0, -1 in case of error. the parser context is augmented as a result of the parsing.

    Function: xmlParseEntity

    xmlDocPtr	xmlParseEntity		(const char * filename)
    +

    parse an XML external entity out of context and build a tree. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk

    +
    filename:the filename
    Returns:the resulting document tree

    Function: xmlParseExtParsedEnt

    int	xmlParseExtParsedEnt		(xmlParserCtxtPtr ctxt)
    +

    parse a general parsed entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content

    +
    ctxt:an XML parser context
    Returns:0, -1 in case of error. the parser context is augmented as a result of the parsing.

    Function: xmlParseExternalEntity

    int	xmlParseExternalEntity		(xmlDocPtr doc, 
    xmlSAXHandlerPtr sax,
    void * user_data,
    int depth,
    const xmlChar * URL,
    const xmlChar * ID,
    xmlNodePtr * lst)
    +

    Parse an external general entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content

    +
    doc:the document the chunk pertains to
    sax:the SAX handler bloc (possibly NULL)
    user_data:The user data returned on SAX callbacks (possibly NULL)
    depth:Used for loop detection, use 0
    URL:the URL for the entity to load
    ID:the System ID for the entity to load
    lst:the return value for the set of parsed nodes
    Returns:0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise

    Function: xmlParseFile

    xmlDocPtr	xmlParseFile		(const char * filename)
    +

    parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

    +
    filename:the filename
    Returns:the resulting document tree if the file was wellformed, NULL otherwise.

    Function: xmlParseMemory

    xmlDocPtr	xmlParseMemory		(const char * buffer, 
    int size)
    +

    parse an XML in-memory block and build a tree.

    +
    buffer:an pointer to a char array
    size:the size of the array
    Returns:the resulting document tree

    Function: xmlParserAddNodeInfo

    void	xmlParserAddNodeInfo		(xmlParserCtxtPtr ctxt, 
    const xmlParserNodeInfoPtr info)
    +

    Insert node info record into the sorted sequence

    +
    ctxt:an XML parser context
    info:a node info sequence pointer

    Function: xmlParserFindNodeInfo

    const xmlParserNodeInfo *	xmlParserFindNodeInfo	(const xmlParserCtxtPtr ctx, 
    const xmlNodePtr node)
    +

    Find the parser node info struct for a given node

    +
    ctx:an XML parser context
    node:an XML node within the tree
    Returns:an xmlParserNodeInfo block pointer or NULL

    Function: xmlParserFindNodeInfoIndex

    unsigned long	xmlParserFindNodeInfoIndex	(const xmlParserNodeInfoSeqPtr seq, 
    const xmlNodePtr node)
    +

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

    +
    seq:a node info sequence pointer
    node:an XML node pointer
    Returns:a long indicating the position of the record

    Function type: xmlParserInputDeallocate

    Function type: xmlParserInputDeallocate
    +void	xmlParserInputDeallocate	(xmlChar * str)
    +

    Callback for freeing some parser input allocations.

    str:the string to deallocate

    +

    Function: xmlParserInputGrow

    int	xmlParserInputGrow		(xmlParserInputPtr in, 
    int len)
    +

    This function increase the input for the parser. It tries to preserve pointers to the input buffer, and keep already read data

    +
    in:an XML parser input
    len:an indicative size for the lookahead
    Returns:the number of xmlChars read, or -1 in case of error, 0 indicate the end of this entity

    Function: xmlParserInputRead

    int	xmlParserInputRead		(xmlParserInputPtr in, 
    int len)
    +

    This function refresh the input for the parser. It doesn't try to preserve pointers to the input buffer, and discard already read data

    +
    in:an XML parser input
    len:an indicative size for the lookahead
    Returns:the number of xmlChars read, or -1 in case of error, 0 indicate the end of this entity

    Function: xmlPedanticParserDefault

    int	xmlPedanticParserDefault	(int val)
    +

    Set and return the previous value for enabling pedantic warnings.

    +
    val:int 0 or 1
    Returns:the last value for 0 for no substitution, 1 for substitution.

    Function: xmlReadDoc

    xmlDocPtr	xmlReadDoc		(const xmlChar * cur, 
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an XML in-memory document and build a tree.

    +
    cur:a pointer to a zero terminated string
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlReadFd

    xmlDocPtr	xmlReadFd		(int fd, 
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an XML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed when the reader is closed or reset.

    +
    fd:an open file descriptor
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlReadFile

    xmlDocPtr	xmlReadFile		(const char * filename, 
    const char * encoding,
    int options)
    +

    parse an XML file from the filesystem or the network.

    +
    filename:a file or URL
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlReadIO

    xmlDocPtr	xmlReadIO		(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an XML document from I/O functions and source and build a tree.

    +
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlReadMemory

    xmlDocPtr	xmlReadMemory		(const char * buffer, 
    int size,
    const char * URL,
    const char * encoding,
    int options)
    +

    parse an XML in-memory document and build a tree.

    +
    buffer:a pointer to a char array
    size:the size of the array
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the resulting document tree

    Function: xmlRecoverDoc

    xmlDocPtr	xmlRecoverDoc		(xmlChar * cur)
    +

    parse an XML in-memory document and build a tree. In the case the document is not Well Formed, a tree is built anyway

    +
    cur:a pointer to an array of xmlChar
    Returns:the resulting document tree

    Function: xmlRecoverFile

    xmlDocPtr	xmlRecoverFile		(const char * filename)
    +

    parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. In the case the document is not Well Formed, a tree is built anyway

    +
    filename:the filename
    Returns:the resulting document tree

    Function: xmlRecoverMemory

    xmlDocPtr	xmlRecoverMemory	(const char * buffer, 
    int size)
    +

    parse an XML in-memory block and build a tree. In the case the document is not Well Formed, a tree is built anyway

    +
    buffer:an pointer to a char array
    size:the size of the array
    Returns:the resulting document tree

    Function: xmlSAXParseDTD

    xmlDtdPtr	xmlSAXParseDTD		(xmlSAXHandlerPtr sax, 
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +

    Load and parse an external subset.

    +
    sax:the SAX handler block
    ExternalID:a NAME* containing the External ID of the DTD
    SystemID:a NAME* containing the URL to the DTD
    Returns:the resulting xmlDtdPtr or NULL in case of error.

    Function: xmlSAXParseDoc

    xmlDocPtr	xmlSAXParseDoc		(xmlSAXHandlerPtr sax, 
    xmlChar * cur,
    int recovery)
    +

    parse an XML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.

    +
    sax:the SAX handler block
    cur:a pointer to an array of xmlChar
    recovery:work in recovery mode, i.e. tries to read no Well Formed documents
    Returns:the resulting document tree

    Function: xmlSAXParseEntity

    xmlDocPtr	xmlSAXParseEntity	(xmlSAXHandlerPtr sax, 
    const char * filename)
    +

    parse an XML external entity out of context and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk

    +
    sax:the SAX handler block
    filename:the filename
    Returns:the resulting document tree

    Function: xmlSAXParseFile

    xmlDocPtr	xmlSAXParseFile		(xmlSAXHandlerPtr sax, 
    const char * filename,
    int recovery)
    +

    parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.

    +
    sax:the SAX handler block
    filename:the filename
    recovery:work in recovery mode, i.e. tries to read no Well Formed documents
    Returns:the resulting document tree

    Function: xmlSAXParseFileWithData

    xmlDocPtr	xmlSAXParseFileWithData	(xmlSAXHandlerPtr sax, 
    const char * filename,
    int recovery,
    void * data)
    +

    parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml

    +
    sax:the SAX handler block
    filename:the filename
    recovery:work in recovery mode, i.e. tries to read no Well Formed documents
    data:the userdata
    Returns:the resulting document tree

    Function: xmlSAXParseMemory

    xmlDocPtr	xmlSAXParseMemory	(xmlSAXHandlerPtr sax, 
    const char * buffer,
    int size,
    int recovery)
    +

    parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.

    +
    sax:the SAX handler block
    buffer:an pointer to a char array
    size:the size of the array
    recovery:work in recovery mode, i.e. tries to read not Well Formed documents
    Returns:the resulting document tree

    Function: xmlSAXParseMemoryWithData

    xmlDocPtr	xmlSAXParseMemoryWithData	(xmlSAXHandlerPtr sax, 
    const char * buffer,
    int size,
    int recovery,
    void * data)
    +

    parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml

    +
    sax:the SAX handler block
    buffer:an pointer to a char array
    size:the size of the array
    recovery:work in recovery mode, i.e. tries to read no Well Formed documents
    data:the userdata
    Returns:the resulting document tree

    Function: xmlSAXUserParseFile

    int	xmlSAXUserParseFile		(xmlSAXHandlerPtr sax, 
    void * user_data,
    const char * filename)
    +

    parse an XML file and call the given SAX handler routines. Automatic support for ZLIB/Compress compressed document is provided

    +
    sax:a SAX handler
    user_data:The user data returned on SAX callbacks
    filename:a file name
    Returns:0 in case of success or a error number otherwise

    Function: xmlSAXUserParseMemory

    int	xmlSAXUserParseMemory		(xmlSAXHandlerPtr sax, 
    void * user_data,
    const char * buffer,
    int size)
    +

    A better SAX parsing routine. parse an XML in-memory buffer and call the given SAX handler routines.

    +
    sax:a SAX handler
    user_data:The user data returned on SAX callbacks
    buffer:an in-memory XML document input
    size:the length of the XML document in bytes
    Returns:0 in case of success or a error number otherwise

    Function: xmlSetExternalEntityLoader

    void	xmlSetExternalEntityLoader	(xmlExternalEntityLoader f)
    +

    Changes the defaultexternal entity resolver function for the application

    +
    f:the new entity resolver function

    Function: xmlSetFeature

    int	xmlSetFeature			(xmlParserCtxtPtr ctxt, 
    const char * name,
    void * value)
    +

    Change the current value of one feature of this parser instance

    +
    ctxt:an XML/HTML parser context
    name:the feature name
    value:pointer to the location of the new value
    Returns:-1 in case or error, 0 otherwise

    Function: xmlSetupParserForBuffer

    void	xmlSetupParserForBuffer		(xmlParserCtxtPtr ctxt, 
    const xmlChar * buffer,
    const char * filename)
    +

    Setup the parser context to parse a new buffer; Clears any prior contents from the parser context. The buffer parameter must not be NULL, but the filename parameter can be

    +
    ctxt:an XML parser context
    buffer:a xmlChar * buffer
    filename:a file name

    Function: xmlStopParser

    void	xmlStopParser			(xmlParserCtxtPtr ctxt)
    +

    Blocks further parser processing

    +
    ctxt:an XML parser context

    Function: xmlSubstituteEntitiesDefault

    int	xmlSubstituteEntitiesDefault	(int val)
    +

    Set and return the previous value for default entity support. Initially the parser always keep entity references instead of substituting entity values in the output. This function has to be used to change the default parser behavior SAX::substituteEntities() has to be used for changing that on a file by file basis.

    +
    val:int 0 or 1
    Returns:the last value for 0 for no substitution, 1 for substitution.

    Daniel Veillard

    diff --git a/doc/html/libxml-parserInternals.html b/doc/html/libxml-parserInternals.html new file mode 100644 index 0000000..2af6f2a --- /dev/null +++ b/doc/html/libxml-parserInternals.html @@ -0,0 +1,316 @@ + + +Module parserInternals from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module parserInternals from libxml2

    API Menu
    API Indexes
    Related links

    this module exports a number of internal parsing routines they are not really all intended for applications but can prove useful doing low level processing.

    Table of Contents

    #define INPUT_CHUNK
    #define IS_BASECHAR
    #define IS_BLANK
    #define IS_BLANK_CH
    #define IS_BYTE_CHAR
    #define IS_CHAR
    #define IS_CHAR_CH
    #define IS_COMBINING
    #define IS_COMBINING_CH
    #define IS_DIGIT
    #define IS_DIGIT_CH
    #define IS_EXTENDER
    #define IS_EXTENDER_CH
    #define IS_IDEOGRAPHIC
    #define IS_LETTER
    #define IS_LETTER_CH
    #define IS_PUBIDCHAR
    #define IS_PUBIDCHAR_CH
    #define MOVETO_ENDTAG
    #define MOVETO_STARTTAG
    #define SKIP_EOL
    #define XML_MAX_NAMELEN
    #define XML_SUBSTITUTE_BOTH
    #define XML_SUBSTITUTE_NONE
    #define XML_SUBSTITUTE_PEREF
    #define XML_SUBSTITUTE_REF
    htmlParserCtxtPtr	htmlCreateFileParserCtxt	(const char * filename, 
    const char * encoding)
    +
    void	htmlInitAutoClose		(void)
    +
    xmlParserInputPtr	inputPop	(xmlParserCtxtPtr ctxt)
    +
    int	inputPush			(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr value)
    +
    const xmlChar *	namePop			(xmlParserCtxtPtr ctxt)
    +
    int	namePush			(xmlParserCtxtPtr ctxt, 
    const xmlChar * value)
    +
    xmlNodePtr	nodePop			(xmlParserCtxtPtr ctxt)
    +
    int	nodePush			(xmlParserCtxtPtr ctxt, 
    xmlNodePtr value)
    +
    int	xmlCheckLanguageID		(const xmlChar * lang)
    +
    int	xmlCopyChar			(int len, 
    xmlChar * out,
    int val)
    +
    int	xmlCopyCharMultiByte		(xmlChar * out, 
    int val)
    +
    xmlParserCtxtPtr	xmlCreateEntityParserCtxt	(const xmlChar * URL, 
    const xmlChar * ID,
    const xmlChar * base)
    +
    xmlParserCtxtPtr	xmlCreateFileParserCtxt	(const char * filename)
    +
    xmlParserCtxtPtr	xmlCreateMemoryParserCtxt	(const char * buffer, 
    int size)
    +
    xmlParserCtxtPtr	xmlCreateURLParserCtxt	(const char * filename, 
    int options)
    +
    int	xmlCurrentChar			(xmlParserCtxtPtr ctxt, 
    int * len)
    +
    xmlChar *	xmlDecodeEntities	(xmlParserCtxtPtr ctxt, 
    int len,
    int what,
    xmlChar end,
    xmlChar end2,
    xmlChar end3)
    +
    Function type: xmlEntityReferenceFunc
    +void	xmlEntityReferenceFunc		(xmlEntityPtr ent, 
    xmlNodePtr firstNode,
    xmlNodePtr lastNode) +
    +
    void	xmlErrMemory			(xmlParserCtxtPtr ctxt, 
    const char * extra)
    +
    void	xmlFreeInputStream		(xmlParserInputPtr input)
    +
    void	xmlHandleEntity			(xmlParserCtxtPtr ctxt, 
    xmlEntityPtr entity)
    +
    int	xmlIsLetter			(int c)
    +
    xmlChar *	xmlNamespaceParseNCName	(xmlParserCtxtPtr ctxt)
    +
    xmlChar *	xmlNamespaceParseNSDef	(xmlParserCtxtPtr ctxt)
    +
    xmlChar *	xmlNamespaceParseQName	(xmlParserCtxtPtr ctxt, 
    xmlChar ** prefix)
    +
    xmlParserInputPtr	xmlNewEntityInputStream	(xmlParserCtxtPtr ctxt, 
    xmlEntityPtr entity)
    +
    xmlParserInputPtr	xmlNewInputFromFile	(xmlParserCtxtPtr ctxt, 
    const char * filename)
    +
    xmlParserInputPtr	xmlNewInputStream	(xmlParserCtxtPtr ctxt)
    +
    xmlParserInputPtr	xmlNewStringInputStream	(xmlParserCtxtPtr ctxt, 
    const xmlChar * buffer)
    +
    void	xmlNextChar			(xmlParserCtxtPtr ctxt)
    +
    xmlChar *	xmlParseAttValue	(xmlParserCtxtPtr ctxt)
    +
    const xmlChar *	xmlParseAttribute	(xmlParserCtxtPtr ctxt, 
    xmlChar ** value)
    +
    void	xmlParseAttributeListDecl	(xmlParserCtxtPtr ctxt)
    +
    int	xmlParseAttributeType		(xmlParserCtxtPtr ctxt, 
    xmlEnumerationPtr * tree)
    +
    void	xmlParseCDSect			(xmlParserCtxtPtr ctxt)
    +
    void	xmlParseCharData		(xmlParserCtxtPtr ctxt, 
    int cdata)
    +
    int	xmlParseCharRef			(xmlParserCtxtPtr ctxt)
    +
    void	xmlParseComment			(xmlParserCtxtPtr ctxt)
    +
    void	xmlParseContent			(xmlParserCtxtPtr ctxt)
    +
    int	xmlParseDefaultDecl		(xmlParserCtxtPtr ctxt, 
    xmlChar ** value)
    +
    void	xmlParseDocTypeDecl		(xmlParserCtxtPtr ctxt)
    +
    void	xmlParseElement			(xmlParserCtxtPtr ctxt)
    +
    xmlElementContentPtr	xmlParseElementChildrenContentDecl	(xmlParserCtxtPtr ctxt, 
    int inputchk)
    +
    int	xmlParseElementContentDecl	(xmlParserCtxtPtr ctxt, 
    const xmlChar * name,
    xmlElementContentPtr * result)
    +
    int	xmlParseElementDecl		(xmlParserCtxtPtr ctxt)
    +
    xmlElementContentPtr	xmlParseElementMixedContentDecl	(xmlParserCtxtPtr ctxt, 
    int inputchk)
    +
    xmlChar *	xmlParseEncName		(xmlParserCtxtPtr ctxt)
    +
    const xmlChar *	xmlParseEncodingDecl	(xmlParserCtxtPtr ctxt)
    +
    void	xmlParseEndTag			(xmlParserCtxtPtr ctxt)
    +
    void	xmlParseEntityDecl		(xmlParserCtxtPtr ctxt)
    +
    xmlEntityPtr	xmlParseEntityRef	(xmlParserCtxtPtr ctxt)
    +
    xmlChar *	xmlParseEntityValue	(xmlParserCtxtPtr ctxt, 
    xmlChar ** orig)
    +
    int	xmlParseEnumeratedType		(xmlParserCtxtPtr ctxt, 
    xmlEnumerationPtr * tree)
    +
    xmlEnumerationPtr	xmlParseEnumerationType	(xmlParserCtxtPtr ctxt)
    +
    xmlChar *	xmlParseExternalID	(xmlParserCtxtPtr ctxt, 
    xmlChar ** publicID,
    int strict)
    +
    void	xmlParseExternalSubset		(xmlParserCtxtPtr ctxt, 
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +
    void	xmlParseMarkupDecl		(xmlParserCtxtPtr ctxt)
    +
    void	xmlParseMisc			(xmlParserCtxtPtr ctxt)
    +
    const xmlChar *	xmlParseName		(xmlParserCtxtPtr ctxt)
    +
    void	xmlParseNamespace		(xmlParserCtxtPtr ctxt)
    +
    xmlChar *	xmlParseNmtoken		(xmlParserCtxtPtr ctxt)
    +
    void	xmlParseNotationDecl		(xmlParserCtxtPtr ctxt)
    +
    xmlEnumerationPtr	xmlParseNotationType	(xmlParserCtxtPtr ctxt)
    +
    void	xmlParsePEReference		(xmlParserCtxtPtr ctxt)
    +
    void	xmlParsePI			(xmlParserCtxtPtr ctxt)
    +
    const xmlChar *	xmlParsePITarget	(xmlParserCtxtPtr ctxt)
    +
    xmlChar *	xmlParsePubidLiteral	(xmlParserCtxtPtr ctxt)
    +
    xmlChar *	xmlParseQuotedString	(xmlParserCtxtPtr ctxt)
    +
    void	xmlParseReference		(xmlParserCtxtPtr ctxt)
    +
    int	xmlParseSDDecl			(xmlParserCtxtPtr ctxt)
    +
    const xmlChar *	xmlParseStartTag	(xmlParserCtxtPtr ctxt)
    +
    xmlChar *	xmlParseSystemLiteral	(xmlParserCtxtPtr ctxt)
    +
    void	xmlParseTextDecl		(xmlParserCtxtPtr ctxt)
    +
    xmlChar *	xmlParseVersionInfo	(xmlParserCtxtPtr ctxt)
    +
    xmlChar *	xmlParseVersionNum	(xmlParserCtxtPtr ctxt)
    +
    void	xmlParseXMLDecl			(xmlParserCtxtPtr ctxt)
    +
    void	xmlParserHandlePEReference	(xmlParserCtxtPtr ctxt)
    +
    void	xmlParserHandleReference	(xmlParserCtxtPtr ctxt)
    +
    void	xmlParserInputShrink		(xmlParserInputPtr in)
    +
    xmlChar	xmlPopInput			(xmlParserCtxtPtr ctxt)
    +
    void	xmlPushInput			(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr input)
    +
    xmlChar *	xmlScanName		(xmlParserCtxtPtr ctxt)
    +
    void	xmlSetEntityReferenceFunc	(xmlEntityReferenceFunc func)
    +
    int	xmlSkipBlankChars		(xmlParserCtxtPtr ctxt)
    +
    xmlChar *	xmlSplitQName		(xmlParserCtxtPtr ctxt, 
    const xmlChar * name,
    xmlChar ** prefix)
    +
    int	xmlStringCurrentChar		(xmlParserCtxtPtr ctxt, 
    const xmlChar * cur,
    int * len)
    +
    xmlChar *	xmlStringDecodeEntities	(xmlParserCtxtPtr ctxt, 
    const xmlChar * str,
    int what,
    xmlChar end,
    xmlChar end2,
    xmlChar end3)
    +
    xmlChar *	xmlStringLenDecodeEntities	(xmlParserCtxtPtr ctxt, 
    const xmlChar * str,
    int len,
    int what,
    xmlChar end,
    xmlChar end2,
    xmlChar end3)
    +
    int	xmlSwitchEncoding		(xmlParserCtxtPtr ctxt, 
    xmlCharEncoding enc)
    +
    int	xmlSwitchInputEncoding		(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr input,
    xmlCharEncodingHandlerPtr handler)
    +
    int	xmlSwitchToEncoding		(xmlParserCtxtPtr ctxt, 
    xmlCharEncodingHandlerPtr handler)
    +

    Description

    +

    Macro: INPUT_CHUNK

    #define INPUT_CHUNK

    The parser tries to always have that amount of input ready. One of the point is providing context when reporting errors.

    +

    Macro: IS_BASECHAR

    #define IS_BASECHAR

    Macro to check the following production in the XML spec: [85] BaseChar ::= ... long list see REC ...

    +

    Macro: IS_BLANK

    #define IS_BLANK

    Macro to check the following production in the XML spec: [3] S ::= (#x20 | #x9 | #xD | #xA)+

    +

    Macro: IS_BLANK_CH

    #define IS_BLANK_CH

    Behaviour same as IS_BLANK

    +

    Macro: IS_BYTE_CHAR

    #define IS_BYTE_CHAR

    Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20...] any byte character in the accepted range

    +

    Macro: IS_CHAR

    #define IS_CHAR

    Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.

    +

    Macro: IS_CHAR_CH

    #define IS_CHAR_CH

    Behaves like IS_CHAR on single-byte value

    +

    Macro: IS_COMBINING

    #define IS_COMBINING

    Macro to check the following production in the XML spec: [87] CombiningChar ::= ... long list see REC ...

    +

    Macro: IS_COMBINING_CH

    #define IS_COMBINING_CH

    Always false (all combining chars > 0xff)

    +

    Macro: IS_DIGIT

    #define IS_DIGIT

    Macro to check the following production in the XML spec: [88] Digit ::= ... long list see REC ...

    +

    Macro: IS_DIGIT_CH

    #define IS_DIGIT_CH

    Behaves like IS_DIGIT but with a single byte argument

    +

    Macro: IS_EXTENDER

    #define IS_EXTENDER

    Macro to check the following production in the XML spec: [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]

    +

    Macro: IS_EXTENDER_CH

    #define IS_EXTENDER_CH

    Behaves like IS_EXTENDER but with a single-byte argument

    +

    Macro: IS_IDEOGRAPHIC

    #define IS_IDEOGRAPHIC

    Macro to check the following production in the XML spec: [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]

    +

    Macro: IS_LETTER

    #define IS_LETTER

    Macro to check the following production in the XML spec: [84] Letter ::= BaseChar | Ideographic

    +

    Macro: IS_LETTER_CH

    #define IS_LETTER_CH

    Macro behaves like IS_LETTER, but only check base chars

    +

    Macro: IS_PUBIDCHAR

    #define IS_PUBIDCHAR

    Macro to check the following production in the XML spec: [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]

    +

    Macro: IS_PUBIDCHAR_CH

    #define IS_PUBIDCHAR_CH

    Same as IS_PUBIDCHAR but for single-byte value

    +

    Macro: MOVETO_ENDTAG

    #define MOVETO_ENDTAG

    Skips to the next '>' char.

    +

    Macro: MOVETO_STARTTAG

    #define MOVETO_STARTTAG

    Skips to the next '<' char.

    +

    Macro: SKIP_EOL

    #define SKIP_EOL

    Skips the end of line chars.

    +

    Macro: XML_MAX_NAMELEN

    #define XML_MAX_NAMELEN

    Identifiers can be longer, but this will be more costly at runtime.

    +

    Macro: XML_SUBSTITUTE_BOTH

    #define XML_SUBSTITUTE_BOTH

    Both general and parameter entities need to be substituted.

    +

    Macro: XML_SUBSTITUTE_NONE

    #define XML_SUBSTITUTE_NONE

    If no entities need to be substituted.

    +

    Macro: XML_SUBSTITUTE_PEREF

    #define XML_SUBSTITUTE_PEREF

    Whether parameter entities need to be substituted.

    +

    Macro: XML_SUBSTITUTE_REF

    #define XML_SUBSTITUTE_REF

    Whether general entities need to be substituted.

    +

    Function: htmlCreateFileParserCtxt

    htmlParserCtxtPtr	htmlCreateFileParserCtxt	(const char * filename, 
    const char * encoding)
    +

    Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

    +
    filename:the filename
    encoding:a free form C string describing the HTML document encoding, or NULL
    Returns:the new parser context or NULL

    Function: htmlInitAutoClose

    void	htmlInitAutoClose		(void)
    +

    Initialize the htmlStartCloseIndex for fast lookup of closing tags names. This is not reentrant. Call xmlInitParser() once before processing in case of use in multithreaded programs.

    +

    Function: inputPop

    xmlParserInputPtr	inputPop	(xmlParserCtxtPtr ctxt)
    +

    Pops the top parser input from the input stack

    +
    ctxt:an XML parser context
    Returns:the input just removed

    Function: inputPush

    int	inputPush			(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr value)
    +

    Pushes a new parser input on top of the input stack

    +
    ctxt:an XML parser context
    value:the parser input
    Returns:0 in case of error, the index in the stack otherwise

    Function: namePop

    const xmlChar *	namePop			(xmlParserCtxtPtr ctxt)
    +

    Pops the top element name from the name stack

    +
    ctxt:an XML parser context
    Returns:the name just removed

    Function: namePush

    int	namePush			(xmlParserCtxtPtr ctxt, 
    const xmlChar * value)
    +

    Pushes a new element name on top of the name stack

    +
    ctxt:an XML parser context
    value:the element name
    Returns:-1 in case of error, the index in the stack otherwise

    Function: nodePop

    xmlNodePtr	nodePop			(xmlParserCtxtPtr ctxt)
    +

    Pops the top element node from the node stack

    +
    ctxt:an XML parser context
    Returns:the node just removed

    Function: nodePush

    int	nodePush			(xmlParserCtxtPtr ctxt, 
    xmlNodePtr value)
    +

    Pushes a new element node on top of the node stack

    +
    ctxt:an XML parser context
    value:the element node
    Returns:0 in case of error, the index in the stack otherwise

    Function: xmlCheckLanguageID

    int	xmlCheckLanguageID		(const xmlChar * lang)
    +

    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 [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+

    +
    lang:pointer to the string value
    Returns:1 if correct 0 otherwise

    Function: xmlCopyChar

    int	xmlCopyChar			(int len, 
    xmlChar * out,
    int val)
    +

    append the char value in the array

    +
    len:Ignored, compatibility
    out:pointer to an array of xmlChar
    val:the char value
    Returns:the number of xmlChar written

    Function: xmlCopyCharMultiByte

    int	xmlCopyCharMultiByte		(xmlChar * out, 
    int val)
    +

    append the char value in the array

    +
    out:pointer to an array of xmlChar
    val:the char value
    Returns:the number of xmlChar written

    Function: xmlCreateEntityParserCtxt

    xmlParserCtxtPtr	xmlCreateEntityParserCtxt	(const xmlChar * URL, 
    const xmlChar * ID,
    const xmlChar * base)
    +

    Create a parser context for an external entity Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

    +
    URL:the entity URL
    ID:the entity PUBLIC ID
    base:a possible base for the target URI
    Returns:the new parser context or NULL

    Function: xmlCreateFileParserCtxt

    xmlParserCtxtPtr	xmlCreateFileParserCtxt	(const char * filename)
    +

    Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

    +
    filename:the filename
    Returns:the new parser context or NULL

    Function: xmlCreateMemoryParserCtxt

    xmlParserCtxtPtr	xmlCreateMemoryParserCtxt	(const char * buffer, 
    int size)
    +

    Create a parser context for an XML in-memory document.

    +
    buffer:a pointer to a char array
    size:the size of the array
    Returns:the new parser context or NULL

    Function: xmlCreateURLParserCtxt

    xmlParserCtxtPtr	xmlCreateURLParserCtxt	(const char * filename, 
    int options)
    +

    Create a parser context for a file or URL content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time and for file accesses

    +
    filename:the filename or URL
    options:a combination of xmlParserOption
    Returns:the new parser context or NULL

    Function: xmlCurrentChar

    int	xmlCurrentChar			(xmlParserCtxtPtr ctxt, 
    int * len)
    +

    The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer. Implement the end of line normalization: 2.11 End-of-Line Handling Wherever an external parsed entity or the literal entity value of an internal parsed entity contains either the literal two-character sequence "#xD#xA" or a standalone literal #xD, an XML processor must pass to the application the single character #xA. This behavior can conveniently be produced by normalizing all line breaks to #xA on input, before parsing.)

    +
    ctxt:the XML parser context
    len:pointer to the length of the char read
    Returns:the current char value and its length

    Function: xmlDecodeEntities

    xmlChar *	xmlDecodeEntities	(xmlParserCtxtPtr ctxt, 
    int len,
    int what,
    xmlChar end,
    xmlChar end2,
    xmlChar end3)
    +

    This function is deprecated, we now always process entities content through xmlStringDecodeEntities TODO: remove it in next major release. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'

    +
    ctxt:the parser context
    len:the len to decode (in bytes !), -1 for no size limit
    what:combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
    end:an end marker xmlChar, 0 if none
    end2:an end marker xmlChar, 0 if none
    end3:an end marker xmlChar, 0 if none
    Returns:A newly allocated string with the substitution done. The caller must deallocate it !

    Function type: xmlEntityReferenceFunc

    Function type: xmlEntityReferenceFunc
    +void	xmlEntityReferenceFunc		(xmlEntityPtr ent, 
    xmlNodePtr firstNode,
    xmlNodePtr lastNode) +

    Callback function used when one needs to be able to track back the provenance of a chunk of nodes inherited from an entity replacement.

    ent:the entity
    firstNode:the fist node in the chunk
    lastNode:the last nod in the chunk

    +

    Function: xmlErrMemory

    void	xmlErrMemory			(xmlParserCtxtPtr ctxt, 
    const char * extra)
    +

    Handle a redefinition of attribute error

    +
    ctxt:an XML parser context
    extra:extra informations

    Function: xmlFreeInputStream

    void	xmlFreeInputStream		(xmlParserInputPtr input)
    +

    Free up an input stream.

    +

    Function: xmlHandleEntity

    void	xmlHandleEntity			(xmlParserCtxtPtr ctxt, 
    xmlEntityPtr entity)
    +

    Default handling of defined entities, when should we define a new input stream ? When do we just handle that as a set of chars ? OBSOLETE: to be removed at some point.

    +
    ctxt:an XML parser context
    entity:an XML entity pointer.

    Function: xmlIsLetter

    int	xmlIsLetter			(int c)
    +

    Check whether the character is allowed by the production [84] Letter ::= BaseChar | Ideographic

    +
    c:an unicode character (int)
    Returns:0 if not, non-zero otherwise

    Function: xmlNamespaceParseNCName

    xmlChar *	xmlNamespaceParseNCName	(xmlParserCtxtPtr ctxt)
    +

    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

    +
    ctxt:an XML parser context
    Returns:the namespace name or NULL

    Function: xmlNamespaceParseNSDef

    xmlChar *	xmlNamespaceParseNSDef	(xmlParserCtxtPtr ctxt)
    +

    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 [NS 2] PrefixDef ::= 'xmlns' (':' NCName)?

    +
    ctxt:an XML parser context
    Returns:the namespace name

    Function: xmlNamespaceParseQName

    xmlChar *	xmlNamespaceParseQName	(xmlParserCtxtPtr ctxt, 
    xmlChar ** prefix)
    +

    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 [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName

    +
    ctxt:an XML parser context
    prefix:a xmlChar **
    Returns:the local part, and prefix is updated to get the Prefix if any.

    Function: xmlNewEntityInputStream

    xmlParserInputPtr	xmlNewEntityInputStream	(xmlParserCtxtPtr ctxt, 
    xmlEntityPtr entity)
    +

    Create a new input stream based on an xmlEntityPtr

    +
    ctxt:an XML parser context
    entity:an Entity pointer
    Returns:the new input stream or NULL

    Function: xmlNewInputFromFile

    xmlParserInputPtr	xmlNewInputFromFile	(xmlParserCtxtPtr ctxt, 
    const char * filename)
    +

    Create a new input stream based on a file or an URL.

    +
    ctxt:an XML parser context
    filename:the filename to use as entity
    Returns:the new input stream or NULL in case of error

    Function: xmlNewInputStream

    xmlParserInputPtr	xmlNewInputStream	(xmlParserCtxtPtr ctxt)
    +

    Create a new input stream structure

    +
    ctxt:an XML parser context
    Returns:the new input stream or NULL

    Function: xmlNewStringInputStream

    xmlParserInputPtr	xmlNewStringInputStream	(xmlParserCtxtPtr ctxt, 
    const xmlChar * buffer)
    +

    Create a new input stream based on a memory buffer.

    +
    ctxt:an XML parser context
    buffer:an memory buffer
    Returns:the new input stream

    Function: xmlNextChar

    void	xmlNextChar			(xmlParserCtxtPtr ctxt)
    +

    Skip to the next char input char.

    +
    ctxt:the XML parser context

    Function: xmlParseAttValue

    xmlChar *	xmlParseAttValue	(xmlParserCtxtPtr ctxt)
    +

    parse a value for an attribute Note: the parser won't do substitution of entities here, this will be handled later in xmlStringGetNodeList [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 - an entity reference is processed by recursively processing the replacement text of the entity - a whitespace character (#x20, #xD, #xA, #x9) is processed by appending #x20 to the normalized value, except that only a single #x20 is appended for a "#xD#xA" sequence that is part of an external 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 trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by a single space (#x20) character. All attributes for which no declaration has been read should be treated by a non-validating parser as if declared CDATA.

    +
    ctxt:an XML parser context
    Returns:the AttValue parsed or NULL. The value has to be freed by the caller.

    Function: xmlParseAttribute

    const xmlChar *	xmlParseAttribute	(xmlParserCtxtPtr ctxt, 
    xmlChar ** value)
    +

    parse an attribute [41] Attribute ::= Name Eq AttValue [ WFC: No External Entity References ] Attribute values cannot contain direct or indirect entity references to external entities. [ WFC: No < in Attribute Values ] The replacement text of any entity referred to directly or indirectly in an attribute value (other than "&lt;") must not contain a <. [ VC: Attribute Value Type ] The attribute must have been declared; the value must be of the type declared for it. [25] Eq ::= S? '=' S? With namespace: [NS 11] Attribute ::= QName Eq AttValue Also the case QName == xmlns:??? is handled independently as a namespace definition.

    +
    ctxt:an XML parser context
    value:a xmlChar ** used to store the value of the attribute
    Returns:the attribute name, and the value in *value.

    Function: xmlParseAttributeListDecl

    void	xmlParseAttributeListDecl	(xmlParserCtxtPtr ctxt)
    +

    : parse the Attribute list def for an element [52] AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>' [53] AttDef ::= S Name S AttType S DefaultDecl

    +
    ctxt:an XML parser context

    Function: xmlParseAttributeType

    int	xmlParseAttributeType		(xmlParserCtxtPtr ctxt, 
    xmlEnumerationPtr * tree)
    +

    parse the Attribute list def for an element [54] AttType ::= StringType | TokenizedType | EnumeratedType [55] StringType ::= 'CDATA' [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS' Validity constraints for attribute values syntax are checked in xmlValidateAttributeValue() [ VC: ID ] Values of type ID must match the Name production. A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them. [ VC: One ID per Element Type ] No element type may have more than one ID attribute specified. [ VC: ID Attribute Default ] An ID attribute must have a declared default of #IMPLIED or #REQUIRED. [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names; each IDREF Name must match the value of an ID attribute on some element in the XML document; i.e. IDREF values must match the value of some ID attribute. [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names; each Entity Name must match the name of an unparsed entity declared in the DTD. [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.

    +
    ctxt:an XML parser context
    tree:the enumeration tree built while parsing
    Returns:the attribute type

    Function: xmlParseCDSect

    void	xmlParseCDSect			(xmlParserCtxtPtr ctxt)
    +

    Parse escaped pure raw content. [18] CDSect ::= CDStart CData CDEnd [19] CDStart ::= '<![CDATA[' [20] Data ::= (Char* - (Char* ']]>' Char*)) [21] CDEnd ::= ']]>'

    +
    ctxt:an XML parser context

    Function: xmlParseCharData

    void	xmlParseCharData		(xmlParserCtxtPtr ctxt, 
    int cdata)
    +

    parse a CharData section. if we are within a CDATA section ']]>' marks an end of section. The right angle bracket (>) may be represented using the string "&gt;", and must, for compatibility, be escaped using "&gt;" or a character reference when it appears in the string "]]>" in content, when that string is not marking the end of a CDATA section. [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)

    +
    ctxt:an XML parser context
    cdata:int indicating whether we are within a CDATA section

    Function: xmlParseCharRef

    int	xmlParseCharRef			(xmlParserCtxtPtr ctxt)
    +

    parse Reference declarations [66] CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';' [ WFC: Legal Character ] Characters referred to using character references must match the production for Char.

    +
    ctxt:an XML parser context
    Returns:the value parsed (as an int), 0 in case of error

    Function: xmlParseComment

    void	xmlParseComment			(xmlParserCtxtPtr ctxt)
    +

    Skip an XML (SGML) comment <!-- .... --> The spec says that "For compatibility, the string "--" (double-hyphen) must not occur within comments. " [15] Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'

    +
    ctxt:an XML parser context

    Function: xmlParseContent

    void	xmlParseContent			(xmlParserCtxtPtr ctxt)
    +

    Parse a content: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*

    +
    ctxt:an XML parser context

    Function: xmlParseDefaultDecl

    int	xmlParseDefaultDecl		(xmlParserCtxtPtr ctxt, 
    xmlChar ** value)
    +

    Parse an attribute default declaration [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue) [ VC: Required Attribute ] if the default declaration is the keyword #REQUIRED, then the attribute must be specified for all elements of the type in the attribute-list declaration. [ VC: Attribute Default Legal ] The declared default value must meet the lexical constraints of the declared attribute type c.f. xmlValidateAttributeDecl() [ VC: Fixed Attribute Default ] if an attribute has a default value declared with the #FIXED keyword, instances of that attribute must match the default value. [ WFC: No < in Attribute Values ] handled in xmlParseAttValue()

    +
    ctxt:an XML parser context
    value:Receive a possible fixed default value for the attribute
    Returns:XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, XML_ATTRIBUTE_IMPLIED or XML_ATTRIBUTE_FIXED.

    Function: xmlParseDocTypeDecl

    void	xmlParseDocTypeDecl		(xmlParserCtxtPtr ctxt)
    +

    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 type of the root element.

    +
    ctxt:an XML parser context

    Function: xmlParseElement

    void	xmlParseElement			(xmlParserCtxtPtr ctxt)
    +

    parse an XML element, this is highly recursive [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The Name in an element's end-tag must match the element type in the start-tag.

    +
    ctxt:an XML parser context

    Function: xmlParseElementChildrenContentDecl

    xmlElementContentPtr	xmlParseElementChildrenContentDecl	(xmlParserCtxtPtr ctxt, 
    int inputchk)
    +

    parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in xmlParseElementContentDecl [47] children ::= (choice | seq) ('?' | '*' | '+')? [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')? [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')' [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')' [ VC: Proper Group/PE Nesting ] applies to [49] and [50] TODO Parameter-entity replacement text must be properly nested with parenthesized groups. That is to say, if either of the opening or closing parentheses in a choice, seq, or Mixed construct is contained in the replacement text for a parameter entity, both must be contained in the same replacement text. For interoperability, if a parameter-entity reference appears in a choice, seq, or Mixed construct, its replacement text should not be empty, and neither the first nor last non-blank character of the replacement text should be a connector (| or ,).

    +
    ctxt:an XML parser context
    inputchk:the input used for the current entity, needed for boundary checks
    Returns:the tree of xmlElementContentPtr describing the element hierarchy.

    Function: xmlParseElementContentDecl

    int	xmlParseElementContentDecl	(xmlParserCtxtPtr ctxt, 
    const xmlChar * name,
    xmlElementContentPtr * result)
    +

    parse the declaration for an Element content either Mixed or Children, the cases EMPTY and ANY are handled directly in xmlParseElementDecl [46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children

    +
    ctxt:an XML parser context
    name:the name of the element being defined.
    result:the Element Content pointer will be stored here if any
    Returns:the type of element content XML_ELEMENT_TYPE_xxx

    Function: xmlParseElementDecl

    int	xmlParseElementDecl		(xmlParserCtxtPtr ctxt)
    +

    parse an Element declaration. [45] elementdecl ::= '<!ELEMENT' S Name S contentspec S? '>' [ VC: Unique Element Type Declaration ] No element type may be declared more than once

    +
    ctxt:an XML parser context
    Returns:the type of the element, or -1 in case of error

    Function: xmlParseElementMixedContentDecl

    xmlElementContentPtr	xmlParseElementMixedContentDecl	(xmlParserCtxtPtr ctxt, 
    int inputchk)
    +

    parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in xmlParseElementContentDecl [51] Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*' | '(' S? '#PCDATA' S? ')' [ VC: Proper Group/PE Nesting ] applies to [51] too (see [49]) [ VC: No Duplicate Types ] The same name must not appear more than once in a single mixed-content declaration.

    +
    ctxt:an XML parser context
    inputchk:the input used for the current entity, needed for boundary checks
    Returns:the list of the xmlElementContentPtr describing the element choices

    Function: xmlParseEncName

    xmlChar *	xmlParseEncName		(xmlParserCtxtPtr ctxt)
    +

    parse the XML encoding name [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*

    +
    ctxt:an XML parser context
    Returns:the encoding name value or NULL

    Function: xmlParseEncodingDecl

    const xmlChar *	xmlParseEncodingDecl	(xmlParserCtxtPtr ctxt)
    +

    parse the XML encoding declaration [80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'" EncName "'") this setups the conversion filters.

    +
    ctxt:an XML parser context
    Returns:the encoding value or NULL

    Function: xmlParseEndTag

    void	xmlParseEndTag			(xmlParserCtxtPtr ctxt)
    +

    parse an end of tag [42] ETag ::= '</' Name S? '>' With namespace [NS 9] ETag ::= '</' QName S? '>'

    +
    ctxt:an XML parser context

    Function: xmlParseEntityDecl

    void	xmlParseEntityDecl		(xmlParserCtxtPtr ctxt)
    +

    parse <!ENTITY declarations [70] EntityDecl ::= GEDecl | PEDecl [71] GEDecl ::= '<!ENTITY' S Name S EntityDef S? '>' [72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>' [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?) [74] PEDef ::= EntityValue | ExternalID [76] NDataDecl ::= S 'NDATA' S Name [ VC: Notation Declared ] The Name must match the declared name of a notation.

    +
    ctxt:an XML parser context

    Function: xmlParseEntityRef

    xmlEntityPtr	xmlParseEntityRef	(xmlParserCtxtPtr ctxt)
    +

    parse ENTITY references declarations [68] EntityRef ::= '&' Name ';' [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", the Name given in the entity reference must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. The declaration of a parameter entity must precede any reference to it. Similarly, the declaration of a general entity must precede any reference to it which appears in a default value in an attribute-list declaration. Note that if entities are declared in the external subset or in external parameter entities, a non-validating processor is not obligated to read and process their declarations; for such documents, the rule that an entity must be declared is a well-formedness constraint only if standalone='yes'. [ WFC: Parsed Entity ] An entity reference must not contain the name of an unparsed entity

    +
    ctxt:an XML parser context
    Returns:the xmlEntityPtr if found, or NULL otherwise.

    Function: xmlParseEntityValue

    xmlChar *	xmlParseEntityValue	(xmlParserCtxtPtr ctxt, 
    xmlChar ** orig)
    +

    parse a value for ENTITY declarations [9] EntityValue ::= '"' ([^%&"] | PEReference | Reference)* '"' | "'" ([^%&'] | PEReference | Reference)* "'"

    +
    ctxt:an XML parser context
    orig:if non-NULL store a copy of the original entity value
    Returns:the EntityValue parsed with reference substituted or NULL

    Function: xmlParseEnumeratedType

    int	xmlParseEnumeratedType		(xmlParserCtxtPtr ctxt, 
    xmlEnumerationPtr * tree)
    +

    parse an Enumerated attribute type. [57] EnumeratedType ::= NotationType | Enumeration [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'

    +
    ctxt:an XML parser context
    tree:the enumeration tree built while parsing
    Returns:XML_ATTRIBUTE_ENUMERATION or XML_ATTRIBUTE_NOTATION

    Function: xmlParseEnumerationType

    xmlEnumerationPtr	xmlParseEnumerationType	(xmlParserCtxtPtr ctxt)
    +

    parse an Enumeration attribute type. [59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' [ VC: Enumeration ] Values of this type must match one of the Nmtoken tokens in the declaration

    +
    ctxt:an XML parser context
    Returns:the enumeration attribute tree built while parsing

    Function: xmlParseExternalID

    xmlChar *	xmlParseExternalID	(xmlParserCtxtPtr ctxt, 
    xmlChar ** publicID,
    int strict)
    +

    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

    +
    ctxt:an XML parser context
    publicID:a xmlChar** receiving PubidLiteral
    strict:indicate whether we should restrict parsing to only production [75], see NOTE below
    Returns: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.

    Function: xmlParseExternalSubset

    void	xmlParseExternalSubset		(xmlParserCtxtPtr ctxt, 
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +

    parse Markup declarations from an external subset [30] extSubset ::= textDecl? extSubsetDecl [31] extSubsetDecl ::= (markupdecl | conditionalSect | PEReference | S) *

    +
    ctxt:an XML parser context
    ExternalID:the external identifier
    SystemID:the system identifier (or URL)

    Function: xmlParseMarkupDecl

    void	xmlParseMarkupDecl		(xmlParserCtxtPtr ctxt)
    +

    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 markup declarations. That is to say, if either the first character or the last character of a markup declaration (markupdecl above) is contained in the replacement text for a parameter-entity reference, both must be contained in the same replacement text. [ WFC: PEs in Internal Subset ] In the internal DTD subset, parameter-entity references can occur only where markup declarations can occur, not within markup declarations. (This does not apply to references that occur in external parameter entities or to the external subset.)

    +
    ctxt:an XML parser context

    Function: xmlParseMisc

    void	xmlParseMisc			(xmlParserCtxtPtr ctxt)
    +

    parse an XML Misc* optional field. [27] Misc ::= Comment | PI | S

    +
    ctxt:an XML parser context

    Function: xmlParseName

    const xmlChar *	xmlParseName		(xmlParserCtxtPtr ctxt)
    +

    parse an XML name. [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (S Name)*

    +
    ctxt:an XML parser context
    Returns:the Name parsed or NULL

    Function: xmlParseNamespace

    void	xmlParseNamespace		(xmlParserCtxtPtr ctxt)
    +

    xmlParseNamespace: parse specific PI '<?namespace ...' constructs. This is what the older xml-name Working Draft specified, a bunch of other stuff may still rely on it, so support is still here as if it was declared on the root of the Tree:-( TODO: remove from library To be removed at next drop of binary compatibility

    +
    ctxt:an XML parser context

    Function: xmlParseNmtoken

    xmlChar *	xmlParseNmtoken		(xmlParserCtxtPtr ctxt)
    +

    parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8] Nmtokens ::= Nmtoken (S Nmtoken)*

    +
    ctxt:an XML parser context
    Returns:the Nmtoken parsed or NULL

    Function: xmlParseNotationDecl

    void	xmlParseNotationDecl		(xmlParserCtxtPtr ctxt)
    +

    parse a notation declaration [82] NotationDecl ::= '<!NOTATION' S Name S (ExternalID | PublicID) S? '>' Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral 'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S SystemLiteral See the NOTE on xmlParseExternalID().

    +
    ctxt:an XML parser context

    Function: xmlParseNotationType

    xmlEnumerationPtr	xmlParseNotationType	(xmlParserCtxtPtr ctxt)
    +

    parse an Notation attribute type. Note: the leading 'NOTATION' S part has already being parsed... [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' [ VC: Notation Attributes ] Values of this type must match one of the notation names included in the declaration; all notation names in the declaration must be declared.

    +
    ctxt:an XML parser context
    Returns:the notation attribute tree built while parsing

    Function: xmlParsePEReference

    void	xmlParsePEReference		(xmlParserCtxtPtr ctxt)
    +

    parse PEReference declarations The entity content is handled directly by pushing it's content as a new input stream. [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive reference to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any reference to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any reference to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled.

    +
    ctxt:an XML parser context

    Function: xmlParsePI

    void	xmlParsePI			(xmlParserCtxtPtr ctxt)
    +

    parse an XML Processing Instruction. [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>' The processing is transfered to SAX once parsed.

    +
    ctxt:an XML parser context

    Function: xmlParsePITarget

    const xmlChar *	xmlParsePITarget	(xmlParserCtxtPtr ctxt)
    +

    parse the name of a PI [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))

    +
    ctxt:an XML parser context
    Returns:the PITarget name or NULL

    Function: xmlParsePubidLiteral

    xmlChar *	xmlParsePubidLiteral	(xmlParserCtxtPtr ctxt)
    +

    parse an XML public literal [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"

    +
    ctxt:an XML parser context
    Returns:the PubidLiteral parsed or NULL.

    Function: xmlParseQuotedString

    xmlChar *	xmlParseQuotedString	(xmlParserCtxtPtr ctxt)
    +

    Parse and return a string between quotes or doublequotes TODO: Deprecated, to be removed at next drop of binary compatibility

    +
    ctxt:an XML parser context
    Returns:the string parser or NULL.

    Function: xmlParseReference

    void	xmlParseReference		(xmlParserCtxtPtr ctxt)
    +

    parse and handle entity references in content, depending on the SAX interface, this may end-up in a call to character() if this is a CharRef, a predefined entity, if there is no reference() callback. or if the parser was asked to switch to that mode. [67] Reference ::= EntityRef | CharRef

    +
    ctxt:an XML parser context

    Function: xmlParseSDDecl

    int	xmlParseSDDecl			(xmlParserCtxtPtr ctxt)
    +

    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.

    +
    ctxt:an XML parser context
    Returns:1 if standalone, 0 otherwise

    Function: xmlParseStartTag

    const xmlChar *	xmlParseStartTag	(xmlParserCtxtPtr ctxt)
    +

    parse a start of tag either for rule element or EmptyElement. In both case we don't parse the tag closing chars. [40] STag ::= '<' Name (S Attribute)* S? '>' [ WFC: Unique Att Spec ] No attribute name may appear more than once in the same start-tag or empty-element tag. [44] EmptyElemTag ::= '<' Name (S Attribute)* S? '/>' [ WFC: Unique Att Spec ] No attribute name may appear more than once in the same start-tag or empty-element tag. With namespace: [NS 8] STag ::= '<' QName (S Attribute)* S? '>' [NS 10] EmptyElement ::= '<' QName (S Attribute)* S? '/>'

    +
    ctxt:an XML parser context
    Returns:the element name parsed

    Function: xmlParseSystemLiteral

    xmlChar *	xmlParseSystemLiteral	(xmlParserCtxtPtr ctxt)
    +

    parse an XML Literal [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")

    +
    ctxt:an XML parser context
    Returns:the SystemLiteral parsed or NULL

    Function: xmlParseTextDecl

    void	xmlParseTextDecl		(xmlParserCtxtPtr ctxt)
    +

    parse an XML declaration header for external entities [77] TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>' Question: Seems that EncodingDecl is mandatory ? Is that a typo ?

    +
    ctxt:an XML parser context

    Function: xmlParseVersionInfo

    xmlChar *	xmlParseVersionInfo	(xmlParserCtxtPtr ctxt)
    +

    parse the XML version. [24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ") [25] Eq ::= S? '=' S?

    +
    ctxt:an XML parser context
    Returns:the version string, e.g. "1.0"

    Function: xmlParseVersionNum

    xmlChar *	xmlParseVersionNum	(xmlParserCtxtPtr ctxt)
    +

    parse the XML version value. [26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')+

    +
    ctxt:an XML parser context
    Returns:the string giving the XML version number, or NULL

    Function: xmlParseXMLDecl

    void	xmlParseXMLDecl			(xmlParserCtxtPtr ctxt)
    +

    parse an XML declaration header [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'

    +
    ctxt:an XML parser context

    Function: xmlParserHandlePEReference

    void	xmlParserHandlePEReference	(xmlParserCtxtPtr ctxt)
    +

    [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive reference to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any reference to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any reference to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled. A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc i.e. - Included in literal in entity values - Included as Parameter Entity reference within DTDs

    +
    ctxt:the parser context

    Function: xmlParserHandleReference

    void	xmlParserHandleReference	(xmlParserCtxtPtr ctxt)
    +

    TODO: Remove, now deprecated ... the test is done directly in the content parsing routines. [67] Reference ::= EntityRef | CharRef [68] EntityRef ::= '&' Name ';' [ WFC: Entity Declared ] the Name given in the entity reference must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. [ WFC: Parsed Entity ] An entity reference must not contain the name of an unparsed entity [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-xml#entproc

    +
    ctxt:the parser context

    Function: xmlParserInputShrink

    void	xmlParserInputShrink		(xmlParserInputPtr in)
    +

    This function removes used input for the parser.

    +
    in:an XML parser input

    Function: xmlPopInput

    xmlChar	xmlPopInput			(xmlParserCtxtPtr ctxt)
    +

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

    +
    ctxt:an XML parser context
    Returns:the current xmlChar in the parser context

    Function: xmlPushInput

    void	xmlPushInput			(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr input)
    +

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

    +
    ctxt:an XML parser context
    input:an XML parser input fragment (entity, XML fragment ...).

    Function: xmlScanName

    xmlChar *	xmlScanName		(xmlParserCtxtPtr ctxt)
    +

    Trickery: parse an XML name but without consuming the input flow Needed for rollback cases. Used only when parsing entities references. TODO: seems deprecated now, only used in the default part of xmlParserHandleReference [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (S Name)*

    +
    ctxt:an XML parser context
    Returns:the Name parsed or NULL

    Function: xmlSetEntityReferenceFunc

    void	xmlSetEntityReferenceFunc	(xmlEntityReferenceFunc func)
    +

    Set the function to call call back when a xml reference has been made

    +
    func:A valid function

    Function: xmlSkipBlankChars

    int	xmlSkipBlankChars		(xmlParserCtxtPtr ctxt)
    +

    skip all blanks character found at that point in the input streams. It pops up finished entities in the process if allowable at that point.

    +
    ctxt:the XML parser context
    Returns:the number of space chars skipped

    Function: xmlSplitQName

    xmlChar *	xmlSplitQName		(xmlParserCtxtPtr ctxt, 
    const xmlChar * name,
    xmlChar ** prefix)
    +

    parse an UTF8 encoded XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName

    +
    ctxt:an XML parser context
    name:an XML parser context
    prefix:a xmlChar **
    Returns:the local part, and prefix is updated to get the Prefix if any.

    Function: xmlStringCurrentChar

    int	xmlStringCurrentChar		(xmlParserCtxtPtr ctxt, 
    const xmlChar * cur,
    int * len)
    +

    The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer.

    +
    ctxt:the XML parser context
    cur:pointer to the beginning of the char
    len:pointer to the length of the char read
    Returns:the current char value and its length

    Function: xmlStringDecodeEntities

    xmlChar *	xmlStringDecodeEntities	(xmlParserCtxtPtr ctxt, 
    const xmlChar * str,
    int what,
    xmlChar end,
    xmlChar end2,
    xmlChar end3)
    +

    Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'

    +
    ctxt:the parser context
    str:the input string
    what:combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
    end:an end marker xmlChar, 0 if none
    end2:an end marker xmlChar, 0 if none
    end3:an end marker xmlChar, 0 if none
    Returns:A newly allocated string with the substitution done. The caller must deallocate it !

    Function: xmlStringLenDecodeEntities

    xmlChar *	xmlStringLenDecodeEntities	(xmlParserCtxtPtr ctxt, 
    const xmlChar * str,
    int len,
    int what,
    xmlChar end,
    xmlChar end2,
    xmlChar end3)
    +

    Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'

    +
    ctxt:the parser context
    str:the input string
    len:the string length
    what:combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
    end:an end marker xmlChar, 0 if none
    end2:an end marker xmlChar, 0 if none
    end3:an end marker xmlChar, 0 if none
    Returns:A newly allocated string with the substitution done. The caller must deallocate it !

    Function: xmlSwitchEncoding

    int	xmlSwitchEncoding		(xmlParserCtxtPtr ctxt, 
    xmlCharEncoding enc)
    +

    change the input functions when discovering the character encoding of a given entity.

    +
    ctxt:the parser context
    enc:the encoding value (number)
    Returns:0 in case of success, -1 otherwise

    Function: xmlSwitchInputEncoding

    int	xmlSwitchInputEncoding		(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr input,
    xmlCharEncodingHandlerPtr handler)
    +

    change the input functions when discovering the character encoding of a given entity.

    +
    ctxt:the parser context
    input:the input stream
    handler:the encoding handler
    Returns:0 in case of success, -1 otherwise

    Function: xmlSwitchToEncoding

    int	xmlSwitchToEncoding		(xmlParserCtxtPtr ctxt, 
    xmlCharEncodingHandlerPtr handler)
    +

    change the input functions when discovering the character encoding of a given entity.

    +
    ctxt:the parser context
    handler:the encoding handler
    Returns:0 in case of success, -1 otherwise

    Daniel Veillard

    diff --git a/doc/html/libxml-pattern.html b/doc/html/libxml-pattern.html new file mode 100644 index 0000000..6c06a93 --- /dev/null +++ b/doc/html/libxml-pattern.html @@ -0,0 +1,31 @@ + + +Module pattern from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module pattern from libxml2

    API Menu
    API Indexes
    Related links

    allows to compile and test pattern expressions for nodes either in a tree or based on a parser state.

    Table of Contents

    Structure xmlPattern
    struct _xmlPattern +The content of this structure is not made public by the API. +
    Typedef xmlPattern * xmlPatternPtr
    +
    void	xmlFreePattern			(xmlPatternPtr comp)
    +
    void	xmlFreePatternList		(xmlPatternPtr comp)
    +
    int	xmlPatternMatch			(xmlPatternPtr comp, 
    xmlNodePtr node)
    +
    xmlPatternPtr	xmlPatterncompile	(const xmlChar * pattern, 
    xmlDict * dict,
    int flags,
    const xmlChar ** namespaces)
    +

    Description

    +

    Structure xmlPattern

    Structure xmlPattern
    struct _xmlPattern { +The content of this structure is not made public by the API. +}

    Function: xmlFreePattern

    void	xmlFreePattern			(xmlPatternPtr comp)
    +

    Free up the memory allocated by @comp

    +
    comp:an XSLT comp

    Function: xmlFreePatternList

    void	xmlFreePatternList		(xmlPatternPtr comp)
    +

    Free up the memory allocated by all the elements of @comp

    +
    comp:an XSLT comp list

    Function: xmlPatternMatch

    int	xmlPatternMatch			(xmlPatternPtr comp, 
    xmlNodePtr node)
    +

    Test wether the node matches the pattern

    +
    comp:the precompiled pattern
    node:a node
    Returns:1 if it matches, 0 if it doesn't and -1 in case of failure

    Function: xmlPatterncompile

    xmlPatternPtr	xmlPatterncompile	(const xmlChar * pattern, 
    xmlDict * dict,
    int flags,
    const xmlChar ** namespaces)
    +

    Compile a pattern.

    +
    pattern:the pattern to compile
    dict:an optional dictionnary for interned strings
    flags:compilation flags, undefined yet
    namespaces:the prefix definitions, array of [URI, prefix] or NULL
    Returns:the compiled for of the pattern or NULL in case of error

    Daniel Veillard

    diff --git a/doc/html/libxml-relaxng.html b/doc/html/libxml-relaxng.html new file mode 100644 index 0000000..7644e44 --- /dev/null +++ b/doc/html/libxml-relaxng.html @@ -0,0 +1,153 @@ + + +Module relaxng from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module relaxng from libxml2

    API Menu
    API Indexes
    Related links

    implementation of the Relax-NG validation

    Table of Contents

    Structure xmlRelaxNG
    struct _xmlRelaxNG +The content of this structure is not made public by the API. +
    Structure xmlRelaxNGParserCtxt
    struct _xmlRelaxNGParserCtxt +The content of this structure is not made public by the API. +
    Typedef xmlRelaxNGParserCtxt * xmlRelaxNGParserCtxtPtr
    +
    Enum xmlRelaxNGParserFlag
    +
    Typedef xmlRelaxNG * xmlRelaxNGPtr
    +
    Structure xmlRelaxNGValidCtxt
    struct _xmlRelaxNGValidCtxt +The content of this structure is not made public by the API. +
    Typedef xmlRelaxNGValidCtxt * xmlRelaxNGValidCtxtPtr
    +
    Enum xmlRelaxNGValidErr
    +
    void	xmlRelaxNGCleanupTypes		(void)
    +
    void	xmlRelaxNGDump			(FILE * output, 
    xmlRelaxNGPtr schema)
    +
    void	xmlRelaxNGDumpTree		(FILE * output, 
    xmlRelaxNGPtr schema)
    +
    void	xmlRelaxNGFree			(xmlRelaxNGPtr schema)
    +
    void	xmlRelaxNGFreeParserCtxt	(xmlRelaxNGParserCtxtPtr ctxt)
    +
    void	xmlRelaxNGFreeValidCtxt		(xmlRelaxNGValidCtxtPtr ctxt)
    +
    int	xmlRelaxNGGetParserErrors	(xmlRelaxNGParserCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc * err,
    xmlRelaxNGValidityWarningFunc * warn,
    void ** ctx)
    +
    int	xmlRelaxNGGetValidErrors	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc * err,
    xmlRelaxNGValidityWarningFunc * warn,
    void ** ctx)
    +
    xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewDocParserCtxt	(xmlDocPtr doc)
    +
    xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewMemParserCtxt	(const char * buffer, 
    int size)
    +
    xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewParserCtxt	(const char * URL)
    +
    xmlRelaxNGValidCtxtPtr	xmlRelaxNGNewValidCtxt	(xmlRelaxNGPtr schema)
    +
    xmlRelaxNGPtr	xmlRelaxNGParse		(xmlRelaxNGParserCtxtPtr ctxt)
    +
    void	xmlRelaxNGSetParserErrors	(xmlRelaxNGParserCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc err,
    xmlRelaxNGValidityWarningFunc warn,
    void * ctx)
    +
    void	xmlRelaxNGSetValidErrors	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc err,
    xmlRelaxNGValidityWarningFunc warn,
    void * ctx)
    +
    int	xmlRelaxNGValidateDoc		(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    +
    int	xmlRelaxNGValidateFullElement	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    +
    int	xmlRelaxNGValidatePopElement	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    +
    int	xmlRelaxNGValidatePushCData	(xmlRelaxNGValidCtxtPtr ctxt, 
    const xmlChar * data,
    int len)
    +
    int	xmlRelaxNGValidatePushElement	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    +
    Function type: xmlRelaxNGValidityErrorFunc
    +void	xmlRelaxNGValidityErrorFunc	(void * ctx, 
    const char * msg,
    ... ...) +
    +
    Function type: xmlRelaxNGValidityWarningFunc
    +void	xmlRelaxNGValidityWarningFunc	(void * ctx, 
    const char * msg,
    ... ...) +
    +
    int	xmlRelaxParserSetFlag		(xmlRelaxNGParserCtxtPtr ctxt, 
    int flags)
    +

    Description

    +

    Structure xmlRelaxNG

    Structure xmlRelaxNG
    struct _xmlRelaxNG { +The content of this structure is not made public by the API. +}

    Structure xmlRelaxNGParserCtxt

    Structure xmlRelaxNGParserCtxt
    struct _xmlRelaxNGParserCtxt { +The content of this structure is not made public by the API. +}

    Enum xmlRelaxNGParserFlag

    Enum xmlRelaxNGParserFlag {
    +    XML_RELAXNGP_NONE = 0
    +    XML_RELAXNGP_FREE_DOC = 1
    +    XML_RELAXNGP_CRNG = 2
    +}
    +

    Structure xmlRelaxNGValidCtxt

    Structure xmlRelaxNGValidCtxt
    struct _xmlRelaxNGValidCtxt { +The content of this structure is not made public by the API. +}

    Enum xmlRelaxNGValidErr

    Enum xmlRelaxNGValidErr {
    +    XML_RELAXNG_OK = 0
    +    XML_RELAXNG_ERR_MEMORY = 1
    +    XML_RELAXNG_ERR_TYPE = 2
    +    XML_RELAXNG_ERR_TYPEVAL = 3
    +    XML_RELAXNG_ERR_DUPID = 4
    +    XML_RELAXNG_ERR_TYPECMP = 5
    +    XML_RELAXNG_ERR_NOSTATE = 6
    +    XML_RELAXNG_ERR_NODEFINE = 7
    +    XML_RELAXNG_ERR_LISTEXTRA = 8
    +    XML_RELAXNG_ERR_LISTEMPTY = 9
    +    XML_RELAXNG_ERR_INTERNODATA = 10
    +    XML_RELAXNG_ERR_INTERSEQ = 11
    +    XML_RELAXNG_ERR_INTEREXTRA = 12
    +    XML_RELAXNG_ERR_ELEMNAME = 13
    +    XML_RELAXNG_ERR_ATTRNAME = 14
    +    XML_RELAXNG_ERR_ELEMNONS = 15
    +    XML_RELAXNG_ERR_ATTRNONS = 16
    +    XML_RELAXNG_ERR_ELEMWRONGNS = 17
    +    XML_RELAXNG_ERR_ATTRWRONGNS = 18
    +    XML_RELAXNG_ERR_ELEMEXTRANS = 19
    +    XML_RELAXNG_ERR_ATTREXTRANS = 20
    +    XML_RELAXNG_ERR_ELEMNOTEMPTY = 21
    +    XML_RELAXNG_ERR_NOELEM = 22
    +    XML_RELAXNG_ERR_NOTELEM = 23
    +    XML_RELAXNG_ERR_ATTRVALID = 24
    +    XML_RELAXNG_ERR_CONTENTVALID = 25
    +    XML_RELAXNG_ERR_EXTRACONTENT = 26
    +    XML_RELAXNG_ERR_INVALIDATTR = 27
    +    XML_RELAXNG_ERR_DATAELEM = 28
    +    XML_RELAXNG_ERR_VALELEM = 29
    +    XML_RELAXNG_ERR_LISTELEM = 30
    +    XML_RELAXNG_ERR_DATATYPE = 31
    +    XML_RELAXNG_ERR_VALUE = 32
    +    XML_RELAXNG_ERR_LIST = 33
    +    XML_RELAXNG_ERR_NOGRAMMAR = 34
    +    XML_RELAXNG_ERR_EXTRADATA = 35
    +    XML_RELAXNG_ERR_LACKDATA = 36
    +    XML_RELAXNG_ERR_INTERNAL = 37
    +    XML_RELAXNG_ERR_ELEMWRONG = 38
    +    XML_RELAXNG_ERR_TEXTWRONG = 39
    +}
    +

    Function: xmlRelaxNGCleanupTypes

    void	xmlRelaxNGCleanupTypes		(void)
    +

    Cleanup the default Schemas type library associated to RelaxNG

    +

    Function: xmlRelaxNGDump

    void	xmlRelaxNGDump			(FILE * output, 
    xmlRelaxNGPtr schema)
    +

    Dump a RelaxNG structure back

    +
    output:the file output
    schema:a schema structure

    Function: xmlRelaxNGDumpTree

    void	xmlRelaxNGDumpTree		(FILE * output, 
    xmlRelaxNGPtr schema)
    +

    Dump the transformed RelaxNG tree.

    +
    output:the file output
    schema:a schema structure

    Function: xmlRelaxNGFree

    void	xmlRelaxNGFree			(xmlRelaxNGPtr schema)
    +

    Deallocate a RelaxNG structure.

    +
    schema:a schema structure

    Function: xmlRelaxNGFreeParserCtxt

    void	xmlRelaxNGFreeParserCtxt	(xmlRelaxNGParserCtxtPtr ctxt)
    +

    Free the resources associated to the schema parser context

    +
    ctxt:the schema parser context

    Function: xmlRelaxNGFreeValidCtxt

    void	xmlRelaxNGFreeValidCtxt		(xmlRelaxNGValidCtxtPtr ctxt)
    +

    Free the resources associated to the schema validation context

    +
    ctxt:the schema validation context

    Function: xmlRelaxNGGetParserErrors

    int	xmlRelaxNGGetParserErrors	(xmlRelaxNGParserCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc * err,
    xmlRelaxNGValidityWarningFunc * warn,
    void ** ctx)
    +

    Get the callback information used to handle errors for a validation context

    +
    ctxt:a Relax-NG validation context
    err:the error callback result
    warn:the warning callback result
    ctx:contextual data for the callbacks result
    Returns:-1 in case of failure, 0 otherwise.

    Function: xmlRelaxNGGetValidErrors

    int	xmlRelaxNGGetValidErrors	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc * err,
    xmlRelaxNGValidityWarningFunc * warn,
    void ** ctx)
    +

    Get the error and warning callback informations

    +
    ctxt:a Relax-NG validation context
    err:the error function result
    warn:the warning function result
    ctx:the functions context result
    Returns:-1 in case of error and 0 otherwise

    Function: xmlRelaxNGNewDocParserCtxt

    xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewDocParserCtxt	(xmlDocPtr doc)
    +

    Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG schemas modifies the document, the @doc parameter is duplicated internally.

    +
    doc:a preparsed document tree
    Returns:the parser context or NULL in case of error

    Function: xmlRelaxNGNewMemParserCtxt

    xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewMemParserCtxt	(const char * buffer, 
    int size)
    +

    Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs file.

    +
    buffer:a pointer to a char array containing the schemas
    size:the size of the array
    Returns:the parser context or NULL in case of error

    Function: xmlRelaxNGNewParserCtxt

    xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewParserCtxt	(const char * URL)
    +

    Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs file.

    +
    URL:the location of the schema
    Returns:the parser context or NULL in case of error

    Function: xmlRelaxNGNewValidCtxt

    xmlRelaxNGValidCtxtPtr	xmlRelaxNGNewValidCtxt	(xmlRelaxNGPtr schema)
    +

    Create an XML RelaxNGs validation context based on the given schema

    +
    schema:a precompiled XML RelaxNGs
    Returns:the validation context or NULL in case of error

    Function: xmlRelaxNGParse

    xmlRelaxNGPtr	xmlRelaxNGParse		(xmlRelaxNGParserCtxtPtr ctxt)
    +

    parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances. *WARNING* this interface is highly subject to change

    +
    ctxt:a Relax-NG parser context
    Returns:the internal XML RelaxNG structure built from the resource or NULL in case of error

    Function: xmlRelaxNGSetParserErrors

    void	xmlRelaxNGSetParserErrors	(xmlRelaxNGParserCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc err,
    xmlRelaxNGValidityWarningFunc warn,
    void * ctx)
    +

    Set the callback functions used to handle errors for a validation context

    +
    ctxt:a Relax-NG validation context
    err:the error callback
    warn:the warning callback
    ctx:contextual data for the callbacks

    Function: xmlRelaxNGSetValidErrors

    void	xmlRelaxNGSetValidErrors	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlRelaxNGValidityErrorFunc err,
    xmlRelaxNGValidityWarningFunc warn,
    void * ctx)
    +

    Set the error and warning callback informations

    +
    ctxt:a Relax-NG validation context
    err:the error function
    warn:the warning function
    ctx:the functions context

    Function: xmlRelaxNGValidateDoc

    int	xmlRelaxNGValidateDoc		(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    +

    Validate a document tree in memory.

    +
    ctxt:a Relax-NG validation context
    doc:a parsed document tree
    Returns:0 if the document is valid, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlRelaxNGValidateFullElement

    int	xmlRelaxNGValidateFullElement	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    +

    Validate a full subtree when xmlRelaxNGValidatePushElement() returned 0 and the content of the node has been expanded.

    +
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    Returns:1 if no validation problem was found or -1 in case of error.

    Function: xmlRelaxNGValidatePopElement

    int	xmlRelaxNGValidatePopElement	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    +

    Pop the element end from the RelaxNG validation stack.

    +
    ctxt:the RelaxNG validation context
    doc:a document instance
    elem:an element instance
    Returns:1 if no validation problem was found or 0 otherwise

    Function: xmlRelaxNGValidatePushCData

    int	xmlRelaxNGValidatePushCData	(xmlRelaxNGValidCtxtPtr ctxt, 
    const xmlChar * data,
    int len)
    +

    check the CData parsed for validation in the current stack

    +
    ctxt:the RelaxNG validation context
    data:some character data read
    len:the lenght of the data
    Returns:1 if no validation problem was found or -1 otherwise

    Function: xmlRelaxNGValidatePushElement

    int	xmlRelaxNGValidatePushElement	(xmlRelaxNGValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    +

    Push a new element start on the RelaxNG validation stack.

    +
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    Returns:1 if no validation problem was found or 0 if validating the element requires a full node, and -1 in case of error.

    Function type: xmlRelaxNGValidityErrorFunc

    Function type: xmlRelaxNGValidityErrorFunc
    +void	xmlRelaxNGValidityErrorFunc	(void * ctx, 
    const char * msg,
    ... ...) +

    ctx:
    msg:
    ...:

    +

    Function type: xmlRelaxNGValidityWarningFunc

    Function type: xmlRelaxNGValidityWarningFunc
    +void	xmlRelaxNGValidityWarningFunc	(void * ctx, 
    const char * msg,
    ... ...) +

    ctx:
    msg:
    ...:

    +

    Function: xmlRelaxParserSetFlag

    int	xmlRelaxParserSetFlag		(xmlRelaxNGParserCtxtPtr ctxt, 
    int flags)
    +

    Semi private function used to pass informations to a parser context which are a combination of xmlRelaxNGParserFlag .

    +
    ctxt:a RelaxNG parser context
    flags:a set of flags values
    Returns:0 if success and -1 in case of error

    Daniel Veillard

    diff --git a/doc/html/libxml-schemasInternals.html b/doc/html/libxml-schemasInternals.html new file mode 100644 index 0000000..096373e --- /dev/null +++ b/doc/html/libxml-schemasInternals.html @@ -0,0 +1,191 @@ + + +Module schemasInternals from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module schemasInternals from libxml2

    API Menu
    API Indexes
    Related links

    internal interfaces for the XML Schemas handling and schema validity checking

    Table of Contents

    #define XML_SCHEMAS_ANYATTR_LAX
    #define XML_SCHEMAS_ANYATTR_SKIP
    #define XML_SCHEMAS_ANYATTR_STRICT
    #define XML_SCHEMAS_ATTR_NSDEFAULT
    #define XML_SCHEMAS_ELEM_ABSTRACT
    #define XML_SCHEMAS_ELEM_DEFAULT
    #define XML_SCHEMAS_ELEM_FIXED
    #define XML_SCHEMAS_ELEM_GLOBAL
    #define XML_SCHEMAS_ELEM_NILLABLE
    #define XML_SCHEMAS_ELEM_NSDEFAULT
    #define XML_SCHEMAS_ELEM_REF
    #define XML_SCHEMAS_ELEM_TOPLEVEL
    #define XML_SCHEMAS_FACET_COLLAPSE
    #define XML_SCHEMAS_FACET_PRESERVE
    #define XML_SCHEMAS_FACET_REPLACE
    #define XML_SCHEMAS_FACET_UNKNOWN
    #define XML_SCHEMAS_QUALIF_ATTR
    #define XML_SCHEMAS_QUALIF_ELEM
    #define XML_SCHEMAS_TYPE_MIXED
    Structure xmlSchemaAnnot
    struct _xmlSchemaAnnot +
    Typedef xmlSchemaAnnot * xmlSchemaAnnotPtr
    +
    Structure xmlSchemaAttribute
    struct _xmlSchemaAttribute +
    Structure xmlSchemaAttributeGroup
    struct _xmlSchemaAttributeGroup +
    Typedef xmlSchemaAttributeGroup * xmlSchemaAttributeGroupPtr
    +
    Typedef xmlSchemaAttribute * xmlSchemaAttributePtr
    +
    Enum xmlSchemaContentType
    +
    Structure xmlSchemaElement
    struct _xmlSchemaElement +
    Typedef xmlSchemaElement * xmlSchemaElementPtr
    +
    Structure xmlSchemaFacet
    struct _xmlSchemaFacet +
    Typedef xmlSchemaFacet * xmlSchemaFacetPtr
    +
    Structure xmlSchemaNotation
    struct _xmlSchemaNotation +
    Typedef xmlSchemaNotation * xmlSchemaNotationPtr
    +
    Structure xmlSchemaType
    struct _xmlSchemaType +
    Typedef xmlSchemaType * xmlSchemaTypePtr
    +
    Enum xmlSchemaTypeType
    +
    Structure xmlSchemaVal
    struct _xmlSchemaVal +The content of this structure is not made public by the API. +
    Typedef xmlSchemaVal * xmlSchemaValPtr
    +
    void	xmlSchemaFreeType		(xmlSchemaTypePtr type)
    +

    Description

    +

    Macro: XML_SCHEMAS_ANYATTR_LAX

    #define XML_SCHEMAS_ANYATTR_LAX

    Ignore validation non definition on attributes

    +

    Macro: XML_SCHEMAS_ANYATTR_SKIP

    #define XML_SCHEMAS_ANYATTR_SKIP

    Skip unknown attribute from validation

    +

    Macro: XML_SCHEMAS_ANYATTR_STRICT

    #define XML_SCHEMAS_ANYATTR_STRICT

    Apply strict validation rules on attributes

    +

    Macro: XML_SCHEMAS_ATTR_NSDEFAULT

    #define XML_SCHEMAS_ATTR_NSDEFAULT

    allow elements in no namespace

    +

    Macro: XML_SCHEMAS_ELEM_ABSTRACT

    #define XML_SCHEMAS_ELEM_ABSTRACT

    the element is abstract

    +

    Macro: XML_SCHEMAS_ELEM_DEFAULT

    #define XML_SCHEMAS_ELEM_DEFAULT

    the element has a default value

    +

    Macro: XML_SCHEMAS_ELEM_FIXED

    #define XML_SCHEMAS_ELEM_FIXED

    the element has a fixed value

    +

    Macro: XML_SCHEMAS_ELEM_GLOBAL

    #define XML_SCHEMAS_ELEM_GLOBAL

    the element is global

    +

    Macro: XML_SCHEMAS_ELEM_NILLABLE

    #define XML_SCHEMAS_ELEM_NILLABLE

    the element is nillable

    +

    Macro: XML_SCHEMAS_ELEM_NSDEFAULT

    #define XML_SCHEMAS_ELEM_NSDEFAULT

    allow elements in no namespace

    +

    Macro: XML_SCHEMAS_ELEM_REF

    #define XML_SCHEMAS_ELEM_REF

    the element is a reference to a type

    +

    Macro: XML_SCHEMAS_ELEM_TOPLEVEL

    #define XML_SCHEMAS_ELEM_TOPLEVEL

    the element is top level

    +

    Macro: XML_SCHEMAS_FACET_COLLAPSE

    #define XML_SCHEMAS_FACET_COLLAPSE

    collapse the types of the facet

    +

    Macro: XML_SCHEMAS_FACET_PRESERVE

    #define XML_SCHEMAS_FACET_PRESERVE

    preserve the type of the facet

    +

    Macro: XML_SCHEMAS_FACET_REPLACE

    #define XML_SCHEMAS_FACET_REPLACE

    replace the type of the facet

    +

    Macro: XML_SCHEMAS_FACET_UNKNOWN

    #define XML_SCHEMAS_FACET_UNKNOWN

    unknown facet handling

    +

    Macro: XML_SCHEMAS_QUALIF_ATTR

    #define XML_SCHEMAS_QUALIF_ATTR

    the shemas requires qualified attributes

    +

    Macro: XML_SCHEMAS_QUALIF_ELEM

    #define XML_SCHEMAS_QUALIF_ELEM

    the shemas requires qualified elements

    +

    Macro: XML_SCHEMAS_TYPE_MIXED

    #define XML_SCHEMAS_TYPE_MIXED

    the element content type is mixed

    +

    Structure xmlSchemaAnnot

    Structure xmlSchemaAnnot
    struct _xmlSchemaAnnot { + struct _xmlSchemaAnnot * next + xmlNodePtr content : the annotation +}

    Structure xmlSchemaAttribute

    Structure xmlSchemaAttribute
    struct _xmlSchemaAttribute { + xmlSchemaTypeType type : The kind of type + struct _xmlSchemaAttribute * next : the next attribute if in a group ... + const xmlChar * name + const xmlChar * id + const xmlChar * ref + const xmlChar * refNs + const xmlChar * typeName + const xmlChar * typeNs + xmlSchemaAnnotPtr annot + xmlSchemaTypePtr base + int occurs + const xmlChar * defValue + xmlSchemaTypePtr subtypes + xmlNodePtr node + const xmlChar * targetNamespace + int flags +}

    Structure xmlSchemaAttributeGroup

    Structure xmlSchemaAttributeGroup
    struct _xmlSchemaAttributeGroup { + xmlSchemaTypeType type : The kind of type + struct _xmlSchemaAttribute * next : the next attribute if in a group ... + const xmlChar * name + const xmlChar * id + const xmlChar * ref + const xmlChar * refNs + xmlSchemaAnnotPtr annot + xmlSchemaAttributePtr attributes + xmlNodePtr node +}

    Enum xmlSchemaContentType

    Enum xmlSchemaContentType {
    +    XML_SCHEMA_CONTENT_UNKNOWN = 0
    +    XML_SCHEMA_CONTENT_EMPTY = 1
    +    XML_SCHEMA_CONTENT_ELEMENTS = 2
    +    XML_SCHEMA_CONTENT_MIXED = 3
    +    XML_SCHEMA_CONTENT_SIMPLE = 4
    +    XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS = 5
    +    XML_SCHEMA_CONTENT_BASIC = 6
    +    XML_SCHEMA_CONTENT_ANY = 7
    +}
    +

    Structure xmlSchemaElement

    Structure xmlSchemaElement
    struct _xmlSchemaElement { + xmlSchemaTypeType type : The kind of type + struct _xmlSchemaType * next : the next type if in a sequence ... + const xmlChar * name + const xmlChar * id + const xmlChar * ref + const xmlChar * refNs + xmlSchemaAnnotPtr annot + xmlSchemaTypePtr subtypes + xmlSchemaAttributePtr attributes + xmlNodePtr node + int minOccurs + int maxOccurs + int flags + const xmlChar * targetNamespace + const xmlChar * namedType + const xmlChar * namedTypeNs + const xmlChar * substGroup + const xmlChar * substGroupNs + const xmlChar * scope + const xmlChar * value + struct _xmlSchemaElement * refDecl + xmlRegexpPtr contModel + xmlSchemaContentType contentType +}

    Structure xmlSchemaFacet

    Structure xmlSchemaFacet
    struct _xmlSchemaFacet { + xmlSchemaTypeType type : The kind of type + struct _xmlSchemaFacet * next : the next type if in a sequence ... + const xmlChar * value + const xmlChar * id + xmlSchemaAnnotPtr annot + xmlNodePtr node + int fixed + int whitespace + xmlSchemaValPtr val + xmlRegexpPtr regexp +}

    Structure xmlSchemaNotation

    Structure xmlSchemaNotation
    struct _xmlSchemaNotation { + xmlSchemaTypeType type : The kind of type + const xmlChar * name + xmlSchemaAnnotPtr annot + const xmlChar * identifier +}

    Structure xmlSchemaType

    Structure xmlSchemaType
    struct _xmlSchemaType { + xmlSchemaTypeType type : The kind of type + struct _xmlSchemaType * next : the next type if in a sequence ... + const xmlChar * name + const xmlChar * id + const xmlChar * ref + const xmlChar * refNs + xmlSchemaAnnotPtr annot + xmlSchemaTypePtr subtypes + xmlSchemaAttributePtr attributes + xmlNodePtr node + int minOccurs + int maxOccurs + int flags + xmlSchemaContentType contentType + const xmlChar * base + const xmlChar * baseNs + xmlSchemaTypePtr baseType + xmlSchemaFacetPtr facets + struct _xmlSchemaType * redef : possible redefinitions for the type +}

    Enum xmlSchemaTypeType

    Enum xmlSchemaTypeType {
    +    XML_SCHEMA_TYPE_BASIC = 1
    +    XML_SCHEMA_TYPE_ANY = 2
    +    XML_SCHEMA_TYPE_FACET = 3
    +    XML_SCHEMA_TYPE_SIMPLE = 4
    +    XML_SCHEMA_TYPE_COMPLEX = 5
    +    XML_SCHEMA_TYPE_SEQUENCE = 6
    +    XML_SCHEMA_TYPE_CHOICE = 7
    +    XML_SCHEMA_TYPE_ALL = 8
    +    XML_SCHEMA_TYPE_SIMPLE_CONTENT = 9
    +    XML_SCHEMA_TYPE_COMPLEX_CONTENT = 10
    +    XML_SCHEMA_TYPE_UR = 11
    +    XML_SCHEMA_TYPE_RESTRICTION = 12
    +    XML_SCHEMA_TYPE_EXTENSION = 13
    +    XML_SCHEMA_TYPE_ELEMENT = 14
    +    XML_SCHEMA_TYPE_ATTRIBUTE = 15
    +    XML_SCHEMA_TYPE_ATTRIBUTEGROUP = 16
    +    XML_SCHEMA_TYPE_GROUP = 17
    +    XML_SCHEMA_TYPE_NOTATION = 18
    +    XML_SCHEMA_TYPE_LIST = 19
    +    XML_SCHEMA_TYPE_UNION = 20
    +    XML_SCHEMA_FACET_MININCLUSIVE = 1000
    +    XML_SCHEMA_FACET_MINEXCLUSIVE = 1001
    +    XML_SCHEMA_FACET_MAXINCLUSIVE = 1002
    +    XML_SCHEMA_FACET_MAXEXCLUSIVE = 1003
    +    XML_SCHEMA_FACET_TOTALDIGITS = 1004
    +    XML_SCHEMA_FACET_FRACTIONDIGITS = 1005
    +    XML_SCHEMA_FACET_PATTERN = 1006
    +    XML_SCHEMA_FACET_ENUMERATION = 1007
    +    XML_SCHEMA_FACET_WHITESPACE = 1008
    +    XML_SCHEMA_FACET_LENGTH = 1009
    +    XML_SCHEMA_FACET_MAXLENGTH = 1010
    +    XML_SCHEMA_FACET_MINLENGTH = 1011
    +}
    +

    Structure xmlSchemaVal

    Structure xmlSchemaVal
    struct _xmlSchemaVal { +The content of this structure is not made public by the API. +}

    Function: xmlSchemaFreeType

    void	xmlSchemaFreeType		(xmlSchemaTypePtr type)
    +

    Deallocate a Schema Type structure.

    +
    type:a schema type structure

    Daniel Veillard

    diff --git a/doc/html/libxml-threads.html b/doc/html/libxml-threads.html new file mode 100644 index 0000000..21baa68 --- /dev/null +++ b/doc/html/libxml-threads.html @@ -0,0 +1,69 @@ + + +Module threads from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module threads from libxml2

    API Menu
    API Indexes
    Related links

    set of generic threading related routines should work with pthreads, Windows native or TLS threads

    Table of Contents

    Structure xmlMutex
    struct _xmlMutex +The content of this structure is not made public by the API. +
    Typedef xmlMutex * xmlMutexPtr
    +
    Structure xmlRMutex
    struct _xmlRMutex +The content of this structure is not made public by the API. +
    Typedef xmlRMutex * xmlRMutexPtr
    +
    void	xmlCleanupThreads		(void)
    +
    void	xmlFreeMutex			(xmlMutexPtr tok)
    +
    void	xmlFreeRMutex			(xmlRMutexPtr tok)
    +
    xmlGlobalStatePtr	xmlGetGlobalState	(void)
    +
    int	xmlGetThreadId			(void)
    +
    void	xmlInitThreads			(void)
    +
    int	xmlIsMainThread			(void)
    +
    void	xmlLockLibrary			(void)
    +
    void	xmlMutexLock			(xmlMutexPtr tok)
    +
    void	xmlMutexUnlock			(xmlMutexPtr tok)
    +
    xmlMutexPtr	xmlNewMutex		(void)
    +
    xmlRMutexPtr	xmlNewRMutex		(void)
    +
    void	xmlRMutexLock			(xmlRMutexPtr tok)
    +
    void	xmlRMutexUnlock			(xmlRMutexPtr tok)
    +
    void	xmlUnlockLibrary		(void)
    +

    Description

    +

    Structure xmlMutex

    Structure xmlMutex
    struct _xmlMutex { +The content of this structure is not made public by the API. +}

    Structure xmlRMutex

    Structure xmlRMutex
    struct _xmlRMutex { +The content of this structure is not made public by the API. +}

    Function: xmlCleanupThreads

    void	xmlCleanupThreads		(void)
    +

    xmlCleanupThreads() is used to to cleanup all the thread related data of the libxml2 library once processing has ended.

    +

    Function: xmlFreeMutex

    void	xmlFreeMutex			(xmlMutexPtr tok)
    +

    xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct.

    +
    tok:the simple mutex

    Function: xmlFreeRMutex

    void	xmlFreeRMutex			(xmlRMutexPtr tok)
    +

    xmlRFreeMutex() is used to reclaim resources associated with a reentrant mutex.

    +
    tok:the reentrant mutex

    Function: xmlGetGlobalState

    xmlGlobalStatePtr	xmlGetGlobalState	(void)
    +

    xmlGetGlobalState() is called to retrieve the global state for a thread.

    +
    Returns:the thread global state or NULL in case of error

    Function: xmlGetThreadId

    int	xmlGetThreadId			(void)
    +

    xmlGetThreadId() find the current thread ID number

    +
    Returns:the current thread ID number

    Function: xmlInitThreads

    void	xmlInitThreads			(void)
    +

    xmlInitThreads() is used to to initialize all the thread related data of the libxml2 library.

    +

    Function: xmlIsMainThread

    int	xmlIsMainThread			(void)
    +

    xmlIsMainThread() check whether the current thread is the main thread.

    +
    Returns:1 if the current thread is the main thread, 0 otherwise

    Function: xmlLockLibrary

    void	xmlLockLibrary			(void)
    +

    xmlLockLibrary() is used to take out a re-entrant lock on the libxml2 library.

    +

    Function: xmlMutexLock

    void	xmlMutexLock			(xmlMutexPtr tok)
    +

    xmlMutexLock() is used to lock a libxml2 token.

    +
    tok:the simple mutex

    Function: xmlMutexUnlock

    void	xmlMutexUnlock			(xmlMutexPtr tok)
    +

    xmlMutexUnlock() is used to unlock a libxml2 token.

    +
    tok:the simple mutex

    Function: xmlNewMutex

    xmlMutexPtr	xmlNewMutex		(void)
    +

    xmlNewMutex() is used to allocate a libxml2 token struct for use in synchronizing access to data.

    +
    Returns:a new simple mutex pointer or NULL in case of error

    Function: xmlNewRMutex

    xmlRMutexPtr	xmlNewRMutex		(void)
    +

    xmlRNewMutex() is used to allocate a reentrant mutex for use in synchronizing access to data. token_r is a re-entrant lock and thus useful for synchronizing access to data structures that may be manipulated in a recursive fashion.

    +
    Returns:the new reentrant mutex pointer or NULL in case of error

    Function: xmlRMutexLock

    void	xmlRMutexLock			(xmlRMutexPtr tok)
    +

    xmlRMutexLock() is used to lock a libxml2 token_r.

    +
    tok:the reentrant mutex

    Function: xmlRMutexUnlock

    void	xmlRMutexUnlock			(xmlRMutexPtr tok)
    +

    xmlRMutexUnlock() is used to unlock a libxml2 token_r.

    +
    tok:the reentrant mutex

    Function: xmlUnlockLibrary

    void	xmlUnlockLibrary		(void)
    +

    xmlUnlockLibrary() is used to release a re-entrant lock on the libxml2 library.

    +

    Daniel Veillard

    diff --git a/doc/html/libxml-tree.html b/doc/html/libxml-tree.html new file mode 100644 index 0000000..b952919 --- /dev/null +++ b/doc/html/libxml-tree.html @@ -0,0 +1,881 @@ + + +Module tree from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module tree from libxml2

    API Menu
    API Indexes
    Related links

    this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree

    Table of Contents

    #define BASE_BUFFER_SIZE
    #define XML_GET_CONTENT
    #define XML_GET_LINE
    #define XML_LOCAL_NAMESPACE
    #define XML_XML_NAMESPACE
    #define xmlChildrenNode
    #define xmlRootNode
    Structure xmlAttr
    struct _xmlAttr +
    Typedef xmlAttr * xmlAttrPtr
    +
    Structure xmlAttribute
    struct _xmlAttribute +
    Enum xmlAttributeDefault
    +
    Typedef xmlAttribute * xmlAttributePtr
    +
    Enum xmlAttributeType
    +
    Structure xmlBuffer
    struct _xmlBuffer +
    Enum xmlBufferAllocationScheme
    +
    Typedef xmlBuffer * xmlBufferPtr
    +
    Structure xmlDoc
    struct _xmlDoc +
    Typedef xmlDoc * xmlDocPtr
    +
    Structure xmlDtd
    struct _xmlDtd +
    Typedef xmlDtd * xmlDtdPtr
    +
    Structure xmlElement
    struct _xmlElement +
    Structure xmlElementContent
    struct _xmlElementContent +
    Enum xmlElementContentOccur
    +
    Typedef xmlElementContent * xmlElementContentPtr
    +
    Enum xmlElementContentType
    +
    Typedef xmlElement * xmlElementPtr
    +
    Enum xmlElementType
    +
    Enum xmlElementTypeVal
    +
    Structure xmlEntity
    struct _xmlEntity +
    Typedef xmlEntity * xmlEntityPtr
    +
    Structure xmlEnumeration
    struct _xmlEnumeration +
    Typedef xmlEnumeration * xmlEnumerationPtr
    +
    Structure xmlID
    struct _xmlID +
    Typedef xmlID * xmlIDPtr
    +
    Structure xmlNode
    struct _xmlNode +
    Typedef xmlNode * xmlNodePtr
    +
    Structure xmlNotation
    struct _xmlNotation +
    Typedef xmlNotation * xmlNotationPtr
    +
    Structure xmlNs
    struct _xmlNs +
    Typedef xmlNs * xmlNsPtr
    +
    Typedef xmlElementType xmlNsType
    +
    Structure xmlOutputBuffer
    struct _xmlOutputBuffer +
    Typedef xmlOutputBuffer * xmlOutputBufferPtr
    +
    Structure xmlParserCtxt
    struct _xmlParserCtxt +
    Typedef xmlParserCtxt * xmlParserCtxtPtr
    +
    Structure xmlParserInput
    struct _xmlParserInput +
    Structure xmlParserInputBuffer
    struct _xmlParserInputBuffer +
    Typedef xmlParserInputBuffer * xmlParserInputBufferPtr
    +
    Typedef xmlParserInput * xmlParserInputPtr
    +
    Structure xmlRef
    struct _xmlRef +
    Typedef xmlRef * xmlRefPtr
    +
    Structure xmlSAXHandler
    struct _xmlSAXHandler +
    Typedef xmlSAXHandler * xmlSAXHandlerPtr
    +
    Structure xmlSAXLocator
    struct _xmlSAXLocator +
    Typedef xmlSAXLocator * xmlSAXLocatorPtr
    +
    xmlNodePtr	xmlAddChild		(xmlNodePtr parent, 
    xmlNodePtr cur)
    +
    xmlNodePtr	xmlAddChildList		(xmlNodePtr parent, 
    xmlNodePtr cur)
    +
    xmlNodePtr	xmlAddNextSibling	(xmlNodePtr cur, 
    xmlNodePtr elem)
    +
    xmlNodePtr	xmlAddPrevSibling	(xmlNodePtr cur, 
    xmlNodePtr elem)
    +
    xmlNodePtr	xmlAddSibling		(xmlNodePtr cur, 
    xmlNodePtr elem)
    +
    void	xmlAttrSerializeTxtContent	(xmlBufferPtr buf, 
    xmlDocPtr doc,
    xmlAttrPtr attr,
    const xmlChar * string)
    +
    void	xmlBufferAdd			(xmlBufferPtr buf, 
    const xmlChar * str,
    int len)
    +
    void	xmlBufferAddHead		(xmlBufferPtr buf, 
    const xmlChar * str,
    int len)
    +
    void	xmlBufferCCat			(xmlBufferPtr buf, 
    const char * str)
    +
    void	xmlBufferCat			(xmlBufferPtr buf, 
    const xmlChar * str)
    +
    const xmlChar *	xmlBufferContent	(const xmlBufferPtr buf)
    +
    xmlBufferPtr	xmlBufferCreate		(void)
    +
    xmlBufferPtr	xmlBufferCreateSize	(size_t size)
    +
    xmlBufferPtr	xmlBufferCreateStatic	(void * mem, 
    size_t size)
    +
    int	xmlBufferDump			(FILE * file, 
    xmlBufferPtr buf)
    +
    void	xmlBufferEmpty			(xmlBufferPtr buf)
    +
    void	xmlBufferFree			(xmlBufferPtr buf)
    +
    int	xmlBufferGrow			(xmlBufferPtr buf, 
    unsigned int len)
    +
    int	xmlBufferLength			(const xmlBufferPtr buf)
    +
    int	xmlBufferResize			(xmlBufferPtr buf, 
    unsigned int size)
    +
    void	xmlBufferSetAllocationScheme	(xmlBufferPtr buf, 
    xmlBufferAllocationScheme scheme)
    +
    int	xmlBufferShrink			(xmlBufferPtr buf, 
    unsigned int len)
    +
    void	xmlBufferWriteCHAR		(xmlBufferPtr buf, 
    const xmlChar * string)
    +
    void	xmlBufferWriteChar		(xmlBufferPtr buf, 
    const char * string)
    +
    void	xmlBufferWriteQuotedString	(xmlBufferPtr buf, 
    const xmlChar * string)
    +
    xmlChar *	xmlBuildQName		(const xmlChar * ncname, 
    const xmlChar * prefix,
    xmlChar * memory,
    int len)
    +
    xmlDocPtr	xmlCopyDoc		(xmlDocPtr doc, 
    int recursive)
    +
    xmlDtdPtr	xmlCopyDtd		(xmlDtdPtr dtd)
    +
    xmlNsPtr	xmlCopyNamespace	(xmlNsPtr cur)
    +
    xmlNsPtr	xmlCopyNamespaceList	(xmlNsPtr cur)
    +
    xmlNodePtr	xmlCopyNode		(const xmlNodePtr node, 
    int extended)
    +
    xmlNodePtr	xmlCopyNodeList		(const xmlNodePtr node)
    +
    xmlAttrPtr	xmlCopyProp		(xmlNodePtr target, 
    xmlAttrPtr cur)
    +
    xmlAttrPtr	xmlCopyPropList		(xmlNodePtr target, 
    xmlAttrPtr cur)
    +
    xmlDtdPtr	xmlCreateIntSubset	(xmlDocPtr doc, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +
    xmlNodePtr	xmlDocCopyNode		(const xmlNodePtr node, 
    xmlDocPtr doc,
    int extended)
    +
    int	xmlDocDump			(FILE * f, 
    xmlDocPtr cur)
    +
    void	xmlDocDumpFormatMemory		(xmlDocPtr cur, 
    xmlChar ** mem,
    int * size,
    int format)
    +
    void	xmlDocDumpFormatMemoryEnc	(xmlDocPtr out_doc, 
    xmlChar ** doc_txt_ptr,
    int * doc_txt_len,
    const char * txt_encoding,
    int format)
    +
    void	xmlDocDumpMemory		(xmlDocPtr cur, 
    xmlChar ** mem,
    int * size)
    +
    void	xmlDocDumpMemoryEnc		(xmlDocPtr out_doc, 
    xmlChar ** doc_txt_ptr,
    int * doc_txt_len,
    const char * txt_encoding)
    +
    int	xmlDocFormatDump		(FILE * f, 
    xmlDocPtr cur,
    int format)
    +
    xmlNodePtr	xmlDocGetRootElement	(xmlDocPtr doc)
    +
    xmlNodePtr	xmlDocSetRootElement	(xmlDocPtr doc, 
    xmlNodePtr root)
    +
    void	xmlElemDump			(FILE * f, 
    xmlDocPtr doc,
    xmlNodePtr cur)
    +
    void	xmlFreeDoc			(xmlDocPtr cur)
    +
    void	xmlFreeDtd			(xmlDtdPtr cur)
    +
    void	xmlFreeNode			(xmlNodePtr cur)
    +
    void	xmlFreeNodeList			(xmlNodePtr cur)
    +
    void	xmlFreeNs			(xmlNsPtr cur)
    +
    void	xmlFreeNsList			(xmlNsPtr cur)
    +
    void	xmlFreeProp			(xmlAttrPtr cur)
    +
    void	xmlFreePropList			(xmlAttrPtr cur)
    +
    xmlBufferAllocationScheme	xmlGetBufferAllocationScheme	(void)
    +
    int	xmlGetCompressMode		(void)
    +
    int	xmlGetDocCompressMode		(xmlDocPtr doc)
    +
    xmlDtdPtr	xmlGetIntSubset		(xmlDocPtr doc)
    +
    xmlNodePtr	xmlGetLastChild		(xmlNodePtr parent)
    +
    long	xmlGetLineNo			(xmlNodePtr node)
    +
    xmlChar *	xmlGetNoNsProp		(xmlNodePtr node, 
    const xmlChar * name)
    +
    xmlChar *	xmlGetNodePath		(xmlNodePtr node)
    +
    xmlNsPtr *	xmlGetNsList		(xmlDocPtr doc, 
    xmlNodePtr node)
    +
    xmlChar *	xmlGetNsProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * nameSpace)
    +
    xmlChar *	xmlGetProp		(xmlNodePtr node, 
    const xmlChar * name)
    +
    xmlAttrPtr	xmlHasNsProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * nameSpace)
    +
    xmlAttrPtr	xmlHasProp		(xmlNodePtr node, 
    const xmlChar * name)
    +
    int	xmlIsBlankNode			(xmlNodePtr node)
    +
    int	xmlIsXHTML			(const xmlChar * systemID, 
    const xmlChar * publicID)
    +
    xmlNodePtr	xmlNewCDataBlock	(xmlDocPtr doc, 
    const xmlChar * content,
    int len)
    +
    xmlNodePtr	xmlNewCharRef		(xmlDocPtr doc, 
    const xmlChar * name)
    +
    xmlNodePtr	xmlNewChild		(xmlNodePtr parent, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    +
    xmlNodePtr	xmlNewComment		(const xmlChar * content)
    +
    xmlDocPtr	xmlNewDoc		(const xmlChar * version)
    +
    xmlNodePtr	xmlNewDocComment	(xmlDocPtr doc, 
    const xmlChar * content)
    +
    xmlNodePtr	xmlNewDocFragment	(xmlDocPtr doc)
    +
    xmlNodePtr	xmlNewDocNode		(xmlDocPtr doc, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    +
    xmlNodePtr	xmlNewDocNodeEatName	(xmlDocPtr doc, 
    xmlNsPtr ns,
    xmlChar * name,
    const xmlChar * content)
    +
    xmlAttrPtr	xmlNewDocProp		(xmlDocPtr doc, 
    const xmlChar * name,
    const xmlChar * value)
    +
    xmlNodePtr	xmlNewDocRawNode	(xmlDocPtr doc, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    +
    xmlNodePtr	xmlNewDocText		(xmlDocPtr doc, 
    const xmlChar * content)
    +
    xmlNodePtr	xmlNewDocTextLen	(xmlDocPtr doc, 
    const xmlChar * content,
    int len)
    +
    xmlDtdPtr	xmlNewDtd		(xmlDocPtr doc, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +
    xmlNsPtr	xmlNewGlobalNs		(xmlDocPtr doc, 
    const xmlChar * href,
    const xmlChar * prefix)
    +
    xmlNodePtr	xmlNewNode		(xmlNsPtr ns, 
    const xmlChar * name)
    +
    xmlNodePtr	xmlNewNodeEatName	(xmlNsPtr ns, 
    xmlChar * name)
    +
    xmlNsPtr	xmlNewNs		(xmlNodePtr node, 
    const xmlChar * href,
    const xmlChar * prefix)
    +
    xmlAttrPtr	xmlNewNsProp		(xmlNodePtr node, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * value)
    +
    xmlAttrPtr	xmlNewNsPropEatName	(xmlNodePtr node, 
    xmlNsPtr ns,
    xmlChar * name,
    const xmlChar * value)
    +
    xmlNodePtr	xmlNewPI		(const xmlChar * name, 
    const xmlChar * content)
    +
    xmlAttrPtr	xmlNewProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * value)
    +
    xmlNodePtr	xmlNewReference		(xmlDocPtr doc, 
    const xmlChar * name)
    +
    xmlNodePtr	xmlNewText		(const xmlChar * content)
    +
    xmlNodePtr	xmlNewTextChild		(xmlNodePtr parent, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    +
    xmlNodePtr	xmlNewTextLen		(const xmlChar * content, 
    int len)
    +
    void	xmlNodeAddContent		(xmlNodePtr cur, 
    const xmlChar * content)
    +
    void	xmlNodeAddContentLen		(xmlNodePtr cur, 
    const xmlChar * content,
    int len)
    +
    int	xmlNodeBufGetContent		(xmlBufferPtr buffer, 
    xmlNodePtr cur)
    +
    int	xmlNodeDump			(xmlBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    int level,
    int format)
    +
    void	xmlNodeDumpOutput		(xmlOutputBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    int level,
    int format,
    const char * encoding)
    +
    xmlChar *	xmlNodeGetBase		(xmlDocPtr doc, 
    xmlNodePtr cur)
    +
    xmlChar *	xmlNodeGetContent	(xmlNodePtr cur)
    +
    xmlChar *	xmlNodeGetLang		(xmlNodePtr cur)
    +
    int	xmlNodeGetSpacePreserve		(xmlNodePtr cur)
    +
    int	xmlNodeIsText			(xmlNodePtr node)
    +
    xmlChar *	xmlNodeListGetRawString	(xmlDocPtr doc, 
    xmlNodePtr list,
    int inLine)
    +
    xmlChar *	xmlNodeListGetString	(xmlDocPtr doc, 
    xmlNodePtr list,
    int inLine)
    +
    void	xmlNodeSetBase			(xmlNodePtr cur, 
    const xmlChar * uri)
    +
    void	xmlNodeSetContent		(xmlNodePtr cur, 
    const xmlChar * content)
    +
    void	xmlNodeSetContentLen		(xmlNodePtr cur, 
    const xmlChar * content,
    int len)
    +
    void	xmlNodeSetLang			(xmlNodePtr cur, 
    const xmlChar * lang)
    +
    void	xmlNodeSetName			(xmlNodePtr cur, 
    const xmlChar * name)
    +
    void	xmlNodeSetSpacePreserve		(xmlNodePtr cur, 
    int val)
    +
    int	xmlReconciliateNs		(xmlDocPtr doc, 
    xmlNodePtr tree)
    +
    int	xmlRemoveProp			(xmlAttrPtr cur)
    +
    xmlNodePtr	xmlReplaceNode		(xmlNodePtr old, 
    xmlNodePtr cur)
    +
    int	xmlSaveFile			(const char * filename, 
    xmlDocPtr cur)
    +
    int	xmlSaveFileEnc			(const char * filename, 
    xmlDocPtr cur,
    const char * encoding)
    +
    int	xmlSaveFileTo			(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding)
    +
    int	xmlSaveFormatFile		(const char * filename, 
    xmlDocPtr cur,
    int format)
    +
    int	xmlSaveFormatFileEnc		(const char * filename, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    +
    int	xmlSaveFormatFileTo		(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    +
    xmlNsPtr	xmlSearchNs		(xmlDocPtr doc, 
    xmlNodePtr node,
    const xmlChar * nameSpace)
    +
    xmlNsPtr	xmlSearchNsByHref	(xmlDocPtr doc, 
    xmlNodePtr node,
    const xmlChar * href)
    +
    void	xmlSetBufferAllocationScheme	(xmlBufferAllocationScheme scheme)
    +
    void	xmlSetCompressMode		(int mode)
    +
    void	xmlSetDocCompressMode		(xmlDocPtr doc, 
    int mode)
    +
    void	xmlSetListDoc			(xmlNodePtr list, 
    xmlDocPtr doc)
    +
    void	xmlSetNs			(xmlNodePtr node, 
    xmlNsPtr ns)
    +
    xmlAttrPtr	xmlSetNsProp		(xmlNodePtr node, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * value)
    +
    xmlAttrPtr	xmlSetProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * value)
    +
    void	xmlSetTreeDoc			(xmlNodePtr tree, 
    xmlDocPtr doc)
    +
    xmlChar *	xmlSplitQName2		(const xmlChar * name, 
    xmlChar ** prefix)
    +
    const xmlChar *	xmlSplitQName3		(const xmlChar * name, 
    int * len)
    +
    xmlNodePtr	xmlStringGetNodeList	(xmlDocPtr doc, 
    const xmlChar * value)
    +
    xmlNodePtr	xmlStringLenGetNodeList	(xmlDocPtr doc, 
    const xmlChar * value,
    int len)
    +
    int	xmlTextConcat			(xmlNodePtr node, 
    const xmlChar * content,
    int len)
    +
    xmlNodePtr	xmlTextMerge		(xmlNodePtr first, 
    xmlNodePtr second)
    +
    void	xmlUnlinkNode			(xmlNodePtr cur)
    +
    int	xmlUnsetNsProp			(xmlNodePtr node, 
    xmlNsPtr ns,
    const xmlChar * name)
    +
    int	xmlUnsetProp			(xmlNodePtr node, 
    const xmlChar * name)
    +
    int	xmlValidateNCName		(const xmlChar * value, 
    int space)
    +
    int	xmlValidateNMToken		(const xmlChar * value, 
    int space)
    +
    int	xmlValidateName			(const xmlChar * value, 
    int space)
    +
    int	xmlValidateQName		(const xmlChar * value, 
    int space)
    +

    Description

    +

    Macro: BASE_BUFFER_SIZE

    #define BASE_BUFFER_SIZE

    default buffer size 4000.

    +

    Macro: XML_GET_CONTENT

    #define XML_GET_CONTENT

    Macro to extract the content pointer of a node.

    +

    Macro: XML_GET_LINE

    #define XML_GET_LINE

    Macro to extract the line number of an element node.

    +

    Macro: XML_LOCAL_NAMESPACE

    #define XML_LOCAL_NAMESPACE

    A namespace declaration node.

    +

    Macro: XML_XML_NAMESPACE

    #define XML_XML_NAMESPACE

    This is the namespace for the special xml: prefix predefined in the XML Namespace specification.

    +

    Macro: xmlChildrenNode

    #define xmlChildrenNode

    Macro for compatibility naming layer with libxml1. Maps to "children."

    +

    Macro: xmlRootNode

    #define xmlRootNode

    Macro for compatibility naming layer with libxml1. Maps to "children".

    +

    Structure xmlAttr

    Structure xmlAttr
    struct _xmlAttr { + void * _private : application data + xmlElementType type : XML_ATTRIBUTE_NODE, must be second ! + const xmlChar * name : the name of the property + struct _xmlNode * children : the value of the property + struct _xmlNode * last : NULL + struct _xmlNode * parent : child->parent link + struct _xmlAttr * next : next sibling link + struct _xmlAttr * prev : previous sibling link + struct _xmlDoc * doc : the containing document + xmlNs * ns : pointer to the associated namespace + xmlAttributeType atype : the attribute type if validating + void * psvi : for type/PSVI informations +}

    Structure xmlAttribute

    Structure xmlAttribute
    struct _xmlAttribute { + void * _private : application data + xmlElementType type : XML_ATTRIBUTE_DECL, must be second ! + const xmlChar * name : Attribute name + struct _xmlNode * children : NULL + struct _xmlNode * last : NULL + struct _xmlDtd * parent : -> DTD + struct _xmlNode * next : next sibling link + struct _xmlNode * prev : previous sibling link + struct _xmlDoc * doc : the containing document + struct _xmlAttribute * nexth : next in hash table + xmlAttributeType atype : The attribute type + xmlAttributeDefault def : the default + const xmlChar * defaultValue : or the default value + xmlEnumerationPtr tree : or the enumeration tree if any + const xmlChar * prefix : the namespace prefix if any + const xmlChar * elem : Element holding the attribute +}

    Enum xmlAttributeDefault

    Enum xmlAttributeDefault {
    +    XML_ATTRIBUTE_NONE = 1
    +    XML_ATTRIBUTE_REQUIRED = 2
    +    XML_ATTRIBUTE_IMPLIED = 3
    +    XML_ATTRIBUTE_FIXED = 4
    +}
    +

    Enum xmlAttributeType

    Enum xmlAttributeType {
    +    XML_ATTRIBUTE_CDATA = 1
    +    XML_ATTRIBUTE_ID = 2
    +    XML_ATTRIBUTE_IDREF = 3
    +    XML_ATTRIBUTE_IDREFS = 4
    +    XML_ATTRIBUTE_ENTITY = 5
    +    XML_ATTRIBUTE_ENTITIES = 6
    +    XML_ATTRIBUTE_NMTOKEN = 7
    +    XML_ATTRIBUTE_NMTOKENS = 8
    +    XML_ATTRIBUTE_ENUMERATION = 9
    +    XML_ATTRIBUTE_NOTATION = 10
    +}
    +

    Structure xmlBuffer

    Structure xmlBuffer
    struct _xmlBuffer { + xmlChar * content : The buffer content UTF8 + unsigned int use : The buffer size used + unsigned int size : The buffer size + xmlBufferAllocationScheme alloc : The realloc method +}

    Enum xmlBufferAllocationScheme

    Enum xmlBufferAllocationScheme {
    +    XML_BUFFER_ALLOC_DOUBLEIT = 1
    +    XML_BUFFER_ALLOC_EXACT = 2
    +    XML_BUFFER_ALLOC_IMMUTABLE = 3
    +}
    +

    Structure xmlDoc

    Structure xmlDoc
    struct _xmlDoc { + void * _private : application data + xmlElementType type : XML_DOCUMENT_NODE, must be second ! + char * name : name/filename/URI of the document + struct _xmlNode * children : the document tree + struct _xmlNode * last : last child link + struct _xmlNode * parent : child->parent link + struct _xmlNode * next : next sibling link + struct _xmlNode * prev : previous sibling link + struct _xmlDoc * doc : autoreference to itself End of common p + int compression : level of zlib compression + int standalone : standalone document (no external refs) + struct _xmlDtd * intSubset : the document internal subset + struct _xmlDtd * extSubset : the document external subset + struct _xmlNs * oldNs : Global namespace, the old way + const xmlChar * version : the XML version string + const xmlChar * encoding : external initial encoding, if any + void * ids : Hash table for ID attributes if any + void * refs : Hash table for IDREFs attributes if any + const xmlChar * URL : The URI for that document + int charset : encoding of the in-memory content actua + struct _xmlDict * dict : dict used to allocate names or NULL + void * psvi : for type/PSVI informations +}

    Structure xmlDtd

    Structure xmlDtd
    struct _xmlDtd { + void * _private : application data + xmlElementType type : XML_DTD_NODE, must be second ! + const xmlChar * name : Name of the DTD + struct _xmlNode * children : the value of the property link + struct _xmlNode * last : last child link + struct _xmlDoc * parent : child->parent link + struct _xmlNode * next : next sibling link + struct _xmlNode * prev : previous sibling link + struct _xmlDoc * doc : the containing document End of common p + void * notations : Hash table for notations if any + void * elements : Hash table for elements if any + void * attributes : Hash table for attributes if any + void * entities : Hash table for entities if any + const xmlChar * ExternalID : External identifier for PUBLIC DTD + const xmlChar * SystemID : URI for a SYSTEM or PUBLIC DTD + void * pentities : Hash table for param entities if any +}

    Structure xmlElement

    Structure xmlElement
    struct _xmlElement { + void * _private : application data + xmlElementType type : XML_ELEMENT_DECL, must be second ! + const xmlChar * name : Element name + struct _xmlNode * children : NULL + struct _xmlNode * last : NULL + struct _xmlDtd * parent : -> DTD + struct _xmlNode * next : next sibling link + struct _xmlNode * prev : previous sibling link + struct _xmlDoc * doc : the containing document + xmlElementTypeVal etype : The type + xmlElementContentPtr content : the allowed element content + xmlAttributePtr attributes : List of the declared attributes + const xmlChar * prefix : the namespace prefix if any + xmlRegexpPtr contModel : the validating regexp + void * contModel +}

    Structure xmlElementContent

    Structure xmlElementContent
    struct _xmlElementContent { + xmlElementContentType type : PCDATA, ELEMENT, SEQ or OR + xmlElementContentOccur ocur : ONCE, OPT, MULT or PLUS + const xmlChar * name : Element name + struct _xmlElementContent * c1 : first child + struct _xmlElementContent * c2 : second child + struct _xmlElementContent * parent : parent + const xmlChar * prefix : Namespace prefix +}

    Enum xmlElementContentOccur

    Enum xmlElementContentOccur {
    +    XML_ELEMENT_CONTENT_ONCE = 1
    +    XML_ELEMENT_CONTENT_OPT = 2
    +    XML_ELEMENT_CONTENT_MULT = 3
    +    XML_ELEMENT_CONTENT_PLUS = 4
    +}
    +

    Enum xmlElementContentType

    Enum xmlElementContentType {
    +    XML_ELEMENT_CONTENT_PCDATA = 1
    +    XML_ELEMENT_CONTENT_ELEMENT = 2
    +    XML_ELEMENT_CONTENT_SEQ = 3
    +    XML_ELEMENT_CONTENT_OR = 4
    +}
    +

    Enum xmlElementType

    Enum xmlElementType {
    +    XML_ELEMENT_NODE = 1
    +    XML_ATTRIBUTE_NODE = 2
    +    XML_TEXT_NODE = 3
    +    XML_CDATA_SECTION_NODE = 4
    +    XML_ENTITY_REF_NODE = 5
    +    XML_ENTITY_NODE = 6
    +    XML_PI_NODE = 7
    +    XML_COMMENT_NODE = 8
    +    XML_DOCUMENT_NODE = 9
    +    XML_DOCUMENT_TYPE_NODE = 10
    +    XML_DOCUMENT_FRAG_NODE = 11
    +    XML_NOTATION_NODE = 12
    +    XML_HTML_DOCUMENT_NODE = 13
    +    XML_DTD_NODE = 14
    +    XML_ELEMENT_DECL = 15
    +    XML_ATTRIBUTE_DECL = 16
    +    XML_ENTITY_DECL = 17
    +    XML_NAMESPACE_DECL = 18
    +    XML_XINCLUDE_START = 19
    +    XML_XINCLUDE_END = 20
    +    XML_DOCB_DOCUMENT_NODE = 21
    +}
    +

    Enum xmlElementTypeVal

    Enum xmlElementTypeVal {
    +    XML_ELEMENT_TYPE_UNDEFINED = 0
    +    XML_ELEMENT_TYPE_EMPTY = 1
    +    XML_ELEMENT_TYPE_ANY = 2
    +    XML_ELEMENT_TYPE_MIXED = 3
    +    XML_ELEMENT_TYPE_ELEMENT = 4
    +}
    +

    Structure xmlEntity

    Structure xmlEntity
    struct _xmlEntity { + void * _private : application data + xmlElementType type : XML_ENTITY_DECL, must be second ! + const xmlChar * name : Entity name + struct _xmlNode * children : First child link + struct _xmlNode * last : Last child link + struct _xmlDtd * parent : -> DTD + struct _xmlNode * next : next sibling link + struct _xmlNode * prev : previous sibling link + struct _xmlDoc * doc : the containing document + xmlChar * orig : content without ref substitution + xmlChar * content : content or ndata if unparsed + int length : the content length + xmlEntityType etype : The entity type + const xmlChar * ExternalID : External identifier for PUBLIC + const xmlChar * SystemID : URI for a SYSTEM or PUBLIC Entity + struct _xmlEntity * nexte : unused + const xmlChar * URI : the full URI as computed + int owner : does the entity own the childrens +}

    Structure xmlEnumeration

    Structure xmlEnumeration
    struct _xmlEnumeration { + struct _xmlEnumeration * next : next one + const xmlChar * name : Enumeration name +}

    Structure xmlID

    Structure xmlID
    struct _xmlID { + struct _xmlID * next : next ID + const xmlChar * value : The ID name + xmlAttrPtr attr : The attribute holding it + const xmlChar * name : The attribute if attr is not available + int lineno : The line number if attr is not availabl + struct _xmlDoc * doc : The document holding the ID +}

    Structure xmlNode

    Structure xmlNode
    struct _xmlNode { + void * _private : application data + xmlElementType type : type number, must be second ! + const xmlChar * name : the name of the node, or the entity + struct _xmlNode * children : parent->childs link + struct _xmlNode * last : last child link + struct _xmlNode * parent : child->parent link + struct _xmlNode * next : next sibling link + struct _xmlNode * prev : previous sibling link + struct _xmlDoc * doc : the containing document End of common p + xmlNs * ns : pointer to the associated namespace + xmlChar * content : the content + struct _xmlAttr * properties : properties list + xmlNs * nsDef : namespace definitions on this node + void * psvi : for type/PSVI informations + unsigned short line : line number + unsigned short extra : extra data for XPath/XSLT +}

    Structure xmlNotation

    Structure xmlNotation
    struct _xmlNotation { + const xmlChar * name : Notation name + const xmlChar * PublicID : Public identifier, if any + const xmlChar * SystemID : System identifier, if any +}

    Structure xmlNs

    Structure xmlNs
    struct _xmlNs { + struct _xmlNs * next : next Ns link for this node + xmlNsType type : global or local + const xmlChar * href : URL for the namespace + const xmlChar * prefix : prefix for the namespace + void * _private : application data +}

    Structure xmlOutputBuffer

    Structure xmlOutputBuffer
    struct _xmlOutputBuffer { + void * context + xmlOutputWriteCallback writecallback + xmlOutputCloseCallback closecallback + xmlCharEncodingHandlerPtr encoder : I18N conversions to UTF-8 + xmlBufferPtr buffer : Local buffer encoded in UTF-8 or ISOLat + xmlBufferPtr conv : if encoder != NULL buffer for output + int written : total number of byte written + int error +}

    Structure xmlParserCtxt

    Structure xmlParserCtxt
    struct _xmlParserCtxt { + struct _xmlSAXHandler * sax : The SAX handler + void * userData : For SAX interface only, used by DOM bui + xmlDocPtr myDoc : the document being built + int wellFormed : is the document well formed + int replaceEntities : shall we replace entities ? + const xmlChar * version : the XML version string + const xmlChar * encoding : the declared encoding, if any + int standalone : standalone document + int html : an HTML(1)/Docbook(2) document Input st + xmlParserInputPtr input : Current input stream + int inputNr : Number of current input streams + int inputMax : Max number of input streams + xmlParserInputPtr * inputTab : stack of inputs Node analysis stack onl + xmlNodePtr node : Current parsed Node + int nodeNr : Depth of the parsing stack + int nodeMax : Max depth of the parsing stack + xmlNodePtr * nodeTab : array of nodes + int record_info : Whether node info should be kept + xmlParserNodeInfoSeq node_seq : info about each node parsed + int errNo : error code + int hasExternalSubset : reference and external subset + int hasPErefs : the internal subset has PE refs + int external : are we parsing an external entity + int valid : is the document valid + int validate : shall we try to validate ? + xmlValidCtxt vctxt : The validity context + xmlParserInputState instate : current type of input + int token : next char look-ahead + char * directory : the data directory Node name stack + const xmlChar * name : Current parsed Node + int nameNr : Depth of the parsing stack + int nameMax : Max depth of the parsing stack + const xmlChar * * nameTab : array of nodes + long nbChars : number of xmlChar processed + long checkIndex : used by progressive parsing lookup + int keepBlanks : ugly but ... + int disableSAX : SAX callbacks are disabled + int inSubset : Parsing is in int 1/ext 2 subset + const xmlChar * intSubName : name of subset + xmlChar * extSubURI : URI of external subset + xmlChar * extSubSystem : SYSTEM ID of external subset xml:space + int * space : Should the parser preserve spaces + int spaceNr : Depth of the parsing stack + int spaceMax : Max depth of the parsing stack + int * spaceTab : array of space infos + int depth : to prevent entity substitution loops + xmlParserInputPtr entity : used to check entities boundaries + int charset : encoding of the in-memory content actua + int nodelen : Those two fields are there to + int nodemem : Speed up large node parsing + int pedantic : signal pedantic warnings + void * _private : For user data, libxml won't touch it + int loadsubset : should the external subset be loaded + int linenumbers : set line number in element content + void * catalogs : document's own catalog + int recovery : run in recovery mode + int progressive : is this a progressive parsing + xmlDictPtr dict : dictionnary for the parser + const xmlChar * * atts : array for the attributes callbacks + int maxatts : the size of the array + int docdict : * pre-interned strings * + const xmlChar * str_xml + const xmlChar * str_xmlns + const xmlChar * str_xml_ns : * Everything below is used only by the n + int sax2 : operating in the new SAX mode + int nsNr : the number of inherited namespaces + int nsMax : the size of the arrays + const xmlChar * * nsTab : the array of prefix/namespace name + int * attallocs : which attribute were allocated + void * * pushTab : array of data for push + xmlHashTablePtr attsDefault : defaulted attributes if any + xmlHashTablePtr attsSpecial : non-CDATA attributes if any + int nsWellFormed : is the document XML Nanespace okay + int options : * Those fields are needed only for tream + int dictNames : Use dictionary names for the tree + int freeElemsNr : number of freed element nodes + xmlNodePtr freeElems : List of freed element nodes + int freeAttrsNr : number of freed attributes nodes + xmlAttrPtr freeAttrs : * the complete error informations for th + xmlError lastError +}

    Structure xmlParserInput

    Structure xmlParserInput
    struct _xmlParserInput { + xmlParserInputBufferPtr buf : UTF-8 encoded buffer + const char * filename : The file analyzed, if any + const char * directory : the directory/base of the file + const xmlChar * base : Base of the array to parse + const xmlChar * cur : Current char being parsed + const xmlChar * end : end of the array to parse + int length : length if known + int line : Current line + int col : * NOTE: consumed is only tested for equa + unsigned long consumed : How many xmlChars already consumed + xmlParserInputDeallocate free : function to deallocate the base + const xmlChar * encoding : the encoding string for entity + const xmlChar * version : the version string for entity + int standalone : Was that entity marked standalone + int id : an unique identifier for the entity +}

    Structure xmlParserInputBuffer

    Structure xmlParserInputBuffer
    struct _xmlParserInputBuffer { + void * context + xmlInputReadCallback readcallback + xmlInputCloseCallback closecallback + xmlCharEncodingHandlerPtr encoder : I18N conversions to UTF-8 + xmlBufferPtr buffer : Local buffer encoded in UTF-8 + xmlBufferPtr raw : if encoder != NULL buffer for raw input + int compressed : -1=unknown, 0=not compressed, 1=compres + int error + unsigned long rawconsumed : amount consumed from raw +}

    Structure xmlRef

    Structure xmlRef
    struct _xmlRef { + struct _xmlRef * next : next Ref + const xmlChar * value : The Ref name + xmlAttrPtr attr : The attribute holding it + const xmlChar * name : The attribute if attr is not available + int lineno : The line number if attr is not availabl +}

    Structure xmlSAXHandler

    Structure xmlSAXHandler
    struct _xmlSAXHandler { + internalSubsetSAXFunc internalSubset + isStandaloneSAXFunc isStandalone + hasInternalSubsetSAXFunc hasInternalSubset + hasExternalSubsetSAXFunc hasExternalSubset + resolveEntitySAXFunc resolveEntity + getEntitySAXFunc getEntity + entityDeclSAXFunc entityDecl + notationDeclSAXFunc notationDecl + attributeDeclSAXFunc attributeDecl + elementDeclSAXFunc elementDecl + unparsedEntityDeclSAXFunc unparsedEntityDecl + setDocumentLocatorSAXFunc setDocumentLocator + startDocumentSAXFunc startDocument + endDocumentSAXFunc endDocument + startElementSAXFunc startElement + endElementSAXFunc endElement + referenceSAXFunc reference + charactersSAXFunc characters + ignorableWhitespaceSAXFunc ignorableWhitespace + processingInstructionSAXFunc processingInstruction + commentSAXFunc comment + warningSAXFunc warning + errorSAXFunc error + fatalErrorSAXFunc fatalError : unused error() get all the errors + getParameterEntitySAXFunc getParameterEntity + cdataBlockSAXFunc cdataBlock + externalSubsetSAXFunc externalSubset + unsigned int initialized : The following fields are extensions ava + void * _private + startElementNsSAX2Func startElementNs + endElementNsSAX2Func endElementNs + xmlStructuredErrorFunc serror +}

    Structure xmlSAXLocator

    Structure xmlSAXLocator
    struct _xmlSAXLocator { + const xmlChar *(*getPublicId) getPublicId + const xmlChar *(*getSystemId) getSystemId + int(*getLineNumber) getLineNumber + int(*getColumnNumber) getColumnNumber +}

    Function: xmlAddChild

    xmlNodePtr	xmlAddChild		(xmlNodePtr parent, 
    xmlNodePtr cur)
    +

    Add a new node to @parent, at the end of the child (or property) list merging adjacent TEXT nodes (in which case @cur is freed) If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an attribute with equal name, it is first destroyed.

    +
    parent:the parent node
    cur:the child node
    Returns:the child or NULL in case of error.

    Function: xmlAddChildList

    xmlNodePtr	xmlAddChildList		(xmlNodePtr parent, 
    xmlNodePtr cur)
    +

    Add a list of node at the end of the child list of the parent merging adjacent TEXT nodes (@cur may be freed)

    +
    parent:the parent node
    cur:the first node in the list
    Returns:the last child or NULL in case of error.

    Function: xmlAddNextSibling

    xmlNodePtr	xmlAddNextSibling	(xmlNodePtr cur, 
    xmlNodePtr elem)
    +

    Add a new node @elem as the next sibling of @cur If the new node was already inserted in a document it is first unlinked from its existing context. As a result of text merging @elem may be freed. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an attribute with equal name, it is first destroyed.

    +
    cur:the child node
    elem:the new node
    Returns:the new node or NULL in case of error.

    Function: xmlAddPrevSibling

    xmlNodePtr	xmlAddPrevSibling	(xmlNodePtr cur, 
    xmlNodePtr elem)
    +

    Add a new node @elem as the previous sibling of @cur merging adjacent TEXT nodes (@elem may be freed) If the new node was already inserted in a document it is first unlinked from its existing context. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an attribute with equal name, it is first destroyed.

    +
    cur:the child node
    elem:the new node
    Returns:the new node or NULL in case of error.

    Function: xmlAddSibling

    xmlNodePtr	xmlAddSibling		(xmlNodePtr cur, 
    xmlNodePtr elem)
    +

    Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be freed) If the new element was already inserted in a document it is first unlinked from its existing context.

    +
    cur:the child node
    elem:the new node
    Returns:the new element or NULL in case of error.

    Function: xmlAttrSerializeTxtContent

    void	xmlAttrSerializeTxtContent	(xmlBufferPtr buf, 
    xmlDocPtr doc,
    xmlAttrPtr attr,
    const xmlChar * string)
    +

    Serialize text attribute values to an xml simple buffer

    +
    buf:the XML buffer output
    doc:the document
    attr:the attribute node
    string:the text content

    Function: xmlBufferAdd

    void	xmlBufferAdd			(xmlBufferPtr buf, 
    const xmlChar * str,
    int len)
    +

    Add a string range to an XML buffer. if len == -1, the length of str is recomputed.

    +
    buf:the buffer to dump
    str:the #xmlChar string
    len:the number of #xmlChar to add

    Function: xmlBufferAddHead

    void	xmlBufferAddHead		(xmlBufferPtr buf, 
    const xmlChar * str,
    int len)
    +

    Add a string range to the beginning of an XML buffer. if len == -1, the length of @str is recomputed.

    +
    buf:the buffer
    str:the #xmlChar string
    len:the number of #xmlChar to add

    Function: xmlBufferCCat

    void	xmlBufferCCat			(xmlBufferPtr buf, 
    const char * str)
    +

    Append a zero terminated C string to an XML buffer.

    +
    buf:the buffer to dump
    str:the C char string

    Function: xmlBufferCat

    void	xmlBufferCat			(xmlBufferPtr buf, 
    const xmlChar * str)
    +

    Append a zero terminated string to an XML buffer.

    +
    buf:the buffer to dump
    str:the #xmlChar string

    Function: xmlBufferContent

    const xmlChar *	xmlBufferContent	(const xmlBufferPtr buf)
    +

    Function to extract the content of a buffer

    +
    buf:the buffer
    Returns:the internal content

    Function: xmlBufferCreate

    xmlBufferPtr	xmlBufferCreate		(void)
    +

    routine to create an XML buffer.

    +
    Returns:the new structure.

    Function: xmlBufferCreateSize

    xmlBufferPtr	xmlBufferCreateSize	(size_t size)
    +

    routine to create an XML buffer.

    +
    size:initial size of buffer
    Returns:the new structure.

    Function: xmlBufferCreateStatic

    xmlBufferPtr	xmlBufferCreateStatic	(void * mem, 
    size_t size)
    +

    routine to create an XML buffer from an immutable memory area. The area won't be modified nor copied, and is expected to be present until the end of the buffer lifetime.

    +
    mem:the memory area
    size:the size in byte
    Returns:the new structure.

    Function: xmlBufferDump

    int	xmlBufferDump			(FILE * file, 
    xmlBufferPtr buf)
    +

    Dumps an XML buffer to a FILE *.

    +
    file:the file output
    buf:the buffer to dump
    Returns:the number of #xmlChar written

    Function: xmlBufferEmpty

    void	xmlBufferEmpty			(xmlBufferPtr buf)
    +

    empty a buffer.

    +
    buf:the buffer

    Function: xmlBufferFree

    void	xmlBufferFree			(xmlBufferPtr buf)
    +

    Frees an XML buffer. It frees both the content and the structure which encapsulate it.

    +
    buf:the buffer to free

    Function: xmlBufferGrow

    int	xmlBufferGrow			(xmlBufferPtr buf, 
    unsigned int len)
    +

    Grow the available space of an XML buffer.

    +
    buf:the buffer
    len:the minimum free size to allocate
    Returns:the new available space or -1 in case of error

    Function: xmlBufferLength

    int	xmlBufferLength			(const xmlBufferPtr buf)
    +

    Function to get the length of a buffer

    +
    buf:the buffer
    Returns:the length of data in the internal content

    Function: xmlBufferResize

    int	xmlBufferResize			(xmlBufferPtr buf, 
    unsigned int size)
    +

    Resize a buffer to accommodate minimum size of @size.

    +
    buf:the buffer to resize
    size:the desired size
    Returns:0 in case of problems, 1 otherwise

    Function: xmlBufferSetAllocationScheme

    void	xmlBufferSetAllocationScheme	(xmlBufferPtr buf, 
    xmlBufferAllocationScheme scheme)
    +

    Sets the allocation scheme for this buffer

    +
    buf:the buffer to tune
    scheme:allocation scheme to use

    Function: xmlBufferShrink

    int	xmlBufferShrink			(xmlBufferPtr buf, 
    unsigned int len)
    +

    Remove the beginning of an XML buffer.

    +
    buf:the buffer to dump
    len:the number of xmlChar to remove
    Returns:the number of #xmlChar removed, or -1 in case of failure.

    Function: xmlBufferWriteCHAR

    void	xmlBufferWriteCHAR		(xmlBufferPtr buf, 
    const xmlChar * string)
    +

    routine which manages and grows an output buffer. This one adds xmlChars at the end of the buffer.

    +
    buf:the XML buffer
    string:the string to add

    Function: xmlBufferWriteChar

    void	xmlBufferWriteChar		(xmlBufferPtr buf, 
    const char * string)
    +

    routine which manage and grows an output buffer. This one add C chars at the end of the array.

    +
    buf:the XML buffer output
    string:the string to add

    Function: xmlBufferWriteQuotedString

    void	xmlBufferWriteQuotedString	(xmlBufferPtr buf, 
    const xmlChar * string)
    +

    routine which manage and grows an output buffer. This one writes a quoted or double quoted #xmlChar string, checking first if it holds quote or double-quotes internally

    +
    buf:the XML buffer output
    string:the string to add

    Function: xmlBuildQName

    xmlChar *	xmlBuildQName		(const xmlChar * ncname, 
    const xmlChar * prefix,
    xmlChar * memory,
    int len)
    +

    Builds the QName @prefix:@ncname in @memory if there is enough space and prefix is not NULL nor empty, otherwise allocate a new string. If prefix is NULL or empty it returns ncname.

    +
    ncname:the Name
    prefix:the prefix
    memory:preallocated memory
    len:preallocated memory length
    Returns:the new string which must be freed by the caller if different from @memory and @ncname or NULL in case of error

    Function: xmlCopyDoc

    xmlDocPtr	xmlCopyDoc		(xmlDocPtr doc, 
    int recursive)
    +

    Do a copy of the document info. If recursive, the content tree will be copied too as well as DTD, namespaces and entities.

    +
    doc:the document
    recursive:if not zero do a recursive copy.
    Returns:a new #xmlDocPtr, or NULL in case of error.

    Function: xmlCopyDtd

    xmlDtdPtr	xmlCopyDtd		(xmlDtdPtr dtd)
    +

    Do a copy of the dtd.

    +
    dtd:the dtd
    Returns:a new #xmlDtdPtr, or NULL in case of error.

    Function: xmlCopyNamespace

    xmlNsPtr	xmlCopyNamespace	(xmlNsPtr cur)
    +

    Do a copy of the namespace.

    +
    cur:the namespace
    Returns:a new #xmlNsPtr, or NULL in case of error.

    Function: xmlCopyNamespaceList

    xmlNsPtr	xmlCopyNamespaceList	(xmlNsPtr cur)
    +

    Do a copy of an namespace list.

    +
    cur:the first namespace
    Returns:a new #xmlNsPtr, or NULL in case of error.

    Function: xmlCopyNode

    xmlNodePtr	xmlCopyNode		(const xmlNodePtr node, 
    int extended)
    +

    Do a copy of the node.

    +
    node:the node
    extended:if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)
    Returns:a new #xmlNodePtr, or NULL in case of error.

    Function: xmlCopyNodeList

    xmlNodePtr	xmlCopyNodeList		(const xmlNodePtr node)
    +

    Do a recursive copy of the node list.

    +
    node:the first node in the list.
    Returns:a new #xmlNodePtr, or NULL in case of error.

    Function: xmlCopyProp

    xmlAttrPtr	xmlCopyProp		(xmlNodePtr target, 
    xmlAttrPtr cur)
    +

    Do a copy of the attribute.

    +
    target:the element where the attribute will be grafted
    cur:the attribute
    Returns:a new #xmlAttrPtr, or NULL in case of error.

    Function: xmlCopyPropList

    xmlAttrPtr	xmlCopyPropList		(xmlNodePtr target, 
    xmlAttrPtr cur)
    +

    Do a copy of an attribute list.

    +
    target:the element where the attributes will be grafted
    cur:the first attribute
    Returns:a new #xmlAttrPtr, or NULL in case of error.

    Function: xmlCreateIntSubset

    xmlDtdPtr	xmlCreateIntSubset	(xmlDocPtr doc, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +

    Create the internal subset of a document

    +
    doc:the document pointer
    name:the DTD name
    ExternalID:the external (PUBLIC) ID
    SystemID:the system ID
    Returns:a pointer to the new DTD structure

    Function: xmlDocCopyNode

    xmlNodePtr	xmlDocCopyNode		(const xmlNodePtr node, 
    xmlDocPtr doc,
    int extended)
    +

    Do a copy of the node to a given document.

    +
    node:the node
    doc:the document
    extended:if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)
    Returns:a new #xmlNodePtr, or NULL in case of error.

    Function: xmlDocDump

    int	xmlDocDump			(FILE * f, 
    xmlDocPtr cur)
    +

    Dump an XML document to an open FILE.

    +
    f:the FILE*
    cur:the document
    Returns:the number of bytes written or -1 in case of failure.

    Function: xmlDocDumpFormatMemory

    void	xmlDocDumpFormatMemory		(xmlDocPtr cur, 
    xmlChar ** mem,
    int * size,
    int format)
    +

    Dump an XML document in memory and return the #xmlChar * and it's size. It's up to the caller to free the memory with xmlFree(). Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called

    +
    cur:the document
    mem:OUT: the memory pointer
    size:OUT: the memory length
    format:should formatting spaces been added

    Function: xmlDocDumpFormatMemoryEnc

    void	xmlDocDumpFormatMemoryEnc	(xmlDocPtr out_doc, 
    xmlChar ** doc_txt_ptr,
    int * doc_txt_len,
    const char * txt_encoding,
    int format)
    +

    Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up to the caller of this function to free the allocated memory with xmlFree(). Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called

    +
    out_doc:Document to generate XML text from
    doc_txt_ptr:Memory pointer for allocated XML text
    doc_txt_len:Length of the generated XML text
    txt_encoding:Character encoding to use when generating XML text
    format:should formatting spaces been added

    Function: xmlDocDumpMemory

    void	xmlDocDumpMemory		(xmlDocPtr cur, 
    xmlChar ** mem,
    int * size)
    +

    Dump an XML document in memory and return the #xmlChar * and it's size in bytes. It's up to the caller to free the memory with xmlFree(). The resulting byte array is zero terminated, though the last 0 is not included in the returned size.

    +
    cur:the document
    mem:OUT: the memory pointer
    size:OUT: the memory length

    Function: xmlDocDumpMemoryEnc

    void	xmlDocDumpMemoryEnc		(xmlDocPtr out_doc, 
    xmlChar ** doc_txt_ptr,
    int * doc_txt_len,
    const char * txt_encoding)
    +

    Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up to the caller of this function to free the allocated memory with xmlFree().

    +
    out_doc:Document to generate XML text from
    doc_txt_ptr:Memory pointer for allocated XML text
    doc_txt_len:Length of the generated XML text
    txt_encoding:Character encoding to use when generating XML text

    Function: xmlDocFormatDump

    int	xmlDocFormatDump		(FILE * f, 
    xmlDocPtr cur,
    int format)
    +

    Dump an XML document to an open FILE.

    +
    f:the FILE*
    cur:the document
    format:should formatting spaces been added
    Returns:the number of bytes written or -1 in case of failure. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called

    Function: xmlDocGetRootElement

    xmlNodePtr	xmlDocGetRootElement	(xmlDocPtr doc)
    +

    Get the root element of the document (doc->children is a list containing possibly comments, PIs, etc ...).

    +
    doc:the document
    Returns:the #xmlNodePtr for the root or NULL

    Function: xmlDocSetRootElement

    xmlNodePtr	xmlDocSetRootElement	(xmlDocPtr doc, 
    xmlNodePtr root)
    +

    Set the root element of the document (doc->children is a list containing possibly comments, PIs, etc ...).

    +
    doc:the document
    root:the new document root element
    Returns:the old root element if any was found

    Function: xmlElemDump

    void	xmlElemDump			(FILE * f, 
    xmlDocPtr doc,
    xmlNodePtr cur)
    +

    Dump an XML/HTML node, recursive behaviour, children are printed too.

    +
    f:the FILE * for the output
    doc:the document
    cur:the current node

    Function: xmlFreeDoc

    void	xmlFreeDoc			(xmlDocPtr cur)
    +

    Free up all the structures used by a document, tree included.

    +
    cur:pointer to the document

    Function: xmlFreeDtd

    void	xmlFreeDtd			(xmlDtdPtr cur)
    +

    Free a DTD structure.

    +
    cur:the DTD structure to free up

    Function: xmlFreeNode

    void	xmlFreeNode			(xmlNodePtr cur)
    +

    Free a node, this is a recursive behaviour, all the children are freed too. This doesn't unlink the child from the list, use xmlUnlinkNode() first.

    +
    cur:the node

    Function: xmlFreeNodeList

    void	xmlFreeNodeList			(xmlNodePtr cur)
    +

    Free a node and all its siblings, this is a recursive behaviour, all the children are freed too.

    +
    cur:the first node in the list

    Function: xmlFreeNs

    void	xmlFreeNs			(xmlNsPtr cur)
    +

    Free up the structures associated to a namespace

    +
    cur:the namespace pointer

    Function: xmlFreeNsList

    void	xmlFreeNsList			(xmlNsPtr cur)
    +

    Free up all the structures associated to the chained namespaces.

    +
    cur:the first namespace pointer

    Function: xmlFreeProp

    void	xmlFreeProp			(xmlAttrPtr cur)
    +

    Free one attribute, all the content is freed too

    +
    cur:an attribute

    Function: xmlFreePropList

    void	xmlFreePropList			(xmlAttrPtr cur)
    +

    Free a property and all its siblings, all the children are freed too.

    +
    cur:the first property in the list

    Function: xmlGetBufferAllocationScheme

    xmlBufferAllocationScheme	xmlGetBufferAllocationScheme	(void)
    +

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

    +
    Returns:the current allocation scheme

    Function: xmlGetCompressMode

    int	xmlGetCompressMode		(void)
    +

    get the default compression mode used, ZLIB based.

    +
    Returns:0 (uncompressed) to 9 (max compression)

    Function: xmlGetDocCompressMode

    int	xmlGetDocCompressMode		(xmlDocPtr doc)
    +

    get the compression ratio for a document, ZLIB based

    +
    doc:the document
    Returns:0 (uncompressed) to 9 (max compression)

    Function: xmlGetIntSubset

    xmlDtdPtr	xmlGetIntSubset		(xmlDocPtr doc)
    +

    Get the internal subset of a document

    +
    doc:the document pointer
    Returns:a pointer to the DTD structure or NULL if not found

    Function: xmlGetLastChild

    xmlNodePtr	xmlGetLastChild		(xmlNodePtr parent)
    +

    Search the last child of a node.

    +
    parent:the parent node
    Returns:the last child or NULL if none.

    Function: xmlGetLineNo

    long	xmlGetLineNo			(xmlNodePtr node)
    +

    Get line number of @node. This requires activation of this option before invoking the parser by calling xmlLineNumbersDefault(1)

    +
    node:valid node
    Returns:the line number if successful, -1 otherwise

    Function: xmlGetNoNsProp

    xmlChar *	xmlGetNoNsProp		(xmlNodePtr node, 
    const xmlChar * name)
    +

    Search and get the value of an attribute associated to a node This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off. This function is similar to xmlGetProp except it will accept only an attribute in no namespace.

    +
    node:the node
    name:the attribute name
    Returns:the attribute value or NULL if not found. It's up to the caller to free the memory with xmlFree().

    Function: xmlGetNodePath

    xmlChar *	xmlGetNodePath		(xmlNodePtr node)
    +

    Build a structure based Path for the given node

    +
    node:a node
    Returns:the new path or NULL in case of error. The caller must free the returned string

    Function: xmlGetNsList

    xmlNsPtr *	xmlGetNsList		(xmlDocPtr doc, 
    xmlNodePtr node)
    +

    Search all the namespace applying to a given element.

    +
    doc:the document
    node:the current node
    Returns:an NULL terminated array of all the #xmlNsPtr found that need to be freed by the caller or NULL if no namespace if defined

    Function: xmlGetNsProp

    xmlChar *	xmlGetNsProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * nameSpace)
    +

    Search and get the value of an attribute associated to a node This attribute has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off.

    +
    node:the node
    name:the attribute name
    nameSpace:the URI of the namespace
    Returns:the attribute value or NULL if not found. It's up to the caller to free the memory with xmlFree().

    Function: xmlGetProp

    xmlChar *	xmlGetProp		(xmlNodePtr node, 
    const xmlChar * name)
    +

    Search and get the value of an attribute associated to a node This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off. NOTE: this function acts independently of namespaces associated to the attribute. Use xmlGetNsProp() or xmlGetNoNsProp() for namespace aware processing.

    +
    node:the node
    name:the attribute name
    Returns:the attribute value or NULL if not found. It's up to the caller to free the memory with xmlFree().

    Function: xmlHasNsProp

    xmlAttrPtr	xmlHasNsProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * nameSpace)
    +

    Search for an attribute associated to a node This attribute has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off.

    +
    node:the node
    name:the attribute name
    nameSpace:the URI of the namespace
    Returns:the attribute or the attribute declaration or NULL if neither was found.

    Function: xmlHasProp

    xmlAttrPtr	xmlHasProp		(xmlNodePtr node, 
    const xmlChar * name)
    +

    Search an attribute associated to a node This function also looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off.

    +
    node:the node
    name:the attribute name
    Returns:the attribute or the attribute declaration or NULL if neither was found.

    Function: xmlIsBlankNode

    int	xmlIsBlankNode			(xmlNodePtr node)
    +

    Checks whether this node is an empty or whitespace only (and possibly ignorable) text-node.

    +
    node:the node
    Returns:1 yes, 0 no

    Function: xmlIsXHTML

    int	xmlIsXHTML			(const xmlChar * systemID, 
    const xmlChar * publicID)
    +

    Try to find if the document correspond to an XHTML DTD

    +
    systemID:the system identifier
    publicID:the public identifier
    Returns:1 if true, 0 if not and -1 in case of error

    Function: xmlNewCDataBlock

    xmlNodePtr	xmlNewCDataBlock	(xmlDocPtr doc, 
    const xmlChar * content,
    int len)
    +

    Creation of a new node containing a CDATA block.

    +
    doc:the document
    content:the CDATA block content content
    len:the length of the block
    Returns:a pointer to the new node object.

    Function: xmlNewCharRef

    xmlNodePtr	xmlNewCharRef		(xmlDocPtr doc, 
    const xmlChar * name)
    +

    Creation of a new character reference node.

    +
    doc:the document
    name:the char ref string, starting with # or "&# ... ;"
    Returns:a pointer to the new node object.

    Function: xmlNewChild

    xmlNodePtr	xmlNewChild		(xmlNodePtr parent, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    +

    Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child list containing the TEXTs and ENTITY_REFs node will be created. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references. XML special chars must be escaped first by using xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should be used.

    +
    parent:the parent node
    ns:a namespace if any
    name:the name of the child
    content:the XML content of the child if any.
    Returns:a pointer to the new node object.

    Function: xmlNewComment

    xmlNodePtr	xmlNewComment		(const xmlChar * content)
    +

    Creation of a new node containing a comment.

    +
    content:the comment content
    Returns:a pointer to the new node object.

    Function: xmlNewDoc

    xmlDocPtr	xmlNewDoc		(const xmlChar * version)
    +

    Creates a new XML document

    +
    version:xmlChar string giving the version of XML "1.0"
    Returns:a new document

    Function: xmlNewDocComment

    xmlNodePtr	xmlNewDocComment	(xmlDocPtr doc, 
    const xmlChar * content)
    +

    Creation of a new node containing a comment within a document.

    +
    doc:the document
    content:the comment content
    Returns:a pointer to the new node object.

    Function: xmlNewDocFragment

    xmlNodePtr	xmlNewDocFragment	(xmlDocPtr doc)
    +

    Creation of a new Fragment node.

    +
    doc:the document owning the fragment
    Returns:a pointer to the new node object.

    Function: xmlNewDocNode

    xmlNodePtr	xmlNewDocNode		(xmlDocPtr doc, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    +

    Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @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.

    +
    doc:the document
    ns:namespace if any
    name:the node name
    content:the XML text content if any
    Returns:a pointer to the new node object.

    Function: xmlNewDocNodeEatName

    xmlNodePtr	xmlNewDocNodeEatName	(xmlDocPtr doc, 
    xmlNsPtr ns,
    xmlChar * name,
    const xmlChar * content)
    +

    Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @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.

    +
    doc:the document
    ns:namespace if any
    name:the node name
    content:the XML text content if any
    Returns:a pointer to the new node object.

    Function: xmlNewDocProp

    xmlAttrPtr	xmlNewDocProp		(xmlDocPtr doc, 
    const xmlChar * name,
    const xmlChar * value)
    +

    Create a new property carried by a document.

    +
    doc:the document
    name:the name of the attribute
    value:the value of the attribute
    Returns:a pointer to the attribute

    Function: xmlNewDocRawNode

    xmlNodePtr	xmlNewDocRawNode	(xmlDocPtr doc, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    +

    Creation of a new node element within a document. @ns and @content are optional (NULL).

    +
    doc:the document
    ns:namespace if any
    name:the node name
    content:the text content if any
    Returns:a pointer to the new node object.

    Function: xmlNewDocText

    xmlNodePtr	xmlNewDocText		(xmlDocPtr doc, 
    const xmlChar * content)
    +

    Creation of a new text node within a document.

    +
    doc:the document
    content:the text content
    Returns:a pointer to the new node object.

    Function: xmlNewDocTextLen

    xmlNodePtr	xmlNewDocTextLen	(xmlDocPtr doc, 
    const xmlChar * content,
    int len)
    +

    Creation of a new text node with an extra content length parameter. The text node pertain to a given document.

    +
    doc:the document
    content:the text content
    len:the text len.
    Returns:a pointer to the new node object.

    Function: xmlNewDtd

    xmlDtdPtr	xmlNewDtd		(xmlDocPtr doc, 
    const xmlChar * name,
    const xmlChar * ExternalID,
    const xmlChar * SystemID)
    +

    Creation of a new DTD for the external subset. To create an internal subset, use xmlCreateIntSubset().

    +
    doc:the document pointer
    name:the DTD name
    ExternalID:the external ID
    SystemID:the system ID
    Returns:a pointer to the new DTD structure

    Function: xmlNewGlobalNs

    xmlNsPtr	xmlNewGlobalNs		(xmlDocPtr doc, 
    const xmlChar * href,
    const xmlChar * prefix)
    +

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

    +
    doc:the document carrying the namespace
    href:the URI associated
    prefix:the prefix for the namespace
    Returns:NULL this functionality had been removed

    Function: xmlNewNode

    xmlNodePtr	xmlNewNode		(xmlNsPtr ns, 
    const xmlChar * name)
    +

    Creation of a new node element. @ns is optional (NULL).

    +
    ns:namespace if any
    name:the node name
    Returns:a pointer to the new node object. Uses xmlStrdup() to make copy of @name.

    Function: xmlNewNodeEatName

    xmlNodePtr	xmlNewNodeEatName	(xmlNsPtr ns, 
    xmlChar * name)
    +

    Creation of a new node element. @ns is optional (NULL).

    +
    ns:namespace if any
    name:the node name
    Returns:a pointer to the new node object, with pointer @name as new node's name. Use xmlNewNode() if a copy of @name string is is needed as new node's name.

    Function: xmlNewNs

    xmlNsPtr	xmlNewNs		(xmlNodePtr node, 
    const xmlChar * href,
    const xmlChar * prefix)
    +

    Creation of a new Namespace. This function will refuse to create a namespace with a similar prefix than an existing one present on this node. We use href==NULL in the case of an element creation where the namespace was not defined.

    +
    node:the element carrying the namespace
    href:the URI associated
    prefix:the prefix for the namespace
    Returns:a new namespace pointer or NULL

    Function: xmlNewNsProp

    xmlAttrPtr	xmlNewNsProp		(xmlNodePtr node, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * value)
    +

    Create a new property tagged with a namespace and carried by a node.

    +
    node:the holding node
    ns:the namespace
    name:the name of the attribute
    value:the value of the attribute
    Returns:a pointer to the attribute

    Function: xmlNewNsPropEatName

    xmlAttrPtr	xmlNewNsPropEatName	(xmlNodePtr node, 
    xmlNsPtr ns,
    xmlChar * name,
    const xmlChar * value)
    +

    Create a new property tagged with a namespace and carried by a node.

    +
    node:the holding node
    ns:the namespace
    name:the name of the attribute
    value:the value of the attribute
    Returns:a pointer to the attribute

    Function: xmlNewPI

    xmlNodePtr	xmlNewPI		(const xmlChar * name, 
    const xmlChar * content)
    +

    Creation of a processing instruction element.

    +
    name:the processing instruction name
    content:the PI content
    Returns:a pointer to the new node object.

    Function: xmlNewProp

    xmlAttrPtr	xmlNewProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * value)
    +

    Create a new property carried by a node.

    +
    node:the holding node
    name:the name of the attribute
    value:the value of the attribute
    Returns:a pointer to the attribute

    Function: xmlNewReference

    xmlNodePtr	xmlNewReference		(xmlDocPtr doc, 
    const xmlChar * name)
    +

    Creation of a new reference node.

    +
    doc:the document
    name:the reference name, or the reference string with & and ;
    Returns:a pointer to the new node object.

    Function: xmlNewText

    xmlNodePtr	xmlNewText		(const xmlChar * content)
    +

    Creation of a new text node.

    +
    content:the text content
    Returns:a pointer to the new node object.

    Function: xmlNewTextChild

    xmlNodePtr	xmlNewTextChild		(xmlNodePtr parent, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * content)
    +

    Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child TEXT node will be created containing the string @content. NOTE: Use xmlNewChild() if @content will contain entities that need to be preserved. Use this function, xmlNewTextChild(), if you need to ensure that reserved XML chars that might appear in @content, such as the ampersand, greater-than or less-than signs, are automatically replaced by their XML escaped entity representations.

    +
    parent:the parent node
    ns:a namespace if any
    name:the name of the child
    content:the text content of the child if any.
    Returns:a pointer to the new node object.

    Function: xmlNewTextLen

    xmlNodePtr	xmlNewTextLen		(const xmlChar * content, 
    int len)
    +

    Creation of a new text node with an extra parameter for the content's length

    +
    content:the text content
    len:the text len.
    Returns:a pointer to the new node object.

    Function: xmlNodeAddContent

    void	xmlNodeAddContent		(xmlNodePtr cur, 
    const xmlChar * content)
    +

    Append the extra substring to the node content.

    +
    cur:the node being modified
    content:extra content

    Function: xmlNodeAddContentLen

    void	xmlNodeAddContentLen		(xmlNodePtr cur, 
    const xmlChar * content,
    int len)
    +

    Append the extra substring to the node content.

    +
    cur:the node being modified
    content:extra content
    len:the size of @content

    Function: xmlNodeBufGetContent

    int	xmlNodeBufGetContent		(xmlBufferPtr buffer, 
    xmlNodePtr cur)
    +

    Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buffer with this value

    +
    buffer:a buffer
    cur:the node being read
    Returns:0 in case of success and -1 in case of error.

    Function: xmlNodeDump

    int	xmlNodeDump			(xmlBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    int level,
    int format)
    +

    Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called

    +
    buf:the XML buffer output
    doc:the document
    cur:the current node
    level:the imbrication level for indenting
    format:is formatting allowed
    Returns:the number of bytes written to the buffer or -1 in case of error

    Function: xmlNodeDumpOutput

    void	xmlNodeDumpOutput		(xmlOutputBufferPtr buf, 
    xmlDocPtr doc,
    xmlNodePtr cur,
    int level,
    int format,
    const char * encoding)
    +

    Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called

    +
    buf:the XML buffer output
    doc:the document
    cur:the current node
    level:the imbrication level for indenting
    format:is formatting allowed
    encoding:an optional encoding string

    Function: xmlNodeGetBase

    xmlChar *	xmlNodeGetBase		(xmlDocPtr doc, 
    xmlNodePtr cur)
    +

    Searches for the BASE URL. The code should work on both XML and HTML document even if base mechanisms are completely different. It returns the base as defined in RFC 2396 sections 5.1.1. Base URI within Document Content and 5.1.2. Base URI from the Encapsulating Entity However it does not return the document base (5.1.3), use xmlDocumentGetBase() for this

    +
    doc:the document the node pertains to
    cur:the node being checked
    Returns:a pointer to the base URL, or NULL if not found It's up to the caller to free the memory with xmlFree().

    Function: xmlNodeGetContent

    xmlChar *	xmlNodeGetContent	(xmlNodePtr cur)
    +

    Read the value of a node, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted.

    +
    cur:the node being read
    Returns:a new #xmlChar * or NULL if no content is available. It's up to the caller to free the memory with xmlFree().

    Function: xmlNodeGetLang

    xmlChar *	xmlNodeGetLang		(xmlNodePtr cur)
    +

    Searches the language of a node, i.e. the values of the xml:lang attribute or the one carried by the nearest ancestor.

    +
    cur:the node being checked
    Returns:a pointer to the lang value, or NULL if not found It's up to the caller to free the memory with xmlFree().

    Function: xmlNodeGetSpacePreserve

    int	xmlNodeGetSpacePreserve		(xmlNodePtr cur)
    +

    Searches the space preserving behaviour of a node, i.e. the values of the xml:space attribute or the one carried by the nearest ancestor.

    +
    cur:the node being checked
    Returns:-1 if xml:space is not inherited, 0 if "default", 1 if "preserve"

    Function: xmlNodeIsText

    int	xmlNodeIsText			(xmlNodePtr node)
    +

    Is this node a Text node ?

    +
    node:the node
    Returns:1 yes, 0 no

    Function: xmlNodeListGetRawString

    xmlChar *	xmlNodeListGetRawString	(xmlDocPtr doc, 
    xmlNodePtr list,
    int inLine)
    +

    Builds the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs, contrary to xmlNodeListGetString() this function doesn't do any character encoding handling.

    +
    doc:the document
    list:a Node list
    inLine:should we replace entity contents or show their external form
    Returns:a pointer to the string copy, the caller must free it with xmlFree().

    Function: xmlNodeListGetString

    xmlChar *	xmlNodeListGetString	(xmlDocPtr doc, 
    xmlNodePtr list,
    int inLine)
    +

    Build the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs

    +
    doc:the document
    list:a Node list
    inLine:should we replace entity contents or show their external form
    Returns:a pointer to the string copy, the caller must free it with xmlFree().

    Function: xmlNodeSetBase

    void	xmlNodeSetBase			(xmlNodePtr cur, 
    const xmlChar * uri)
    +

    Set (or reset) the base URI of a node, i.e. the value of the xml:base attribute.

    +
    cur:the node being changed
    uri:the new base URI

    Function: xmlNodeSetContent

    void	xmlNodeSetContent		(xmlNodePtr cur, 
    const xmlChar * content)
    +

    Replace the content of a node.

    +
    cur:the node being modified
    content:the new value of the content

    Function: xmlNodeSetContentLen

    void	xmlNodeSetContentLen		(xmlNodePtr cur, 
    const xmlChar * content,
    int len)
    +

    Replace the content of a node.

    +
    cur:the node being modified
    content:the new value of the content
    len:the size of @content

    Function: xmlNodeSetLang

    void	xmlNodeSetLang			(xmlNodePtr cur, 
    const xmlChar * lang)
    +

    Set the language of a node, i.e. the values of the xml:lang attribute.

    +
    cur:the node being changed
    lang:the language description

    Function: xmlNodeSetName

    void	xmlNodeSetName			(xmlNodePtr cur, 
    const xmlChar * name)
    +

    Set (or reset) the name of a node.

    +
    cur:the node being changed
    name:the new tag name

    Function: xmlNodeSetSpacePreserve

    void	xmlNodeSetSpacePreserve		(xmlNodePtr cur, 
    int val)
    +

    Set (or reset) the space preserving behaviour of a node, i.e. the value of the xml:space attribute.

    +
    cur:the node being changed
    val:the xml:space value ("0": default, 1: "preserve")

    Function: xmlReconciliateNs

    int	xmlReconciliateNs		(xmlDocPtr doc, 
    xmlNodePtr tree)
    +

    This function checks that all the namespaces declared within the given tree are properly declared. This is needed for example after Copy or Cut and then paste operations. The subtree may still hold pointers to namespace declarations outside the subtree or invalid/masked. As much as possible the function try to reuse the existing namespaces found in the new environment. If not possible the new namespaces are redeclared on @tree at the top of the given subtree.

    +
    doc:the document
    tree:a node defining the subtree to reconciliate
    Returns:the number of namespace declarations created or -1 in case of error.

    Function: xmlRemoveProp

    int	xmlRemoveProp			(xmlAttrPtr cur)
    +

    Unlink and free one attribute, all the content is freed too Note this doesn't work for namespace definition attributes

    +
    cur:an attribute
    Returns:0 if success and -1 in case of error.

    Function: xmlReplaceNode

    xmlNodePtr	xmlReplaceNode		(xmlNodePtr old, 
    xmlNodePtr cur)
    +

    Unlink the old node from its current context, prune the new one at the same place. If @cur was already inserted in a document it is first unlinked from its existing context.

    +
    old:the old node
    cur:the node
    Returns:the @old node

    Function: xmlSaveFile

    int	xmlSaveFile			(const char * filename, 
    xmlDocPtr cur)
    +

    Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used.

    +
    filename:the filename (or URL)
    cur:the document
    Returns:the number of bytes written or -1 in case of failure.

    Function: xmlSaveFileEnc

    int	xmlSaveFileEnc			(const char * filename, 
    xmlDocPtr cur,
    const char * encoding)
    +

    Dump an XML document, converting it to the given encoding

    +
    filename:the filename (or URL)
    cur:the document
    encoding:the name of an encoding (or NULL)
    Returns:the number of bytes written or -1 in case of failure.

    Function: xmlSaveFileTo

    int	xmlSaveFileTo			(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding)
    +

    Dump an XML document to an I/O buffer.

    +
    buf:an output I/O buffer
    cur:the document
    encoding:the encoding if any assuming the I/O layer handles the trancoding
    Returns:the number of bytes written or -1 in case of failure.

    Function: xmlSaveFormatFile

    int	xmlSaveFormatFile		(const char * filename, 
    xmlDocPtr cur,
    int format)
    +

    Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called

    +
    filename:the filename (or URL)
    cur:the document
    format:should formatting spaces been added
    Returns:the number of bytes written or -1 in case of failure.

    Function: xmlSaveFormatFileEnc

    int	xmlSaveFormatFileEnc		(const char * filename, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    +

    Dump an XML document to a file or an URL.

    +
    filename:the filename or URL to output
    cur:the document being saved
    encoding:the name of the encoding to use or NULL.
    format:should formatting spaces be added.
    Returns:the number of bytes written or -1 in case of error. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called

    Function: xmlSaveFormatFileTo

    int	xmlSaveFormatFileTo		(xmlOutputBufferPtr buf, 
    xmlDocPtr cur,
    const char * encoding,
    int format)
    +

    Dump an XML document to an I/O buffer. NOTE: the I/O buffer is closed as part of the call.

    +
    buf:an output I/O buffer
    cur:the document
    encoding:the encoding if any assuming the I/O layer handles the trancoding
    format:should formatting spaces been added
    Returns:the number of bytes written or -1 in case of failure.

    Function: xmlSearchNs

    xmlNsPtr	xmlSearchNs		(xmlDocPtr doc, 
    xmlNodePtr node,
    const xmlChar * nameSpace)
    +

    Search a Ns registered under a given name space for a document. recurse on the parents until it finds the defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the default namespace. We don't allow to cross entities boundaries. If you don't declare the namespace within those you will be in troubles !!! A warning is generated to cover this case.

    +
    doc:the document
    node:the current node
    nameSpace:the namespace prefix
    Returns:the namespace pointer or NULL.

    Function: xmlSearchNsByHref

    xmlNsPtr	xmlSearchNsByHref	(xmlDocPtr doc, 
    xmlNodePtr node,
    const xmlChar * href)
    +

    Search a Ns aliasing a given URI. Recurse on the parents until it finds the defined namespace or return NULL otherwise.

    +
    doc:the document
    node:the current node
    href:the namespace value
    Returns:the namespace pointer or NULL.

    Function: xmlSetBufferAllocationScheme

    void	xmlSetBufferAllocationScheme	(xmlBufferAllocationScheme scheme)
    +

    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

    +
    scheme:allocation method to use

    Function: xmlSetCompressMode

    void	xmlSetCompressMode		(int mode)
    +

    set the default compression mode used, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)

    +
    mode:the compression ratio

    Function: xmlSetDocCompressMode

    void	xmlSetDocCompressMode		(xmlDocPtr doc, 
    int mode)
    +

    set the compression ratio for a document, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)

    +
    doc:the document
    mode:the compression ratio

    Function: xmlSetListDoc

    void	xmlSetListDoc			(xmlNodePtr list, 
    xmlDocPtr doc)
    +

    update all nodes in the list to point to the right document

    +
    list:the first element
    doc:the document

    Function: xmlSetNs

    void	xmlSetNs			(xmlNodePtr node, 
    xmlNsPtr ns)
    +

    Associate a namespace to a node, a posteriori.

    +
    node:a node in the document
    ns:a namespace pointer

    Function: xmlSetNsProp

    xmlAttrPtr	xmlSetNsProp		(xmlNodePtr node, 
    xmlNsPtr ns,
    const xmlChar * name,
    const xmlChar * value)
    +

    Set (or reset) an attribute carried by a node. The ns structure must be in scope, this is not checked.

    +
    node:the node
    ns:the namespace definition
    name:the attribute name
    value:the attribute value
    Returns:the attribute pointer.

    Function: xmlSetProp

    xmlAttrPtr	xmlSetProp		(xmlNodePtr node, 
    const xmlChar * name,
    const xmlChar * value)
    +

    Set (or reset) an attribute carried by a node.

    +
    node:the node
    name:the attribute name
    value:the attribute value
    Returns:the attribute pointer.

    Function: xmlSetTreeDoc

    void	xmlSetTreeDoc			(xmlNodePtr tree, 
    xmlDocPtr doc)
    +

    update all nodes under the tree to point to the right document

    +
    tree:the top element
    doc:the document

    Function: xmlSplitQName2

    xmlChar *	xmlSplitQName2		(const xmlChar * name, 
    xmlChar ** prefix)
    +

    parse an XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName

    +
    name:the full QName
    prefix:a xmlChar **
    Returns:NULL if not a QName, otherwise the local part, and prefix is updated to get the Prefix if any.

    Function: xmlSplitQName3

    const xmlChar *	xmlSplitQName3		(const xmlChar * name, 
    int * len)
    +

    parse an XML qualified name string,i

    +
    name:the full QName
    len:an int *
    Returns:NULL if it is not a Qualified Name, otherwise, update len with the lenght in byte of the prefix and return a pointer

    Function: xmlStringGetNodeList

    xmlNodePtr	xmlStringGetNodeList	(xmlDocPtr doc, 
    const xmlChar * value)
    +

    Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.

    +
    doc:the document
    value:the value of the attribute
    Returns:a pointer to the first child

    Function: xmlStringLenGetNodeList

    xmlNodePtr	xmlStringLenGetNodeList	(xmlDocPtr doc, 
    const xmlChar * value,
    int len)
    +

    Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.

    +
    doc:the document
    value:the value of the text
    len:the length of the string value
    Returns:a pointer to the first child

    Function: xmlTextConcat

    int	xmlTextConcat			(xmlNodePtr node, 
    const xmlChar * content,
    int len)
    +

    Concat the given string at the end of the existing node content

    +
    node:the node
    content:the content
    len:@content length
    Returns:-1 in case of error, 0 otherwise

    Function: xmlTextMerge

    xmlNodePtr	xmlTextMerge		(xmlNodePtr first, 
    xmlNodePtr second)
    +

    Merge two text nodes into one

    +
    first:the first text node
    second:the second text node being merged
    Returns:the first text node augmented

    Function: xmlUnlinkNode

    void	xmlUnlinkNode			(xmlNodePtr cur)
    +

    Unlink a node from it's current context, the node is not freed

    +
    cur:the node

    Function: xmlUnsetNsProp

    int	xmlUnsetNsProp			(xmlNodePtr node, 
    xmlNsPtr ns,
    const xmlChar * name)
    +

    Remove an attribute carried by a node.

    +
    node:the node
    ns:the namespace definition
    name:the attribute name
    Returns:0 if successful, -1 if not found

    Function: xmlUnsetProp

    int	xmlUnsetProp			(xmlNodePtr node, 
    const xmlChar * name)
    +

    Remove an attribute carried by a node.

    +
    node:the node
    name:the attribute name
    Returns:0 if successful, -1 if not found

    Function: xmlValidateNCName

    int	xmlValidateNCName		(const xmlChar * value, 
    int space)
    +

    Check that a value conforms to the lexical space of NCName

    +
    value:the value to check
    space:allow spaces in front and end of the string
    Returns:0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlValidateNMToken

    int	xmlValidateNMToken		(const xmlChar * value, 
    int space)
    +

    Check that a value conforms to the lexical space of NMToken

    +
    value:the value to check
    space:allow spaces in front and end of the string
    Returns:0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlValidateName

    int	xmlValidateName			(const xmlChar * value, 
    int space)
    +

    Check that a value conforms to the lexical space of Name

    +
    value:the value to check
    space:allow spaces in front and end of the string
    Returns:0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlValidateQName

    int	xmlValidateQName		(const xmlChar * value, 
    int space)
    +

    Check that a value conforms to the lexical space of QName

    +
    value:the value to check
    space:allow spaces in front and end of the string
    Returns:0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.

    Daniel Veillard

    diff --git a/doc/html/libxml-uri.html b/doc/html/libxml-uri.html new file mode 100644 index 0000000..6d909d6 --- /dev/null +++ b/doc/html/libxml-uri.html @@ -0,0 +1,63 @@ + + +Module uri from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module uri from libxml2

    API Menu
    API Indexes
    Related links

    library of generic URI related routines Implements RFC 2396

    Table of Contents

    Structure xmlURI
    struct _xmlURI +
    Typedef xmlURI * xmlURIPtr
    +
    xmlChar *	xmlBuildURI		(const xmlChar * URI, 
    const xmlChar * base)
    +
    xmlChar *	xmlCanonicPath		(const xmlChar * path)
    +
    xmlURIPtr	xmlCreateURI		(void)
    +
    void	xmlFreeURI			(xmlURIPtr uri)
    +
    int	xmlNormalizeURIPath		(char * path)
    +
    xmlURIPtr	xmlParseURI		(const char * str)
    +
    int	xmlParseURIReference		(xmlURIPtr uri, 
    const char * str)
    +
    void	xmlPrintURI			(FILE * stream, 
    xmlURIPtr uri)
    +
    xmlChar *	xmlSaveUri		(xmlURIPtr uri)
    +
    xmlChar *	xmlURIEscape		(const xmlChar * str)
    +
    xmlChar *	xmlURIEscapeStr		(const xmlChar * str, 
    const xmlChar * list)
    +
    char *	xmlURIUnescapeString		(const char * str, 
    int len,
    char * target)
    +

    Description

    +

    Structure xmlURI

    Structure xmlURI
    struct _xmlURI { + char * scheme : the URI scheme + char * opaque : opaque part + char * authority : the authority part + char * server : the server part + char * user : the user part + int port : the port number + char * path : the path string + char * query : the query string + char * fragment : the fragment identifier + int cleanup : parsing potentially unclean URI +}

    Function: xmlBuildURI

    xmlChar *	xmlBuildURI		(const xmlChar * URI, 
    const xmlChar * base)
    +

    Computes he final URI of the reference done by checking that the given URI is valid, and building the final URI using the base URI. This is processed according to section 5.2 of the RFC 2396 5.2. Resolving Relative References to Absolute Form

    +
    URI:the URI instance found in the document
    base:the base value
    Returns:a new URI string (to be freed by the caller) or NULL in case of error.

    Function: xmlCanonicPath

    xmlChar *	xmlCanonicPath		(const xmlChar * path)
    +

    Constructs a canonic path from the specified path.

    +
    path:the resource locator in a filesystem notation
    Returns:a new canonic path, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.

    Function: xmlCreateURI

    xmlURIPtr	xmlCreateURI		(void)
    +

    Simply creates an empty xmlURI

    +
    Returns:the new structure or NULL in case of error

    Function: xmlFreeURI

    void	xmlFreeURI			(xmlURIPtr uri)
    +

    Free up the xmlURI struct

    +
    uri:pointer to an xmlURI

    Function: xmlNormalizeURIPath

    int	xmlNormalizeURIPath		(char * path)
    +

    Applies the 5 normalization steps to a path string--that is, RFC 2396 Section 5.2, steps 6.c through 6.g. Normalization occurs directly on the string, no new allocation is done

    +
    path:pointer to the path string
    Returns:0 or an error code

    Function: xmlParseURI

    xmlURIPtr	xmlParseURI		(const char * str)
    +

    Parse an URI URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]

    +
    str:the URI string to analyze
    Returns:a newly build xmlURIPtr or NULL in case of error

    Function: xmlParseURIReference

    int	xmlParseURIReference		(xmlURIPtr uri, 
    const char * str)
    +

    Parse an URI reference string and fills in the appropriate fields of the @uri structure URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]

    +
    uri:pointer to an URI structure
    str:the string to analyze
    Returns:0 or the error code

    Function: xmlPrintURI

    void	xmlPrintURI			(FILE * stream, 
    xmlURIPtr uri)
    +

    Prints the URI in the stream @steam.

    +
    stream:a FILE* for the output
    uri:pointer to an xmlURI

    Function: xmlSaveUri

    xmlChar *	xmlSaveUri		(xmlURIPtr uri)
    +

    Save the URI as an escaped string

    +
    uri:pointer to an xmlURI
    Returns:a new string (to be deallocated by caller)

    Function: xmlURIEscape

    xmlChar *	xmlURIEscape		(const xmlChar * str)
    +

    Escaping routine, does not do validity checks ! It will try to escape the chars needing this, but this is heuristic based it's impossible to be sure.

    +
    str:the string of the URI to escape
    Returns:an copy of the string, but escaped 25 May 2001 Uses xmlParseURI and xmlURIEscapeStr to try to escape correctly according to RFC2396. - Carl Douglas

    Function: xmlURIEscapeStr

    xmlChar *	xmlURIEscapeStr		(const xmlChar * str, 
    const xmlChar * list)
    +

    This routine escapes a string to hex, ignoring reserved characters (a-z) and the characters in the exception list.

    +
    str:string to escape
    list:exception list string of chars not to escape
    Returns:a new escaped string or NULL in case of error.

    Function: xmlURIUnescapeString

    char *	xmlURIUnescapeString		(const char * str, 
    int len,
    char * target)
    +

    Unescaping routine, does not do validity checks ! Output is direct unsigned char translation of %XX values (no encoding)

    +
    str:the string to unescape
    len:the length in bytes to unescape (or <= 0 to indicate full string)
    target:optional destination buffer
    Returns:an copy of the string, but unescaped

    Daniel Veillard

    diff --git a/doc/html/libxml-valid.html b/doc/html/libxml-valid.html new file mode 100644 index 0000000..a305f64 --- /dev/null +++ b/doc/html/libxml-valid.html @@ -0,0 +1,278 @@ + + +Module valid from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module valid from libxml2

    API Menu
    API Indexes
    Related links

    API for the DTD handling and the validity checking

    Table of Contents

    Structure xmlAttributeTable
    struct _xmlHashTable +The content of this structure is not made public by the API. +
    Typedef xmlAttributeTable * xmlAttributeTablePtr
    +
    Structure xmlElementTable
    struct _xmlHashTable +The content of this structure is not made public by the API. +
    Typedef xmlElementTable * xmlElementTablePtr
    +
    Structure xmlIDTable
    struct _xmlHashTable +The content of this structure is not made public by the API. +
    Typedef xmlIDTable * xmlIDTablePtr
    +
    Structure xmlNotationTable
    struct _xmlHashTable +The content of this structure is not made public by the API. +
    Typedef xmlNotationTable * xmlNotationTablePtr
    +
    Structure xmlRefTable
    struct _xmlHashTable +The content of this structure is not made public by the API. +
    Typedef xmlRefTable * xmlRefTablePtr
    +
    Structure xmlValidCtxt
    struct _xmlValidCtxt +
    Typedef xmlValidCtxt * xmlValidCtxtPtr
    +
    Structure xmlValidState
    struct _xmlValidState +The content of this structure is not made public by the API. +
    Typedef xmlValidState * xmlValidStatePtr
    +
    xmlAttributePtr	xmlAddAttributeDecl	(xmlValidCtxtPtr ctxt, 
    xmlDtdPtr dtd,
    const xmlChar * elem,
    const xmlChar * name,
    const xmlChar * ns,
    xmlAttributeType type,
    xmlAttributeDefault def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree)
    +
    xmlElementPtr	xmlAddElementDecl	(xmlValidCtxtPtr ctxt, 
    xmlDtdPtr dtd,
    const xmlChar * name,
    xmlElementTypeVal type,
    xmlElementContentPtr content)
    +
    xmlIDPtr	xmlAddID		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    const xmlChar * value,
    xmlAttrPtr attr)
    +
    xmlNotationPtr	xmlAddNotationDecl	(xmlValidCtxtPtr ctxt, 
    xmlDtdPtr dtd,
    const xmlChar * name,
    const xmlChar * PublicID,
    const xmlChar * SystemID)
    +
    xmlRefPtr	xmlAddRef		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    const xmlChar * value,
    xmlAttrPtr attr)
    +
    xmlAttributeTablePtr	xmlCopyAttributeTable	(xmlAttributeTablePtr table)
    +
    xmlElementContentPtr	xmlCopyElementContent	(xmlElementContentPtr cur)
    +
    xmlElementTablePtr	xmlCopyElementTable	(xmlElementTablePtr table)
    +
    xmlEnumerationPtr	xmlCopyEnumeration	(xmlEnumerationPtr cur)
    +
    xmlNotationTablePtr	xmlCopyNotationTable	(xmlNotationTablePtr table)
    +
    xmlEnumerationPtr	xmlCreateEnumeration	(const xmlChar * name)
    +
    void	xmlDumpAttributeDecl		(xmlBufferPtr buf, 
    xmlAttributePtr attr)
    +
    void	xmlDumpAttributeTable		(xmlBufferPtr buf, 
    xmlAttributeTablePtr table)
    +
    void	xmlDumpElementDecl		(xmlBufferPtr buf, 
    xmlElementPtr elem)
    +
    void	xmlDumpElementTable		(xmlBufferPtr buf, 
    xmlElementTablePtr table)
    +
    void	xmlDumpNotationDecl		(xmlBufferPtr buf, 
    xmlNotationPtr nota)
    +
    void	xmlDumpNotationTable		(xmlBufferPtr buf, 
    xmlNotationTablePtr table)
    +
    void	xmlFreeAttributeTable		(xmlAttributeTablePtr table)
    +
    void	xmlFreeElementContent		(xmlElementContentPtr cur)
    +
    void	xmlFreeElementTable		(xmlElementTablePtr table)
    +
    void	xmlFreeEnumeration		(xmlEnumerationPtr cur)
    +
    void	xmlFreeIDTable			(xmlIDTablePtr table)
    +
    void	xmlFreeNotationTable		(xmlNotationTablePtr table)
    +
    void	xmlFreeRefTable			(xmlRefTablePtr table)
    +
    void	xmlFreeValidCtxt		(xmlValidCtxtPtr cur)
    +
    xmlAttributePtr	xmlGetDtdAttrDesc	(xmlDtdPtr dtd, 
    const xmlChar * elem,
    const xmlChar * name)
    +
    xmlElementPtr	xmlGetDtdElementDesc	(xmlDtdPtr dtd, 
    const xmlChar * name)
    +
    xmlNotationPtr	xmlGetDtdNotationDesc	(xmlDtdPtr dtd, 
    const xmlChar * name)
    +
    xmlAttributePtr	xmlGetDtdQAttrDesc	(xmlDtdPtr dtd, 
    const xmlChar * elem,
    const xmlChar * name,
    const xmlChar * prefix)
    +
    xmlElementPtr	xmlGetDtdQElementDesc	(xmlDtdPtr dtd, 
    const xmlChar * name,
    const xmlChar * prefix)
    +
    xmlAttrPtr	xmlGetID		(xmlDocPtr doc, 
    const xmlChar * ID)
    +
    xmlListPtr	xmlGetRefs		(xmlDocPtr doc, 
    const xmlChar * ID)
    +
    int	xmlIsID			(xmlDocPtr doc, 
    xmlNodePtr elem,
    xmlAttrPtr attr)
    +
    int	xmlIsMixedElement		(xmlDocPtr doc, 
    const xmlChar * name)
    +
    int	xmlIsRef			(xmlDocPtr doc, 
    xmlNodePtr elem,
    xmlAttrPtr attr)
    +
    xmlElementContentPtr	xmlNewElementContent	(const xmlChar * name, 
    xmlElementContentType type)
    +
    xmlValidCtxtPtr	xmlNewValidCtxt		(void)
    +
    int	xmlRemoveID			(xmlDocPtr doc, 
    xmlAttrPtr attr)
    +
    int	xmlRemoveRef			(xmlDocPtr doc, 
    xmlAttrPtr attr)
    +
    void	xmlSnprintfElementContent	(char * buf, 
    int size,
    xmlElementContentPtr content,
    int glob)
    +
    void	xmlSprintfElementContent	(char * buf, 
    xmlElementContentPtr content,
    int glob)
    +
    int	xmlValidBuildContentModel	(xmlValidCtxtPtr ctxt, 
    xmlElementPtr elem)
    +
    xmlChar *	xmlValidCtxtNormalizeAttributeValue	(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * name,
    const xmlChar * value)
    +
    int	xmlValidGetPotentialChildren	(xmlElementContent * ctree, 
    const xmlChar ** list,
    int * len,
    int max)
    +
    int	xmlValidGetValidElements	(xmlNode * prev, 
    xmlNode * next,
    const xmlChar ** list,
    int max)
    +
    xmlChar *	xmlValidNormalizeAttributeValue	(xmlDocPtr doc, 
    xmlNodePtr elem,
    const xmlChar * name,
    const xmlChar * value)
    +
    int	xmlValidateAttributeDecl	(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlAttributePtr attr)
    +
    int	xmlValidateAttributeValue	(xmlAttributeType type, 
    const xmlChar * value)
    +
    int	xmlValidateDocument		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    +
    int	xmlValidateDocumentFinal	(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    +
    int	xmlValidateDtd			(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlDtdPtr dtd)
    +
    int	xmlValidateDtdFinal		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    +
    int	xmlValidateElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    +
    int	xmlValidateElementDecl		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlElementPtr elem)
    +
    int	xmlValidateNameValue		(const xmlChar * value)
    +
    int	xmlValidateNamesValue		(const xmlChar * value)
    +
    int	xmlValidateNmtokenValue		(const xmlChar * value)
    +
    int	xmlValidateNmtokensValue	(const xmlChar * value)
    +
    int	xmlValidateNotationDecl		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNotationPtr nota)
    +
    int	xmlValidateNotationUse		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    const xmlChar * notationName)
    +
    int	xmlValidateOneAttribute		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    xmlAttrPtr attr,
    const xmlChar * value)
    +
    int	xmlValidateOneElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    +
    int	xmlValidateOneNamespace		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * prefix,
    xmlNsPtr ns,
    const xmlChar * value)
    +
    int	xmlValidatePopElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * qname)
    +
    int	xmlValidatePushCData		(xmlValidCtxtPtr ctxt, 
    const xmlChar * data,
    int len)
    +
    int	xmlValidatePushElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * qname)
    +
    int	xmlValidateRoot			(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    +
    Function type: xmlValidityErrorFunc
    +void	xmlValidityErrorFunc		(void * ctx, 
    const char * msg,
    ... ...) +
    +
    Function type: xmlValidityWarningFunc
    +void	xmlValidityWarningFunc		(void * ctx, 
    const char * msg,
    ... ...) +
    +

    Description

    +

    Structure xmlAttributeTable

    Structure xmlAttributeTable
    struct _xmlHashTable { +The content of this structure is not made public by the API. +}

    Structure xmlElementTable

    Structure xmlElementTable
    struct _xmlHashTable { +The content of this structure is not made public by the API. +}

    Structure xmlIDTable

    Structure xmlIDTable
    struct _xmlHashTable { +The content of this structure is not made public by the API. +}

    Structure xmlNotationTable

    Structure xmlNotationTable
    struct _xmlHashTable { +The content of this structure is not made public by the API. +}

    Structure xmlRefTable

    Structure xmlRefTable
    struct _xmlHashTable { +The content of this structure is not made public by the API. +}

    Structure xmlValidCtxt

    Structure xmlValidCtxt
    struct _xmlValidCtxt { + void * userData : user specific data block + xmlValidityErrorFunc error : the callback in case of errors + xmlValidityWarningFunc warning : the callback in case of warning Node an + xmlNodePtr node : Current parsed Node + int nodeNr : Depth of the parsing stack + int nodeMax : Max depth of the parsing stack + xmlNodePtr * nodeTab : array of nodes + int finishDtd : finished validating the Dtd ? + xmlDocPtr doc : the document + int valid : temporary validity check result state s + xmlValidState * vstate : current state + int vstateNr : Depth of the validation stack + int vstateMax : Max depth of the validation stack + xmlValidState * vstateTab : array of validation states + xmlAutomataPtr am : the automata + xmlAutomataStatePtr state : used to build the automata + void * am + void * state +}

    Structure xmlValidState

    Structure xmlValidState
    struct _xmlValidState { +The content of this structure is not made public by the API. +}

    Function: xmlAddAttributeDecl

    xmlAttributePtr	xmlAddAttributeDecl	(xmlValidCtxtPtr ctxt, 
    xmlDtdPtr dtd,
    const xmlChar * elem,
    const xmlChar * name,
    const xmlChar * ns,
    xmlAttributeType type,
    xmlAttributeDefault def,
    const xmlChar * defaultValue,
    xmlEnumerationPtr tree)
    +

    Register a new attribute declaration Note that @tree becomes the ownership of the DTD

    +
    ctxt:the validation context
    dtd:pointer to the DTD
    elem:the element name
    name:the attribute name
    ns:the attribute namespace prefix
    type:the attribute type
    def:the attribute default type
    defaultValue:the attribute default value
    tree:if it's an enumeration, the associated list
    Returns:NULL if not new, otherwise the attribute decl

    Function: xmlAddElementDecl

    xmlElementPtr	xmlAddElementDecl	(xmlValidCtxtPtr ctxt, 
    xmlDtdPtr dtd,
    const xmlChar * name,
    xmlElementTypeVal type,
    xmlElementContentPtr content)
    +

    Register a new element declaration

    +
    ctxt:the validation context
    dtd:pointer to the DTD
    name:the entity name
    type:the element type
    content:the element content tree or NULL
    Returns:NULL if not, otherwise the entity

    Function: xmlAddID

    xmlIDPtr	xmlAddID		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    const xmlChar * value,
    xmlAttrPtr attr)
    +

    Register a new id declaration

    +
    ctxt:the validation context
    doc:pointer to the document
    value:the value name
    attr:the attribute holding the ID
    Returns:NULL if not, otherwise the new xmlIDPtr

    Function: xmlAddNotationDecl

    xmlNotationPtr	xmlAddNotationDecl	(xmlValidCtxtPtr ctxt, 
    xmlDtdPtr dtd,
    const xmlChar * name,
    const xmlChar * PublicID,
    const xmlChar * SystemID)
    +

    Register a new notation declaration

    +
    ctxt:the validation context
    dtd:pointer to the DTD
    name:the entity name
    PublicID:the public identifier or NULL
    SystemID:the system identifier or NULL
    Returns:NULL if not, otherwise the entity

    Function: xmlAddRef

    xmlRefPtr	xmlAddRef		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    const xmlChar * value,
    xmlAttrPtr attr)
    +

    Register a new ref declaration

    +
    ctxt:the validation context
    doc:pointer to the document
    value:the value name
    attr:the attribute holding the Ref
    Returns:NULL if not, otherwise the new xmlRefPtr

    Function: xmlCopyAttributeTable

    xmlAttributeTablePtr	xmlCopyAttributeTable	(xmlAttributeTablePtr table)
    +

    Build a copy of an attribute table.

    +
    table:An attribute table
    Returns:the new xmlAttributeTablePtr or NULL in case of error.

    Function: xmlCopyElementContent

    xmlElementContentPtr	xmlCopyElementContent	(xmlElementContentPtr cur)
    +

    Build a copy of an element content description.

    +
    cur:An element content pointer.
    Returns:the new xmlElementContentPtr or NULL in case of error.

    Function: xmlCopyElementTable

    xmlElementTablePtr	xmlCopyElementTable	(xmlElementTablePtr table)
    +

    Build a copy of an element table.

    +
    table:An element table
    Returns:the new xmlElementTablePtr or NULL in case of error.

    Function: xmlCopyEnumeration

    xmlEnumerationPtr	xmlCopyEnumeration	(xmlEnumerationPtr cur)
    +

    Copy an enumeration attribute node (recursive).

    +
    cur:the tree to copy.
    Returns:the xmlEnumerationPtr just created or NULL in case of error.

    Function: xmlCopyNotationTable

    xmlNotationTablePtr	xmlCopyNotationTable	(xmlNotationTablePtr table)
    +

    Build a copy of a notation table.

    +
    table:A notation table
    Returns:the new xmlNotationTablePtr or NULL in case of error.

    Function: xmlCreateEnumeration

    xmlEnumerationPtr	xmlCreateEnumeration	(const xmlChar * name)
    +

    create and initialize an enumeration attribute node.

    +
    name:the enumeration name or NULL
    Returns:the xmlEnumerationPtr just created or NULL in case of error.

    Function: xmlDumpAttributeDecl

    void	xmlDumpAttributeDecl		(xmlBufferPtr buf, 
    xmlAttributePtr attr)
    +

    This will dump the content of the attribute declaration as an XML DTD definition

    +
    buf:the XML buffer output
    attr:An attribute declaration

    Function: xmlDumpAttributeTable

    void	xmlDumpAttributeTable		(xmlBufferPtr buf, 
    xmlAttributeTablePtr table)
    +

    This will dump the content of the attribute table as an XML DTD definition

    +
    buf:the XML buffer output
    table:An attribute table

    Function: xmlDumpElementDecl

    void	xmlDumpElementDecl		(xmlBufferPtr buf, 
    xmlElementPtr elem)
    +

    This will dump the content of the element declaration as an XML DTD definition

    +
    buf:the XML buffer output
    elem:An element table

    Function: xmlDumpElementTable

    void	xmlDumpElementTable		(xmlBufferPtr buf, 
    xmlElementTablePtr table)
    +

    This will dump the content of the element table as an XML DTD definition

    +
    buf:the XML buffer output
    table:An element table

    Function: xmlDumpNotationDecl

    void	xmlDumpNotationDecl		(xmlBufferPtr buf, 
    xmlNotationPtr nota)
    +

    This will dump the content the notation declaration as an XML DTD definition

    +
    buf:the XML buffer output
    nota:A notation declaration

    Function: xmlDumpNotationTable

    void	xmlDumpNotationTable		(xmlBufferPtr buf, 
    xmlNotationTablePtr table)
    +

    This will dump the content of the notation table as an XML DTD definition

    +
    buf:the XML buffer output
    table:A notation table

    Function: xmlFreeAttributeTable

    void	xmlFreeAttributeTable		(xmlAttributeTablePtr table)
    +

    Deallocate the memory used by an entities hash table.

    +
    table:An attribute table

    Function: xmlFreeElementContent

    void	xmlFreeElementContent		(xmlElementContentPtr cur)
    +

    Free an element content structure. This is a recursive call !

    +
    cur:the element content tree to free

    Function: xmlFreeElementTable

    void	xmlFreeElementTable		(xmlElementTablePtr table)
    +

    Deallocate the memory used by an element hash table.

    +
    table:An element table

    Function: xmlFreeEnumeration

    void	xmlFreeEnumeration		(xmlEnumerationPtr cur)
    +

    free an enumeration attribute node (recursive).

    +
    cur:the tree to free.

    Function: xmlFreeIDTable

    void	xmlFreeIDTable			(xmlIDTablePtr table)
    +

    Deallocate the memory used by an ID hash table.

    +
    table:An id table

    Function: xmlFreeNotationTable

    void	xmlFreeNotationTable		(xmlNotationTablePtr table)
    +

    Deallocate the memory used by an entities hash table.

    +
    table:An notation table

    Function: xmlFreeRefTable

    void	xmlFreeRefTable			(xmlRefTablePtr table)
    +

    Deallocate the memory used by an Ref hash table.

    +
    table:An ref table

    Function: xmlFreeValidCtxt

    void	xmlFreeValidCtxt		(xmlValidCtxtPtr cur)
    +

    Free a validation context structure.

    +
    cur:the validation context to free

    Function: xmlGetDtdAttrDesc

    xmlAttributePtr	xmlGetDtdAttrDesc	(xmlDtdPtr dtd, 
    const xmlChar * elem,
    const xmlChar * name)
    +

    Search the DTD for the description of this attribute on this element.

    +
    dtd:a pointer to the DtD to search
    elem:the element name
    name:the attribute name
    Returns:the xmlAttributePtr if found or NULL

    Function: xmlGetDtdElementDesc

    xmlElementPtr	xmlGetDtdElementDesc	(xmlDtdPtr dtd, 
    const xmlChar * name)
    +

    Search the DTD for the description of this element

    +
    dtd:a pointer to the DtD to search
    name:the element name
    Returns:the xmlElementPtr if found or NULL

    Function: xmlGetDtdNotationDesc

    xmlNotationPtr	xmlGetDtdNotationDesc	(xmlDtdPtr dtd, 
    const xmlChar * name)
    +

    Search the DTD for the description of this notation

    +
    dtd:a pointer to the DtD to search
    name:the notation name
    Returns:the xmlNotationPtr if found or NULL

    Function: xmlGetDtdQAttrDesc

    xmlAttributePtr	xmlGetDtdQAttrDesc	(xmlDtdPtr dtd, 
    const xmlChar * elem,
    const xmlChar * name,
    const xmlChar * prefix)
    +

    Search the DTD for the description of this qualified attribute on this element.

    +
    dtd:a pointer to the DtD to search
    elem:the element name
    name:the attribute name
    prefix:the attribute namespace prefix
    Returns:the xmlAttributePtr if found or NULL

    Function: xmlGetDtdQElementDesc

    xmlElementPtr	xmlGetDtdQElementDesc	(xmlDtdPtr dtd, 
    const xmlChar * name,
    const xmlChar * prefix)
    +

    Search the DTD for the description of this element

    +
    dtd:a pointer to the DtD to search
    name:the element name
    prefix:the element namespace prefix
    Returns:the xmlElementPtr if found or NULL

    Function: xmlGetID

    xmlAttrPtr	xmlGetID		(xmlDocPtr doc, 
    const xmlChar * ID)
    +

    Search the attribute declaring the given ID

    +
    doc:pointer to the document
    ID:the ID value
    Returns:NULL if not found, otherwise the xmlAttrPtr defining the ID

    Function: xmlGetRefs

    xmlListPtr	xmlGetRefs		(xmlDocPtr doc, 
    const xmlChar * ID)
    +

    Find the set of references for the supplied ID.

    +
    doc:pointer to the document
    ID:the ID value
    Returns:NULL if not found, otherwise node set for the ID.

    Function: xmlIsID

    int	xmlIsID			(xmlDocPtr doc, 
    xmlNodePtr elem,
    xmlAttrPtr attr)
    +

    Determine whether an attribute is of type ID. In case we have DTD(s) then this is done if DTD loading has been requested. In the case of HTML documents parsed with the HTML parser, then ID detection is done systematically.

    +
    doc:the document
    elem:the element carrying the attribute
    attr:the attribute
    Returns:0 or 1 depending on the lookup result

    Function: xmlIsMixedElement

    int	xmlIsMixedElement		(xmlDocPtr doc, 
    const xmlChar * name)
    +

    Search in the DtDs whether an element accept Mixed content (or ANY) basically if it is supposed to accept text childs

    +
    doc:the document
    name:the element name
    Returns:0 if no, 1 if yes, and -1 if no element description is available

    Function: xmlIsRef

    int	xmlIsRef			(xmlDocPtr doc, 
    xmlNodePtr elem,
    xmlAttrPtr attr)
    +

    Determine whether an attribute is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase).

    +
    doc:the document
    elem:the element carrying the attribute
    attr:the attribute
    Returns:0 or 1 depending on the lookup result

    Function: xmlNewElementContent

    xmlElementContentPtr	xmlNewElementContent	(const xmlChar * name, 
    xmlElementContentType type)
    +

    Allocate an element content structure.

    +
    name:the subelement name or NULL
    type:the type of element content decl
    Returns:NULL if not, otherwise the new element content structure

    Function: xmlNewValidCtxt

    xmlValidCtxtPtr	xmlNewValidCtxt		(void)
    +

    Allocate a validation context structure.

    +
    Returns:NULL if not, otherwise the new validation context structure

    Function: xmlRemoveID

    int	xmlRemoveID			(xmlDocPtr doc, 
    xmlAttrPtr attr)
    +

    Remove the given attribute from the ID table maintained internally.

    +
    doc:the document
    attr:the attribute
    Returns:-1 if the lookup failed and 0 otherwise

    Function: xmlRemoveRef

    int	xmlRemoveRef			(xmlDocPtr doc, 
    xmlAttrPtr attr)
    +

    Remove the given attribute from the Ref table maintained internally.

    +
    doc:the document
    attr:the attribute
    Returns:-1 if the lookup failed and 0 otherwise

    Function: xmlSnprintfElementContent

    void	xmlSnprintfElementContent	(char * buf, 
    int size,
    xmlElementContentPtr content,
    int glob)
    +

    This will dump the content of the element content definition Intended just for the debug routine

    +
    buf:an output buffer
    size:the buffer size
    content:An element table
    glob:1 if one must print the englobing parenthesis, 0 otherwise

    Function: xmlSprintfElementContent

    void	xmlSprintfElementContent	(char * buf, 
    xmlElementContentPtr content,
    int glob)
    +

    Deprecated, unsafe, use xmlSnprintfElementContent

    +
    buf:an output buffer
    content:An element table
    glob:1 if one must print the englobing parenthesis, 0 otherwise

    Function: xmlValidBuildContentModel

    int	xmlValidBuildContentModel	(xmlValidCtxtPtr ctxt, 
    xmlElementPtr elem)
    +

    (Re)Build the automata associated to the content model of this element

    +
    ctxt:a validation context
    elem:an element declaration node
    Returns:1 in case of success, 0 in case of error

    Function: xmlValidCtxtNormalizeAttributeValue

    xmlChar *	xmlValidCtxtNormalizeAttributeValue	(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * name,
    const xmlChar * value)
    +

    Does the validation related extra step of the normalization of attribute values: If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by single space (#x20) character. Also check VC: Standalone Document Declaration in P32, and update ctxt->valid accordingly

    +
    ctxt:the validation context or NULL
    doc:the document
    elem:the parent
    name:the attribute name
    value:the attribute value
    Returns:a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.

    Function: xmlValidGetPotentialChildren

    int	xmlValidGetPotentialChildren	(xmlElementContent * ctree, 
    const xmlChar ** list,
    int * len,
    int max)
    +

    Build/extend a list of potential children allowed by the content tree

    +
    ctree:an element content tree
    list:an array to store the list of child names
    len:a pointer to the number of element in the list
    max:the size of the array
    Returns:the number of element in the list, or -1 in case of error.

    Function: xmlValidGetValidElements

    int	xmlValidGetValidElements	(xmlNode * prev, 
    xmlNode * next,
    const xmlChar ** list,
    int max)
    +

    This function returns the list of authorized children to insert within an existing tree while respecting the validity constraints forced by the Dtd. The insertion point is defined using @prev and @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.

    +
    prev:an element to insert after
    next:an element to insert next
    list:an array to store the list of child names
    max:the size of the array
    Returns: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.

    Function: xmlValidNormalizeAttributeValue

    xmlChar *	xmlValidNormalizeAttributeValue	(xmlDocPtr doc, 
    xmlNodePtr elem,
    const xmlChar * name,
    const xmlChar * value)
    +

    Does the validation related extra step of the normalization of attribute values: If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by single space (#x20) character.

    +
    doc:the document
    elem:the parent
    name:the attribute name
    value:the attribute value
    Returns:a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.

    Function: xmlValidateAttributeDecl

    int	xmlValidateAttributeDecl	(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlAttributePtr attr)
    +

    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

    +
    ctxt:the validation context
    doc:a document instance
    attr:an attribute definition
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateAttributeValue

    int	xmlValidateAttributeValue	(xmlAttributeType type, 
    const xmlChar * value)
    +

    Validate that the given attribute value match the proper production [ VC: ID ] Values of type ID must match the Name production.... [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names ... [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names ... [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.

    +
    type:an attribute type
    value:an attribute value
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateDocument

    int	xmlValidateDocument		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    +

    Try to validate the document instance basically it does the all the checks described by the XML Rec i.e. validates the internal and external subset (if present) and validate the document tree.

    +
    ctxt:the validation context
    doc:a document instance
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateDocumentFinal

    int	xmlValidateDocumentFinal	(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    +

    Does the final step for the document validation once all the incremental validation steps have been completed basically it does the following checks described by the XML Rec Check all the IDREF/IDREFS attributes definition for validity

    +
    ctxt:the validation context
    doc:a document instance
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateDtd

    int	xmlValidateDtd			(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlDtdPtr dtd)
    +

    Try to validate the document against the dtd instance basically it does check all the definitions in the DtD.

    +
    ctxt:the validation context
    doc:a document instance
    dtd:a dtd instance
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateDtdFinal

    int	xmlValidateDtdFinal		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    +

    Does the final step for the dtds validation once all the subsets have been parsed 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. - check that NOTATION type attributes default or possible values matches one of the defined notations.

    +
    ctxt:the validation context
    doc:a document instance
    Returns:1 if valid or 0 if invalid and -1 if not well-formed

    Function: xmlValidateElement

    int	xmlValidateElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    +

    Try to validate the subtree under an element

    +
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateElementDecl

    int	xmlValidateElementDecl		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlElementPtr elem)
    +

    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 ]

    +
    ctxt:the validation context
    doc:a document instance
    elem:an element definition
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateNameValue

    int	xmlValidateNameValue		(const xmlChar * value)
    +

    Validate that the given value match Name production

    +
    value:an Name value
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateNamesValue

    int	xmlValidateNamesValue		(const xmlChar * value)
    +

    Validate that the given value match Names production

    +
    value:an Names value
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateNmtokenValue

    int	xmlValidateNmtokenValue		(const xmlChar * value)
    +

    Validate that the given value match Nmtoken production [ VC: Name Token ]

    +
    value:an Nmtoken value
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateNmtokensValue

    int	xmlValidateNmtokensValue	(const xmlChar * value)
    +

    Validate that the given value match Nmtokens production [ VC: Name Token ]

    +
    value:an Nmtokens value
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateNotationDecl

    int	xmlValidateNotationDecl		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNotationPtr nota)
    +

    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 But this function get called anyway ...

    +
    ctxt:the validation context
    doc:a document instance
    nota:a notation definition
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateNotationUse

    int	xmlValidateNotationUse		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    const xmlChar * notationName)
    +

    Validate that the given name match a notation declaration. - [ VC: Notation Declared ]

    +
    ctxt:the validation context
    doc:the document
    notationName:the notation name to check
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateOneAttribute

    int	xmlValidateOneAttribute		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    xmlAttrPtr attr,
    const xmlChar * value)
    +

    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

    +
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    attr:an attribute instance
    value:the attribute value (without entities processing)
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateOneElement

    int	xmlValidateOneElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem)
    +

    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 ] Then call xmlValidateOneAttribute() for each attribute present. The ID/IDREF checkings are done separately

    +
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    Returns:1 if valid or 0 otherwise

    Function: xmlValidateOneNamespace

    int	xmlValidateOneNamespace		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * prefix,
    xmlNsPtr ns,
    const xmlChar * value)
    +

    Try to validate a single namespace declaration 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

    +
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    prefix:the namespace prefix
    ns:an namespace declaration instance
    value:the attribute value (without entities processing)
    Returns:1 if valid or 0 otherwise

    Function: xmlValidatePopElement

    int	xmlValidatePopElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * qname)
    +

    Pop the element end from the validation stack.

    +
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    qname:the qualified name as appearing in the serialization
    Returns:1 if no validation problem was found or 0 otherwise

    Function: xmlValidatePushCData

    int	xmlValidatePushCData		(xmlValidCtxtPtr ctxt, 
    const xmlChar * data,
    int len)
    +

    check the CData parsed for validation in the current stack

    +
    ctxt:the validation context
    data:some character data read
    len:the lenght of the data
    Returns:1 if no validation problem was found or 0 otherwise

    Function: xmlValidatePushElement

    int	xmlValidatePushElement		(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc,
    xmlNodePtr elem,
    const xmlChar * qname)
    +

    Push a new element start on the validation stack.

    +
    ctxt:the validation context
    doc:a document instance
    elem:an element instance
    qname:the qualified name as appearing in the serialization
    Returns:1 if no validation problem was found or 0 otherwise

    Function: xmlValidateRoot

    int	xmlValidateRoot			(xmlValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    +

    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 ] it doesn't try to recurse or apply other check to the element

    +
    ctxt:the validation context
    doc:a document instance
    Returns:1 if valid or 0 otherwise

    Function type: xmlValidityErrorFunc

    Function type: xmlValidityErrorFunc
    +void	xmlValidityErrorFunc		(void * ctx, 
    const char * msg,
    ... ...) +

    Callback called when a validity error is found. This is a message oriented function similar to an *printf function.

    ctx:an xmlValidCtxtPtr validity error context
    msg:the string to format *printf like vararg
    ...:remaining arguments to the format

    +

    Function type: xmlValidityWarningFunc

    Function type: xmlValidityWarningFunc
    +void	xmlValidityWarningFunc		(void * ctx, 
    const char * msg,
    ... ...) +

    Callback called when a validity warning is found. This is a message oriented function similar to an *printf function.

    ctx:an xmlValidCtxtPtr validity error context
    msg:the string to format *printf like vararg
    ...:remaining arguments to the format

    +

    Daniel Veillard

    diff --git a/doc/html/libxml-xinclude.html b/doc/html/libxml-xinclude.html new file mode 100644 index 0000000..4690e6e --- /dev/null +++ b/doc/html/libxml-xinclude.html @@ -0,0 +1,53 @@ + + +Module xinclude from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xinclude from libxml2

    API Menu
    API Indexes
    Related links

    API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 November 2003

    Table of Contents

    #define XINCLUDE_FALLBACK
    #define XINCLUDE_HREF
    #define XINCLUDE_NODE
    #define XINCLUDE_NS
    #define XINCLUDE_OLD_NS
    #define XINCLUDE_PARSE
    #define XINCLUDE_PARSE_ENCODING
    #define XINCLUDE_PARSE_TEXT
    #define XINCLUDE_PARSE_XML
    #define XINCLUDE_PARSE_XPOINTER
    Structure xmlXIncludeCtxt
    struct _xmlXIncludeCtxt +The content of this structure is not made public by the API. +
    Typedef xmlXIncludeCtxt * xmlXIncludeCtxtPtr
    +
    void	xmlXIncludeFreeContext		(xmlXIncludeCtxtPtr ctxt)
    +
    xmlXIncludeCtxtPtr	xmlXIncludeNewContext	(xmlDocPtr doc)
    +
    int	xmlXIncludeProcess		(xmlDocPtr doc)
    +
    int	xmlXIncludeProcessFlags		(xmlDocPtr doc, 
    int flags)
    +
    int	xmlXIncludeProcessNode		(xmlXIncludeCtxtPtr ctxt, 
    xmlNodePtr node)
    +
    int	xmlXIncludeProcessTree		(xmlNodePtr tree)
    +
    int	xmlXIncludeProcessTreeFlags	(xmlNodePtr tree, 
    int flags)
    +
    int	xmlXIncludeSetFlags		(xmlXIncludeCtxtPtr ctxt, 
    int flags)
    +

    Description

    +

    Macro: XINCLUDE_FALLBACK

    #define XINCLUDE_FALLBACK

    Macro defining "fallback"

    +

    Macro: XINCLUDE_HREF

    #define XINCLUDE_HREF

    Macro defining "href"

    +

    Macro: XINCLUDE_NODE

    #define XINCLUDE_NODE

    Macro defining "include"

    +

    Macro: XINCLUDE_NS

    #define XINCLUDE_NS

    Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude

    +

    Macro: XINCLUDE_OLD_NS

    #define XINCLUDE_OLD_NS

    Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude

    +

    Macro: XINCLUDE_PARSE

    #define XINCLUDE_PARSE

    Macro defining "parse"

    +

    Macro: XINCLUDE_PARSE_ENCODING

    #define XINCLUDE_PARSE_ENCODING

    Macro defining "encoding"

    +

    Macro: XINCLUDE_PARSE_TEXT

    #define XINCLUDE_PARSE_TEXT

    Macro defining "text"

    +

    Macro: XINCLUDE_PARSE_XML

    #define XINCLUDE_PARSE_XML

    Macro defining "xml"

    +

    Macro: XINCLUDE_PARSE_XPOINTER

    #define XINCLUDE_PARSE_XPOINTER

    Macro defining "xpointer"

    +

    Structure xmlXIncludeCtxt

    Structure xmlXIncludeCtxt
    struct _xmlXIncludeCtxt { +The content of this structure is not made public by the API. +}

    Function: xmlXIncludeFreeContext

    void	xmlXIncludeFreeContext		(xmlXIncludeCtxtPtr ctxt)
    +

    Free an XInclude context

    +
    ctxt:the XInclude context

    Function: xmlXIncludeNewContext

    xmlXIncludeCtxtPtr	xmlXIncludeNewContext	(xmlDocPtr doc)
    +

    Creates a new XInclude context

    +
    doc:an XML Document
    Returns:the new set

    Function: xmlXIncludeProcess

    int	xmlXIncludeProcess		(xmlDocPtr doc)
    +

    Implement the XInclude substitution on the XML document @doc

    +
    doc:an XML document
    Returns:0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

    Function: xmlXIncludeProcessFlags

    int	xmlXIncludeProcessFlags		(xmlDocPtr doc, 
    int flags)
    +

    Implement the XInclude substitution on the XML document @doc

    +
    doc:an XML document
    flags:a set of xmlParserOption used for parsing XML includes
    Returns:0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

    Function: xmlXIncludeProcessNode

    int	xmlXIncludeProcessNode		(xmlXIncludeCtxtPtr ctxt, 
    xmlNodePtr node)
    +

    Implement the XInclude substitution for the given subtree reusing the informations and data coming from the given context.

    +
    ctxt:an existing XInclude context
    node:a node in an XML document
    Returns:0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

    Function: xmlXIncludeProcessTree

    int	xmlXIncludeProcessTree		(xmlNodePtr tree)
    +

    Implement the XInclude substitution for the given subtree

    +
    tree:a node in an XML document
    Returns:0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

    Function: xmlXIncludeProcessTreeFlags

    int	xmlXIncludeProcessTreeFlags	(xmlNodePtr tree, 
    int flags)
    +

    Implement the XInclude substitution for the given subtree

    +
    tree:a node in an XML document
    flags:a set of xmlParserOption used for parsing XML includes
    Returns:0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

    Function: xmlXIncludeSetFlags

    int	xmlXIncludeSetFlags		(xmlXIncludeCtxtPtr ctxt, 
    int flags)
    +

    Set the flags used for further processing of XML resources.

    +
    ctxt:an XInclude processing context
    flags:a set of xmlParserOption used for parsing XML includes
    Returns:0 in case of success and -1 in case of error.

    Daniel Veillard

    diff --git a/doc/html/libxml-xlink.html b/doc/html/libxml-xlink.html new file mode 100644 index 0000000..52fb234 --- /dev/null +++ b/doc/html/libxml-xlink.html @@ -0,0 +1,82 @@ + + +Module xlink from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xlink from libxml2

    API Menu
    API Indexes
    Related links

    unfinished XLink detection module

    Table of Contents

    Enum xlinkActuate
    +
    Typedef xmlChar * xlinkHRef
    +
    Structure xlinkHandler
    struct _xlinkHandler +
    Typedef xlinkHandler * xlinkHandlerPtr
    +
    Typedef xmlChar * xlinkRole
    +
    Enum xlinkShow
    +
    Typedef xmlChar * xlinkTitle
    +
    Enum xlinkType
    +
    Function type: xlinkExtendedLinkFunk
    +void	xlinkExtendedLinkFunk		(void * ctx, 
    xmlNodePtr node,
    int nbLocators,
    const xlinkHRef * hrefs,
    const xlinkRole * roles,
    int nbArcs,
    const xlinkRole * from,
    const xlinkRole * to,
    xlinkShow * show,
    xlinkActuate * actuate,
    int nbTitles,
    const xlinkTitle * titles,
    const xmlChar ** langs) +
    +
    Function type: xlinkExtendedLinkSetFunk
    +void	xlinkExtendedLinkSetFunk	(void * ctx, 
    xmlNodePtr node,
    int nbLocators,
    const xlinkHRef * hrefs,
    const xlinkRole * roles,
    int nbTitles,
    const xlinkTitle * titles,
    const xmlChar ** langs) +
    +
    xlinkNodeDetectFunc	xlinkGetDefaultDetect	(void)
    +
    xlinkHandlerPtr	xlinkGetDefaultHandler	(void)
    +
    xlinkType	xlinkIsLink		(xmlDocPtr doc, 
    xmlNodePtr node)
    +
    Function type: xlinkNodeDetectFunc
    +void	xlinkNodeDetectFunc		(void * ctx, 
    xmlNodePtr node) +
    +
    void	xlinkSetDefaultDetect		(xlinkNodeDetectFunc func)
    +
    void	xlinkSetDefaultHandler		(xlinkHandlerPtr handler)
    +
    Function type: xlinkSimpleLinkFunk
    +void	xlinkSimpleLinkFunk		(void * ctx, 
    xmlNodePtr node,
    const xlinkHRef href,
    const xlinkRole role,
    const xlinkTitle title) +
    +

    Description

    +

    Enum xlinkActuate

    Enum xlinkActuate {
    +    XLINK_ACTUATE_NONE = 0
    +    XLINK_ACTUATE_AUTO = 1
    +    XLINK_ACTUATE_ONREQUEST = 2
    +}
    +

    Structure xlinkHandler

    Structure xlinkHandler
    struct _xlinkHandler { + xlinkSimpleLinkFunk simple + xlinkExtendedLinkFunk extended + xlinkExtendedLinkSetFunk set +}

    Enum xlinkShow

    Enum xlinkShow {
    +    XLINK_SHOW_NONE = 0
    +    XLINK_SHOW_NEW = 1
    +    XLINK_SHOW_EMBED = 2
    +    XLINK_SHOW_REPLACE = 3
    +}
    +

    Enum xlinkType

    Enum xlinkType {
    +    XLINK_TYPE_NONE = 0
    +    XLINK_TYPE_SIMPLE = 1
    +    XLINK_TYPE_EXTENDED = 2
    +    XLINK_TYPE_EXTENDED_SET = 3
    +}
    +

    Function type: xlinkExtendedLinkFunk

    Function type: xlinkExtendedLinkFunk
    +void	xlinkExtendedLinkFunk		(void * ctx, 
    xmlNodePtr node,
    int nbLocators,
    const xlinkHRef * hrefs,
    const xlinkRole * roles,
    int nbArcs,
    const xlinkRole * from,
    const xlinkRole * to,
    xlinkShow * show,
    xlinkActuate * actuate,
    int nbTitles,
    const xlinkTitle * titles,
    const xmlChar ** langs) +

    This is the prototype for a extended link detection callback.

    ctx:user data pointer
    node:the node carrying the link
    nbLocators:the number of locators detected on the link
    hrefs:pointer to the array of locator hrefs
    roles:pointer to the array of locator roles
    nbArcs:the number of arcs detected on the link
    from:pointer to the array of source roles found on the arcs
    to:pointer to the array of target roles found on the arcs
    show:array of values for the show attributes found on the arcs
    actuate:array of values for the actuate attributes found on the arcs
    nbTitles:the number of titles detected on the link
    titles:
    langs:array of xml:lang values for the titles

    +

    Function type: xlinkExtendedLinkSetFunk

    Function type: xlinkExtendedLinkSetFunk
    +void	xlinkExtendedLinkSetFunk	(void * ctx, 
    xmlNodePtr node,
    int nbLocators,
    const xlinkHRef * hrefs,
    const xlinkRole * roles,
    int nbTitles,
    const xlinkTitle * titles,
    const xmlChar ** langs) +

    This is the prototype for a extended link set detection callback.

    ctx:user data pointer
    node:the node carrying the link
    nbLocators:the number of locators detected on the link
    hrefs:pointer to the array of locator hrefs
    roles:pointer to the array of locator roles
    nbTitles:the number of titles detected on the link
    titles:
    langs:array of xml:lang values for the titles

    +

    Function: xlinkGetDefaultDetect

    xlinkNodeDetectFunc	xlinkGetDefaultDetect	(void)
    +

    Get the default xlink detection routine

    +
    Returns:the current function or NULL;

    Function: xlinkGetDefaultHandler

    xlinkHandlerPtr	xlinkGetDefaultHandler	(void)
    +

    Get the default xlink handler.

    +
    Returns:the current xlinkHandlerPtr value.

    Function: xlinkIsLink

    xlinkType	xlinkIsLink		(xmlDocPtr doc, 
    xmlNodePtr node)
    +

    Check whether the given node carries the attributes needed to be a link element (or is one of the linking elements issued from the (X)HTML DtDs). This routine don't try to do full checking of the link validity but tries to detect and return the appropriate link type.

    +
    doc:the document containing the node
    node:the node pointer itself
    Returns:the xlinkType of the node (XLINK_TYPE_NONE if there is no link detected.

    Function type: xlinkNodeDetectFunc

    Function type: xlinkNodeDetectFunc
    +void	xlinkNodeDetectFunc		(void * ctx, 
    xmlNodePtr node) +

    This is the prototype for the link detection routine. It calls the default link detection callbacks upon link detection.

    ctx:user data pointer
    node:the node to check

    +

    Function: xlinkSetDefaultDetect

    void	xlinkSetDefaultDetect		(xlinkNodeDetectFunc func)
    +

    Set the default xlink detection routine

    +
    func:pointer to the new detection routine.

    Function: xlinkSetDefaultHandler

    void	xlinkSetDefaultHandler		(xlinkHandlerPtr handler)
    +

    Set the default xlink handlers

    +
    handler:the new value for the xlink handler block

    Function type: xlinkSimpleLinkFunk

    Function type: xlinkSimpleLinkFunk
    +void	xlinkSimpleLinkFunk		(void * ctx, 
    xmlNodePtr node,
    const xlinkHRef href,
    const xlinkRole role,
    const xlinkTitle title) +

    This is the prototype for a simple link detection callback.

    ctx:user data pointer
    node:the node carrying the link
    href:the target of the link
    role:the role string
    title:the link title

    +

    Daniel Veillard

    diff --git a/doc/html/libxml-xmlIO.html b/doc/html/libxml-xmlIO.html new file mode 100644 index 0000000..e9f84d9 --- /dev/null +++ b/doc/html/libxml-xmlIO.html @@ -0,0 +1,197 @@ + + +Module xmlIO from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlIO from libxml2

    API Menu
    API Indexes
    Related links

    interface for the I/O interfaces used by the parser

    Table of Contents

    xmlOutputBufferPtr	xmlAllocOutputBuffer	(xmlCharEncodingHandlerPtr encoder)
    +
    xmlParserInputBufferPtr	xmlAllocParserInputBuffer	(xmlCharEncoding enc)
    +
    int	xmlCheckFilename		(const char * path)
    +
    xmlParserInputPtr	xmlCheckHTTPInput	(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr ret)
    +
    void	xmlCleanupInputCallbacks	(void)
    +
    void	xmlCleanupOutputCallbacks	(void)
    +
    int	xmlFileClose			(void * context)
    +
    int	xmlFileMatch			(const char * filename)
    +
    void *	xmlFileOpen			(const char * filename)
    +
    int	xmlFileRead			(void * context, 
    char * buffer,
    int len)
    +
    void	xmlFreeParserInputBuffer	(xmlParserInputBufferPtr in)
    +
    int	xmlIOFTPClose			(void * context)
    +
    int	xmlIOFTPMatch			(const char * filename)
    +
    void *	xmlIOFTPOpen			(const char * filename)
    +
    int	xmlIOFTPRead			(void * context, 
    char * buffer,
    int len)
    +
    int	xmlIOHTTPClose			(void * context)
    +
    int	xmlIOHTTPMatch			(const char * filename)
    +
    void *	xmlIOHTTPOpen			(const char * filename)
    +
    void *	xmlIOHTTPOpenW			(const char * post_uri, 
    int compression)
    +
    int	xmlIOHTTPRead			(void * context, 
    char * buffer,
    int len)
    +
    Function type: xmlInputCloseCallback
    +int	xmlInputCloseCallback		(void * context)
    +
    +
    Function type: xmlInputMatchCallback
    +int	xmlInputMatchCallback		(char const * filename)
    +
    +
    Function type: xmlInputOpenCallback
    +void *	xmlInputOpenCallback		(char const * filename)
    +
    +
    Function type: xmlInputReadCallback
    +int	xmlInputReadCallback		(void * context, 
    char * buffer,
    int len) +
    +
    xmlParserInputPtr	xmlNoNetExternalEntityLoader	(const char * URL, 
    const char * ID,
    xmlParserCtxtPtr ctxt)
    +
    xmlChar *	xmlNormalizeWindowsPath	(const xmlChar * path)
    +
    int	xmlOutputBufferClose		(xmlOutputBufferPtr out)
    +
    xmlOutputBufferPtr	xmlOutputBufferCreateFd	(int fd, 
    xmlCharEncodingHandlerPtr encoder)
    +
    xmlOutputBufferPtr	xmlOutputBufferCreateFile	(FILE * file, 
    xmlCharEncodingHandlerPtr encoder)
    +
    xmlOutputBufferPtr	xmlOutputBufferCreateFilename	(const char * URI, 
    xmlCharEncodingHandlerPtr encoder,
    int compression)
    +
    xmlOutputBufferPtr	xmlOutputBufferCreateIO	(xmlOutputWriteCallback iowrite, 
    xmlOutputCloseCallback ioclose,
    void * ioctx,
    xmlCharEncodingHandlerPtr encoder)
    +
    int	xmlOutputBufferFlush		(xmlOutputBufferPtr out)
    +
    int	xmlOutputBufferWrite		(xmlOutputBufferPtr out, 
    int len,
    const char * buf)
    +
    int	xmlOutputBufferWriteString	(xmlOutputBufferPtr out, 
    const char * str)
    +
    Function type: xmlOutputCloseCallback
    +int	xmlOutputCloseCallback		(void * context)
    +
    +
    Function type: xmlOutputMatchCallback
    +int	xmlOutputMatchCallback		(char const * filename)
    +
    +
    Function type: xmlOutputOpenCallback
    +void *	xmlOutputOpenCallback		(char const * filename)
    +
    +
    Function type: xmlOutputWriteCallback
    +int	xmlOutputWriteCallback		(void * context, 
    const char * buffer,
    int len) +
    +
    char *	xmlParserGetDirectory		(const char * filename)
    +
    xmlParserInputBufferPtr	xmlParserInputBufferCreateFd	(int fd, 
    xmlCharEncoding enc)
    +
    xmlParserInputBufferPtr	xmlParserInputBufferCreateFile	(FILE * file, 
    xmlCharEncoding enc)
    +
    xmlParserInputBufferPtr	xmlParserInputBufferCreateFilename	(const char * URI, 
    xmlCharEncoding enc)
    +
    xmlParserInputBufferPtr	xmlParserInputBufferCreateIO	(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    xmlCharEncoding enc)
    +
    xmlParserInputBufferPtr	xmlParserInputBufferCreateMem	(const char * mem, 
    int size,
    xmlCharEncoding enc)
    +
    xmlParserInputBufferPtr	xmlParserInputBufferCreateStatic	(const char * mem, 
    int size,
    xmlCharEncoding enc)
    +
    int	xmlParserInputBufferGrow	(xmlParserInputBufferPtr in, 
    int len)
    +
    int	xmlParserInputBufferPush	(xmlParserInputBufferPtr in, 
    int len,
    const char * buf)
    +
    int	xmlParserInputBufferRead	(xmlParserInputBufferPtr in, 
    int len)
    +
    void	xmlRegisterDefaultInputCallbacks	(void)
    +
    void	xmlRegisterDefaultOutputCallbacks	(void)
    +
    void	xmlRegisterHTTPPostCallbacks	(void)
    +
    int	xmlRegisterInputCallbacks	(xmlInputMatchCallback matchFunc, 
    xmlInputOpenCallback openFunc,
    xmlInputReadCallback readFunc,
    xmlInputCloseCallback closeFunc)
    +
    int	xmlRegisterOutputCallbacks	(xmlOutputMatchCallback matchFunc, 
    xmlOutputOpenCallback openFunc,
    xmlOutputWriteCallback writeFunc,
    xmlOutputCloseCallback closeFunc)
    +

    Description

    +

    Function: xmlAllocOutputBuffer

    xmlOutputBufferPtr	xmlAllocOutputBuffer	(xmlCharEncodingHandlerPtr encoder)
    +

    Create a buffered parser output

    +
    encoder:the encoding converter or NULL
    Returns:the new parser output or NULL

    Function: xmlAllocParserInputBuffer

    xmlParserInputBufferPtr	xmlAllocParserInputBuffer	(xmlCharEncoding enc)
    +

    Create a buffered parser input for progressive parsing

    +
    enc:the charset encoding if known
    Returns:the new parser input or NULL

    Function: xmlCheckFilename

    int	xmlCheckFilename		(const char * path)
    +

    function checks to see if @path is a valid source (file, socket...) for XML. if stat is not available on the target machine,

    +
    path:the path to check
    Returns:1. if stat fails, returns 0 (if calling stat on the filename fails, it can't be right). if stat succeeds and the file is a directory, returns 2. otherwise returns 1.

    Function: xmlCheckHTTPInput

    xmlParserInputPtr	xmlCheckHTTPInput	(xmlParserCtxtPtr ctxt, 
    xmlParserInputPtr ret)
    +

    Check an input in case it was created from an HTTP stream, in that case it will handle encoding and update of the base URL in case of redirection. It also checks for HTTP errors in which case the input is cleanly freed up and an appropriate error is raised in context

    +
    ctxt:an XML parser context
    ret:an XML parser input
    Returns:the input or NULL in case of HTTP error.

    Function: xmlCleanupInputCallbacks

    void	xmlCleanupInputCallbacks	(void)
    +

    clears the entire input callback table. this includes the compiled-in I/O.

    +

    Function: xmlCleanupOutputCallbacks

    void	xmlCleanupOutputCallbacks	(void)
    +

    clears the entire output callback table. this includes the compiled-in I/O callbacks.

    +

    Function: xmlFileClose

    int	xmlFileClose			(void * context)
    +

    Close an I/O channel

    +
    context:the I/O context
    Returns:0 or -1 in case of error

    Function: xmlFileMatch

    int	xmlFileMatch			(const char * filename)
    +

    input from FILE *

    +
    filename:the URI for matching
    Returns:1 if matches, 0 otherwise

    Function: xmlFileOpen

    void *	xmlFileOpen			(const char * filename)
    +

    Wrapper around xmlFileOpen_real that try it with an unescaped version of @filename, if this fails fallback to @filename

    +
    filename:the URI for matching
    Returns:a handler or NULL in case or failure

    Function: xmlFileRead

    int	xmlFileRead			(void * context, 
    char * buffer,
    int len)
    +

    Read @len bytes to @buffer from the I/O channel.

    +
    context:the I/O context
    buffer:where to drop data
    len:number of bytes to write
    Returns:the number of bytes written

    Function: xmlFreeParserInputBuffer

    void	xmlFreeParserInputBuffer	(xmlParserInputBufferPtr in)
    +

    Free up the memory used by a buffered parser input

    +
    in:a buffered parser input

    Function: xmlIOFTPClose

    int	xmlIOFTPClose			(void * context)
    +

    Close an FTP I/O channel

    +
    context:the I/O context
    Returns:0

    Function: xmlIOFTPMatch

    int	xmlIOFTPMatch			(const char * filename)
    +

    check if the URI matches an FTP one

    +
    filename:the URI for matching
    Returns:1 if matches, 0 otherwise

    Function: xmlIOFTPOpen

    void *	xmlIOFTPOpen			(const char * filename)
    +

    open an FTP I/O channel

    +
    filename:the URI for matching
    Returns:an I/O context or NULL in case of error

    Function: xmlIOFTPRead

    int	xmlIOFTPRead			(void * context, 
    char * buffer,
    int len)
    +

    Read @len bytes to @buffer from the I/O channel.

    +
    context:the I/O context
    buffer:where to drop data
    len:number of bytes to write
    Returns:the number of bytes written

    Function: xmlIOHTTPClose

    int	xmlIOHTTPClose			(void * context)
    +

    Close an HTTP I/O channel

    +
    context:the I/O context
    Returns:0

    Function: xmlIOHTTPMatch

    int	xmlIOHTTPMatch			(const char * filename)
    +

    check if the URI matches an HTTP one

    +
    filename:the URI for matching
    Returns:1 if matches, 0 otherwise

    Function: xmlIOHTTPOpen

    void *	xmlIOHTTPOpen			(const char * filename)
    +

    open an HTTP I/O channel

    +
    filename:the URI for matching
    Returns:an I/O context or NULL in case of error

    Function: xmlIOHTTPOpenW

    void *	xmlIOHTTPOpenW			(const char * post_uri, 
    int compression)
    +

    Open a temporary buffer to collect the document for a subsequent HTTP POST request. Non-static as is called from the output buffer creation routine.

    +
    post_uri:The destination URI for the document
    compression:The compression desired for the document.
    Returns:an I/O context or NULL in case of error.

    Function: xmlIOHTTPRead

    int	xmlIOHTTPRead			(void * context, 
    char * buffer,
    int len)
    +

    Read @len bytes to @buffer from the I/O channel.

    +
    context:the I/O context
    buffer:where to drop data
    len:number of bytes to write
    Returns:the number of bytes written

    Function type: xmlInputCloseCallback

    Function type: xmlInputCloseCallback
    +int	xmlInputCloseCallback		(void * context)
    +

    Callback used in the I/O Input API to close the resource

    context:an Input context
    Returns:0 or -1 in case of error

    +

    Function type: xmlInputMatchCallback

    Function type: xmlInputMatchCallback
    +int	xmlInputMatchCallback		(char const * filename)
    +

    Callback used in the I/O Input API to detect if the current handler can provide input fonctionnalities for this resource.

    filename:the filename or URI
    Returns:1 if yes and 0 if another Input module should be used

    +

    Function type: xmlInputOpenCallback

    Function type: xmlInputOpenCallback
    +void *	xmlInputOpenCallback		(char const * filename)
    +

    Callback used in the I/O Input API to open the resource

    filename:the filename or URI
    Returns:an Input context or NULL in case or error

    +

    Function type: xmlInputReadCallback

    Function type: xmlInputReadCallback
    +int	xmlInputReadCallback		(void * context, 
    char * buffer,
    int len) +

    Callback used in the I/O Input API to read the resource

    context:an Input context
    buffer:the buffer to store data read
    len:the length of the buffer in bytes
    Returns:the number of bytes read or -1 in case of error

    +

    Function: xmlNoNetExternalEntityLoader

    xmlParserInputPtr	xmlNoNetExternalEntityLoader	(const char * URL, 
    const char * ID,
    xmlParserCtxtPtr ctxt)
    +

    A specific entity loader disabling network accesses, though still allowing local catalog accesses for resolution.

    +
    URL:the URL for the entity to load
    ID:the System ID for the entity to load
    ctxt:the context in which the entity is called or NULL
    Returns:a new allocated xmlParserInputPtr, or NULL.

    Function: xmlNormalizeWindowsPath

    xmlChar *	xmlNormalizeWindowsPath	(const xmlChar * path)
    +

    This function is obsolete. Please see xmlURIFromPath in uri.c for a better solution.

    +
    path:the input file path
    Returns:a canonicalized version of the path

    Function: xmlOutputBufferClose

    int	xmlOutputBufferClose		(xmlOutputBufferPtr out)
    +

    flushes and close the output I/O channel and free up all the associated resources

    +
    out:a buffered output
    Returns:the number of byte written or -1 in case of error.

    Function: xmlOutputBufferCreateFd

    xmlOutputBufferPtr	xmlOutputBufferCreateFd	(int fd, 
    xmlCharEncodingHandlerPtr encoder)
    +

    Create a buffered output for the progressive saving to a file descriptor

    +
    fd:a file descriptor number
    encoder:the encoding converter or NULL
    Returns:the new parser output or NULL

    Function: xmlOutputBufferCreateFile

    xmlOutputBufferPtr	xmlOutputBufferCreateFile	(FILE * file, 
    xmlCharEncodingHandlerPtr encoder)
    +

    Create a buffered output for the progressive saving to a FILE * buffered C I/O

    +
    file:a FILE*
    encoder:the encoding converter or NULL
    Returns:the new parser output or NULL

    Function: xmlOutputBufferCreateFilename

    xmlOutputBufferPtr	xmlOutputBufferCreateFilename	(const char * URI, 
    xmlCharEncodingHandlerPtr encoder,
    int compression)
    +

    Create a buffered output for the progressive saving of a file If filename is "-' then we use stdout as the output. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. TODO: currently if compression is set, the library only support writing to a local file.

    +
    URI:a C string containing the URI or filename
    encoder:the encoding converter or NULL
    compression:the compression ration (0 none, 9 max).
    Returns:the new output or NULL

    Function: xmlOutputBufferCreateIO

    xmlOutputBufferPtr	xmlOutputBufferCreateIO	(xmlOutputWriteCallback iowrite, 
    xmlOutputCloseCallback ioclose,
    void * ioctx,
    xmlCharEncodingHandlerPtr encoder)
    +

    Create a buffered output for the progressive saving to an I/O handler

    +
    iowrite:an I/O write function
    ioclose:an I/O close function
    ioctx:an I/O handler
    encoder:the charset encoding if known
    Returns:the new parser output or NULL

    Function: xmlOutputBufferFlush

    int	xmlOutputBufferFlush		(xmlOutputBufferPtr out)
    +

    flushes the output I/O channel

    +
    out:a buffered output
    Returns:the number of byte written or -1 in case of error.

    Function: xmlOutputBufferWrite

    int	xmlOutputBufferWrite		(xmlOutputBufferPtr out, 
    int len,
    const char * buf)
    +

    Write the content of the array in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.

    +
    out:a buffered parser output
    len:the size in bytes of the array.
    buf:an char array
    Returns:the number of chars immediately written, or -1 in case of error.

    Function: xmlOutputBufferWriteString

    int	xmlOutputBufferWriteString	(xmlOutputBufferPtr out, 
    const char * str)
    +

    Write the content of the string in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.

    +
    out:a buffered parser output
    str:a zero terminated C string
    Returns:the number of chars immediately written, or -1 in case of error.

    Function type: xmlOutputCloseCallback

    Function type: xmlOutputCloseCallback
    +int	xmlOutputCloseCallback		(void * context)
    +

    Callback used in the I/O Output API to close the resource

    context:an Output context
    Returns:0 or -1 in case of error

    +

    Function type: xmlOutputMatchCallback

    Function type: xmlOutputMatchCallback
    +int	xmlOutputMatchCallback		(char const * filename)
    +

    Callback used in the I/O Output API to detect if the current handler can provide output fonctionnalities for this resource.

    filename:the filename or URI
    Returns:1 if yes and 0 if another Output module should be used

    +

    Function type: xmlOutputOpenCallback

    Function type: xmlOutputOpenCallback
    +void *	xmlOutputOpenCallback		(char const * filename)
    +

    Callback used in the I/O Output API to open the resource

    filename:the filename or URI
    Returns:an Output context or NULL in case or error

    +

    Function type: xmlOutputWriteCallback

    Function type: xmlOutputWriteCallback
    +int	xmlOutputWriteCallback		(void * context, 
    const char * buffer,
    int len) +

    Callback used in the I/O Output API to write to the resource

    context:an Output context
    buffer:the buffer of data to write
    len:the length of the buffer in bytes
    Returns:the number of bytes written or -1 in case of error

    +

    Function: xmlParserGetDirectory

    char *	xmlParserGetDirectory		(const char * filename)
    +

    lookup the directory for that file

    +
    filename:the path to a file
    Returns:a new allocated string containing the directory, or NULL.

    Function: xmlParserInputBufferCreateFd

    xmlParserInputBufferPtr	xmlParserInputBufferCreateFd	(int fd, 
    xmlCharEncoding enc)
    +

    Create a buffered parser input for the progressive parsing for the input from a file descriptor

    +
    fd:a file descriptor number
    enc:the charset encoding if known
    Returns:the new parser input or NULL

    Function: xmlParserInputBufferCreateFile

    xmlParserInputBufferPtr	xmlParserInputBufferCreateFile	(FILE * file, 
    xmlCharEncoding enc)
    +

    Create a buffered parser input for the progressive parsing of a FILE * buffered C I/O

    +
    file:a FILE*
    enc:the charset encoding if known
    Returns:the new parser input or NULL

    Function: xmlParserInputBufferCreateFilename

    xmlParserInputBufferPtr	xmlParserInputBufferCreateFilename	(const char * URI, 
    xmlCharEncoding enc)
    +

    Create a buffered parser input for the progressive parsing of a file If filename is "-' then we use stdin as the input. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. Do an encoding check if enc == XML_CHAR_ENCODING_NONE

    +
    URI:a C string containing the URI or filename
    enc:the charset encoding if known
    Returns:the new parser input or NULL

    Function: xmlParserInputBufferCreateIO

    xmlParserInputBufferPtr	xmlParserInputBufferCreateIO	(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    xmlCharEncoding enc)
    +

    Create a buffered parser input for the progressive parsing for the input from an I/O handler

    +
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    enc:the charset encoding if known
    Returns:the new parser input or NULL

    Function: xmlParserInputBufferCreateMem

    xmlParserInputBufferPtr	xmlParserInputBufferCreateMem	(const char * mem, 
    int size,
    xmlCharEncoding enc)
    +

    Create a buffered parser input for the progressive parsing for the input from a memory area.

    +
    mem:the memory input
    size:the length of the memory block
    enc:the charset encoding if known
    Returns:the new parser input or NULL

    Function: xmlParserInputBufferCreateStatic

    xmlParserInputBufferPtr	xmlParserInputBufferCreateStatic	(const char * mem, 
    int size,
    xmlCharEncoding enc)
    +

    Create a buffered parser input for the progressive parsing for the input from an immutable memory area. This will not copy the memory area to the buffer, but the memory is expected to be available until the end of the parsing, this is useful for example when using mmap'ed file.

    +
    mem:the memory input
    size:the length of the memory block
    enc:the charset encoding if known
    Returns:the new parser input or NULL

    Function: xmlParserInputBufferGrow

    int	xmlParserInputBufferGrow	(xmlParserInputBufferPtr in, 
    int len)
    +

    Grow up the content of the input buffer, the old data are preserved This routine handle the I18N transcoding to internal UTF-8 This routine is used when operating the parser in normal (pull) mode TODO: one should be able to remove one extra copy by copying directly onto in->buffer or in->raw

    +
    in:a buffered parser input
    len:indicative value of the amount of chars to read
    Returns:the number of chars read and stored in the buffer, or -1 in case of error.

    Function: xmlParserInputBufferPush

    int	xmlParserInputBufferPush	(xmlParserInputBufferPtr in, 
    int len,
    const char * buf)
    +

    Push the content of the arry in the input buffer This routine handle the I18N transcoding to internal UTF-8 This is used when operating the parser in progressive (push) mode.

    +
    in:a buffered parser input
    len:the size in bytes of the array.
    buf:an char array
    Returns:the number of chars read and stored in the buffer, or -1 in case of error.

    Function: xmlParserInputBufferRead

    int	xmlParserInputBufferRead	(xmlParserInputBufferPtr in, 
    int len)
    +

    Refresh the content of the input buffer, the old data are considered consumed This routine handle the I18N transcoding to internal UTF-8

    +
    in:a buffered parser input
    len:indicative value of the amount of chars to read
    Returns:the number of chars read and stored in the buffer, or -1 in case of error.

    Function: xmlRegisterDefaultInputCallbacks

    void	xmlRegisterDefaultInputCallbacks	(void)
    +

    Registers the default compiled-in I/O handlers.

    +

    Function: xmlRegisterDefaultOutputCallbacks

    void	xmlRegisterDefaultOutputCallbacks	(void)
    +

    Registers the default compiled-in I/O handlers.

    +

    Function: xmlRegisterHTTPPostCallbacks

    void	xmlRegisterHTTPPostCallbacks	(void)
    +

    By default, libxml submits HTTP output requests using the "PUT" method. Calling this method changes the HTTP output method to use the "POST" method instead.

    +

    Function: xmlRegisterInputCallbacks

    int	xmlRegisterInputCallbacks	(xmlInputMatchCallback matchFunc, 
    xmlInputOpenCallback openFunc,
    xmlInputReadCallback readFunc,
    xmlInputCloseCallback closeFunc)
    +

    Register a new set of I/O callback for handling parser input.

    +
    matchFunc:the xmlInputMatchCallback
    openFunc:the xmlInputOpenCallback
    readFunc:the xmlInputReadCallback
    closeFunc:the xmlInputCloseCallback
    Returns:the registered handler number or -1 in case of error

    Function: xmlRegisterOutputCallbacks

    int	xmlRegisterOutputCallbacks	(xmlOutputMatchCallback matchFunc, 
    xmlOutputOpenCallback openFunc,
    xmlOutputWriteCallback writeFunc,
    xmlOutputCloseCallback closeFunc)
    +

    Register a new set of I/O callback for handling output.

    +
    matchFunc:the xmlOutputMatchCallback
    openFunc:the xmlOutputOpenCallback
    writeFunc:the xmlOutputWriteCallback
    closeFunc:the xmlOutputCloseCallback
    Returns:the registered handler number or -1 in case of error

    Daniel Veillard

    diff --git a/doc/html/libxml-xmlautomata.html b/doc/html/libxml-xmlautomata.html new file mode 100644 index 0000000..0521376 --- /dev/null +++ b/doc/html/libxml-xmlautomata.html @@ -0,0 +1,72 @@ + + +Module xmlautomata from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlautomata from libxml2

    API Menu
    API Indexes
    Related links

    the API to build regexp automata

    Table of Contents

    Structure xmlAutomata
    struct _xmlAutomata +The content of this structure is not made public by the API. +
    Typedef xmlAutomata * xmlAutomataPtr
    +
    Structure xmlAutomataState
    struct _xmlAutomataState +The content of this structure is not made public by the API. +
    Typedef xmlAutomataState * xmlAutomataStatePtr
    +
    xmlRegexpPtr	xmlAutomataCompile	(xmlAutomataPtr am)
    +
    xmlAutomataStatePtr	xmlAutomataGetInitState	(xmlAutomataPtr am)
    +
    int	xmlAutomataIsDeterminist	(xmlAutomataPtr am)
    +
    xmlAutomataStatePtr	xmlAutomataNewAllTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    int lax)
    +
    xmlAutomataStatePtr	xmlAutomataNewCountTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    int min,
    int max,
    void * data)
    +
    xmlAutomataStatePtr	xmlAutomataNewCountedTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    int counter)
    +
    int	xmlAutomataNewCounter		(xmlAutomataPtr am, 
    int min,
    int max)
    +
    xmlAutomataStatePtr	xmlAutomataNewCounterTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    int counter)
    +
    xmlAutomataStatePtr	xmlAutomataNewEpsilon	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to)
    +
    xmlAutomataStatePtr	xmlAutomataNewOnceTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    int min,
    int max,
    void * data)
    +
    xmlAutomataStatePtr	xmlAutomataNewState	(xmlAutomataPtr am)
    +
    xmlAutomataStatePtr	xmlAutomataNewTransition	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    void * data)
    +
    xmlAutomataStatePtr	xmlAutomataNewTransition2	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    const xmlChar * token2,
    void * data)
    +
    int	xmlAutomataSetFinalState	(xmlAutomataPtr am, 
    xmlAutomataStatePtr state)
    +
    void	xmlFreeAutomata			(xmlAutomataPtr am)
    +
    xmlAutomataPtr	xmlNewAutomata		(void)
    +

    Description

    +

    Structure xmlAutomata

    Structure xmlAutomata
    struct _xmlAutomata { +The content of this structure is not made public by the API. +}

    Structure xmlAutomataState

    Structure xmlAutomataState
    struct _xmlAutomataState { +The content of this structure is not made public by the API. +}

    Function: xmlAutomataCompile

    xmlRegexpPtr	xmlAutomataCompile	(xmlAutomataPtr am)
    +

    Compile the automata into a Reg Exp ready for being executed. The automata should be free after this point.

    +
    am:an automata
    Returns:the compiled regexp or NULL in case of error

    Function: xmlAutomataGetInitState

    xmlAutomataStatePtr	xmlAutomataGetInitState	(xmlAutomataPtr am)
    +

    Initial state lookup

    +
    am:an automata
    Returns:the initial state of the automata

    Function: xmlAutomataIsDeterminist

    int	xmlAutomataIsDeterminist	(xmlAutomataPtr am)
    +

    Checks if an automata is determinist.

    +
    am:an automata
    Returns:1 if true, 0 if not, and -1 in case of error

    Function: xmlAutomataNewAllTrans

    xmlAutomataStatePtr	xmlAutomataNewAllTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    int lax)
    +

    If @to is NULL, this create first a new target state in the automata and then adds a an ALL transition from the @from state to the target state. That transition is an epsilon transition allowed only when all transitions from the @from node have been activated.

    +
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    lax:allow to transition if not all all transitions have been activated
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewCountTrans

    xmlAutomataStatePtr	xmlAutomataNewCountTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    int min,
    int max,
    void * data)
    +

    If @to is NULL, this create first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max

    +
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    token:the input string associated to that transition
    min:the minimum successive occurences of token
    max:the maximum successive occurences of token
    data:data associated to the transition
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewCountedTrans

    xmlAutomataStatePtr	xmlAutomataNewCountedTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    int counter)
    +

    If @to is NULL, this create first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided

    +
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    counter:the counter associated to that transition
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewCounter

    int	xmlAutomataNewCounter		(xmlAutomataPtr am, 
    int min,
    int max)
    +

    Create a new counter

    +
    am:an automata
    min:the minimal value on the counter
    max:the maximal value on the counter
    Returns:the counter number or -1 in case of error

    Function: xmlAutomataNewCounterTrans

    xmlAutomataStatePtr	xmlAutomataNewCounterTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    int counter)
    +

    If @to is NULL, this create first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will be allowed only if the counter is within the right range.

    +
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    counter:the counter associated to that transition
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewEpsilon

    xmlAutomataStatePtr	xmlAutomataNewEpsilon	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to)
    +

    If @to is NULL, this create first a new target state in the automata and then adds a an epsilon transition from the @from state to the target state

    +
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewOnceTrans

    xmlAutomataStatePtr	xmlAutomataNewOnceTrans	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    int min,
    int max,
    void * data)
    +

    If @to is NULL, this create first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max, moreover that transistion can only be crossed once.

    +
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    token:the input string associated to that transition
    min:the minimum successive occurences of token
    max:the maximum successive occurences of token
    data:data associated to the transition
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewState

    xmlAutomataStatePtr	xmlAutomataNewState	(xmlAutomataPtr am)
    +

    Create a new disconnected state in the automata

    +
    am:an automata
    Returns:the new state or NULL in case of error

    Function: xmlAutomataNewTransition

    xmlAutomataStatePtr	xmlAutomataNewTransition	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    void * data)
    +

    If @to is NULL, this create first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token

    +
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    token:the input string associated to that transition
    data:data passed to the callback function if the transition is activated
    Returns:the target state or NULL in case of error

    Function: xmlAutomataNewTransition2

    xmlAutomataStatePtr	xmlAutomataNewTransition2	(xmlAutomataPtr am, 
    xmlAutomataStatePtr from,
    xmlAutomataStatePtr to,
    const xmlChar * token,
    const xmlChar * token2,
    void * data)
    +

    If @to is NULL, this create first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token

    +
    am:an automata
    from:the starting point of the transition
    to:the target point of the transition or NULL
    token:the first input string associated to that transition
    token2:the second input string associated to that transition
    data:data passed to the callback function if the transition is activated
    Returns:the target state or NULL in case of error

    Function: xmlAutomataSetFinalState

    int	xmlAutomataSetFinalState	(xmlAutomataPtr am, 
    xmlAutomataStatePtr state)
    +

    Makes that state a final state

    +
    am:an automata
    state:a state in this automata
    Returns:0 or -1 in case of error

    Function: xmlFreeAutomata

    void	xmlFreeAutomata			(xmlAutomataPtr am)
    +

    Free an automata

    +
    am:an automata

    Function: xmlNewAutomata

    xmlAutomataPtr	xmlNewAutomata		(void)
    +

    Create a new automata

    +
    Returns:the new object or NULL in case of failure

    Daniel Veillard

    diff --git a/doc/html/libxml-xmlerror.html b/doc/html/libxml-xmlerror.html new file mode 100644 index 0000000..f054620 --- /dev/null +++ b/doc/html/libxml-xmlerror.html @@ -0,0 +1,615 @@ + + +Module xmlerror from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlerror from libxml2

    API Menu
    API Indexes
    Related links

    the API used to report errors

    Table of Contents

    Structure xmlError
    struct _xmlError +
    Enum xmlErrorDomain
    +
    Enum xmlErrorLevel
    +
    Typedef xmlError * xmlErrorPtr
    +
    Enum xmlParserErrors
    +
    void	initGenericErrorDefaultFunc	(xmlGenericErrorFunc * handler)
    +
    int	xmlCopyError			(xmlErrorPtr from, 
    xmlErrorPtr to)
    +
    xmlErrorPtr	xmlCtxtGetLastError	(void * ctx)
    +
    void	xmlCtxtResetLastError		(void * ctx)
    +
    Function type: xmlGenericErrorFunc
    +void	xmlGenericErrorFunc		(void * ctx, 
    const char * msg,
    ... ...) +
    +
    xmlErrorPtr	xmlGetLastError		(void)
    +
    void	xmlParserError			(void * ctx, 
    const char * msg,
    ... ...)
    +
    void	xmlParserPrintFileContext	(xmlParserInputPtr input)
    +
    void	xmlParserPrintFileInfo		(xmlParserInputPtr input)
    +
    void	xmlParserValidityError		(void * ctx, 
    const char * msg,
    ... ...)
    +
    void	xmlParserValidityWarning	(void * ctx, 
    const char * msg,
    ... ...)
    +
    void	xmlParserWarning		(void * ctx, 
    const char * msg,
    ... ...)
    +
    void	xmlResetError			(xmlErrorPtr err)
    +
    void	xmlResetLastError		(void)
    +
    void	xmlSetGenericErrorFunc		(void * ctx, 
    xmlGenericErrorFunc handler)
    +
    void	xmlSetStructuredErrorFunc	(void * ctx, 
    xmlStructuredErrorFunc handler)
    +
    Function type: xmlStructuredErrorFunc
    +void	xmlStructuredErrorFunc		(void * userData, 
    xmlErrorPtr error) +
    +

    Description

    +

    Structure xmlError

    Structure xmlError
    struct _xmlError { + int domain : What part of the library raised this er + int code : The error code, e.g. an xmlParserError + char * message : human-readable informative error messag + xmlErrorLevel level : how consequent is the error + char * file : the filename + int line : the line number if available + char * str1 : extra string information + char * str2 : extra string information + char * str3 : extra string information + int int1 : extra number information + int int2 : extra number information + void * ctxt : the parser context if available + void * node : the node in the tree +}

    Enum xmlErrorDomain

    Enum xmlErrorDomain {
    +    XML_FROM_NONE = 0
    +    XML_FROM_PARSER = 1 : The XML parser
    +    XML_FROM_TREE = 2 : The tree module
    +    XML_FROM_NAMESPACE = 3 : The XML Namespace module
    +    XML_FROM_DTD = 4 : The XML DTD validation with parser contex
    +    XML_FROM_HTML = 5 : The HTML parser
    +    XML_FROM_MEMORY = 6 : The memory allocator
    +    XML_FROM_OUTPUT = 7 : The serialization code
    +    XML_FROM_IO = 8 : The Input/Output stack
    +    XML_FROM_FTP = 9 : The FTP module
    +    XML_FROM_HTTP = 10 : The FTP module
    +    XML_FROM_XINCLUDE = 11 : The XInclude processing
    +    XML_FROM_XPATH = 12 : The XPath module
    +    XML_FROM_XPOINTER = 13 : The XPointer module
    +    XML_FROM_REGEXP = 14 : The regular expressions module
    +    XML_FROM_DATATYPE = 15 : The W3C XML Schemas Datatype module
    +    XML_FROM_SCHEMASP = 16 : The W3C XML Schemas parser module
    +    XML_FROM_SCHEMASV = 17 : The W3C XML Schemas validation module
    +    XML_FROM_RELAXNGP = 18 : The Relax-NG parser module
    +    XML_FROM_RELAXNGV = 19 : The Relax-NG validator module
    +    XML_FROM_CATALOG = 20 : The Catalog module
    +    XML_FROM_C14N = 21 : The Canonicalization module
    +    XML_FROM_XSLT = 22 : The XSLT engine from libxslt
    +    XML_FROM_VALID = 23 : The XML DTD validation with valid context
    +}
    +

    Enum xmlErrorLevel

    Enum xmlErrorLevel {
    +    XML_ERR_NONE = 0
    +    XML_ERR_WARNING = 1 : A simple warning
    +    XML_ERR_ERROR = 2 : A recoverable error
    +    XML_ERR_FATAL = 3 : A fatal error
    +}
    +

    Enum xmlParserErrors

    Enum xmlParserErrors {
    +    XML_ERR_OK = 0
    +    XML_ERR_INTERNAL_ERROR = 1 : 1
    +    XML_ERR_NO_MEMORY = 2 : 2
    +    XML_ERR_DOCUMENT_START = 3 : 3
    +    XML_ERR_DOCUMENT_EMPTY = 4 : 4
    +    XML_ERR_DOCUMENT_END = 5 : 5
    +    XML_ERR_INVALID_HEX_CHARREF = 6 : 6
    +    XML_ERR_INVALID_DEC_CHARREF = 7 : 7
    +    XML_ERR_INVALID_CHARREF = 8 : 8
    +    XML_ERR_INVALID_CHAR = 9 : 9
    +    XML_ERR_CHARREF_AT_EOF = 10 : 10
    +    XML_ERR_CHARREF_IN_PROLOG = 11 : 11
    +    XML_ERR_CHARREF_IN_EPILOG = 12 : 12
    +    XML_ERR_CHARREF_IN_DTD = 13 : 13
    +    XML_ERR_ENTITYREF_AT_EOF = 14 : 14
    +    XML_ERR_ENTITYREF_IN_PROLOG = 15 : 15
    +    XML_ERR_ENTITYREF_IN_EPILOG = 16 : 16
    +    XML_ERR_ENTITYREF_IN_DTD = 17 : 17
    +    XML_ERR_PEREF_AT_EOF = 18 : 18
    +    XML_ERR_PEREF_IN_PROLOG = 19 : 19
    +    XML_ERR_PEREF_IN_EPILOG = 20 : 20
    +    XML_ERR_PEREF_IN_INT_SUBSET = 21 : 21
    +    XML_ERR_ENTITYREF_NO_NAME = 22 : 22
    +    XML_ERR_ENTITYREF_SEMICOL_MISSING = 23 : 23
    +    XML_ERR_PEREF_NO_NAME = 24 : 24
    +    XML_ERR_PEREF_SEMICOL_MISSING = 25 : 25
    +    XML_ERR_UNDECLARED_ENTITY = 26 : 26
    +    XML_WAR_UNDECLARED_ENTITY = 27 : 27
    +    XML_ERR_UNPARSED_ENTITY = 28 : 28
    +    XML_ERR_ENTITY_IS_EXTERNAL = 29 : 29
    +    XML_ERR_ENTITY_IS_PARAMETER = 30 : 30
    +    XML_ERR_UNKNOWN_ENCODING = 31 : 31
    +    XML_ERR_UNSUPPORTED_ENCODING = 32 : 32
    +    XML_ERR_STRING_NOT_STARTED = 33 : 33
    +    XML_ERR_STRING_NOT_CLOSED = 34 : 34
    +    XML_ERR_NS_DECL_ERROR = 35 : 35
    +    XML_ERR_ENTITY_NOT_STARTED = 36 : 36
    +    XML_ERR_ENTITY_NOT_FINISHED = 37 : 37
    +    XML_ERR_LT_IN_ATTRIBUTE = 38 : 38
    +    XML_ERR_ATTRIBUTE_NOT_STARTED = 39 : 39
    +    XML_ERR_ATTRIBUTE_NOT_FINISHED = 40 : 40
    +    XML_ERR_ATTRIBUTE_WITHOUT_VALUE = 41 : 41
    +    XML_ERR_ATTRIBUTE_REDEFINED = 42 : 42
    +    XML_ERR_LITERAL_NOT_STARTED = 43 : 43
    +    XML_ERR_LITERAL_NOT_FINISHED = 44 : 44
    +    XML_ERR_COMMENT_NOT_FINISHED = 45 : 45
    +    XML_ERR_PI_NOT_STARTED = 46 : 46
    +    XML_ERR_PI_NOT_FINISHED = 47 : 47
    +    XML_ERR_NOTATION_NOT_STARTED = 48 : 48
    +    XML_ERR_NOTATION_NOT_FINISHED = 49 : 49
    +    XML_ERR_ATTLIST_NOT_STARTED = 50 : 50
    +    XML_ERR_ATTLIST_NOT_FINISHED = 51 : 51
    +    XML_ERR_MIXED_NOT_STARTED = 52 : 52
    +    XML_ERR_MIXED_NOT_FINISHED = 53 : 53
    +    XML_ERR_ELEMCONTENT_NOT_STARTED = 54 : 54
    +    XML_ERR_ELEMCONTENT_NOT_FINISHED = 55 : 55
    +    XML_ERR_XMLDECL_NOT_STARTED = 56 : 56
    +    XML_ERR_XMLDECL_NOT_FINISHED = 57 : 57
    +    XML_ERR_CONDSEC_NOT_STARTED = 58 : 58
    +    XML_ERR_CONDSEC_NOT_FINISHED = 59 : 59
    +    XML_ERR_EXT_SUBSET_NOT_FINISHED = 60 : 60
    +    XML_ERR_DOCTYPE_NOT_FINISHED = 61 : 61
    +    XML_ERR_MISPLACED_CDATA_END = 62 : 62
    +    XML_ERR_CDATA_NOT_FINISHED = 63 : 63
    +    XML_ERR_RESERVED_XML_NAME = 64 : 64
    +    XML_ERR_SPACE_REQUIRED = 65 : 65
    +    XML_ERR_SEPARATOR_REQUIRED = 66 : 66
    +    XML_ERR_NMTOKEN_REQUIRED = 67 : 67
    +    XML_ERR_NAME_REQUIRED = 68 : 68
    +    XML_ERR_PCDATA_REQUIRED = 69 : 69
    +    XML_ERR_URI_REQUIRED = 70 : 70
    +    XML_ERR_PUBID_REQUIRED = 71 : 71
    +    XML_ERR_LT_REQUIRED = 72 : 72
    +    XML_ERR_GT_REQUIRED = 73 : 73
    +    XML_ERR_LTSLASH_REQUIRED = 74 : 74
    +    XML_ERR_EQUAL_REQUIRED = 75 : 75
    +    XML_ERR_TAG_NAME_MISMATCH = 76 : 76
    +    XML_ERR_TAG_NOT_FINISHED = 77 : 77
    +    XML_ERR_STANDALONE_VALUE = 78 : 78
    +    XML_ERR_ENCODING_NAME = 79 : 79
    +    XML_ERR_HYPHEN_IN_COMMENT = 80 : 80
    +    XML_ERR_INVALID_ENCODING = 81 : 81
    +    XML_ERR_EXT_ENTITY_STANDALONE = 82 : 82
    +    XML_ERR_CONDSEC_INVALID = 83 : 83
    +    XML_ERR_VALUE_REQUIRED = 84 : 84
    +    XML_ERR_NOT_WELL_BALANCED = 85 : 85
    +    XML_ERR_EXTRA_CONTENT = 86 : 86
    +    XML_ERR_ENTITY_CHAR_ERROR = 87 : 87
    +    XML_ERR_ENTITY_PE_INTERNAL = 88 : 88
    +    XML_ERR_ENTITY_LOOP = 89 : 89
    +    XML_ERR_ENTITY_BOUNDARY = 90 : 90
    +    XML_ERR_INVALID_URI = 91 : 91
    +    XML_ERR_URI_FRAGMENT = 92 : 92
    +    XML_WAR_CATALOG_PI = 93 : 93
    +    XML_ERR_NO_DTD = 94 : 94
    +    XML_ERR_CONDSEC_INVALID_KEYWORD = 95 : 95
    +    XML_ERR_VERSION_MISSING = 96 : 96
    +    XML_WAR_UNKNOWN_VERSION = 97 : 97
    +    XML_WAR_LANG_VALUE = 98 : 98
    +    XML_WAR_NS_URI = 99 : 99
    +    XML_WAR_NS_URI_RELATIVE = 100 : 100
    +    XML_ERR_MISSING_ENCODING = 101 : 101
    +    XML_NS_ERR_XML_NAMESPACE = 200
    +    XML_NS_ERR_UNDEFINED_NAMESPACE = 201 : 201
    +    XML_NS_ERR_QNAME = 202 : 202
    +    XML_NS_ERR_ATTRIBUTE_REDEFINED = 203 : 203
    +    XML_DTD_ATTRIBUTE_DEFAULT = 500
    +    XML_DTD_ATTRIBUTE_REDEFINED = 501 : 501
    +    XML_DTD_ATTRIBUTE_VALUE = 502 : 502
    +    XML_DTD_CONTENT_ERROR = 503 : 503
    +    XML_DTD_CONTENT_MODEL = 504 : 504
    +    XML_DTD_CONTENT_NOT_DETERMINIST = 505 : 505
    +    XML_DTD_DIFFERENT_PREFIX = 506 : 506
    +    XML_DTD_ELEM_DEFAULT_NAMESPACE = 507 : 507
    +    XML_DTD_ELEM_NAMESPACE = 508 : 508
    +    XML_DTD_ELEM_REDEFINED = 509 : 509
    +    XML_DTD_EMPTY_NOTATION = 510 : 510
    +    XML_DTD_ENTITY_TYPE = 511 : 511
    +    XML_DTD_ID_FIXED = 512 : 512
    +    XML_DTD_ID_REDEFINED = 513 : 513
    +    XML_DTD_ID_SUBSET = 514 : 514
    +    XML_DTD_INVALID_CHILD = 515 : 515
    +    XML_DTD_INVALID_DEFAULT = 516 : 516
    +    XML_DTD_LOAD_ERROR = 517 : 517
    +    XML_DTD_MISSING_ATTRIBUTE = 518 : 518
    +    XML_DTD_MIXED_CORRUPT = 519 : 519
    +    XML_DTD_MULTIPLE_ID = 520 : 520
    +    XML_DTD_NO_DOC = 521 : 521
    +    XML_DTD_NO_DTD = 522 : 522
    +    XML_DTD_NO_ELEM_NAME = 523 : 523
    +    XML_DTD_NO_PREFIX = 524 : 524
    +    XML_DTD_NO_ROOT = 525 : 525
    +    XML_DTD_NOTATION_REDEFINED = 526 : 526
    +    XML_DTD_NOTATION_VALUE = 527 : 527
    +    XML_DTD_NOT_EMPTY = 528 : 528
    +    XML_DTD_NOT_PCDATA = 529 : 529
    +    XML_DTD_NOT_STANDALONE = 530 : 530
    +    XML_DTD_ROOT_NAME = 531 : 531
    +    XML_DTD_STANDALONE_WHITE_SPACE = 532 : 532
    +    XML_DTD_UNKNOWN_ATTRIBUTE = 533 : 533
    +    XML_DTD_UNKNOWN_ELEM = 534 : 534
    +    XML_DTD_UNKNOWN_ENTITY = 535 : 535
    +    XML_DTD_UNKNOWN_ID = 536 : 536
    +    XML_DTD_UNKNOWN_NOTATION = 537 : 537
    +    XML_DTD_STANDALONE_DEFAULTED = 538 : 538
    +    XML_HTML_STRUCURE_ERROR = 800
    +    XML_HTML_UNKNOWN_TAG = 801 : 801
    +    XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000
    +    XML_RNGP_ATTR_CONFLICT = 1001 : 1001
    +    XML_RNGP_ATTRIBUTE_CHILDREN = 1002 : 1002
    +    XML_RNGP_ATTRIBUTE_CONTENT = 1003 : 1003
    +    XML_RNGP_ATTRIBUTE_EMPTY = 1004 : 1004
    +    XML_RNGP_ATTRIBUTE_NOOP = 1005 : 1005
    +    XML_RNGP_CHOICE_CONTENT = 1006 : 1006
    +    XML_RNGP_CHOICE_EMPTY = 1007 : 1007
    +    XML_RNGP_CREATE_FAILURE = 1008 : 1008
    +    XML_RNGP_DATA_CONTENT = 1009 : 1009
    +    XML_RNGP_DEF_CHOICE_AND_INTERLEAVE = 1010 : 1010
    +    XML_RNGP_DEFINE_CREATE_FAILED = 1011 : 1011
    +    XML_RNGP_DEFINE_EMPTY = 1012 : 1012
    +    XML_RNGP_DEFINE_MISSING = 1013 : 1013
    +    XML_RNGP_DEFINE_NAME_MISSING = 1014 : 1014
    +    XML_RNGP_ELEM_CONTENT_EMPTY = 1015 : 1015
    +    XML_RNGP_ELEM_CONTENT_ERROR = 1016 : 1016
    +    XML_RNGP_ELEMENT_EMPTY = 1017 : 1017
    +    XML_RNGP_ELEMENT_CONTENT = 1018 : 1018
    +    XML_RNGP_ELEMENT_NAME = 1019 : 1019
    +    XML_RNGP_ELEMENT_NO_CONTENT = 1020 : 1020
    +    XML_RNGP_ELEM_TEXT_CONFLICT = 1021 : 1021
    +    XML_RNGP_EMPTY = 1022 : 1022
    +    XML_RNGP_EMPTY_CONSTRUCT = 1023 : 1023
    +    XML_RNGP_EMPTY_CONTENT = 1024 : 1024
    +    XML_RNGP_EMPTY_NOT_EMPTY = 1025 : 1025
    +    XML_RNGP_ERROR_TYPE_LIB = 1026 : 1026
    +    XML_RNGP_EXCEPT_EMPTY = 1027 : 1027
    +    XML_RNGP_EXCEPT_MISSING = 1028 : 1028
    +    XML_RNGP_EXCEPT_MULTIPLE = 1029 : 1029
    +    XML_RNGP_EXCEPT_NO_CONTENT = 1030 : 1030
    +    XML_RNGP_EXTERNALREF_EMTPY = 1031 : 1031
    +    XML_RNGP_EXTERNAL_REF_FAILURE = 1032 : 1032
    +    XML_RNGP_EXTERNALREF_RECURSE = 1033 : 1033
    +    XML_RNGP_FORBIDDEN_ATTRIBUTE = 1034 : 1034
    +    XML_RNGP_FOREIGN_ELEMENT = 1035 : 1035
    +    XML_RNGP_GRAMMAR_CONTENT = 1036 : 1036
    +    XML_RNGP_GRAMMAR_EMPTY = 1037 : 1037
    +    XML_RNGP_GRAMMAR_MISSING = 1038 : 1038
    +    XML_RNGP_GRAMMAR_NO_START = 1039 : 1039
    +    XML_RNGP_GROUP_ATTR_CONFLICT = 1040 : 1040
    +    XML_RNGP_HREF_ERROR = 1041 : 1041
    +    XML_RNGP_INCLUDE_EMPTY = 1042 : 1042
    +    XML_RNGP_INCLUDE_FAILURE = 1043 : 1043
    +    XML_RNGP_INCLUDE_RECURSE = 1044 : 1044
    +    XML_RNGP_INTERLEAVE_ADD = 1045 : 1045
    +    XML_RNGP_INTERLEAVE_CREATE_FAILED = 1046 : 1046
    +    XML_RNGP_INTERLEAVE_EMPTY = 1047 : 1047
    +    XML_RNGP_INTERLEAVE_NO_CONTENT = 1048 : 1048
    +    XML_RNGP_INVALID_DEFINE_NAME = 1049 : 1049
    +    XML_RNGP_INVALID_URI = 1050 : 1050
    +    XML_RNGP_INVALID_VALUE = 1051 : 1051
    +    XML_RNGP_MISSING_HREF = 1052 : 1052
    +    XML_RNGP_NAME_MISSING = 1053 : 1053
    +    XML_RNGP_NEED_COMBINE = 1054 : 1054
    +    XML_RNGP_NOTALLOWED_NOT_EMPTY = 1055 : 1055
    +    XML_RNGP_NSNAME_ATTR_ANCESTOR = 1056 : 1056
    +    XML_RNGP_NSNAME_NO_NS = 1057 : 1057
    +    XML_RNGP_PARAM_FORBIDDEN = 1058 : 1058
    +    XML_RNGP_PARAM_NAME_MISSING = 1059 : 1059
    +    XML_RNGP_PARENTREF_CREATE_FAILED = 1060 : 1060
    +    XML_RNGP_PARENTREF_NAME_INVALID = 1061 : 1061
    +    XML_RNGP_PARENTREF_NO_NAME = 1062 : 1062
    +    XML_RNGP_PARENTREF_NO_PARENT = 1063 : 1063
    +    XML_RNGP_PARENTREF_NOT_EMPTY = 1064 : 1064
    +    XML_RNGP_PARSE_ERROR = 1065 : 1065
    +    XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME = 1066 : 1066
    +    XML_RNGP_PAT_ATTR_ATTR = 1067 : 1067
    +    XML_RNGP_PAT_ATTR_ELEM = 1068 : 1068
    +    XML_RNGP_PAT_DATA_EXCEPT_ATTR = 1069 : 1069
    +    XML_RNGP_PAT_DATA_EXCEPT_ELEM = 1070 : 1070
    +    XML_RNGP_PAT_DATA_EXCEPT_EMPTY = 1071 : 1071
    +    XML_RNGP_PAT_DATA_EXCEPT_GROUP = 1072 : 1072
    +    XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE = 1073 : 1073
    +    XML_RNGP_PAT_DATA_EXCEPT_LIST = 1074 : 1074
    +    XML_RNGP_PAT_DATA_EXCEPT_ONEMORE = 1075 : 1075
    +    XML_RNGP_PAT_DATA_EXCEPT_REF = 1076 : 1076
    +    XML_RNGP_PAT_DATA_EXCEPT_TEXT = 1077 : 1077
    +    XML_RNGP_PAT_LIST_ATTR = 1078 : 1078
    +    XML_RNGP_PAT_LIST_ELEM = 1079 : 1079
    +    XML_RNGP_PAT_LIST_INTERLEAVE = 1080 : 1080
    +    XML_RNGP_PAT_LIST_LIST = 1081 : 1081
    +    XML_RNGP_PAT_LIST_REF = 1082 : 1082
    +    XML_RNGP_PAT_LIST_TEXT = 1083 : 1083
    +    XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME = 1084 : 1084
    +    XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME = 1085 : 1085
    +    XML_RNGP_PAT_ONEMORE_GROUP_ATTR = 1086 : 1086
    +    XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR = 1087 : 1087
    +    XML_RNGP_PAT_START_ATTR = 1088 : 1088
    +    XML_RNGP_PAT_START_DATA = 1089 : 1089
    +    XML_RNGP_PAT_START_EMPTY = 1090 : 1090
    +    XML_RNGP_PAT_START_GROUP = 1091 : 1091
    +    XML_RNGP_PAT_START_INTERLEAVE = 1092 : 1092
    +    XML_RNGP_PAT_START_LIST = 1093 : 1093
    +    XML_RNGP_PAT_START_ONEMORE = 1094 : 1094
    +    XML_RNGP_PAT_START_TEXT = 1095 : 1095
    +    XML_RNGP_PAT_START_VALUE = 1096 : 1096
    +    XML_RNGP_PREFIX_UNDEFINED = 1097 : 1097
    +    XML_RNGP_REF_CREATE_FAILED = 1098 : 1098
    +    XML_RNGP_REF_CYCLE = 1099 : 1099
    +    XML_RNGP_REF_NAME_INVALID = 1100 : 1100
    +    XML_RNGP_REF_NO_DEF = 1101 : 1101
    +    XML_RNGP_REF_NO_NAME = 1102 : 1102
    +    XML_RNGP_REF_NOT_EMPTY = 1103 : 1103
    +    XML_RNGP_START_CHOICE_AND_INTERLEAVE = 1104 : 1104
    +    XML_RNGP_START_CONTENT = 1105 : 1105
    +    XML_RNGP_START_EMPTY = 1106 : 1106
    +    XML_RNGP_START_MISSING = 1107 : 1107
    +    XML_RNGP_TEXT_EXPECTED = 1108 : 1108
    +    XML_RNGP_TEXT_HAS_CHILD = 1109 : 1109
    +    XML_RNGP_TYPE_MISSING = 1110 : 1110
    +    XML_RNGP_TYPE_NOT_FOUND = 1111 : 1111
    +    XML_RNGP_TYPE_VALUE = 1112 : 1112
    +    XML_RNGP_UNKNOWN_ATTRIBUTE = 1113 : 1113
    +    XML_RNGP_UNKNOWN_COMBINE = 1114 : 1114
    +    XML_RNGP_UNKNOWN_CONSTRUCT = 1115 : 1115
    +    XML_RNGP_UNKNOWN_TYPE_LIB = 1116 : 1116
    +    XML_RNGP_URI_FRAGMENT = 1117 : 1117
    +    XML_RNGP_URI_NOT_ABSOLUTE = 1118 : 1118
    +    XML_RNGP_VALUE_EMPTY = 1119 : 1119
    +    XML_RNGP_VALUE_NO_CONTENT = 1120 : 1120
    +    XML_RNGP_XMLNS_NAME = 1121 : 1121
    +    XML_RNGP_XML_NS = 1122 : 1122
    +    XML_XPATH_EXPRESSION_OK = 1200
    +    XML_XPATH_NUMBER_ERROR = 1201 : 1201
    +    XML_XPATH_UNFINISHED_LITERAL_ERROR = 1202 : 1202
    +    XML_XPATH_START_LITERAL_ERROR = 1203 : 1203
    +    XML_XPATH_VARIABLE_REF_ERROR = 1204 : 1204
    +    XML_XPATH_UNDEF_VARIABLE_ERROR = 1205 : 1205
    +    XML_XPATH_INVALID_PREDICATE_ERROR = 1206 : 1206
    +    XML_XPATH_EXPR_ERROR = 1207 : 1207
    +    XML_XPATH_UNCLOSED_ERROR = 1208 : 1208
    +    XML_XPATH_UNKNOWN_FUNC_ERROR = 1209 : 1209
    +    XML_XPATH_INVALID_OPERAND = 1210 : 1210
    +    XML_XPATH_INVALID_TYPE = 1211 : 1211
    +    XML_XPATH_INVALID_ARITY = 1212 : 1212
    +    XML_XPATH_INVALID_CTXT_SIZE = 1213 : 1213
    +    XML_XPATH_INVALID_CTXT_POSITION = 1214 : 1214
    +    XML_XPATH_MEMORY_ERROR = 1215 : 1215
    +    XML_XPTR_SYNTAX_ERROR = 1216 : 1216
    +    XML_XPTR_RESOURCE_ERROR = 1217 : 1217
    +    XML_XPTR_SUB_RESOURCE_ERROR = 1218 : 1218
    +    XML_XPATH_UNDEF_PREFIX_ERROR = 1219 : 1219
    +    XML_XPATH_ENCODING_ERROR = 1220 : 1220
    +    XML_XPATH_INVALID_CHAR_ERROR = 1221 : 1221
    +    XML_TREE_INVALID_HEX = 1300
    +    XML_TREE_INVALID_DEC = 1301 : 1301
    +    XML_TREE_UNTERMINATED_ENTITY = 1302 : 1302
    +    XML_SAVE_NOT_UTF8 = 1400
    +    XML_SAVE_CHAR_INVALID = 1401 : 1401
    +    XML_SAVE_NO_DOCTYPE = 1402 : 1402
    +    XML_SAVE_UNKNOWN_ENCODING = 1403 : 1403
    +    XML_REGEXP_COMPILE_ERROR = 1450
    +    XML_IO_UNKNOWN = 1500
    +    XML_IO_EACCES = 1501 : 1501
    +    XML_IO_EAGAIN = 1502 : 1502
    +    XML_IO_EBADF = 1503 : 1503
    +    XML_IO_EBADMSG = 1504 : 1504
    +    XML_IO_EBUSY = 1505 : 1505
    +    XML_IO_ECANCELED = 1506 : 1506
    +    XML_IO_ECHILD = 1507 : 1507
    +    XML_IO_EDEADLK = 1508 : 1508
    +    XML_IO_EDOM = 1509 : 1509
    +    XML_IO_EEXIST = 1510 : 1510
    +    XML_IO_EFAULT = 1511 : 1511
    +    XML_IO_EFBIG = 1512 : 1512
    +    XML_IO_EINPROGRESS = 1513 : 1513
    +    XML_IO_EINTR = 1514 : 1514
    +    XML_IO_EINVAL = 1515 : 1515
    +    XML_IO_EIO = 1516 : 1516
    +    XML_IO_EISDIR = 1517 : 1517
    +    XML_IO_EMFILE = 1518 : 1518
    +    XML_IO_EMLINK = 1519 : 1519
    +    XML_IO_EMSGSIZE = 1520 : 1520
    +    XML_IO_ENAMETOOLONG = 1521 : 1521
    +    XML_IO_ENFILE = 1522 : 1522
    +    XML_IO_ENODEV = 1523 : 1523
    +    XML_IO_ENOENT = 1524 : 1524
    +    XML_IO_ENOEXEC = 1525 : 1525
    +    XML_IO_ENOLCK = 1526 : 1526
    +    XML_IO_ENOMEM = 1527 : 1527
    +    XML_IO_ENOSPC = 1528 : 1528
    +    XML_IO_ENOSYS = 1529 : 1529
    +    XML_IO_ENOTDIR = 1530 : 1530
    +    XML_IO_ENOTEMPTY = 1531 : 1531
    +    XML_IO_ENOTSUP = 1532 : 1532
    +    XML_IO_ENOTTY = 1533 : 1533
    +    XML_IO_ENXIO = 1534 : 1534
    +    XML_IO_EPERM = 1535 : 1535
    +    XML_IO_EPIPE = 1536 : 1536
    +    XML_IO_ERANGE = 1537 : 1537
    +    XML_IO_EROFS = 1538 : 1538
    +    XML_IO_ESPIPE = 1539 : 1539
    +    XML_IO_ESRCH = 1540 : 1540
    +    XML_IO_ETIMEDOUT = 1541 : 1541
    +    XML_IO_EXDEV = 1542 : 1542
    +    XML_IO_NETWORK_ATTEMPT = 1543 : 1543
    +    XML_IO_ENCODER = 1544 : 1544
    +    XML_IO_FLUSH = 1545 : 1545
    +    XML_IO_WRITE = 1546 : 1546
    +    XML_IO_NO_INPUT = 1547 : 1547
    +    XML_IO_BUFFER_FULL = 1548 : 1548
    +    XML_IO_LOAD_ERROR = 1549 : 1549
    +    XML_IO_ENOTSOCK = 1550 : 1550
    +    XML_IO_EISCONN = 1551 : 1551
    +    XML_IO_ECONNREFUSED = 1552 : 1552
    +    XML_IO_ENETUNREACH = 1553 : 1553
    +    XML_IO_EADDRINUSE = 1554 : 1554
    +    XML_IO_EALREADY = 1555 : 1555
    +    XML_IO_EAFNOSUPPORT = 1556 : 1556
    +    XML_XINCLUDE_RECURSION = 1600
    +    XML_XINCLUDE_PARSE_VALUE = 1601 : 1601
    +    XML_XINCLUDE_ENTITY_DEF_MISMATCH = 1602 : 1602
    +    XML_XINCLUDE_NO_HREF = 1603 : 1603
    +    XML_XINCLUDE_NO_FALLBACK = 1604 : 1604
    +    XML_XINCLUDE_HREF_URI = 1605 : 1605
    +    XML_XINCLUDE_TEXT_FRAGMENT = 1606 : 1606
    +    XML_XINCLUDE_TEXT_DOCUMENT = 1607 : 1607
    +    XML_XINCLUDE_INVALID_CHAR = 1608 : 1608
    +    XML_XINCLUDE_BUILD_FAILED = 1609 : 1609
    +    XML_XINCLUDE_UNKNOWN_ENCODING = 1610 : 1610
    +    XML_XINCLUDE_MULTIPLE_ROOT = 1611 : 1611
    +    XML_XINCLUDE_XPTR_FAILED = 1612 : 1612
    +    XML_XINCLUDE_XPTR_RESULT = 1613 : 1613
    +    XML_XINCLUDE_INCLUDE_IN_INCLUDE = 1614 : 1614
    +    XML_XINCLUDE_FALLBACKS_IN_INCLUDE = 1615 : 1615
    +    XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE = 1616 : 1616
    +    XML_XINCLUDE_DEPRECATED_NS = 1617 : 1617
    +    XML_XINCLUDE_FRAGMENT_ID = 1618 : 1618
    +    XML_CATALOG_MISSING_ATTR = 1650
    +    XML_CATALOG_ENTRY_BROKEN = 1651 : 1651
    +    XML_CATALOG_PREFER_VALUE = 1652 : 1652
    +    XML_CATALOG_NOT_CATALOG = 1653 : 1653
    +    XML_CATALOG_RECURSION = 1654 : 1654
    +    XML_SCHEMAP_PREFIX_UNDEFINED = 1700
    +    XML_SCHEMAP_ATTRFORMDEFAULT_VALUE = 1701 : 1701
    +    XML_SCHEMAP_ATTRGRP_NONAME_NOREF = 1702 : 1702
    +    XML_SCHEMAP_ATTR_NONAME_NOREF = 1703 : 1703
    +    XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF = 1704 : 1704
    +    XML_SCHEMAP_ELEMFORMDEFAULT_VALUE = 1705 : 1705
    +    XML_SCHEMAP_ELEM_NONAME_NOREF = 1706 : 1706
    +    XML_SCHEMAP_EXTENSION_NO_BASE = 1707 : 1707
    +    XML_SCHEMAP_FACET_NO_VALUE = 1708 : 1708
    +    XML_SCHEMAP_FAILED_BUILD_IMPORT = 1709 : 1709
    +    XML_SCHEMAP_GROUP_NONAME_NOREF = 1710 : 1710
    +    XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI = 1711 : 1711
    +    XML_SCHEMAP_IMPORT_REDEFINE_NSNAME = 1712 : 1712
    +    XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI = 1713 : 1713
    +    XML_SCHEMAP_INVALID_BOOLEAN = 1714 : 1714
    +    XML_SCHEMAP_INVALID_ENUM = 1715 : 1715
    +    XML_SCHEMAP_INVALID_FACET = 1716 : 1716
    +    XML_SCHEMAP_INVALID_FACET_VALUE = 1717 : 1717
    +    XML_SCHEMAP_INVALID_MAXOCCURS = 1718 : 1718
    +    XML_SCHEMAP_INVALID_MINOCCURS = 1719 : 1719
    +    XML_SCHEMAP_INVALID_REF_AND_SUBTYPE = 1720 : 1720
    +    XML_SCHEMAP_INVALID_WHITE_SPACE = 1721 : 1721
    +    XML_SCHEMAP_NOATTR_NOREF = 1722 : 1722
    +    XML_SCHEMAP_NOTATION_NO_NAME = 1723 : 1723
    +    XML_SCHEMAP_NOTYPE_NOREF = 1724 : 1724
    +    XML_SCHEMAP_REF_AND_SUBTYPE = 1725 : 1725
    +    XML_SCHEMAP_RESTRICTION_NONAME_NOREF = 1726 : 1726
    +    XML_SCHEMAP_SIMPLETYPE_NONAME = 1727 : 1727
    +    XML_SCHEMAP_TYPE_AND_SUBTYPE = 1728 : 1728
    +    XML_SCHEMAP_UNKNOWN_ALL_CHILD = 1729 : 1729
    +    XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD = 1730 : 1730
    +    XML_SCHEMAP_UNKNOWN_ATTR_CHILD = 1731 : 1731
    +    XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD = 1732 : 1732
    +    XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP = 1733 : 1733
    +    XML_SCHEMAP_UNKNOWN_BASE_TYPE = 1734 : 1734
    +    XML_SCHEMAP_UNKNOWN_CHOICE_CHILD = 1735 : 1735
    +    XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD = 1736 : 1736
    +    XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD = 1737 : 1737
    +    XML_SCHEMAP_UNKNOWN_ELEM_CHILD = 1738 : 1738
    +    XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD = 1739 : 1739
    +    XML_SCHEMAP_UNKNOWN_FACET_CHILD = 1740 : 1740
    +    XML_SCHEMAP_UNKNOWN_FACET_TYPE = 1741 : 1741
    +    XML_SCHEMAP_UNKNOWN_GROUP_CHILD = 1742 : 1742
    +    XML_SCHEMAP_UNKNOWN_IMPORT_CHILD = 1743 : 1743
    +    XML_SCHEMAP_UNKNOWN_LIST_CHILD = 1744 : 1744
    +    XML_SCHEMAP_UNKNOWN_NOTATION_CHILD = 1745 : 1745
    +    XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD = 1746 : 1746
    +    XML_SCHEMAP_UNKNOWN_REF = 1747 : 1747
    +    XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD = 1748 : 1748
    +    XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD = 1749 : 1749
    +    XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD = 1750 : 1750
    +    XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD = 1751 : 1751
    +    XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD = 1752 : 1752
    +    XML_SCHEMAP_UNKNOWN_TYPE = 1753 : 1753
    +    XML_SCHEMAP_UNKNOWN_UNION_CHILD = 1754 : 1754
    +    XML_SCHEMAP_ELEM_DEFAULT_FIXED = 1755 : 1755
    +    XML_SCHEMAP_REGEXP_INVALID = 1756 : 1756
    +    XML_SCHEMAP_FAILED_LOAD = 1757 : 1756
    +    XML_SCHEMAP_NOTHING_TO_PARSE = 1758 : 1757
    +    XML_SCHEMAP_NOROOT = 1759 : 1758
    +    XML_SCHEMAP_REDEFINED_GROUP = 1760 : 1759
    +    XML_SCHEMAP_REDEFINED_TYPE = 1761 : 1760
    +    XML_SCHEMAP_REDEFINED_ELEMENT = 1762 : 1761
    +    XML_SCHEMAP_REDEFINED_ATTRGROUP = 1763 : 1762
    +    XML_SCHEMAP_REDEFINED_ATTR = 1764 : 1763
    +    XML_SCHEMAP_REDEFINED_NOTATION = 1765 : 1764
    +    XML_SCHEMAP_FAILED_PARSE = 1766 : 1765
    +    XML_SCHEMAP_UNKNOWN_PREFIX = 1767 : 1766
    +    XML_SCHEMAP_DEF_AND_PREFIX = 1768 : 1767
    +    XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD = 1769 : 1768
    +    XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI = 1770 : 1769
    +    XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI = 1771 : 1770
    +    XML_SCHEMAP_NOT_SCHEMA = 1772 : 1771
    +    XML_SCHEMAV_NOROOT = 1800
    +    XML_SCHEMAV_UNDECLAREDELEM = 1801 : 1801
    +    XML_SCHEMAV_NOTTOPLEVEL = 1802 : 1802
    +    XML_SCHEMAV_MISSING = 1803 : 1803
    +    XML_SCHEMAV_WRONGELEM = 1804 : 1804
    +    XML_SCHEMAV_NOTYPE = 1805 : 1805
    +    XML_SCHEMAV_NOROLLBACK = 1806 : 1806
    +    XML_SCHEMAV_ISABSTRACT = 1807 : 1807
    +    XML_SCHEMAV_NOTEMPTY = 1808 : 1808
    +    XML_SCHEMAV_ELEMCONT = 1809 : 1809
    +    XML_SCHEMAV_HAVEDEFAULT = 1810 : 1810
    +    XML_SCHEMAV_NOTNILLABLE = 1811 : 1811
    +    XML_SCHEMAV_EXTRACONTENT = 1812 : 1812
    +    XML_SCHEMAV_INVALIDATTR = 1813 : 1813
    +    XML_SCHEMAV_INVALIDELEM = 1814 : 1814
    +    XML_SCHEMAV_NOTDETERMINIST = 1815 : 1815
    +    XML_SCHEMAV_CONSTRUCT = 1816 : 1816
    +    XML_SCHEMAV_INTERNAL = 1817 : 1817
    +    XML_SCHEMAV_NOTSIMPLE = 1818 : 1818
    +    XML_SCHEMAV_ATTRUNKNOWN = 1819 : 1819
    +    XML_SCHEMAV_ATTRINVALID = 1820 : 1820
    +    XML_SCHEMAV_VALUE = 1821 : 1821
    +    XML_SCHEMAV_FACET = 1822 : 1822
    +    XML_XPTR_UNKNOWN_SCHEME = 1900
    +    XML_XPTR_CHILDSEQ_START = 1901 : 1901
    +    XML_XPTR_EVAL_FAILED = 1902 : 1902
    +    XML_XPTR_EXTRA_OBJECTS = 1903 : 1903
    +    XML_C14N_CREATE_CTXT = 1950
    +    XML_C14N_REQUIRES_UTF8 = 1951 : 1951
    +    XML_C14N_CREATE_STACK = 1952 : 1952
    +    XML_C14N_INVALID_NODE = 1953 : 1953
    +    XML_FTP_PASV_ANSWER = 2000
    +    XML_FTP_EPSV_ANSWER = 2001 : 2001
    +    XML_FTP_ACCNT = 2002 : 2002
    +    XML_HTTP_URL_SYNTAX = 2020
    +    XML_HTTP_USE_IP = 2021 : 2021
    +    XML_HTTP_UNKNOWN_HOST = 2022 : 2022
    +}
    +

    Function: initGenericErrorDefaultFunc

    void	initGenericErrorDefaultFunc	(xmlGenericErrorFunc * handler)
    +

    Set or reset (if NULL) the default handler for generic errors to the builtin error function.

    +
    handler:the handler

    Function: xmlCopyError

    int	xmlCopyError			(xmlErrorPtr from, 
    xmlErrorPtr to)
    +

    Save the original error to the new place.

    +
    from:a source error
    to:a target error
    Returns:0 in case of success and -1 in case of error.

    Function: xmlCtxtGetLastError

    xmlErrorPtr	xmlCtxtGetLastError	(void * ctx)
    +

    Get the last parsing error registered.

    +
    ctx:an XML parser context
    Returns:NULL if no error occured or a pointer to the error

    Function: xmlCtxtResetLastError

    void	xmlCtxtResetLastError		(void * ctx)
    +

    Cleanup the last global error registered. For parsing error this does not change the well-formedness result.

    +
    ctx:an XML parser context

    Function type: xmlGenericErrorFunc

    Function type: xmlGenericErrorFunc
    +void	xmlGenericErrorFunc		(void * ctx, 
    const char * msg,
    ... ...) +

    Signature of the function to use when there is an error and no parsing or validity context available .

    ctx:a parsing context
    msg:the message
    ...:the extra arguments of the varags to format the message

    +

    Function: xmlGetLastError

    xmlErrorPtr	xmlGetLastError		(void)
    +

    Get the last global error registered. This is per thread if compiled with thread support.

    +
    Returns:NULL if no error occured or a pointer to the error

    Function: xmlParserError

    void	xmlParserError			(void * ctx, 
    const char * msg,
    ... ...)
    +

    Display and format an error messages, gives file, line, position and extra parameters.

    +
    ctx:an XML parser context
    msg:the message to display/transmit
    ...:extra parameters for the message display

    Function: xmlParserPrintFileContext

    void	xmlParserPrintFileContext	(xmlParserInputPtr input)
    +

    Displays current context within the input content for error tracking

    +
    input:an xmlParserInputPtr input

    Function: xmlParserPrintFileInfo

    void	xmlParserPrintFileInfo		(xmlParserInputPtr input)
    +

    Displays the associated file and line informations for the current input

    +
    input:an xmlParserInputPtr input

    Function: xmlParserValidityError

    void	xmlParserValidityError		(void * ctx, 
    const char * msg,
    ... ...)
    +

    Display and format an validity error messages, gives file, line, position and extra parameters.

    +
    ctx:an XML parser context
    msg:the message to display/transmit
    ...:extra parameters for the message display

    Function: xmlParserValidityWarning

    void	xmlParserValidityWarning	(void * ctx, 
    const char * msg,
    ... ...)
    +

    Display and format a validity warning messages, gives file, line, position and extra parameters.

    +
    ctx:an XML parser context
    msg:the message to display/transmit
    ...:extra parameters for the message display

    Function: xmlParserWarning

    void	xmlParserWarning		(void * ctx, 
    const char * msg,
    ... ...)
    +

    Display and format a warning messages, gives file, line, position and extra parameters.

    +
    ctx:an XML parser context
    msg:the message to display/transmit
    ...:extra parameters for the message display

    Function: xmlResetError

    void	xmlResetError			(xmlErrorPtr err)
    +

    Cleanup the error.

    +
    err:pointer to the error.

    Function: xmlResetLastError

    void	xmlResetLastError		(void)
    +

    Cleanup the last global error registered. For parsing error this does not change the well-formedness result.

    +

    Function: xmlSetGenericErrorFunc

    void	xmlSetGenericErrorFunc		(void * ctx, 
    xmlGenericErrorFunc handler)
    +

    Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL.

    +
    ctx:the new error handling context
    handler:the new handler function

    Function: xmlSetStructuredErrorFunc

    void	xmlSetStructuredErrorFunc	(void * ctx, 
    xmlStructuredErrorFunc handler)
    +

    Function to reset the handler and the error context for out of context structured error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler

    +
    ctx:the new error handling context
    handler:the new handler function

    Function type: xmlStructuredErrorFunc

    Function type: xmlStructuredErrorFunc
    +void	xmlStructuredErrorFunc		(void * userData, 
    xmlErrorPtr error) +

    Signature of the function to use when there is an error and the module handles the new error reporting mechanism.

    userData:user provided data for the error callback
    error:the error being raised.

    +

    Daniel Veillard

    diff --git a/doc/html/libxml-xmlexports.html b/doc/html/libxml-xmlexports.html new file mode 100644 index 0000000..c534f61 --- /dev/null +++ b/doc/html/libxml-xmlexports.html @@ -0,0 +1,19 @@ + + +Module xmlexports from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlexports from libxml2

    API Menu
    API Indexes
    Related links

    macros for marking symbols as exportable/importable.

    Table of Contents

    #define LIBXML_DLL_IMPORT
    #define XMLCALL
    #define XMLPUBFUN
    #define XMLPUBVAR
    #define _REENTRANT

    Description

    +

    Macro: LIBXML_DLL_IMPORT

    #define LIBXML_DLL_IMPORT

    +

    Macro: XMLCALL

    #define XMLCALL

    +

    Macro: XMLPUBFUN

    #define XMLPUBFUN

    +

    Macro: XMLPUBVAR

    #define XMLPUBVAR

    +

    Macro: _REENTRANT

    #define _REENTRANT

    +

    Daniel Veillard

    diff --git a/doc/html/libxml-xmlmemory.html b/doc/html/libxml-xmlmemory.html new file mode 100644 index 0000000..22f0956 --- /dev/null +++ b/doc/html/libxml-xmlmemory.html @@ -0,0 +1,101 @@ + + +Module xmlmemory from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlmemory from libxml2

    API Menu
    API Indexes
    Related links

    provides interfaces for the memory allocator, including debugging capabilities.

    Table of Contents

    #define DEBUG_MEMORY
    Variable xmlMallocFunc xmlMalloc
    +
    +
    Variable xmlMallocFunc xmlMallocAtomic
    +
    +
    Variable xmlStrdupFunc xmlMemStrdup
    +
    +
    Variable xmlReallocFunc xmlRealloc
    +
    +
    void	xmlCleanupMemory		(void)
    +
    Function type: xmlFreeFunc
    +void	xmlFreeFunc			(void * mem)
    +
    +
    int	xmlGcMemGet			(xmlFreeFunc * freeFunc, 
    xmlMallocFunc * mallocFunc,
    xmlMallocFunc * mallocAtomicFunc,
    xmlReallocFunc * reallocFunc,
    xmlStrdupFunc * strdupFunc)
    +
    int	xmlGcMemSetup			(xmlFreeFunc freeFunc, 
    xmlMallocFunc mallocFunc,
    xmlMallocFunc mallocAtomicFunc,
    xmlReallocFunc reallocFunc,
    xmlStrdupFunc strdupFunc)
    +
    int	xmlInitMemory			(void)
    +
    void *	xmlMallocAtomicLoc		(size_t size, 
    const char * file,
    int line)
    +
    Function type: xmlMallocFunc
    +void *	xmlMallocFunc			(size_t size)
    +
    +
    void *	xmlMallocLoc			(size_t size, 
    const char * file,
    int line)
    +
    void	xmlMemDisplay			(FILE * fp)
    +
    void	xmlMemFree			(void * ptr)
    +
    int	xmlMemGet			(xmlFreeFunc * freeFunc, 
    xmlMallocFunc * mallocFunc,
    xmlReallocFunc * reallocFunc,
    xmlStrdupFunc * strdupFunc)
    +
    void *	xmlMemMalloc			(size_t size)
    +
    void *	xmlMemRealloc			(void * ptr, 
    size_t size)
    +
    int	xmlMemSetup			(xmlFreeFunc freeFunc, 
    xmlMallocFunc mallocFunc,
    xmlReallocFunc reallocFunc,
    xmlStrdupFunc strdupFunc)
    +
    void	xmlMemShow			(FILE * fp, 
    int nr)
    +
    char *	xmlMemStrdupLoc			(const char * str, 
    const char * file,
    int line)
    +
    int	xmlMemUsed			(void)
    +
    void	xmlMemoryDump			(void)
    +
    char *	xmlMemoryStrdup			(const char * str)
    +
    Function type: xmlReallocFunc
    +void *	xmlReallocFunc			(void * mem, 
    size_t size) +
    +
    void *	xmlReallocLoc			(void * ptr, 
    size_t size,
    const char * file,
    int line)
    +
    Function type: xmlStrdupFunc
    +char *	xmlStrdupFunc			(const char * str)
    +
    +

    Description

    +

    Macro: DEBUG_MEMORY

    #define DEBUG_MEMORY

    DEBUG_MEMORY replaces the allocator with a collect and debug shell to the libc allocator. DEBUG_MEMORY should only be activated when debugging libxml i.e. if libxml has been configured with --with-debug-mem too. #define DEBUG_MEMORY_FREED #define DEBUG_MEMORY_LOCATION

    +

    Function: xmlCleanupMemory

    void	xmlCleanupMemory		(void)
    +

    Free up all the memory associated with memorys

    +

    Function type: xmlFreeFunc

    Function type: xmlFreeFunc
    +void	xmlFreeFunc			(void * mem)
    +

    Signature for a free() implementation.

    mem:an already allocated block of memory

    +

    Function: xmlGcMemGet

    int	xmlGcMemGet			(xmlFreeFunc * freeFunc, 
    xmlMallocFunc * mallocFunc,
    xmlMallocFunc * mallocAtomicFunc,
    xmlReallocFunc * reallocFunc,
    xmlStrdupFunc * strdupFunc)
    +

    Provides the memory access functions set currently in use The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators

    +
    freeFunc:place to save the free() function in use
    mallocFunc:place to save the malloc() function in use
    mallocAtomicFunc:place to save the atomic malloc() function in use
    reallocFunc:place to save the realloc() function in use
    strdupFunc:place to save the strdup() function in use
    Returns:0 on success

    Function: xmlGcMemSetup

    int	xmlGcMemSetup			(xmlFreeFunc freeFunc, 
    xmlMallocFunc mallocFunc,
    xmlMallocFunc mallocAtomicFunc,
    xmlReallocFunc reallocFunc,
    xmlStrdupFunc strdupFunc)
    +

    Override the default memory access functions with a new set This has to be called before any other libxml routines ! The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators Should this be blocked if there was already some allocations done ?

    +
    freeFunc:the free() function to use
    mallocFunc:the malloc() function to use
    mallocAtomicFunc:the malloc() function to use for atomic allocations
    reallocFunc:the realloc() function to use
    strdupFunc:the strdup() function to use
    Returns:0 on success

    Function: xmlInitMemory

    int	xmlInitMemory			(void)
    +

    Initialize the memory layer.

    +
    Returns:0 on success

    Function: xmlMallocAtomicLoc

    void *	xmlMallocAtomicLoc		(size_t size, 
    const char * file,
    int line)
    +

    a malloc() equivalent, with logging of the allocation info.

    +
    size:an int specifying the size in byte to allocate.
    file:the file name or NULL
    line:the line number
    Returns:a pointer to the allocated area or NULL in case of lack of memory.

    Function type: xmlMallocFunc

    Function type: xmlMallocFunc
    +void *	xmlMallocFunc			(size_t size)
    +

    Signature for a malloc() implementation.

    size:the size requested in bytes
    Returns:a pointer to the newly allocated block or NULL in case of error.

    +

    Function: xmlMallocLoc

    void *	xmlMallocLoc			(size_t size, 
    const char * file,
    int line)
    +

    a malloc() equivalent, with logging of the allocation info.

    +
    size:an int specifying the size in byte to allocate.
    file:the file name or NULL
    line:the line number
    Returns:a pointer to the allocated area or NULL in case of lack of memory.

    Function: xmlMemDisplay

    void	xmlMemDisplay			(FILE * fp)
    +

    show in-extenso the memory blocks allocated

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

    Function: xmlMemFree

    void	xmlMemFree			(void * ptr)
    +

    a free() equivalent, with error checking.

    +
    ptr:the memory block pointer

    Function: xmlMemGet

    int	xmlMemGet			(xmlFreeFunc * freeFunc, 
    xmlMallocFunc * mallocFunc,
    xmlReallocFunc * reallocFunc,
    xmlStrdupFunc * strdupFunc)
    +

    Provides the memory access functions set currently in use

    +
    freeFunc:place to save the free() function in use
    mallocFunc:place to save the malloc() function in use
    reallocFunc:place to save the realloc() function in use
    strdupFunc:place to save the strdup() function in use
    Returns:0 on success

    Function: xmlMemMalloc

    void *	xmlMemMalloc			(size_t size)
    +

    a malloc() equivalent, with logging of the allocation info.

    +
    size:an int specifying the size in byte to allocate.
    Returns:a pointer to the allocated area or NULL in case of lack of memory.

    Function: xmlMemRealloc

    void *	xmlMemRealloc			(void * ptr, 
    size_t size)
    +

    a realloc() equivalent, with logging of the allocation info.

    +
    ptr:the initial memory block pointer
    size:an int specifying the size in byte to allocate.
    Returns:a pointer to the allocated area or NULL in case of lack of memory.

    Function: xmlMemSetup

    int	xmlMemSetup			(xmlFreeFunc freeFunc, 
    xmlMallocFunc mallocFunc,
    xmlReallocFunc reallocFunc,
    xmlStrdupFunc strdupFunc)
    +

    Override the default memory access functions with a new set This has to be called before any other libxml routines ! Should this be blocked if there was already some allocations done ?

    +
    freeFunc:the free() function to use
    mallocFunc:the malloc() function to use
    reallocFunc:the realloc() function to use
    strdupFunc:the strdup() function to use
    Returns:0 on success

    Function: xmlMemShow

    void	xmlMemShow			(FILE * fp, 
    int nr)
    +

    show a show display of the memory allocated, and dump the @nr last allocated areas which were not freed

    +
    fp:a FILE descriptor used as the output file
    nr:number of entries to dump

    Function: xmlMemStrdupLoc

    char *	xmlMemStrdupLoc			(const char * str, 
    const char * file,
    int line)
    +

    a strdup() equivalent, with logging of the allocation info.

    +
    str:the initial string pointer
    file:the file name or NULL
    line:the line number
    Returns:a pointer to the new string or NULL if allocation error occurred.

    Function: xmlMemUsed

    int	xmlMemUsed			(void)
    +

    Provides the amount of memory currently allocated

    +
    Returns:an int representing the amount of memory allocated.

    Function: xmlMemoryDump

    void	xmlMemoryDump			(void)
    +

    Dump in-extenso the memory blocks allocated to the file .memorylist

    +

    Function: xmlMemoryStrdup

    char *	xmlMemoryStrdup			(const char * str)
    +

    a strdup() equivalent, with logging of the allocation info.

    +
    str:the initial string pointer
    Returns:a pointer to the new string or NULL if allocation error occurred.

    Function type: xmlReallocFunc

    Function type: xmlReallocFunc
    +void *	xmlReallocFunc			(void * mem, 
    size_t size) +

    Signature for a realloc() implementation.

    mem:an already allocated block of memory
    size:the new size requested in bytes
    Returns:a pointer to the newly reallocated block or NULL in case of error.

    +

    Function: xmlReallocLoc

    void *	xmlReallocLoc			(void * ptr, 
    size_t size,
    const char * file,
    int line)
    +

    a realloc() equivalent, with logging of the allocation info.

    +
    ptr:the initial memory block pointer
    size:an int specifying the size in byte to allocate.
    file:the file name or NULL
    line:the line number
    Returns:a pointer to the allocated area or NULL in case of lack of memory.

    Function type: xmlStrdupFunc

    Function type: xmlStrdupFunc
    +char *	xmlStrdupFunc			(const char * str)
    +

    Signature for an strdup() implementation.

    str:a zero terminated string
    Returns:the copy of the string or NULL in case of error.

    +

    Daniel Veillard

    diff --git a/doc/html/libxml-xmlreader.html b/doc/html/libxml-xmlreader.html new file mode 100644 index 0000000..5f98b1c --- /dev/null +++ b/doc/html/libxml-xmlreader.html @@ -0,0 +1,283 @@ + + +Module xmlreader from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlreader from libxml2

    API Menu
    API Indexes
    Related links

    API of the XML streaming API based on C# interfaces.

    Table of Contents

    Enum xmlParserProperties
    +
    Enum xmlParserSeverities
    +
    Enum xmlReaderTypes
    +
    Structure xmlTextReader
    struct _xmlTextReader +The content of this structure is not made public by the API. +
    Typedef void * xmlTextReaderLocatorPtr
    +
    Typedef xmlTextReader * xmlTextReaderPtr
    +
    void	xmlFreeTextReader		(xmlTextReaderPtr reader)
    +
    xmlTextReaderPtr	xmlNewTextReader	(xmlParserInputBufferPtr input, 
    const char * URI)
    +
    xmlTextReaderPtr	xmlNewTextReaderFilename	(const char * URI)
    +
    xmlTextReaderPtr	xmlReaderForDoc	(const xmlChar * cur, 
    const char * URL,
    const char * encoding,
    int options)
    +
    xmlTextReaderPtr	xmlReaderForFd	(int fd, 
    const char * URL,
    const char * encoding,
    int options)
    +
    xmlTextReaderPtr	xmlReaderForFile	(const char * filename, 
    const char * encoding,
    int options)
    +
    xmlTextReaderPtr	xmlReaderForIO	(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    +
    xmlTextReaderPtr	xmlReaderForMemory	(const char * buffer, 
    int size,
    const char * URL,
    const char * encoding,
    int options)
    +
    int	xmlReaderNewDoc			(xmlTextReaderPtr reader, 
    const xmlChar * cur,
    const char * URL,
    const char * encoding,
    int options)
    +
    int	xmlReaderNewFd			(xmlTextReaderPtr reader, 
    int fd,
    const char * URL,
    const char * encoding,
    int options)
    +
    int	xmlReaderNewFile		(xmlTextReaderPtr reader, 
    const char * filename,
    const char * encoding,
    int options)
    +
    int	xmlReaderNewIO			(xmlTextReaderPtr reader, 
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    +
    int	xmlReaderNewMemory		(xmlTextReaderPtr reader, 
    const char * buffer,
    int size,
    const char * URL,
    const char * encoding,
    int options)
    +
    int	xmlReaderNewWalker		(xmlTextReaderPtr reader, 
    xmlDocPtr doc)
    +
    xmlTextReaderPtr	xmlReaderWalker	(xmlDocPtr doc)
    +
    int	xmlTextReaderAttributeCount	(xmlTextReaderPtr reader)
    +
    xmlChar *	xmlTextReaderBaseUri	(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderClose		(xmlTextReaderPtr reader)
    +
    const xmlChar *	xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader)
    +
    const xmlChar *	xmlTextReaderConstLocalName	(xmlTextReaderPtr reader)
    +
    const xmlChar *	xmlTextReaderConstName	(xmlTextReaderPtr reader)
    +
    const xmlChar *	xmlTextReaderConstNamespaceUri	(xmlTextReaderPtr reader)
    +
    const xmlChar *	xmlTextReaderConstPrefix	(xmlTextReaderPtr reader)
    +
    const xmlChar *	xmlTextReaderConstString	(xmlTextReaderPtr reader, 
    const xmlChar * str)
    +
    const xmlChar *	xmlTextReaderConstValue	(xmlTextReaderPtr reader)
    +
    const xmlChar *	xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader)
    +
    xmlDocPtr	xmlTextReaderCurrentDoc	(xmlTextReaderPtr reader)
    +
    xmlNodePtr	xmlTextReaderCurrentNode	(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderDepth		(xmlTextReaderPtr reader)
    +
    Function type: xmlTextReaderErrorFunc
    +void	xmlTextReaderErrorFunc		(void * arg, 
    const char * msg,
    xmlParserSeverities severity,
    xmlTextReaderLocatorPtr locator) +
    +
    xmlNodePtr	xmlTextReaderExpand	(xmlTextReaderPtr reader)
    +
    xmlChar *	xmlTextReaderGetAttribute	(xmlTextReaderPtr reader, 
    const xmlChar * name)
    +
    xmlChar *	xmlTextReaderGetAttributeNo	(xmlTextReaderPtr reader, 
    int no)
    +
    xmlChar *	xmlTextReaderGetAttributeNs	(xmlTextReaderPtr reader, 
    const xmlChar * localName,
    const xmlChar * namespaceURI)
    +
    void	xmlTextReaderGetErrorHandler	(xmlTextReaderPtr reader, 
    xmlTextReaderErrorFunc * f,
    void ** arg)
    +
    int	xmlTextReaderGetParserProp	(xmlTextReaderPtr reader, 
    int prop)
    +
    xmlParserInputBufferPtr	xmlTextReaderGetRemainder	(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderHasAttributes	(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderHasValue		(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderIsDefault		(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderIsEmptyElement	(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderIsValid		(xmlTextReaderPtr reader)
    +
    xmlChar *	xmlTextReaderLocalName	(xmlTextReaderPtr reader)
    +
    xmlChar *	xmlTextReaderLocatorBaseURI	(xmlTextReaderLocatorPtr locator)
    +
    int	xmlTextReaderLocatorLineNumber	(xmlTextReaderLocatorPtr locator)
    +
    xmlChar *	xmlTextReaderLookupNamespace	(xmlTextReaderPtr reader, 
    const xmlChar * prefix)
    +
    int	xmlTextReaderMoveToAttribute	(xmlTextReaderPtr reader, 
    const xmlChar * name)
    +
    int	xmlTextReaderMoveToAttributeNo	(xmlTextReaderPtr reader, 
    int no)
    +
    int	xmlTextReaderMoveToAttributeNs	(xmlTextReaderPtr reader, 
    const xmlChar * localName,
    const xmlChar * namespaceURI)
    +
    int	xmlTextReaderMoveToElement	(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderMoveToFirstAttribute	(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderMoveToNextAttribute	(xmlTextReaderPtr reader)
    +
    xmlChar *	xmlTextReaderName	(xmlTextReaderPtr reader)
    +
    xmlChar *	xmlTextReaderNamespaceUri	(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderNext		(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderNextSibling	(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderNodeType		(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderNormalization	(xmlTextReaderPtr reader)
    +
    xmlChar *	xmlTextReaderPrefix	(xmlTextReaderPtr reader)
    +
    xmlNodePtr	xmlTextReaderPreserve	(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderPreservePattern	(xmlTextReaderPtr reader, 
    const xmlChar * pattern,
    const xmlChar ** namespaces)
    +
    int	xmlTextReaderQuoteChar		(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderRead		(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderReadAttributeValue	(xmlTextReaderPtr reader)
    +
    xmlChar *	xmlTextReaderReadInnerXml	(xmlTextReaderPtr reader)
    +
    xmlChar *	xmlTextReaderReadOuterXml	(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderReadState		(xmlTextReaderPtr reader)
    +
    xmlChar *	xmlTextReaderReadString	(xmlTextReaderPtr reader)
    +
    int	xmlTextReaderRelaxNGSetSchema	(xmlTextReaderPtr reader, 
    xmlRelaxNGPtr schema)
    +
    int	xmlTextReaderRelaxNGValidate	(xmlTextReaderPtr reader, 
    const char * rng)
    +
    void	xmlTextReaderSetErrorHandler	(xmlTextReaderPtr reader, 
    xmlTextReaderErrorFunc f,
    void * arg)
    +
    int	xmlTextReaderSetParserProp	(xmlTextReaderPtr reader, 
    int prop,
    int value)
    +
    void	xmlTextReaderSetStructuredErrorHandler	(xmlTextReaderPtr reader, 
    xmlStructuredErrorFunc f,
    void * arg)
    +
    xmlChar *	xmlTextReaderValue	(xmlTextReaderPtr reader)
    +
    xmlChar *	xmlTextReaderXmlLang	(xmlTextReaderPtr reader)
    +

    Description

    +

    Enum xmlParserProperties

    Enum xmlParserProperties {
    +    XML_PARSER_LOADDTD = 1
    +    XML_PARSER_DEFAULTATTRS = 2
    +    XML_PARSER_VALIDATE = 3
    +    XML_PARSER_SUBST_ENTITIES = 4
    +}
    +

    Enum xmlParserSeverities

    Enum xmlParserSeverities {
    +    XML_PARSER_SEVERITY_VALIDITY_WARNING = 1
    +    XML_PARSER_SEVERITY_VALIDITY_ERROR = 2
    +    XML_PARSER_SEVERITY_WARNING = 3
    +    XML_PARSER_SEVERITY_ERROR = 4
    +}
    +

    Enum xmlReaderTypes

    Enum xmlReaderTypes {
    +    XML_READER_TYPE_NONE = 0
    +    XML_READER_TYPE_ELEMENT = 1
    +    XML_READER_TYPE_ATTRIBUTE = 2
    +    XML_READER_TYPE_TEXT = 3
    +    XML_READER_TYPE_CDATA = 4
    +    XML_READER_TYPE_ENTITY_REFERENCE = 5
    +    XML_READER_TYPE_ENTITY = 6
    +    XML_READER_TYPE_PROCESSING_INSTRUCTION = 7
    +    XML_READER_TYPE_COMMENT = 8
    +    XML_READER_TYPE_DOCUMENT = 9
    +    XML_READER_TYPE_DOCUMENT_TYPE = 10
    +    XML_READER_TYPE_DOCUMENT_FRAGMENT = 11
    +    XML_READER_TYPE_NOTATION = 12
    +    XML_READER_TYPE_WHITESPACE = 13
    +    XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14
    +    XML_READER_TYPE_END_ELEMENT = 15
    +    XML_READER_TYPE_END_ENTITY = 16
    +    XML_READER_TYPE_XML_DECLARATION = 17
    +}
    +

    Structure xmlTextReader

    Structure xmlTextReader
    struct _xmlTextReader { +The content of this structure is not made public by the API. +}

    Function: xmlFreeTextReader

    void	xmlFreeTextReader		(xmlTextReaderPtr reader)
    +

    Deallocate all the resources associated to the reader

    +
    reader:the xmlTextReaderPtr

    Function: xmlNewTextReader

    xmlTextReaderPtr	xmlNewTextReader	(xmlParserInputBufferPtr input, 
    const char * URI)
    +

    Create an xmlTextReader structure fed with @input

    +
    input:the xmlParserInputBufferPtr used to read data
    URI:the URI information for the source if available
    Returns:the new xmlTextReaderPtr or NULL in case of error

    Function: xmlNewTextReaderFilename

    xmlTextReaderPtr	xmlNewTextReaderFilename	(const char * URI)
    +

    Create an xmlTextReader structure fed with the resource at @URI

    +
    URI:the URI of the resource to process
    Returns:the new xmlTextReaderPtr or NULL in case of error

    Function: xmlReaderForDoc

    xmlTextReaderPtr	xmlReaderForDoc	(const xmlChar * cur, 
    const char * URL,
    const char * encoding,
    int options)
    +

    Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.

    +
    cur:a pointer to a zero terminated string
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the new reader or NULL in case of error.

    Function: xmlReaderForFd

    xmlTextReaderPtr	xmlReaderForFd	(int fd, 
    const char * URL,
    const char * encoding,
    int options)
    +

    Create an xmltextReader for an XML from a file descriptor. The parsing flags @options are a combination of xmlParserOption. NOTE that the file descriptor will not be closed when the reader is closed or reset.

    +
    fd:an open file descriptor
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the new reader or NULL in case of error.

    Function: xmlReaderForFile

    xmlTextReaderPtr	xmlReaderForFile	(const char * filename, 
    const char * encoding,
    int options)
    +

    parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption.

    +
    filename:a file or URL
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the new reader or NULL in case of error.

    Function: xmlReaderForIO

    xmlTextReaderPtr	xmlReaderForIO	(xmlInputReadCallback ioread, 
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    +

    Create an xmltextReader for an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption.

    +
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the new reader or NULL in case of error.

    Function: xmlReaderForMemory

    xmlTextReaderPtr	xmlReaderForMemory	(const char * buffer, 
    int size,
    const char * URL,
    const char * encoding,
    int options)
    +

    Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.

    +
    buffer:a pointer to a char array
    size:the size of the array
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:the new reader or NULL in case of error.

    Function: xmlReaderNewDoc

    int	xmlReaderNewDoc			(xmlTextReaderPtr reader, 
    const xmlChar * cur,
    const char * URL,
    const char * encoding,
    int options)
    +

    Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.

    +
    reader:an XML reader
    cur:a pointer to a zero terminated string
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:0 in case of success and -1 in case of error

    Function: xmlReaderNewFd

    int	xmlReaderNewFd			(xmlTextReaderPtr reader, 
    int fd,
    const char * URL,
    const char * encoding,
    int options)
    +

    Setup an xmltextReader to parse an XML from a file descriptor. NOTE that the file descriptor will not be closed when the reader is closed or reset. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.

    +
    reader:an XML reader
    fd:an open file descriptor
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:0 in case of success and -1 in case of error

    Function: xmlReaderNewFile

    int	xmlReaderNewFile		(xmlTextReaderPtr reader, 
    const char * filename,
    const char * encoding,
    int options)
    +

    parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.

    +
    reader:an XML reader
    filename:a file or URL
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:0 in case of success and -1 in case of error

    Function: xmlReaderNewIO

    int	xmlReaderNewIO			(xmlTextReaderPtr reader, 
    xmlInputReadCallback ioread,
    xmlInputCloseCallback ioclose,
    void * ioctx,
    const char * URL,
    const char * encoding,
    int options)
    +

    Setup an xmltextReader to parse an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.

    +
    reader:an XML reader
    ioread:an I/O read function
    ioclose:an I/O close function
    ioctx:an I/O handler
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:0 in case of success and -1 in case of error

    Function: xmlReaderNewMemory

    int	xmlReaderNewMemory		(xmlTextReaderPtr reader, 
    const char * buffer,
    int size,
    const char * URL,
    const char * encoding,
    int options)
    +

    Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.

    +
    reader:an XML reader
    buffer:a pointer to a char array
    size:the size of the array
    URL:the base URL to use for the document
    encoding:the document encoding, or NULL
    options:a combination of xmlParserOption
    Returns:0 in case of success and -1 in case of error

    Function: xmlReaderNewWalker

    int	xmlReaderNewWalker		(xmlTextReaderPtr reader, 
    xmlDocPtr doc)
    +

    Setup an xmltextReader to parse a preparsed XML document. This reuses the existing @reader xmlTextReader.

    +
    reader:an XML reader
    doc:a preparsed document
    Returns:0 in case of success and -1 in case of error

    Function: xmlReaderWalker

    xmlTextReaderPtr	xmlReaderWalker	(xmlDocPtr doc)
    +

    Create an xmltextReader for a preparsed document.

    +
    doc:a preparsed document
    Returns:the new reader or NULL in case of error.

    Function: xmlTextReaderAttributeCount

    int	xmlTextReaderAttributeCount	(xmlTextReaderPtr reader)
    +

    Provides the number of attributes of the current node

    +
    reader:the xmlTextReaderPtr used
    Returns:0 i no attributes, -1 in case of error or the attribute count

    Function: xmlTextReaderBaseUri

    xmlChar *	xmlTextReaderBaseUri	(xmlTextReaderPtr reader)
    +

    The base URI of the node.

    +
    reader:the xmlTextReaderPtr used
    Returns:the base URI or NULL if not available

    Function: xmlTextReaderClose

    int	xmlTextReaderClose		(xmlTextReaderPtr reader)
    +

    This method releases any resources allocated by the current instance changes the state to Closed and close any underlying input.

    +
    reader:the xmlTextReaderPtr used
    Returns:0 or -1 in case of error

    Function: xmlTextReaderConstBaseUri

    const xmlChar *	xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader)
    +

    The base URI of the node.

    +
    reader:the xmlTextReaderPtr used
    Returns:the base URI or NULL if not available, the string will be deallocated with the reader

    Function: xmlTextReaderConstLocalName

    const xmlChar *	xmlTextReaderConstLocalName	(xmlTextReaderPtr reader)
    +

    The local name of the node.

    +
    reader:the xmlTextReaderPtr used
    Returns:the local name or NULL if not available, the string will be deallocated with the reader.

    Function: xmlTextReaderConstName

    const xmlChar *	xmlTextReaderConstName	(xmlTextReaderPtr reader)
    +

    The qualified name of the node, equal to Prefix :LocalName.

    +
    reader:the xmlTextReaderPtr used
    Returns:the local name or NULL if not available, the string is deallocated with the reader.

    Function: xmlTextReaderConstNamespaceUri

    const xmlChar *	xmlTextReaderConstNamespaceUri	(xmlTextReaderPtr reader)
    +

    The URI defining the namespace associated with the node.

    +
    reader:the xmlTextReaderPtr used
    Returns:the namespace URI or NULL if not available, the string will be deallocated with the reader

    Function: xmlTextReaderConstPrefix

    const xmlChar *	xmlTextReaderConstPrefix	(xmlTextReaderPtr reader)
    +

    A shorthand reference to the namespace associated with the node.

    +
    reader:the xmlTextReaderPtr used
    Returns:the prefix or NULL if not available, the string is deallocated with the reader.

    Function: xmlTextReaderConstString

    const xmlChar *	xmlTextReaderConstString	(xmlTextReaderPtr reader, 
    const xmlChar * str)
    +

    Get an interned string from the reader, allows for example to speedup string name comparisons

    +
    reader:the xmlTextReaderPtr used
    str:the string to intern.
    Returns:an interned copy of the string or NULL in case of error. The string will be deallocated with the reader.

    Function: xmlTextReaderConstValue

    const xmlChar *	xmlTextReaderConstValue	(xmlTextReaderPtr reader)
    +

    Provides the text value of the node if present

    +
    reader:the xmlTextReaderPtr used
    Returns:the string or NULL if not available. The result will be deallocated on the next Read() operation.

    Function: xmlTextReaderConstXmlLang

    const xmlChar *	xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader)
    +

    The xml:lang scope within which the node resides.

    +
    reader:the xmlTextReaderPtr used
    Returns:the xml:lang value or NULL if none exists.

    Function: xmlTextReaderCurrentDoc

    xmlDocPtr	xmlTextReaderCurrentDoc	(xmlTextReaderPtr reader)
    +

    Hacking interface allowing to get the xmlDocPtr correponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.

    +
    reader:the xmlTextReaderPtr used
    Returns:the xmlDocPtr or NULL in case of error.

    Function: xmlTextReaderCurrentNode

    xmlNodePtr	xmlTextReaderCurrentNode	(xmlTextReaderPtr reader)
    +

    Hacking interface allowing to get the xmlNodePtr correponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.

    +
    reader:the xmlTextReaderPtr used
    Returns:the xmlNodePtr or NULL in case of error.

    Function: xmlTextReaderDepth

    int	xmlTextReaderDepth		(xmlTextReaderPtr reader)
    +

    The depth of the node in the tree.

    +
    reader:the xmlTextReaderPtr used
    Returns:the depth or -1 in case of error

    Function type: xmlTextReaderErrorFunc

    Function type: xmlTextReaderErrorFunc
    +void	xmlTextReaderErrorFunc		(void * arg, 
    const char * msg,
    xmlParserSeverities severity,
    xmlTextReaderLocatorPtr locator) +

    arg:
    msg:
    severity:
    locator:

    +

    Function: xmlTextReaderExpand

    xmlNodePtr	xmlTextReaderExpand	(xmlTextReaderPtr reader)
    +

    Reads the contents of the current node and the full subtree. It then makes the subtree available until the next xmlTextReaderRead() call

    +
    reader:the xmlTextReaderPtr used
    Returns:a node pointer valid until the next xmlTextReaderRead() call or NULL in case of error.

    Function: xmlTextReaderGetAttribute

    xmlChar *	xmlTextReaderGetAttribute	(xmlTextReaderPtr reader, 
    const xmlChar * name)
    +

    Provides the value of the attribute with the specified qualified name.

    +
    reader:the xmlTextReaderPtr used
    name:the qualified name of the attribute.
    Returns:a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.

    Function: xmlTextReaderGetAttributeNo

    xmlChar *	xmlTextReaderGetAttributeNo	(xmlTextReaderPtr reader, 
    int no)
    +

    Provides the value of the attribute with the specified index relative to the containing element.

    +
    reader:the xmlTextReaderPtr used
    no:the zero-based index of the attribute relative to the containing element
    Returns:a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.

    Function: xmlTextReaderGetAttributeNs

    xmlChar *	xmlTextReaderGetAttributeNs	(xmlTextReaderPtr reader, 
    const xmlChar * localName,
    const xmlChar * namespaceURI)
    +

    Provides the value of the specified attribute

    +
    reader:the xmlTextReaderPtr used
    localName:the local name of the attribute.
    namespaceURI:the namespace URI of the attribute.
    Returns:a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.

    Function: xmlTextReaderGetErrorHandler

    void	xmlTextReaderGetErrorHandler	(xmlTextReaderPtr reader, 
    xmlTextReaderErrorFunc * f,
    void ** arg)
    +

    Retrieve the error callback function and user argument.

    +
    reader:the xmlTextReaderPtr used
    f:the callback function or NULL is no callback has been registered
    arg:a user argument

    Function: xmlTextReaderGetParserProp

    int	xmlTextReaderGetParserProp	(xmlTextReaderPtr reader, 
    int prop)
    +

    Read the parser internal property.

    +
    reader:the xmlTextReaderPtr used
    prop:the xmlParserProperties to get
    Returns:the value, usually 0 or 1, or -1 in case of error.

    Function: xmlTextReaderGetRemainder

    xmlParserInputBufferPtr	xmlTextReaderGetRemainder	(xmlTextReaderPtr reader)
    +

    Method to get the remainder of the buffered XML. this method stops the parser, set its state to End Of File and return the input stream with what is left that the parser did not use.

    +
    reader:the xmlTextReaderPtr used
    Returns:the xmlParserInputBufferPtr attached to the XML or NULL in case of error.

    Function: xmlTextReaderHasAttributes

    int	xmlTextReaderHasAttributes	(xmlTextReaderPtr reader)
    +

    Whether the node has attributes.

    +
    reader:the xmlTextReaderPtr used
    Returns:1 if true, 0 if false, and -1 in case or error

    Function: xmlTextReaderHasValue

    int	xmlTextReaderHasValue		(xmlTextReaderPtr reader)
    +

    Whether the node can have a text value.

    +
    reader:the xmlTextReaderPtr used
    Returns:1 if true, 0 if false, and -1 in case or error

    Function: xmlTextReaderIsDefault

    int	xmlTextReaderIsDefault		(xmlTextReaderPtr reader)
    +

    Whether an Attribute node was generated from the default value defined in the DTD or schema.

    +
    reader:the xmlTextReaderPtr used
    Returns:0 if not defaulted, 1 if defaulted, and -1 in case of error

    Function: xmlTextReaderIsEmptyElement

    int	xmlTextReaderIsEmptyElement	(xmlTextReaderPtr reader)
    +

    Check if the current node is empty

    +
    reader:the xmlTextReaderPtr used
    Returns:1 if empty, 0 if not and -1 in case of error

    Function: xmlTextReaderIsValid

    int	xmlTextReaderIsValid		(xmlTextReaderPtr reader)
    +

    Retrieve the validity status from the parser context

    +
    reader:the xmlTextReaderPtr used
    Returns:the flag value 1 if valid, 0 if no, and -1 in case of error

    Function: xmlTextReaderLocalName

    xmlChar *	xmlTextReaderLocalName	(xmlTextReaderPtr reader)
    +

    The local name of the node.

    +
    reader:the xmlTextReaderPtr used
    Returns:the local name or NULL if not available

    Function: xmlTextReaderLocatorBaseURI

    xmlChar *	xmlTextReaderLocatorBaseURI	(xmlTextReaderLocatorPtr locator)
    +

    Obtain the base URI for the given locator.

    +
    locator:the xmlTextReaderLocatorPtr used
    Returns:the base URI or NULL in case of error.

    Function: xmlTextReaderLocatorLineNumber

    int	xmlTextReaderLocatorLineNumber	(xmlTextReaderLocatorPtr locator)
    +

    Obtain the line number for the given locator.

    +
    locator:the xmlTextReaderLocatorPtr used
    Returns:the line number or -1 in case of error.

    Function: xmlTextReaderLookupNamespace

    xmlChar *	xmlTextReaderLookupNamespace	(xmlTextReaderPtr reader, 
    const xmlChar * prefix)
    +

    Resolves a namespace prefix in the scope of the current element.

    +
    reader:the xmlTextReaderPtr used
    prefix:the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL
    Returns:a string containing the namespace URI to which the prefix maps or NULL in case of error. The string must be deallocated by the caller.

    Function: xmlTextReaderMoveToAttribute

    int	xmlTextReaderMoveToAttribute	(xmlTextReaderPtr reader, 
    const xmlChar * name)
    +

    Moves the position of the current instance to the attribute with the specified qualified name.

    +
    reader:the xmlTextReaderPtr used
    name:the qualified name of the attribute.
    Returns:1 in case of success, -1 in case of error, 0 if not found

    Function: xmlTextReaderMoveToAttributeNo

    int	xmlTextReaderMoveToAttributeNo	(xmlTextReaderPtr reader, 
    int no)
    +

    Moves the position of the current instance to the attribute with the specified index relative to the containing element.

    +
    reader:the xmlTextReaderPtr used
    no:the zero-based index of the attribute relative to the containing element.
    Returns:1 in case of success, -1 in case of error, 0 if not found

    Function: xmlTextReaderMoveToAttributeNs

    int	xmlTextReaderMoveToAttributeNs	(xmlTextReaderPtr reader, 
    const xmlChar * localName,
    const xmlChar * namespaceURI)
    +

    Moves the position of the current instance to the attribute with the specified local name and namespace URI.

    +
    reader:the xmlTextReaderPtr used
    localName:the local name of the attribute.
    namespaceURI:the namespace URI of the attribute.
    Returns:1 in case of success, -1 in case of error, 0 if not found

    Function: xmlTextReaderMoveToElement

    int	xmlTextReaderMoveToElement	(xmlTextReaderPtr reader)
    +

    Moves the position of the current instance to the node that contains the current Attribute node.

    +
    reader:the xmlTextReaderPtr used
    Returns:1 in case of success, -1 in case of error, 0 if not moved

    Function: xmlTextReaderMoveToFirstAttribute

    int	xmlTextReaderMoveToFirstAttribute	(xmlTextReaderPtr reader)
    +

    Moves the position of the current instance to the first attribute associated with the current node.

    +
    reader:the xmlTextReaderPtr used
    Returns:1 in case of success, -1 in case of error, 0 if not found

    Function: xmlTextReaderMoveToNextAttribute

    int	xmlTextReaderMoveToNextAttribute	(xmlTextReaderPtr reader)
    +

    Moves the position of the current instance to the next attribute associated with the current node.

    +
    reader:the xmlTextReaderPtr used
    Returns:1 in case of success, -1 in case of error, 0 if not found

    Function: xmlTextReaderName

    xmlChar *	xmlTextReaderName	(xmlTextReaderPtr reader)
    +

    The qualified name of the node, equal to Prefix :LocalName.

    +
    reader:the xmlTextReaderPtr used
    Returns:the local name or NULL if not available

    Function: xmlTextReaderNamespaceUri

    xmlChar *	xmlTextReaderNamespaceUri	(xmlTextReaderPtr reader)
    +

    The URI defining the namespace associated with the node.

    +
    reader:the xmlTextReaderPtr used
    Returns:the namespace URI or NULL if not available

    Function: xmlTextReaderNext

    int	xmlTextReaderNext		(xmlTextReaderPtr reader)
    +

    Skip to the node following the current one in document order while avoiding the subtree if any.

    +
    reader:the xmlTextReaderPtr used
    Returns:1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error

    Function: xmlTextReaderNextSibling

    int	xmlTextReaderNextSibling	(xmlTextReaderPtr reader)
    +

    Skip to the node following the current one in document order while avoiding the subtree if any. Currently implemented only for Readers built on a document

    +
    reader:the xmlTextReaderPtr used
    Returns:1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error

    Function: xmlTextReaderNodeType

    int	xmlTextReaderNodeType		(xmlTextReaderPtr reader)
    +

    Get the node type of the current node Reference: http://dotgnu.org/pnetlib-doc/System/Xml/XmlNodeType.html

    +
    reader:the xmlTextReaderPtr used
    Returns:the xmlNodeType of the current node or -1 in case of error

    Function: xmlTextReaderNormalization

    int	xmlTextReaderNormalization	(xmlTextReaderPtr reader)
    +

    The value indicating whether to normalize white space and attribute values. Since attribute value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The broken bahaviour of accepting out of range character entities like &#0; is of course not supported either.

    +
    reader:the xmlTextReaderPtr used
    Returns:1 or -1 in case of error.

    Function: xmlTextReaderPrefix

    xmlChar *	xmlTextReaderPrefix	(xmlTextReaderPtr reader)
    +

    A shorthand reference to the namespace associated with the node.

    +
    reader:the xmlTextReaderPtr used
    Returns:the prefix or NULL if not available

    Function: xmlTextReaderPreserve

    xmlNodePtr	xmlTextReaderPreserve	(xmlTextReaderPtr reader)
    +

    current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.

    +
    reader:the xmlTextReaderPtr used
    Returns:the xmlNodePtr or NULL in case of error.

    Function: xmlTextReaderPreservePattern

    int	xmlTextReaderPreservePattern	(xmlTextReaderPtr reader, 
    const xmlChar * pattern,
    const xmlChar ** namespaces)
    +

    This tells the XML Reader to preserve all nodes matched by the pattern. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished

    +
    reader:the xmlTextReaderPtr used
    pattern:an XPath subset pattern
    namespaces:the prefix definitions, array of [URI, prefix] or NULL
    Returns:a positive number in case of success and -1 in case of error

    Function: xmlTextReaderQuoteChar

    int	xmlTextReaderQuoteChar		(xmlTextReaderPtr reader)
    +

    The quotation mark character used to enclose the value of an attribute.

    +
    reader:the xmlTextReaderPtr used
    Returns:" or ' and -1 in case of error

    Function: xmlTextReaderRead

    int	xmlTextReaderRead		(xmlTextReaderPtr reader)
    +

    Moves the position of the current instance to the next node in the stream, exposing its properties.

    +
    reader:the xmlTextReaderPtr used
    Returns:1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error

    Function: xmlTextReaderReadAttributeValue

    int	xmlTextReaderReadAttributeValue	(xmlTextReaderPtr reader)
    +

    Parses an attribute value into one or more Text and EntityReference nodes.

    +
    reader:the xmlTextReaderPtr used
    Returns:1 in case of success, 0 if the reader was not positionned on an ttribute node or all the attribute values have been read, or -1 in case of error.

    Function: xmlTextReaderReadInnerXml

    xmlChar *	xmlTextReaderReadInnerXml	(xmlTextReaderPtr reader)
    +

    Reads the contents of the current node, including child nodes and markup.

    +
    reader:the xmlTextReaderPtr used
    Returns:a string containing the XML content, or NULL if the current node is neither an element nor attribute, or has no child nodes. The string must be deallocated by the caller.

    Function: xmlTextReaderReadOuterXml

    xmlChar *	xmlTextReaderReadOuterXml	(xmlTextReaderPtr reader)
    +

    Reads the contents of the current node, including child nodes and markup.

    +
    reader:the xmlTextReaderPtr used
    Returns:a string containing the XML content, or NULL if the current node is neither an element nor attribute, or has no child nodes. The string must be deallocated by the caller.

    Function: xmlTextReaderReadState

    int	xmlTextReaderReadState		(xmlTextReaderPtr reader)
    +

    Gets the read state of the reader.

    +
    reader:the xmlTextReaderPtr used
    Returns:the state value, or -1 in case of error

    Function: xmlTextReaderReadString

    xmlChar *	xmlTextReaderReadString	(xmlTextReaderPtr reader)
    +

    Reads the contents of an element or a text node as a string.

    +
    reader:the xmlTextReaderPtr used
    Returns:a string containing the contents of the Element or Text node, or NULL if the reader is positioned on any other type of node. The string must be deallocated by the caller.

    Function: xmlTextReaderRelaxNGSetSchema

    int	xmlTextReaderRelaxNGSetSchema	(xmlTextReaderPtr reader, 
    xmlRelaxNGPtr schema)
    +

    Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then RelaxNG validation is desactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.

    +
    reader:the xmlTextReaderPtr used
    schema:a precompiled RelaxNG schema
    Returns:0 in case the RelaxNG validation could be (des)activated and -1 in case of error.

    Function: xmlTextReaderRelaxNGValidate

    int	xmlTextReaderRelaxNGValidate	(xmlTextReaderPtr reader, 
    const char * rng)
    +

    Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @rng is NULL, then RelaxNG validation is desactivated.

    +
    reader:the xmlTextReaderPtr used
    rng:the path to a RelaxNG schema or NULL
    Returns:0 in case the RelaxNG validation could be (des)activated and -1 in case of error.

    Function: xmlTextReaderSetErrorHandler

    void	xmlTextReaderSetErrorHandler	(xmlTextReaderPtr reader, 
    xmlTextReaderErrorFunc f,
    void * arg)
    +

    Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.

    +
    reader:the xmlTextReaderPtr used
    f:the callback function to call on error and warnings
    arg:a user argument to pass to the callback function

    Function: xmlTextReaderSetParserProp

    int	xmlTextReaderSetParserProp	(xmlTextReaderPtr reader, 
    int prop,
    int value)
    +

    Change the parser processing behaviour by changing some of its internal properties. Note that some properties can only be changed before any read has been done.

    +
    reader:the xmlTextReaderPtr used
    prop:the xmlParserProperties to set
    value:usually 0 or 1 to (de)activate it
    Returns:0 if the call was successful, or -1 in case of error

    Function: xmlTextReaderSetStructuredErrorHandler

    void	xmlTextReaderSetStructuredErrorHandler	(xmlTextReaderPtr reader, 
    xmlStructuredErrorFunc f,
    void * arg)
    +

    Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.

    +
    reader:the xmlTextReaderPtr used
    f:the callback function to call on error and warnings
    arg:a user argument to pass to the callback function

    Function: xmlTextReaderValue

    xmlChar *	xmlTextReaderValue	(xmlTextReaderPtr reader)
    +

    Provides the text value of the node if present

    +
    reader:the xmlTextReaderPtr used
    Returns:the string or NULL if not available. The result must be deallocated with xmlFree()

    Function: xmlTextReaderXmlLang

    xmlChar *	xmlTextReaderXmlLang	(xmlTextReaderPtr reader)
    +

    The xml:lang scope within which the node resides.

    +
    reader:the xmlTextReaderPtr used
    Returns:the xml:lang value or NULL if none exists.

    Daniel Veillard

    diff --git a/doc/html/libxml-xmlregexp.html b/doc/html/libxml-xmlregexp.html new file mode 100644 index 0000000..4c371eb --- /dev/null +++ b/doc/html/libxml-xmlregexp.html @@ -0,0 +1,57 @@ + + +Module xmlregexp from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlregexp from libxml2

    API Menu
    API Indexes
    Related links

    basic API for libxml regular expressions handling used for XML Schemas and validation.

    Table of Contents

    Structure xmlRegExecCtxt
    struct _xmlRegExecCtxt +The content of this structure is not made public by the API. +
    Typedef xmlRegExecCtxt * xmlRegExecCtxtPtr
    +
    Structure xmlRegexp
    struct _xmlRegexp +The content of this structure is not made public by the API. +
    Typedef xmlRegexp * xmlRegexpPtr
    +
    Function type: xmlRegExecCallbacks
    +void	xmlRegExecCallbacks		(xmlRegExecCtxtPtr exec, 
    const xmlChar * token,
    void * transdata,
    void * inputdata) +
    +
    int	xmlRegExecPushString		(xmlRegExecCtxtPtr exec, 
    const xmlChar * value,
    void * data)
    +
    int	xmlRegExecPushString2		(xmlRegExecCtxtPtr exec, 
    const xmlChar * value,
    const xmlChar * value2,
    void * data)
    +
    void	xmlRegFreeExecCtxt		(xmlRegExecCtxtPtr exec)
    +
    void	xmlRegFreeRegexp		(xmlRegexpPtr regexp)
    +
    xmlRegExecCtxtPtr	xmlRegNewExecCtxt	(xmlRegexpPtr comp, 
    xmlRegExecCallbacks callback,
    void * data)
    +
    xmlRegexpPtr	xmlRegexpCompile	(const xmlChar * regexp)
    +
    int	xmlRegexpExec			(xmlRegexpPtr comp, 
    const xmlChar * content)
    +
    int	xmlRegexpIsDeterminist		(xmlRegexpPtr comp)
    +
    void	xmlRegexpPrint			(FILE * output, 
    xmlRegexpPtr regexp)
    +

    Description

    +

    Structure xmlRegExecCtxt

    Structure xmlRegExecCtxt
    struct _xmlRegExecCtxt { +The content of this structure is not made public by the API. +}

    Structure xmlRegexp

    Structure xmlRegexp
    struct _xmlRegexp { +The content of this structure is not made public by the API. +}

    Function type: xmlRegExecCallbacks

    Function type: xmlRegExecCallbacks
    +void	xmlRegExecCallbacks		(xmlRegExecCtxtPtr exec, 
    const xmlChar * token,
    void * transdata,
    void * inputdata) +

    exec:
    token:
    transdata:
    inputdata:

    +

    Function: xmlRegExecPushString

    int	xmlRegExecPushString		(xmlRegExecCtxtPtr exec, 
    const xmlChar * value,
    void * data)
    +

    Push one input token in the execution context

    +
    exec:a regexp execution context or NULL to indicate the end
    value:a string token input
    data:data associated to the token to reuse in callbacks
    Returns:1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.

    Function: xmlRegExecPushString2

    int	xmlRegExecPushString2		(xmlRegExecCtxtPtr exec, 
    const xmlChar * value,
    const xmlChar * value2,
    void * data)
    +

    Push one input token in the execution context

    +
    exec:a regexp execution context or NULL to indicate the end
    value:the first string token input
    value2:the second string token input
    data:data associated to the token to reuse in callbacks
    Returns:1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.

    Function: xmlRegFreeExecCtxt

    void	xmlRegFreeExecCtxt		(xmlRegExecCtxtPtr exec)
    +

    Free the structures associated to a regular expression evaulation context.

    +
    exec:a regular expression evaulation context

    Function: xmlRegFreeRegexp

    void	xmlRegFreeRegexp		(xmlRegexpPtr regexp)
    +

    Free a regexp

    +
    regexp:the regexp

    Function: xmlRegNewExecCtxt

    xmlRegExecCtxtPtr	xmlRegNewExecCtxt	(xmlRegexpPtr comp, 
    xmlRegExecCallbacks callback,
    void * data)
    +

    Build a context used for progressive evaluation of a regexp.

    +
    comp:a precompiled regular expression
    callback:a callback function used for handling progresses in the automata matching phase
    data:the context data associated to the callback in this context
    Returns:the new context

    Function: xmlRegexpCompile

    xmlRegexpPtr	xmlRegexpCompile	(const xmlChar * regexp)
    +

    Parses a regular expression conforming to XML Schemas Part 2 Datatype Appendix F and build an automata suitable for testing strings against that regular expression

    +
    regexp:a regular expression string
    Returns:the compiled expression or NULL in case of error

    Function: xmlRegexpExec

    int	xmlRegexpExec			(xmlRegexpPtr comp, 
    const xmlChar * content)
    +

    Check if the regular expression generate the value

    +
    comp:the compiled regular expression
    content:the value to check against the regular expression
    Returns:1 if it matches, 0 if not and a negativa value in case of error

    Function: xmlRegexpIsDeterminist

    int	xmlRegexpIsDeterminist		(xmlRegexpPtr comp)
    +

    Check if the regular expression is determinist

    +
    comp:the compiled regular expression
    Returns:1 if it yes, 0 if not and a negativa value in case of error

    Function: xmlRegexpPrint

    void	xmlRegexpPrint			(FILE * output, 
    xmlRegexpPtr regexp)
    +

    Print the content of the compiled regular expression

    +
    output:the file for the output debug
    regexp:the compiled regexp

    Daniel Veillard

    diff --git a/doc/html/libxml-xmlsave.html b/doc/html/libxml-xmlsave.html new file mode 100644 index 0000000..9af9c19 --- /dev/null +++ b/doc/html/libxml-xmlsave.html @@ -0,0 +1,43 @@ + + +Module xmlsave from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlsave from libxml2

    API Menu
    API Indexes
    Related links

    API to save document or subtree of document

    Table of Contents

    Structure xmlSaveCtxt
    struct _xmlSaveCtxt +The content of this structure is not made public by the API. +
    Typedef xmlSaveCtxt * xmlSaveCtxtPtr
    +
    int	xmlSaveClose			(xmlSaveCtxtPtr ctxt)
    +
    long	xmlSaveDoc			(xmlSaveCtxtPtr ctxt, 
    xmlDocPtr doc)
    +
    int	xmlSaveFlush			(xmlSaveCtxtPtr ctxt)
    +
    xmlSaveCtxtPtr	xmlSaveToBuffer		(xmlBufferPtr buffer, 
    const char * encoding,
    int options)
    +
    xmlSaveCtxtPtr	xmlSaveToFd		(int fd, 
    const char * encoding,
    int options)
    +
    xmlSaveCtxtPtr	xmlSaveToFilename	(const char * filename, 
    const char * encoding,
    int options)
    +
    xmlSaveCtxtPtr	xmlSaveToIO		(xmlOutputWriteCallback iowrite, 
    xmlOutputCloseCallback ioclose,
    void * ioctx,
    const char * encoding,
    int options)
    +
    long	xmlSaveTree			(xmlSaveCtxtPtr ctxt, 
    xmlNodePtr node)
    +

    Description

    +

    Structure xmlSaveCtxt

    Structure xmlSaveCtxt
    struct _xmlSaveCtxt { +The content of this structure is not made public by the API. +}

    Function: xmlSaveClose

    int	xmlSaveClose			(xmlSaveCtxtPtr ctxt)
    +

    Close a document saving context, i.e. make sure that all bytes have been output and free the associated data.

    +
    ctxt:a document saving context
    Returns:the number of byte written or -1 in case of error.

    Function: xmlSaveDoc

    long	xmlSaveDoc			(xmlSaveCtxtPtr ctxt, 
    xmlDocPtr doc)
    +

    Save a full document to a saving context

    +
    ctxt:a document saving context
    doc:a document
    Returns:the number of byte written or -1 in case of error

    Function: xmlSaveFlush

    int	xmlSaveFlush			(xmlSaveCtxtPtr ctxt)
    +

    Flush a document saving context, i.e. make sure that all bytes have been output.

    +
    ctxt:a document saving context
    Returns:the number of byte written or -1 in case of error.

    Function: xmlSaveToBuffer

    xmlSaveCtxtPtr	xmlSaveToBuffer		(xmlBufferPtr buffer, 
    const char * encoding,
    int options)
    +

    Create a document saving context serializing to a buffer with the encoding and the options given

    +
    buffer:a buffer
    encoding:the encoding name to use or NULL
    options:a set of xmlSaveOptions
    Returns:a new serialization context or NULL in case of error.

    Function: xmlSaveToFd

    xmlSaveCtxtPtr	xmlSaveToFd		(int fd, 
    const char * encoding,
    int options)
    +

    Create a document saving context serializing to a file descriptor with the encoding and the options given.

    +
    fd:a file descriptor number
    encoding:the encoding name to use or NULL
    options:a set of xmlSaveOptions
    Returns:a new serialization context or NULL in case of error.

    Function: xmlSaveToFilename

    xmlSaveCtxtPtr	xmlSaveToFilename	(const char * filename, 
    const char * encoding,
    int options)
    +

    Create a document saving context serializing to a filename or possibly to an URL (but this is less reliable) with the encoding and the options given.

    +
    filename:a file name or an URL
    encoding:the encoding name to use or NULL
    options:a set of xmlSaveOptions
    Returns:a new serialization context or NULL in case of error.

    Function: xmlSaveToIO

    xmlSaveCtxtPtr	xmlSaveToIO		(xmlOutputWriteCallback iowrite, 
    xmlOutputCloseCallback ioclose,
    void * ioctx,
    const char * encoding,
    int options)
    +

    Create a document saving context serializing to a file descriptor with the encoding and the options given

    +
    iowrite:an I/O write function
    ioclose:an I/O close function
    ioctx:an I/O handler
    encoding:the encoding name to use or NULL
    options:a set of xmlSaveOptions
    Returns:a new serialization context or NULL in case of error.

    Function: xmlSaveTree

    long	xmlSaveTree			(xmlSaveCtxtPtr ctxt, 
    xmlNodePtr node)
    +

    Save a subtree starting at the node parameter to a saving context

    +
    ctxt:a document saving context
    node:a document
    Returns:the number of byte written or -1 in case of error

    Daniel Veillard

    diff --git a/doc/html/libxml-xmlschemas.html b/doc/html/libxml-xmlschemas.html new file mode 100644 index 0000000..68584f1 --- /dev/null +++ b/doc/html/libxml-xmlschemas.html @@ -0,0 +1,125 @@ + + +Module xmlschemas from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlschemas from libxml2

    API Menu
    API Indexes
    Related links

    interface to the XML Schemas handling and schema validity checking, it is incomplete right now.

    Table of Contents

    Structure xmlSchema
    struct _xmlSchema +
    Structure xmlSchemaParserCtxt
    struct _xmlSchemaParserCtxt +The content of this structure is not made public by the API. +
    Typedef xmlSchemaParserCtxt * xmlSchemaParserCtxtPtr
    +
    Typedef xmlSchema * xmlSchemaPtr
    +
    Structure xmlSchemaValidCtxt
    struct _xmlSchemaValidCtxt +The content of this structure is not made public by the API. +
    Typedef xmlSchemaValidCtxt * xmlSchemaValidCtxtPtr
    +
    Enum xmlSchemaValidError
    +
    void	xmlSchemaDump			(FILE * output, 
    xmlSchemaPtr schema)
    +
    void	xmlSchemaFree			(xmlSchemaPtr schema)
    +
    void	xmlSchemaFreeParserCtxt		(xmlSchemaParserCtxtPtr ctxt)
    +
    void	xmlSchemaFreeValidCtxt		(xmlSchemaValidCtxtPtr ctxt)
    +
    xmlSchemaParserCtxtPtr	xmlSchemaNewDocParserCtxt	(xmlDocPtr doc)
    +
    xmlSchemaParserCtxtPtr	xmlSchemaNewMemParserCtxt	(const char * buffer, 
    int size)
    +
    xmlSchemaParserCtxtPtr	xmlSchemaNewParserCtxt	(const char * URL)
    +
    xmlSchemaValidCtxtPtr	xmlSchemaNewValidCtxt	(xmlSchemaPtr schema)
    +
    xmlSchemaPtr	xmlSchemaParse		(xmlSchemaParserCtxtPtr ctxt)
    +
    void	xmlSchemaSetParserErrors	(xmlSchemaParserCtxtPtr ctxt, 
    xmlSchemaValidityErrorFunc err,
    xmlSchemaValidityWarningFunc warn,
    void * ctx)
    +
    void	xmlSchemaSetValidErrors		(xmlSchemaValidCtxtPtr ctxt, 
    xmlSchemaValidityErrorFunc err,
    xmlSchemaValidityWarningFunc warn,
    void * ctx)
    +
    int	xmlSchemaValidateDoc		(xmlSchemaValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    +
    int	xmlSchemaValidateStream		(xmlSchemaValidCtxtPtr ctxt, 
    xmlParserInputBufferPtr input,
    xmlCharEncoding enc,
    xmlSAXHandlerPtr sax,
    void * user_data)
    +
    Function type: xmlSchemaValidityErrorFunc
    +void	xmlSchemaValidityErrorFunc	(void * ctx, 
    const char * msg,
    ... ...) +
    +
    Function type: xmlSchemaValidityWarningFunc
    +void	xmlSchemaValidityWarningFunc	(void * ctx, 
    const char * msg,
    ... ...) +
    +

    Description

    +

    Structure xmlSchema

    Structure xmlSchema
    struct _xmlSchema { + const xmlChar * name : schema name + const xmlChar * targetNamespace : the target namespace + const xmlChar * version + const xmlChar * id + xmlDocPtr doc + xmlSchemaAnnotPtr annot + int flags + xmlHashTablePtr typeDecl + xmlHashTablePtr attrDecl + xmlHashTablePtr attrgrpDecl + xmlHashTablePtr elemDecl + xmlHashTablePtr notaDecl + xmlHashTablePtr schemasImports + void * _private : unused by the library for users or bind + xmlHashTablePtr groupDecl + xmlDictPtr dict + void * includes : the includes, this is opaque for now + int preserve : whether to free the document +}

    Structure xmlSchemaParserCtxt

    Structure xmlSchemaParserCtxt
    struct _xmlSchemaParserCtxt { +The content of this structure is not made public by the API. +}

    Structure xmlSchemaValidCtxt

    Structure xmlSchemaValidCtxt
    struct _xmlSchemaValidCtxt { +The content of this structure is not made public by the API. +}

    Enum xmlSchemaValidError

    Enum xmlSchemaValidError {
    +    XML_SCHEMAS_ERR_OK = 0
    +    XML_SCHEMAS_ERR_NOROOT = 1
    +    XML_SCHEMAS_ERR_UNDECLAREDELEM = 2
    +    XML_SCHEMAS_ERR_NOTTOPLEVEL = 3
    +    XML_SCHEMAS_ERR_MISSING = 4
    +    XML_SCHEMAS_ERR_WRONGELEM = 5
    +    XML_SCHEMAS_ERR_NOTYPE = 6
    +    XML_SCHEMAS_ERR_NOROLLBACK = 7
    +    XML_SCHEMAS_ERR_ISABSTRACT = 8
    +    XML_SCHEMAS_ERR_NOTEMPTY = 9
    +    XML_SCHEMAS_ERR_ELEMCONT = 10
    +    XML_SCHEMAS_ERR_HAVEDEFAULT = 11
    +    XML_SCHEMAS_ERR_NOTNILLABLE = 12
    +    XML_SCHEMAS_ERR_EXTRACONTENT = 13
    +    XML_SCHEMAS_ERR_INVALIDATTR = 14
    +    XML_SCHEMAS_ERR_INVALIDELEM = 15
    +    XML_SCHEMAS_ERR_NOTDETERMINIST = 16
    +    XML_SCHEMAS_ERR_CONSTRUCT = 17
    +    XML_SCHEMAS_ERR_INTERNAL = 18
    +    XML_SCHEMAS_ERR_NOTSIMPLE = 19
    +    XML_SCHEMAS_ERR_ATTRUNKNOWN = 20
    +    XML_SCHEMAS_ERR_ATTRINVALID = 21
    +    XML_SCHEMAS_ERR_VALUE = 22
    +    XML_SCHEMAS_ERR_FACET = 23
    +    XML_SCHEMAS_ERR_ = 24
    +    XML_SCHEMAS_ERR_XXX = 25
    +}
    +

    Function: xmlSchemaDump

    void	xmlSchemaDump			(FILE * output, 
    xmlSchemaPtr schema)
    +

    Dump a Schema structure.

    +
    output:the file output
    schema:a schema structure

    Function: xmlSchemaFree

    void	xmlSchemaFree			(xmlSchemaPtr schema)
    +

    Deallocate a Schema structure.

    +
    schema:a schema structure

    Function: xmlSchemaFreeParserCtxt

    void	xmlSchemaFreeParserCtxt		(xmlSchemaParserCtxtPtr ctxt)
    +

    Free the resources associated to the schema parser context

    +
    ctxt:the schema parser context

    Function: xmlSchemaFreeValidCtxt

    void	xmlSchemaFreeValidCtxt		(xmlSchemaValidCtxtPtr ctxt)
    +

    Free the resources associated to the schema validation context

    +
    ctxt:the schema validation context

    Function: xmlSchemaNewDocParserCtxt

    xmlSchemaParserCtxtPtr	xmlSchemaNewDocParserCtxt	(xmlDocPtr doc)
    +

    Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.

    +
    doc:a preparsed document tree
    Returns:the parser context or NULL in case of error

    Function: xmlSchemaNewMemParserCtxt

    xmlSchemaParserCtxtPtr	xmlSchemaNewMemParserCtxt	(const char * buffer, 
    int size)
    +

    Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file.

    +
    buffer:a pointer to a char array containing the schemas
    size:the size of the array
    Returns:the parser context or NULL in case of error

    Function: xmlSchemaNewParserCtxt

    xmlSchemaParserCtxtPtr	xmlSchemaNewParserCtxt	(const char * URL)
    +

    Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file.

    +
    URL:the location of the schema
    Returns:the parser context or NULL in case of error

    Function: xmlSchemaNewValidCtxt

    xmlSchemaValidCtxtPtr	xmlSchemaNewValidCtxt	(xmlSchemaPtr schema)
    +

    Create an XML Schemas validation context based on the given schema

    +
    schema:a precompiled XML Schemas
    Returns:the validation context or NULL in case of error

    Function: xmlSchemaParse

    xmlSchemaPtr	xmlSchemaParse		(xmlSchemaParserCtxtPtr ctxt)
    +

    parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances. *WARNING* this interface is highly subject to change

    +
    ctxt:a schema validation context
    Returns:the internal XML Schema structure built from the resource or NULL in case of error

    Function: xmlSchemaSetParserErrors

    void	xmlSchemaSetParserErrors	(xmlSchemaParserCtxtPtr ctxt, 
    xmlSchemaValidityErrorFunc err,
    xmlSchemaValidityWarningFunc warn,
    void * ctx)
    +

    Set the callback functions used to handle errors for a validation context

    +
    ctxt:a schema validation context
    err:the error callback
    warn:the warning callback
    ctx:contextual data for the callbacks

    Function: xmlSchemaSetValidErrors

    void	xmlSchemaSetValidErrors		(xmlSchemaValidCtxtPtr ctxt, 
    xmlSchemaValidityErrorFunc err,
    xmlSchemaValidityWarningFunc warn,
    void * ctx)
    +

    Set the error and warning callback informations

    +
    ctxt:a schema validation context
    err:the error function
    warn:the warning function
    ctx:the functions context

    Function: xmlSchemaValidateDoc

    int	xmlSchemaValidateDoc		(xmlSchemaValidCtxtPtr ctxt, 
    xmlDocPtr doc)
    +

    Validate a document tree in memory.

    +
    ctxt:a schema validation context
    doc:a parsed document tree
    Returns:0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlSchemaValidateStream

    int	xmlSchemaValidateStream		(xmlSchemaValidCtxtPtr ctxt, 
    xmlParserInputBufferPtr input,
    xmlCharEncoding enc,
    xmlSAXHandlerPtr sax,
    void * user_data)
    +

    Validate a document tree in memory.

    +
    ctxt:a schema validation context
    input:the input to use for reading the data
    enc:an optional encoding information
    sax:a SAX handler for the resulting events
    user_data:the context to provide to the SAX handler.
    Returns:0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.

    Function type: xmlSchemaValidityErrorFunc

    Function type: xmlSchemaValidityErrorFunc
    +void	xmlSchemaValidityErrorFunc	(void * ctx, 
    const char * msg,
    ... ...) +

    ctx:
    msg:
    ...:

    +

    Function type: xmlSchemaValidityWarningFunc

    Function type: xmlSchemaValidityWarningFunc
    +void	xmlSchemaValidityWarningFunc	(void * ctx, 
    const char * msg,
    ... ...) +

    ctx:
    msg:
    ...:

    +

    Daniel Veillard

    diff --git a/doc/html/libxml-xmlschemastypes.html b/doc/html/libxml-xmlschemastypes.html new file mode 100644 index 0000000..0e54b2d --- /dev/null +++ b/doc/html/libxml-xmlschemastypes.html @@ -0,0 +1,47 @@ + + +Module xmlschemastypes from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlschemastypes from libxml2

    API Menu
    API Indexes
    Related links

    module providing the XML Schema Datatypes implementation both definition and validity checking

    Table of Contents

    int	xmlSchemaCheckFacet		(xmlSchemaFacetPtr facet, 
    xmlSchemaTypePtr typeDecl,
    xmlSchemaParserCtxtPtr ctxt,
    const xmlChar * name)
    +
    void	xmlSchemaCleanupTypes		(void)
    +
    int	xmlSchemaCompareValues		(xmlSchemaValPtr x, 
    xmlSchemaValPtr y)
    +
    void	xmlSchemaFreeFacet		(xmlSchemaFacetPtr facet)
    +
    void	xmlSchemaFreeValue		(xmlSchemaValPtr value)
    +
    xmlSchemaTypePtr	xmlSchemaGetPredefinedType	(const xmlChar * name, 
    const xmlChar * ns)
    +
    void	xmlSchemaInitTypes		(void)
    +
    xmlSchemaFacetPtr	xmlSchemaNewFacet	(void)
    +
    int	xmlSchemaValPredefTypeNode	(xmlSchemaTypePtr type, 
    const xmlChar * value,
    xmlSchemaValPtr * val,
    xmlNodePtr node)
    +
    int	xmlSchemaValidateFacet		(xmlSchemaTypePtr base, 
    xmlSchemaFacetPtr facet,
    const xmlChar * value,
    xmlSchemaValPtr val)
    +
    int	xmlSchemaValidatePredefinedType	(xmlSchemaTypePtr type, 
    const xmlChar * value,
    xmlSchemaValPtr * val)
    +

    Description

    +

    Function: xmlSchemaCheckFacet

    int	xmlSchemaCheckFacet		(xmlSchemaFacetPtr facet, 
    xmlSchemaTypePtr typeDecl,
    xmlSchemaParserCtxtPtr ctxt,
    const xmlChar * name)
    +

    Checks the default values types, especially for facets

    +
    facet:the facet
    typeDecl:the schema type definition
    ctxt:the schema parser context or NULL
    name:name of the type
    Returns:0 if okay or -1 in cae of error

    Function: xmlSchemaCleanupTypes

    void	xmlSchemaCleanupTypes		(void)
    +

    Cleanup the default XML Schemas type library

    +

    Function: xmlSchemaCompareValues

    int	xmlSchemaCompareValues		(xmlSchemaValPtr x, 
    xmlSchemaValPtr y)
    +

    Compare 2 values

    +
    x:a first value
    y:a second value
    Returns:-1 if x < y, 0 if x == y, 1 if x > y, 2 if x <> y, and -2 in case of error

    Function: xmlSchemaFreeFacet

    void	xmlSchemaFreeFacet		(xmlSchemaFacetPtr facet)
    +

    Deallocate a Schema Facet structure.

    +
    facet:a schema facet structure

    Function: xmlSchemaFreeValue

    void	xmlSchemaFreeValue		(xmlSchemaValPtr value)
    +

    Cleanup the default XML Schemas type library

    +
    value:the value to free

    Function: xmlSchemaGetPredefinedType

    xmlSchemaTypePtr	xmlSchemaGetPredefinedType	(const xmlChar * name, 
    const xmlChar * ns)
    +

    Lookup a type in the default XML Schemas type library

    +
    name:the type name
    ns:the URI of the namespace usually "http://www.w3.org/2001/XMLSchema"
    Returns:the type if found, NULL otherwise

    Function: xmlSchemaInitTypes

    void	xmlSchemaInitTypes		(void)
    +

    Initialize the default XML Schemas type library

    +

    Function: xmlSchemaNewFacet

    xmlSchemaFacetPtr	xmlSchemaNewFacet	(void)
    +

    Allocate a new Facet structure.

    +
    Returns:the newly allocated structure or NULL in case or error

    Function: xmlSchemaValPredefTypeNode

    int	xmlSchemaValPredefTypeNode	(xmlSchemaTypePtr type, 
    const xmlChar * value,
    xmlSchemaValPtr * val,
    xmlNodePtr node)
    +

    Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.

    +
    type:the predefined type
    value:the value to check
    val:the return computed value
    node:the node containing the value
    Returns:0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlSchemaValidateFacet

    int	xmlSchemaValidateFacet		(xmlSchemaTypePtr base, 
    xmlSchemaFacetPtr facet,
    const xmlChar * value,
    xmlSchemaValPtr val)
    +

    Check a value against a facet condition

    +
    base:the base type
    facet:the facet to check
    value:the lexical repr of the value to validate
    val:the precomputed value
    Returns:0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.

    Function: xmlSchemaValidatePredefinedType

    int	xmlSchemaValidatePredefinedType	(xmlSchemaTypePtr type, 
    const xmlChar * value,
    xmlSchemaValPtr * val)
    +

    Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.

    +
    type:the predefined type
    value:the value to check
    val:the return computed value
    Returns:0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.

    Daniel Veillard

    diff --git a/doc/html/libxml-xmlstring.html b/doc/html/libxml-xmlstring.html new file mode 100644 index 0000000..4b6acd8 --- /dev/null +++ b/doc/html/libxml-xmlstring.html @@ -0,0 +1,106 @@ + + +Module xmlstring from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlstring from libxml2

    API Menu
    API Indexes
    Related links

    type and interfaces needed for the internal string handling of the library, especially UTF8 processing.

    Table of Contents

    #define BAD_CAST
    Typedef unsigned char xmlChar
    +
    xmlChar *	xmlCharStrdup		(const char * cur)
    +
    xmlChar *	xmlCharStrndup		(const char * cur, 
    int len)
    +
    int	xmlCheckUTF8			(const unsigned char * utf)
    +
    int	xmlGetUTF8Char			(const unsigned char * utf, 
    int * len)
    +
    int	xmlStrEqual			(const xmlChar * str1, 
    const xmlChar * str2)
    +
    int	xmlStrPrintf			(xmlChar * buf, 
    int len,
    const xmlChar * msg,
    ... ...)
    +
    int	xmlStrQEqual			(const xmlChar * pref, 
    const xmlChar * name,
    const xmlChar * str)
    +
    int	xmlStrVPrintf			(xmlChar * buf, 
    int len,
    const xmlChar * msg,
    va_list ap)
    +
    int	xmlStrcasecmp			(const xmlChar * str1, 
    const xmlChar * str2)
    +
    const xmlChar *	xmlStrcasestr		(const xmlChar * str, 
    xmlChar * val)
    +
    xmlChar *	xmlStrcat		(xmlChar * cur, 
    const xmlChar * add)
    +
    const xmlChar *	xmlStrchr		(const xmlChar * str, 
    xmlChar val)
    +
    int	xmlStrcmp			(const xmlChar * str1, 
    const xmlChar * str2)
    +
    xmlChar *	xmlStrdup		(const xmlChar * cur)
    +
    int	xmlStrlen			(const xmlChar * str)
    +
    int	xmlStrncasecmp			(const xmlChar * str1, 
    const xmlChar * str2,
    int len)
    +
    xmlChar *	xmlStrncat		(xmlChar * cur, 
    const xmlChar * add,
    int len)
    +
    xmlChar *	xmlStrncatNew		(const xmlChar * str1, 
    const xmlChar * str2,
    int len)
    +
    int	xmlStrncmp			(const xmlChar * str1, 
    const xmlChar * str2,
    int len)
    +
    xmlChar *	xmlStrndup		(const xmlChar * cur, 
    int len)
    +
    const xmlChar *	xmlStrstr		(const xmlChar * str, 
    const xmlChar * val)
    +
    xmlChar *	xmlStrsub		(const xmlChar * str, 
    int start,
    int len)
    +
    int	xmlUTF8Charcmp			(const xmlChar * utf1, 
    const xmlChar * utf2)
    +
    int	xmlUTF8Size			(const xmlChar * utf)
    +
    int	xmlUTF8Strlen			(const xmlChar * utf)
    +
    int	xmlUTF8Strloc			(const xmlChar * utf, 
    const xmlChar * utfchar)
    +
    xmlChar *	xmlUTF8Strndup		(const xmlChar * utf, 
    int len)
    +
    xmlChar *	xmlUTF8Strpos		(const xmlChar * utf, 
    int pos)
    +
    int	xmlUTF8Strsize			(const xmlChar * utf, 
    int len)
    +
    xmlChar *	xmlUTF8Strsub		(const xmlChar * utf, 
    int start,
    int len)
    +

    Description

    +

    Macro: BAD_CAST

    #define BAD_CAST

    Macro to cast a string to an xmlChar * when one know its safe.

    +

    Function: xmlCharStrdup

    xmlChar *	xmlCharStrdup		(const char * cur)
    +

    a strdup for char's to xmlChar's

    +
    cur:the input char *
    Returns:a new xmlChar * or NULL

    Function: xmlCharStrndup

    xmlChar *	xmlCharStrndup		(const char * cur, 
    int len)
    +

    a strndup for char's to xmlChar's

    +
    cur:the input char *
    len:the len of @cur
    Returns:a new xmlChar * or NULL

    Function: xmlCheckUTF8

    int	xmlCheckUTF8			(const unsigned char * utf)
    +

    Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value.

    +
    utf:Pointer to putative UTF-8 encoded string.
    Returns:value: true if @utf is valid.

    Function: xmlGetUTF8Char

    int	xmlGetUTF8Char			(const unsigned char * utf, 
    int * len)
    +

    Read one UTF8 Char from @utf

    +
    utf:a sequence of UTF-8 encoded bytes
    len:a pointer to @bytes len
    Returns:the char value or -1 in case of error, and updates *len with the number of bytes consumed

    Function: xmlStrEqual

    int	xmlStrEqual			(const xmlChar * str1, 
    const xmlChar * str2)
    +

    Check if both string are equal of have same content Should be a bit more readable and faster than xmlStrEqual()

    +
    str1:the first xmlChar *
    str2:the second xmlChar *
    Returns:1 if they are equal, 0 if they are different

    Function: xmlStrPrintf

    int	xmlStrPrintf			(xmlChar * buf, 
    int len,
    const xmlChar * msg,
    ... ...)
    +

    Formats @msg and places result into @buf.

    +
    buf:the result buffer.
    len:the result buffer length.
    msg:the message with printf formatting.
    ...:extra parameters for the message.
    Returns:the number of characters written to @buf or -1 if an error occurs.

    Function: xmlStrQEqual

    int	xmlStrQEqual			(const xmlChar * pref, 
    const xmlChar * name,
    const xmlChar * str)
    +

    Check if a QName is Equal to a given string

    +
    pref:the prefix of the QName
    name:the localname of the QName
    str:the second xmlChar *
    Returns:1 if they are equal, 0 if they are different

    Function: xmlStrVPrintf

    int	xmlStrVPrintf			(xmlChar * buf, 
    int len,
    const xmlChar * msg,
    va_list ap)
    +

    Formats @msg and places result into @buf.

    +
    buf:the result buffer.
    len:the result buffer length.
    msg:the message with printf formatting.
    ap:extra parameters for the message.
    Returns:the number of characters written to @buf or -1 if an error occurs.

    Function: xmlStrcasecmp

    int	xmlStrcasecmp			(const xmlChar * str1, 
    const xmlChar * str2)
    +

    a strcasecmp for xmlChar's

    +
    str1:the first xmlChar *
    str2:the second xmlChar *
    Returns:the integer result of the comparison

    Function: xmlStrcasestr

    const xmlChar *	xmlStrcasestr		(const xmlChar * str, 
    xmlChar * val)
    +

    a case-ignoring strstr for xmlChar's

    +
    str:the xmlChar * array (haystack)
    val:the xmlChar to search (needle)
    Returns:the xmlChar * for the first occurrence or NULL.

    Function: xmlStrcat

    xmlChar *	xmlStrcat		(xmlChar * cur, 
    const xmlChar * add)
    +

    a strcat for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.

    +
    cur:the original xmlChar * array
    add:the xmlChar * array added
    Returns:a new xmlChar * containing the concatenated string.

    Function: xmlStrchr

    const xmlChar *	xmlStrchr		(const xmlChar * str, 
    xmlChar val)
    +

    a strchr for xmlChar's

    +
    str:the xmlChar * array
    val:the xmlChar to search
    Returns:the xmlChar * for the first occurrence or NULL.

    Function: xmlStrcmp

    int	xmlStrcmp			(const xmlChar * str1, 
    const xmlChar * str2)
    +

    a strcmp for xmlChar's

    +
    str1:the first xmlChar *
    str2:the second xmlChar *
    Returns:the integer result of the comparison

    Function: xmlStrdup

    xmlChar *	xmlStrdup		(const xmlChar * cur)
    +

    a strdup for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.

    +
    cur:the input xmlChar *
    Returns:a new xmlChar * or NULL

    Function: xmlStrlen

    int	xmlStrlen			(const xmlChar * str)
    +

    length of a xmlChar's string

    +
    str:the xmlChar * array
    Returns:the number of xmlChar contained in the ARRAY.

    Function: xmlStrncasecmp

    int	xmlStrncasecmp			(const xmlChar * str1, 
    const xmlChar * str2,
    int len)
    +

    a strncasecmp for xmlChar's

    +
    str1:the first xmlChar *
    str2:the second xmlChar *
    len:the max comparison length
    Returns:the integer result of the comparison

    Function: xmlStrncat

    xmlChar *	xmlStrncat		(xmlChar * cur, 
    const xmlChar * add,
    int len)
    +

    a strncat for array of xmlChar's, it will extend @cur with the len first bytes of @add.

    +
    cur:the original xmlChar * array
    add:the xmlChar * array added
    len:the length of @add
    Returns:a new xmlChar *, the original @cur is reallocated if needed and should not be freed

    Function: xmlStrncatNew

    xmlChar *	xmlStrncatNew		(const xmlChar * str1, 
    const xmlChar * str2,
    int len)
    +

    same as xmlStrncat, but creates a new string. The original two strings are not freed.

    +
    str1:first xmlChar string
    str2:second xmlChar string
    len:the len of @str2
    Returns:a new xmlChar * or NULL

    Function: xmlStrncmp

    int	xmlStrncmp			(const xmlChar * str1, 
    const xmlChar * str2,
    int len)
    +

    a strncmp for xmlChar's

    +
    str1:the first xmlChar *
    str2:the second xmlChar *
    len:the max comparison length
    Returns:the integer result of the comparison

    Function: xmlStrndup

    xmlChar *	xmlStrndup		(const xmlChar * cur, 
    int len)
    +

    a strndup for array of xmlChar's

    +
    cur:the input xmlChar *
    len:the len of @cur
    Returns:a new xmlChar * or NULL

    Function: xmlStrstr

    const xmlChar *	xmlStrstr		(const xmlChar * str, 
    const xmlChar * val)
    +

    a strstr for xmlChar's

    +
    str:the xmlChar * array (haystack)
    val:the xmlChar to search (needle)
    Returns:the xmlChar * for the first occurrence or NULL.

    Function: xmlStrsub

    xmlChar *	xmlStrsub		(const xmlChar * str, 
    int start,
    int len)
    +

    Extract a substring of a given string

    +
    str:the xmlChar * array (haystack)
    start:the index of the first char (zero based)
    len:the length of the substring
    Returns:the xmlChar * for the first occurrence or NULL.

    Function: xmlUTF8Charcmp

    int	xmlUTF8Charcmp			(const xmlChar * utf1, 
    const xmlChar * utf2)
    +

    compares the two UCS4 values

    +
    utf1:pointer to first UTF8 char
    utf2:pointer to second UTF8 char
    Returns:result of the compare as with xmlStrncmp

    Function: xmlUTF8Size

    int	xmlUTF8Size			(const xmlChar * utf)
    +

    calculates the internal size of a UTF8 character

    +
    utf:pointer to the UTF8 character
    Returns:the numbers of bytes in the character, -1 on format error

    Function: xmlUTF8Strlen

    int	xmlUTF8Strlen			(const xmlChar * utf)
    +

    compute the length of an UTF8 string, it doesn't do a full UTF8 checking of the content of the string.

    +
    utf:a sequence of UTF-8 encoded bytes
    Returns:the number of characters in the string or -1 in case of error

    Function: xmlUTF8Strloc

    int	xmlUTF8Strloc			(const xmlChar * utf, 
    const xmlChar * utfchar)
    +

    a function to provide the relative location of a UTF8 char

    +
    utf:the input UTF8 *
    utfchar:the UTF8 character to be found
    Returns:the relative character position of the desired char or -1 if not found

    Function: xmlUTF8Strndup

    xmlChar *	xmlUTF8Strndup		(const xmlChar * utf, 
    int len)
    +

    a strndup for array of UTF8's

    +
    utf:the input UTF8 *
    len:the len of @utf (in chars)
    Returns:a new UTF8 * or NULL

    Function: xmlUTF8Strpos

    xmlChar *	xmlUTF8Strpos		(const xmlChar * utf, 
    int pos)
    +

    a function to provide the equivalent of fetching a character from a string array

    +
    utf:the input UTF8 *
    pos:the position of the desired UTF8 char (in chars)
    Returns:a pointer to the UTF8 character or NULL

    Function: xmlUTF8Strsize

    int	xmlUTF8Strsize			(const xmlChar * utf, 
    int len)
    +

    storage size of an UTF8 string

    +
    utf:a sequence of UTF-8 encoded bytes
    len:the number of characters in the array
    Returns:the storage size of the first 'len' characters of ARRAY

    Function: xmlUTF8Strsub

    xmlChar *	xmlUTF8Strsub		(const xmlChar * utf, 
    int start,
    int len)
    +

    Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars

    +
    utf:a sequence of UTF-8 encoded bytes
    start:relative pos of first char
    len:total number to copy
    Returns:a pointer to a newly created string or NULL if any problem

    Daniel Veillard

    diff --git a/doc/html/libxml-xmlunicode.html b/doc/html/libxml-xmlunicode.html new file mode 100644 index 0000000..8250406 --- /dev/null +++ b/doc/html/libxml-xmlunicode.html @@ -0,0 +1,512 @@ + + +Module xmlunicode from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlunicode from libxml2

    API Menu
    API Indexes
    Related links

    API for the Unicode character APIs This file is automatically generated from the UCS description files of the Unicode Character Database

    Table of Contents

    int	xmlUCSIsAegeanNumbers		(int code)
    +
    int	xmlUCSIsAlphabeticPresentationForms	(int code)
    +
    int	xmlUCSIsArabic			(int code)
    +
    int	xmlUCSIsArabicPresentationFormsA	(int code)
    +
    int	xmlUCSIsArabicPresentationFormsB	(int code)
    +
    int	xmlUCSIsArmenian		(int code)
    +
    int	xmlUCSIsArrows			(int code)
    +
    int	xmlUCSIsBasicLatin		(int code)
    +
    int	xmlUCSIsBengali			(int code)
    +
    int	xmlUCSIsBlock			(int code, 
    const char * block)
    +
    int	xmlUCSIsBlockElements		(int code)
    +
    int	xmlUCSIsBopomofo		(int code)
    +
    int	xmlUCSIsBopomofoExtended	(int code)
    +
    int	xmlUCSIsBoxDrawing		(int code)
    +
    int	xmlUCSIsBraillePatterns		(int code)
    +
    int	xmlUCSIsBuhid			(int code)
    +
    int	xmlUCSIsByzantineMusicalSymbols	(int code)
    +
    int	xmlUCSIsCJKCompatibility	(int code)
    +
    int	xmlUCSIsCJKCompatibilityForms	(int code)
    +
    int	xmlUCSIsCJKCompatibilityIdeographs	(int code)
    +
    int	xmlUCSIsCJKCompatibilityIdeographsSupplement	(int code)
    +
    int	xmlUCSIsCJKRadicalsSupplement	(int code)
    +
    int	xmlUCSIsCJKSymbolsandPunctuation	(int code)
    +
    int	xmlUCSIsCJKUnifiedIdeographs	(int code)
    +
    int	xmlUCSIsCJKUnifiedIdeographsExtensionA	(int code)
    +
    int	xmlUCSIsCJKUnifiedIdeographsExtensionB	(int code)
    +
    int	xmlUCSIsCat			(int code, 
    const char * cat)
    +
    int	xmlUCSIsCatC			(int code)
    +
    int	xmlUCSIsCatCc			(int code)
    +
    int	xmlUCSIsCatCf			(int code)
    +
    int	xmlUCSIsCatCo			(int code)
    +
    int	xmlUCSIsCatCs			(int code)
    +
    int	xmlUCSIsCatL			(int code)
    +
    int	xmlUCSIsCatLl			(int code)
    +
    int	xmlUCSIsCatLm			(int code)
    +
    int	xmlUCSIsCatLo			(int code)
    +
    int	xmlUCSIsCatLt			(int code)
    +
    int	xmlUCSIsCatLu			(int code)
    +
    int	xmlUCSIsCatM			(int code)
    +
    int	xmlUCSIsCatMc			(int code)
    +
    int	xmlUCSIsCatMe			(int code)
    +
    int	xmlUCSIsCatMn			(int code)
    +
    int	xmlUCSIsCatN			(int code)
    +
    int	xmlUCSIsCatNd			(int code)
    +
    int	xmlUCSIsCatNl			(int code)
    +
    int	xmlUCSIsCatNo			(int code)
    +
    int	xmlUCSIsCatP			(int code)
    +
    int	xmlUCSIsCatPc			(int code)
    +
    int	xmlUCSIsCatPd			(int code)
    +
    int	xmlUCSIsCatPe			(int code)
    +
    int	xmlUCSIsCatPf			(int code)
    +
    int	xmlUCSIsCatPi			(int code)
    +
    int	xmlUCSIsCatPo			(int code)
    +
    int	xmlUCSIsCatPs			(int code)
    +
    int	xmlUCSIsCatS			(int code)
    +
    int	xmlUCSIsCatSc			(int code)
    +
    int	xmlUCSIsCatSk			(int code)
    +
    int	xmlUCSIsCatSm			(int code)
    +
    int	xmlUCSIsCatSo			(int code)
    +
    int	xmlUCSIsCatZ			(int code)
    +
    int	xmlUCSIsCatZl			(int code)
    +
    int	xmlUCSIsCatZp			(int code)
    +
    int	xmlUCSIsCatZs			(int code)
    +
    int	xmlUCSIsCherokee		(int code)
    +
    int	xmlUCSIsCombiningDiacriticalMarks	(int code)
    +
    int	xmlUCSIsCombiningDiacriticalMarksforSymbols	(int code)
    +
    int	xmlUCSIsCombiningHalfMarks	(int code)
    +
    int	xmlUCSIsCombiningMarksforSymbols	(int code)
    +
    int	xmlUCSIsControlPictures		(int code)
    +
    int	xmlUCSIsCurrencySymbols		(int code)
    +
    int	xmlUCSIsCypriotSyllabary	(int code)
    +
    int	xmlUCSIsCyrillic		(int code)
    +
    int	xmlUCSIsCyrillicSupplement	(int code)
    +
    int	xmlUCSIsDeseret			(int code)
    +
    int	xmlUCSIsDevanagari		(int code)
    +
    int	xmlUCSIsDingbats		(int code)
    +
    int	xmlUCSIsEnclosedAlphanumerics	(int code)
    +
    int	xmlUCSIsEnclosedCJKLettersandMonths	(int code)
    +
    int	xmlUCSIsEthiopic		(int code)
    +
    int	xmlUCSIsGeneralPunctuation	(int code)
    +
    int	xmlUCSIsGeometricShapes		(int code)
    +
    int	xmlUCSIsGeorgian		(int code)
    +
    int	xmlUCSIsGothic			(int code)
    +
    int	xmlUCSIsGreek			(int code)
    +
    int	xmlUCSIsGreekExtended		(int code)
    +
    int	xmlUCSIsGreekandCoptic		(int code)
    +
    int	xmlUCSIsGujarati		(int code)
    +
    int	xmlUCSIsGurmukhi		(int code)
    +
    int	xmlUCSIsHalfwidthandFullwidthForms	(int code)
    +
    int	xmlUCSIsHangulCompatibilityJamo	(int code)
    +
    int	xmlUCSIsHangulJamo		(int code)
    +
    int	xmlUCSIsHangulSyllables		(int code)
    +
    int	xmlUCSIsHanunoo			(int code)
    +
    int	xmlUCSIsHebrew			(int code)
    +
    int	xmlUCSIsHighPrivateUseSurrogates	(int code)
    +
    int	xmlUCSIsHighSurrogates		(int code)
    +
    int	xmlUCSIsHiragana		(int code)
    +
    int	xmlUCSIsIPAExtensions		(int code)
    +
    int	xmlUCSIsIdeographicDescriptionCharacters	(int code)
    +
    int	xmlUCSIsKanbun			(int code)
    +
    int	xmlUCSIsKangxiRadicals		(int code)
    +
    int	xmlUCSIsKannada			(int code)
    +
    int	xmlUCSIsKatakana		(int code)
    +
    int	xmlUCSIsKatakanaPhoneticExtensions	(int code)
    +
    int	xmlUCSIsKhmer			(int code)
    +
    int	xmlUCSIsKhmerSymbols		(int code)
    +
    int	xmlUCSIsLao			(int code)
    +
    int	xmlUCSIsLatin1Supplement	(int code)
    +
    int	xmlUCSIsLatinExtendedA		(int code)
    +
    int	xmlUCSIsLatinExtendedAdditional	(int code)
    +
    int	xmlUCSIsLatinExtendedB		(int code)
    +
    int	xmlUCSIsLetterlikeSymbols	(int code)
    +
    int	xmlUCSIsLimbu			(int code)
    +
    int	xmlUCSIsLinearBIdeograms	(int code)
    +
    int	xmlUCSIsLinearBSyllabary	(int code)
    +
    int	xmlUCSIsLowSurrogates		(int code)
    +
    int	xmlUCSIsMalayalam		(int code)
    +
    int	xmlUCSIsMathematicalAlphanumericSymbols	(int code)
    +
    int	xmlUCSIsMathematicalOperators	(int code)
    +
    int	xmlUCSIsMiscellaneousMathematicalSymbolsA	(int code)
    +
    int	xmlUCSIsMiscellaneousMathematicalSymbolsB	(int code)
    +
    int	xmlUCSIsMiscellaneousSymbols	(int code)
    +
    int	xmlUCSIsMiscellaneousSymbolsandArrows	(int code)
    +
    int	xmlUCSIsMiscellaneousTechnical	(int code)
    +
    int	xmlUCSIsMongolian		(int code)
    +
    int	xmlUCSIsMusicalSymbols		(int code)
    +
    int	xmlUCSIsMyanmar			(int code)
    +
    int	xmlUCSIsNumberForms		(int code)
    +
    int	xmlUCSIsOgham			(int code)
    +
    int	xmlUCSIsOldItalic		(int code)
    +
    int	xmlUCSIsOpticalCharacterRecognition	(int code)
    +
    int	xmlUCSIsOriya			(int code)
    +
    int	xmlUCSIsOsmanya			(int code)
    +
    int	xmlUCSIsPhoneticExtensions	(int code)
    +
    int	xmlUCSIsPrivateUse		(int code)
    +
    int	xmlUCSIsPrivateUseArea		(int code)
    +
    int	xmlUCSIsRunic			(int code)
    +
    int	xmlUCSIsShavian			(int code)
    +
    int	xmlUCSIsSinhala			(int code)
    +
    int	xmlUCSIsSmallFormVariants	(int code)
    +
    int	xmlUCSIsSpacingModifierLetters	(int code)
    +
    int	xmlUCSIsSpecials		(int code)
    +
    int	xmlUCSIsSuperscriptsandSubscripts	(int code)
    +
    int	xmlUCSIsSupplementalArrowsA	(int code)
    +
    int	xmlUCSIsSupplementalArrowsB	(int code)
    +
    int	xmlUCSIsSupplementalMathematicalOperators	(int code)
    +
    int	xmlUCSIsSupplementaryPrivateUseAreaA	(int code)
    +
    int	xmlUCSIsSupplementaryPrivateUseAreaB	(int code)
    +
    int	xmlUCSIsSyriac			(int code)
    +
    int	xmlUCSIsTagalog			(int code)
    +
    int	xmlUCSIsTagbanwa		(int code)
    +
    int	xmlUCSIsTags			(int code)
    +
    int	xmlUCSIsTaiLe			(int code)
    +
    int	xmlUCSIsTaiXuanJingSymbols	(int code)
    +
    int	xmlUCSIsTamil			(int code)
    +
    int	xmlUCSIsTelugu			(int code)
    +
    int	xmlUCSIsThaana			(int code)
    +
    int	xmlUCSIsThai			(int code)
    +
    int	xmlUCSIsTibetan			(int code)
    +
    int	xmlUCSIsUgaritic		(int code)
    +
    int	xmlUCSIsUnifiedCanadianAboriginalSyllabics	(int code)
    +
    int	xmlUCSIsVariationSelectors	(int code)
    +
    int	xmlUCSIsVariationSelectorsSupplement	(int code)
    +
    int	xmlUCSIsYiRadicals		(int code)
    +
    int	xmlUCSIsYiSyllables		(int code)
    +
    int	xmlUCSIsYijingHexagramSymbols	(int code)
    +

    Description

    +

    Function: xmlUCSIsAegeanNumbers

    int	xmlUCSIsAegeanNumbers		(int code)
    +

    Check whether the character is part of AegeanNumbers UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsAlphabeticPresentationForms

    int	xmlUCSIsAlphabeticPresentationForms	(int code)
    +

    Check whether the character is part of AlphabeticPresentationForms UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsArabic

    int	xmlUCSIsArabic			(int code)
    +

    Check whether the character is part of Arabic UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsArabicPresentationFormsA

    int	xmlUCSIsArabicPresentationFormsA	(int code)
    +

    Check whether the character is part of ArabicPresentationForms-A UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsArabicPresentationFormsB

    int	xmlUCSIsArabicPresentationFormsB	(int code)
    +

    Check whether the character is part of ArabicPresentationForms-B UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsArmenian

    int	xmlUCSIsArmenian		(int code)
    +

    Check whether the character is part of Armenian UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsArrows

    int	xmlUCSIsArrows			(int code)
    +

    Check whether the character is part of Arrows UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBasicLatin

    int	xmlUCSIsBasicLatin		(int code)
    +

    Check whether the character is part of BasicLatin UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBengali

    int	xmlUCSIsBengali			(int code)
    +

    Check whether the character is part of Bengali UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBlock

    int	xmlUCSIsBlock			(int code, 
    const char * block)
    +

    Check whether the character is part of the UCS Block

    +
    code:UCS code point
    block:UCS block name
    Returns:1 if true, 0 if false and -1 on unknown block

    Function: xmlUCSIsBlockElements

    int	xmlUCSIsBlockElements		(int code)
    +

    Check whether the character is part of BlockElements UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBopomofo

    int	xmlUCSIsBopomofo		(int code)
    +

    Check whether the character is part of Bopomofo UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBopomofoExtended

    int	xmlUCSIsBopomofoExtended	(int code)
    +

    Check whether the character is part of BopomofoExtended UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBoxDrawing

    int	xmlUCSIsBoxDrawing		(int code)
    +

    Check whether the character is part of BoxDrawing UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBraillePatterns

    int	xmlUCSIsBraillePatterns		(int code)
    +

    Check whether the character is part of BraillePatterns UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsBuhid

    int	xmlUCSIsBuhid			(int code)
    +

    Check whether the character is part of Buhid UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsByzantineMusicalSymbols

    int	xmlUCSIsByzantineMusicalSymbols	(int code)
    +

    Check whether the character is part of ByzantineMusicalSymbols UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKCompatibility

    int	xmlUCSIsCJKCompatibility	(int code)
    +

    Check whether the character is part of CJKCompatibility UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKCompatibilityForms

    int	xmlUCSIsCJKCompatibilityForms	(int code)
    +

    Check whether the character is part of CJKCompatibilityForms UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKCompatibilityIdeographs

    int	xmlUCSIsCJKCompatibilityIdeographs	(int code)
    +

    Check whether the character is part of CJKCompatibilityIdeographs UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKCompatibilityIdeographsSupplement

    int	xmlUCSIsCJKCompatibilityIdeographsSupplement	(int code)
    +

    Check whether the character is part of CJKCompatibilityIdeographsSupplement UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKRadicalsSupplement

    int	xmlUCSIsCJKRadicalsSupplement	(int code)
    +

    Check whether the character is part of CJKRadicalsSupplement UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKSymbolsandPunctuation

    int	xmlUCSIsCJKSymbolsandPunctuation	(int code)
    +

    Check whether the character is part of CJKSymbolsandPunctuation UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKUnifiedIdeographs

    int	xmlUCSIsCJKUnifiedIdeographs	(int code)
    +

    Check whether the character is part of CJKUnifiedIdeographs UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKUnifiedIdeographsExtensionA

    int	xmlUCSIsCJKUnifiedIdeographsExtensionA	(int code)
    +

    Check whether the character is part of CJKUnifiedIdeographsExtensionA UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCJKUnifiedIdeographsExtensionB

    int	xmlUCSIsCJKUnifiedIdeographsExtensionB	(int code)
    +

    Check whether the character is part of CJKUnifiedIdeographsExtensionB UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCat

    int	xmlUCSIsCat			(int code, 
    const char * cat)
    +

    Check whether the character is part of the UCS Category

    +
    code:UCS code point
    cat:UCS Category name
    Returns:1 if true, 0 if false and -1 on unknown category

    Function: xmlUCSIsCatC

    int	xmlUCSIsCatC			(int code)
    +

    Check whether the character is part of C UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatCc

    int	xmlUCSIsCatCc			(int code)
    +

    Check whether the character is part of Cc UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatCf

    int	xmlUCSIsCatCf			(int code)
    +

    Check whether the character is part of Cf UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatCo

    int	xmlUCSIsCatCo			(int code)
    +

    Check whether the character is part of Co UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatCs

    int	xmlUCSIsCatCs			(int code)
    +

    Check whether the character is part of Cs UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatL

    int	xmlUCSIsCatL			(int code)
    +

    Check whether the character is part of L UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatLl

    int	xmlUCSIsCatLl			(int code)
    +

    Check whether the character is part of Ll UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatLm

    int	xmlUCSIsCatLm			(int code)
    +

    Check whether the character is part of Lm UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatLo

    int	xmlUCSIsCatLo			(int code)
    +

    Check whether the character is part of Lo UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatLt

    int	xmlUCSIsCatLt			(int code)
    +

    Check whether the character is part of Lt UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatLu

    int	xmlUCSIsCatLu			(int code)
    +

    Check whether the character is part of Lu UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatM

    int	xmlUCSIsCatM			(int code)
    +

    Check whether the character is part of M UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatMc

    int	xmlUCSIsCatMc			(int code)
    +

    Check whether the character is part of Mc UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatMe

    int	xmlUCSIsCatMe			(int code)
    +

    Check whether the character is part of Me UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatMn

    int	xmlUCSIsCatMn			(int code)
    +

    Check whether the character is part of Mn UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatN

    int	xmlUCSIsCatN			(int code)
    +

    Check whether the character is part of N UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatNd

    int	xmlUCSIsCatNd			(int code)
    +

    Check whether the character is part of Nd UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatNl

    int	xmlUCSIsCatNl			(int code)
    +

    Check whether the character is part of Nl UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatNo

    int	xmlUCSIsCatNo			(int code)
    +

    Check whether the character is part of No UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatP

    int	xmlUCSIsCatP			(int code)
    +

    Check whether the character is part of P UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatPc

    int	xmlUCSIsCatPc			(int code)
    +

    Check whether the character is part of Pc UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatPd

    int	xmlUCSIsCatPd			(int code)
    +

    Check whether the character is part of Pd UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatPe

    int	xmlUCSIsCatPe			(int code)
    +

    Check whether the character is part of Pe UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatPf

    int	xmlUCSIsCatPf			(int code)
    +

    Check whether the character is part of Pf UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatPi

    int	xmlUCSIsCatPi			(int code)
    +

    Check whether the character is part of Pi UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatPo

    int	xmlUCSIsCatPo			(int code)
    +

    Check whether the character is part of Po UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatPs

    int	xmlUCSIsCatPs			(int code)
    +

    Check whether the character is part of Ps UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatS

    int	xmlUCSIsCatS			(int code)
    +

    Check whether the character is part of S UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatSc

    int	xmlUCSIsCatSc			(int code)
    +

    Check whether the character is part of Sc UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatSk

    int	xmlUCSIsCatSk			(int code)
    +

    Check whether the character is part of Sk UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatSm

    int	xmlUCSIsCatSm			(int code)
    +

    Check whether the character is part of Sm UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatSo

    int	xmlUCSIsCatSo			(int code)
    +

    Check whether the character is part of So UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatZ

    int	xmlUCSIsCatZ			(int code)
    +

    Check whether the character is part of Z UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatZl

    int	xmlUCSIsCatZl			(int code)
    +

    Check whether the character is part of Zl UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatZp

    int	xmlUCSIsCatZp			(int code)
    +

    Check whether the character is part of Zp UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCatZs

    int	xmlUCSIsCatZs			(int code)
    +

    Check whether the character is part of Zs UCS Category

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCherokee

    int	xmlUCSIsCherokee		(int code)
    +

    Check whether the character is part of Cherokee UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCombiningDiacriticalMarks

    int	xmlUCSIsCombiningDiacriticalMarks	(int code)
    +

    Check whether the character is part of CombiningDiacriticalMarks UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCombiningDiacriticalMarksforSymbols

    int	xmlUCSIsCombiningDiacriticalMarksforSymbols	(int code)
    +

    Check whether the character is part of CombiningDiacriticalMarksforSymbols UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCombiningHalfMarks

    int	xmlUCSIsCombiningHalfMarks	(int code)
    +

    Check whether the character is part of CombiningHalfMarks UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCombiningMarksforSymbols

    int	xmlUCSIsCombiningMarksforSymbols	(int code)
    +

    Check whether the character is part of CombiningMarksforSymbols UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsControlPictures

    int	xmlUCSIsControlPictures		(int code)
    +

    Check whether the character is part of ControlPictures UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCurrencySymbols

    int	xmlUCSIsCurrencySymbols		(int code)
    +

    Check whether the character is part of CurrencySymbols UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCypriotSyllabary

    int	xmlUCSIsCypriotSyllabary	(int code)
    +

    Check whether the character is part of CypriotSyllabary UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCyrillic

    int	xmlUCSIsCyrillic		(int code)
    +

    Check whether the character is part of Cyrillic UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsCyrillicSupplement

    int	xmlUCSIsCyrillicSupplement	(int code)
    +

    Check whether the character is part of CyrillicSupplement UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsDeseret

    int	xmlUCSIsDeseret			(int code)
    +

    Check whether the character is part of Deseret UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsDevanagari

    int	xmlUCSIsDevanagari		(int code)
    +

    Check whether the character is part of Devanagari UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsDingbats

    int	xmlUCSIsDingbats		(int code)
    +

    Check whether the character is part of Dingbats UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsEnclosedAlphanumerics

    int	xmlUCSIsEnclosedAlphanumerics	(int code)
    +

    Check whether the character is part of EnclosedAlphanumerics UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsEnclosedCJKLettersandMonths

    int	xmlUCSIsEnclosedCJKLettersandMonths	(int code)
    +

    Check whether the character is part of EnclosedCJKLettersandMonths UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsEthiopic

    int	xmlUCSIsEthiopic		(int code)
    +

    Check whether the character is part of Ethiopic UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGeneralPunctuation

    int	xmlUCSIsGeneralPunctuation	(int code)
    +

    Check whether the character is part of GeneralPunctuation UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGeometricShapes

    int	xmlUCSIsGeometricShapes		(int code)
    +

    Check whether the character is part of GeometricShapes UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGeorgian

    int	xmlUCSIsGeorgian		(int code)
    +

    Check whether the character is part of Georgian UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGothic

    int	xmlUCSIsGothic			(int code)
    +

    Check whether the character is part of Gothic UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGreek

    int	xmlUCSIsGreek			(int code)
    +

    Check whether the character is part of Greek UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGreekExtended

    int	xmlUCSIsGreekExtended		(int code)
    +

    Check whether the character is part of GreekExtended UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGreekandCoptic

    int	xmlUCSIsGreekandCoptic		(int code)
    +

    Check whether the character is part of GreekandCoptic UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGujarati

    int	xmlUCSIsGujarati		(int code)
    +

    Check whether the character is part of Gujarati UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsGurmukhi

    int	xmlUCSIsGurmukhi		(int code)
    +

    Check whether the character is part of Gurmukhi UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHalfwidthandFullwidthForms

    int	xmlUCSIsHalfwidthandFullwidthForms	(int code)
    +

    Check whether the character is part of HalfwidthandFullwidthForms UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHangulCompatibilityJamo

    int	xmlUCSIsHangulCompatibilityJamo	(int code)
    +

    Check whether the character is part of HangulCompatibilityJamo UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHangulJamo

    int	xmlUCSIsHangulJamo		(int code)
    +

    Check whether the character is part of HangulJamo UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHangulSyllables

    int	xmlUCSIsHangulSyllables		(int code)
    +

    Check whether the character is part of HangulSyllables UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHanunoo

    int	xmlUCSIsHanunoo			(int code)
    +

    Check whether the character is part of Hanunoo UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHebrew

    int	xmlUCSIsHebrew			(int code)
    +

    Check whether the character is part of Hebrew UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHighPrivateUseSurrogates

    int	xmlUCSIsHighPrivateUseSurrogates	(int code)
    +

    Check whether the character is part of HighPrivateUseSurrogates UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHighSurrogates

    int	xmlUCSIsHighSurrogates		(int code)
    +

    Check whether the character is part of HighSurrogates UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsHiragana

    int	xmlUCSIsHiragana		(int code)
    +

    Check whether the character is part of Hiragana UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsIPAExtensions

    int	xmlUCSIsIPAExtensions		(int code)
    +

    Check whether the character is part of IPAExtensions UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsIdeographicDescriptionCharacters

    int	xmlUCSIsIdeographicDescriptionCharacters	(int code)
    +

    Check whether the character is part of IdeographicDescriptionCharacters UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsKanbun

    int	xmlUCSIsKanbun			(int code)
    +

    Check whether the character is part of Kanbun UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsKangxiRadicals

    int	xmlUCSIsKangxiRadicals		(int code)
    +

    Check whether the character is part of KangxiRadicals UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsKannada

    int	xmlUCSIsKannada			(int code)
    +

    Check whether the character is part of Kannada UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsKatakana

    int	xmlUCSIsKatakana		(int code)
    +

    Check whether the character is part of Katakana UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsKatakanaPhoneticExtensions

    int	xmlUCSIsKatakanaPhoneticExtensions	(int code)
    +

    Check whether the character is part of KatakanaPhoneticExtensions UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsKhmer

    int	xmlUCSIsKhmer			(int code)
    +

    Check whether the character is part of Khmer UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsKhmerSymbols

    int	xmlUCSIsKhmerSymbols		(int code)
    +

    Check whether the character is part of KhmerSymbols UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLao

    int	xmlUCSIsLao			(int code)
    +

    Check whether the character is part of Lao UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLatin1Supplement

    int	xmlUCSIsLatin1Supplement	(int code)
    +

    Check whether the character is part of Latin-1Supplement UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLatinExtendedA

    int	xmlUCSIsLatinExtendedA		(int code)
    +

    Check whether the character is part of LatinExtended-A UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLatinExtendedAdditional

    int	xmlUCSIsLatinExtendedAdditional	(int code)
    +

    Check whether the character is part of LatinExtendedAdditional UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLatinExtendedB

    int	xmlUCSIsLatinExtendedB		(int code)
    +

    Check whether the character is part of LatinExtended-B UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLetterlikeSymbols

    int	xmlUCSIsLetterlikeSymbols	(int code)
    +

    Check whether the character is part of LetterlikeSymbols UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLimbu

    int	xmlUCSIsLimbu			(int code)
    +

    Check whether the character is part of Limbu UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLinearBIdeograms

    int	xmlUCSIsLinearBIdeograms	(int code)
    +

    Check whether the character is part of LinearBIdeograms UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLinearBSyllabary

    int	xmlUCSIsLinearBSyllabary	(int code)
    +

    Check whether the character is part of LinearBSyllabary UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsLowSurrogates

    int	xmlUCSIsLowSurrogates		(int code)
    +

    Check whether the character is part of LowSurrogates UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMalayalam

    int	xmlUCSIsMalayalam		(int code)
    +

    Check whether the character is part of Malayalam UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMathematicalAlphanumericSymbols

    int	xmlUCSIsMathematicalAlphanumericSymbols	(int code)
    +

    Check whether the character is part of MathematicalAlphanumericSymbols UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMathematicalOperators

    int	xmlUCSIsMathematicalOperators	(int code)
    +

    Check whether the character is part of MathematicalOperators UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMiscellaneousMathematicalSymbolsA

    int	xmlUCSIsMiscellaneousMathematicalSymbolsA	(int code)
    +

    Check whether the character is part of MiscellaneousMathematicalSymbols-A UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMiscellaneousMathematicalSymbolsB

    int	xmlUCSIsMiscellaneousMathematicalSymbolsB	(int code)
    +

    Check whether the character is part of MiscellaneousMathematicalSymbols-B UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMiscellaneousSymbols

    int	xmlUCSIsMiscellaneousSymbols	(int code)
    +

    Check whether the character is part of MiscellaneousSymbols UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMiscellaneousSymbolsandArrows

    int	xmlUCSIsMiscellaneousSymbolsandArrows	(int code)
    +

    Check whether the character is part of MiscellaneousSymbolsandArrows UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMiscellaneousTechnical

    int	xmlUCSIsMiscellaneousTechnical	(int code)
    +

    Check whether the character is part of MiscellaneousTechnical UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMongolian

    int	xmlUCSIsMongolian		(int code)
    +

    Check whether the character is part of Mongolian UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMusicalSymbols

    int	xmlUCSIsMusicalSymbols		(int code)
    +

    Check whether the character is part of MusicalSymbols UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsMyanmar

    int	xmlUCSIsMyanmar			(int code)
    +

    Check whether the character is part of Myanmar UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsNumberForms

    int	xmlUCSIsNumberForms		(int code)
    +

    Check whether the character is part of NumberForms UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsOgham

    int	xmlUCSIsOgham			(int code)
    +

    Check whether the character is part of Ogham UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsOldItalic

    int	xmlUCSIsOldItalic		(int code)
    +

    Check whether the character is part of OldItalic UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsOpticalCharacterRecognition

    int	xmlUCSIsOpticalCharacterRecognition	(int code)
    +

    Check whether the character is part of OpticalCharacterRecognition UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsOriya

    int	xmlUCSIsOriya			(int code)
    +

    Check whether the character is part of Oriya UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsOsmanya

    int	xmlUCSIsOsmanya			(int code)
    +

    Check whether the character is part of Osmanya UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsPhoneticExtensions

    int	xmlUCSIsPhoneticExtensions	(int code)
    +

    Check whether the character is part of PhoneticExtensions UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsPrivateUse

    int	xmlUCSIsPrivateUse		(int code)
    +

    Check whether the character is part of PrivateUse UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsPrivateUseArea

    int	xmlUCSIsPrivateUseArea		(int code)
    +

    Check whether the character is part of PrivateUseArea UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsRunic

    int	xmlUCSIsRunic			(int code)
    +

    Check whether the character is part of Runic UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsShavian

    int	xmlUCSIsShavian			(int code)
    +

    Check whether the character is part of Shavian UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSinhala

    int	xmlUCSIsSinhala			(int code)
    +

    Check whether the character is part of Sinhala UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSmallFormVariants

    int	xmlUCSIsSmallFormVariants	(int code)
    +

    Check whether the character is part of SmallFormVariants UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSpacingModifierLetters

    int	xmlUCSIsSpacingModifierLetters	(int code)
    +

    Check whether the character is part of SpacingModifierLetters UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSpecials

    int	xmlUCSIsSpecials		(int code)
    +

    Check whether the character is part of Specials UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSuperscriptsandSubscripts

    int	xmlUCSIsSuperscriptsandSubscripts	(int code)
    +

    Check whether the character is part of SuperscriptsandSubscripts UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSupplementalArrowsA

    int	xmlUCSIsSupplementalArrowsA	(int code)
    +

    Check whether the character is part of SupplementalArrows-A UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSupplementalArrowsB

    int	xmlUCSIsSupplementalArrowsB	(int code)
    +

    Check whether the character is part of SupplementalArrows-B UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSupplementalMathematicalOperators

    int	xmlUCSIsSupplementalMathematicalOperators	(int code)
    +

    Check whether the character is part of SupplementalMathematicalOperators UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSupplementaryPrivateUseAreaA

    int	xmlUCSIsSupplementaryPrivateUseAreaA	(int code)
    +

    Check whether the character is part of SupplementaryPrivateUseArea-A UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSupplementaryPrivateUseAreaB

    int	xmlUCSIsSupplementaryPrivateUseAreaB	(int code)
    +

    Check whether the character is part of SupplementaryPrivateUseArea-B UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsSyriac

    int	xmlUCSIsSyriac			(int code)
    +

    Check whether the character is part of Syriac UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTagalog

    int	xmlUCSIsTagalog			(int code)
    +

    Check whether the character is part of Tagalog UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTagbanwa

    int	xmlUCSIsTagbanwa		(int code)
    +

    Check whether the character is part of Tagbanwa UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTags

    int	xmlUCSIsTags			(int code)
    +

    Check whether the character is part of Tags UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTaiLe

    int	xmlUCSIsTaiLe			(int code)
    +

    Check whether the character is part of TaiLe UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTaiXuanJingSymbols

    int	xmlUCSIsTaiXuanJingSymbols	(int code)
    +

    Check whether the character is part of TaiXuanJingSymbols UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTamil

    int	xmlUCSIsTamil			(int code)
    +

    Check whether the character is part of Tamil UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTelugu

    int	xmlUCSIsTelugu			(int code)
    +

    Check whether the character is part of Telugu UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsThaana

    int	xmlUCSIsThaana			(int code)
    +

    Check whether the character is part of Thaana UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsThai

    int	xmlUCSIsThai			(int code)
    +

    Check whether the character is part of Thai UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsTibetan

    int	xmlUCSIsTibetan			(int code)
    +

    Check whether the character is part of Tibetan UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsUgaritic

    int	xmlUCSIsUgaritic		(int code)
    +

    Check whether the character is part of Ugaritic UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsUnifiedCanadianAboriginalSyllabics

    int	xmlUCSIsUnifiedCanadianAboriginalSyllabics	(int code)
    +

    Check whether the character is part of UnifiedCanadianAboriginalSyllabics UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsVariationSelectors

    int	xmlUCSIsVariationSelectors	(int code)
    +

    Check whether the character is part of VariationSelectors UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsVariationSelectorsSupplement

    int	xmlUCSIsVariationSelectorsSupplement	(int code)
    +

    Check whether the character is part of VariationSelectorsSupplement UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsYiRadicals

    int	xmlUCSIsYiRadicals		(int code)
    +

    Check whether the character is part of YiRadicals UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsYiSyllables

    int	xmlUCSIsYiSyllables		(int code)
    +

    Check whether the character is part of YiSyllables UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Function: xmlUCSIsYijingHexagramSymbols

    int	xmlUCSIsYijingHexagramSymbols	(int code)
    +

    Check whether the character is part of YijingHexagramSymbols UCS Block

    +
    code:UCS code point
    Returns:1 if true 0 otherwise

    Daniel Veillard

    diff --git a/doc/html/libxml-xmlversion.html b/doc/html/libxml-xmlversion.html new file mode 100644 index 0000000..8b5c554 --- /dev/null +++ b/doc/html/libxml-xmlversion.html @@ -0,0 +1,51 @@ + + +Module xmlversion from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlversion from libxml2

    API Menu
    API Indexes
    Related links

    compile-time version informations for the XML library

    Table of Contents

    #define ATTRIBUTE_UNUSED
    #define DEBUG_MEMORY_LOCATION
    #define LIBXML_AUTOMATA_ENABLED
    #define LIBXML_C14N_ENABLED
    #define LIBXML_CATALOG_ENABLED
    #define LIBXML_DEBUG_ENABLED
    #define LIBXML_DOCB_ENABLED
    #define LIBXML_DOTTED_VERSION
    #define LIBXML_FTP_ENABLED
    #define LIBXML_HTML_ENABLED
    #define LIBXML_HTTP_ENABLED
    #define LIBXML_ICONV_ENABLED
    #define LIBXML_ISO8859X_ENABLED
    #define LIBXML_LEGACY_ENABLED
    #define LIBXML_OUTPUT_ENABLED
    #define LIBXML_PATTERN_ENABLED
    #define LIBXML_PUSH_ENABLED
    #define LIBXML_READER_ENABLED
    #define LIBXML_REGEXP_ENABLED
    #define LIBXML_SAX1_ENABLED
    #define LIBXML_SCHEMAS_ENABLED
    #define LIBXML_TEST_VERSION
    #define LIBXML_THREAD_ENABLED
    #define LIBXML_TREE_ENABLED
    #define LIBXML_UNICODE_ENABLED
    #define LIBXML_VALID_ENABLED
    #define LIBXML_VERSION
    #define LIBXML_VERSION_STRING
    #define LIBXML_WRITER_ENABLED
    #define LIBXML_XINCLUDE_ENABLED
    #define LIBXML_XPATH_ENABLED
    #define LIBXML_XPTR_ENABLED
    #define WITHOUT_TRIO
    #define WITH_TRIO
    void	xmlCheckVersion			(int version)
    +

    Description

    +

    Macro: ATTRIBUTE_UNUSED

    #define ATTRIBUTE_UNUSED

    Macro used to signal to GCC unused function parameters

    +

    Macro: DEBUG_MEMORY_LOCATION

    #define DEBUG_MEMORY_LOCATION

    Whether the memory debugging is configured in

    +

    Macro: LIBXML_AUTOMATA_ENABLED

    #define LIBXML_AUTOMATA_ENABLED

    Whether the automata interfaces are compiled in

    +

    Macro: LIBXML_C14N_ENABLED

    #define LIBXML_C14N_ENABLED

    Whether the Canonicalization support is configured in

    +

    Macro: LIBXML_CATALOG_ENABLED

    #define LIBXML_CATALOG_ENABLED

    Whether the Catalog support is configured in

    +

    Macro: LIBXML_DEBUG_ENABLED

    #define LIBXML_DEBUG_ENABLED

    Whether Debugging module is configured in

    +

    Macro: LIBXML_DOCB_ENABLED

    #define LIBXML_DOCB_ENABLED

    Whether the SGML Docbook support is configured in

    +

    Macro: LIBXML_DOTTED_VERSION

    #define LIBXML_DOTTED_VERSION

    the version string like "1.2.3"

    +

    Macro: LIBXML_FTP_ENABLED

    #define LIBXML_FTP_ENABLED

    Whether the FTP support is configured in

    +

    Macro: LIBXML_HTML_ENABLED

    #define LIBXML_HTML_ENABLED

    Whether the HTML support is configured in

    +

    Macro: LIBXML_HTTP_ENABLED

    #define LIBXML_HTTP_ENABLED

    Whether the HTTP support is configured in

    +

    Macro: LIBXML_ICONV_ENABLED

    #define LIBXML_ICONV_ENABLED

    Whether iconv support is available

    +

    Macro: LIBXML_ISO8859X_ENABLED

    #define LIBXML_ISO8859X_ENABLED

    Whether ISO-8859-* support is made available in case iconv is not

    +

    Macro: LIBXML_LEGACY_ENABLED

    #define LIBXML_LEGACY_ENABLED

    Whether the deprecated APIs are compiled in for compatibility

    +

    Macro: LIBXML_OUTPUT_ENABLED

    #define LIBXML_OUTPUT_ENABLED

    Whether the serialization/saving support is configured in

    +

    Macro: LIBXML_PATTERN_ENABLED

    #define LIBXML_PATTERN_ENABLED

    Whether the xmlPattern node selection interface is configured in

    +

    Macro: LIBXML_PUSH_ENABLED

    #define LIBXML_PUSH_ENABLED

    Whether the push parsing interfaces are configured in

    +

    Macro: LIBXML_READER_ENABLED

    #define LIBXML_READER_ENABLED

    Whether the xmlReader parsing interface is configured in

    +

    Macro: LIBXML_REGEXP_ENABLED

    #define LIBXML_REGEXP_ENABLED

    Whether the regular expressions interfaces are compiled in

    +

    Macro: LIBXML_SAX1_ENABLED

    #define LIBXML_SAX1_ENABLED

    Whether the older SAX1 interface is configured in

    +

    Macro: LIBXML_SCHEMAS_ENABLED

    #define LIBXML_SCHEMAS_ENABLED

    Whether the Schemas validation interfaces are compiled in

    +

    Macro: LIBXML_TEST_VERSION

    #define LIBXML_TEST_VERSION

    Macro to check that the libxml version in use is compatible with the version the software has been compiled against

    +

    Macro: LIBXML_THREAD_ENABLED

    #define LIBXML_THREAD_ENABLED

    Whether the thread support is configured in

    +

    Macro: LIBXML_TREE_ENABLED

    #define LIBXML_TREE_ENABLED

    Whether the DOM like tree manipulation API support is configured in

    +

    Macro: LIBXML_UNICODE_ENABLED

    #define LIBXML_UNICODE_ENABLED

    Whether the Unicode related interfaces are compiled in

    +

    Macro: LIBXML_VALID_ENABLED

    #define LIBXML_VALID_ENABLED

    Whether the DTD validation support is configured in

    +

    Macro: LIBXML_VERSION

    #define LIBXML_VERSION

    the version number: 1.2.3 value is 1002003

    +

    Macro: LIBXML_VERSION_STRING

    #define LIBXML_VERSION_STRING

    the version number string, 1.2.3 value is "1002003"

    +

    Macro: LIBXML_WRITER_ENABLED

    #define LIBXML_WRITER_ENABLED

    Whether the xmlWriter saving interface is configured in

    +

    Macro: LIBXML_XINCLUDE_ENABLED

    #define LIBXML_XINCLUDE_ENABLED

    Whether XInclude is configured in

    +

    Macro: LIBXML_XPATH_ENABLED

    #define LIBXML_XPATH_ENABLED

    Whether XPath is configured in

    +

    Macro: LIBXML_XPTR_ENABLED

    #define LIBXML_XPTR_ENABLED

    Whether XPointer is configured in

    +

    Macro: WITHOUT_TRIO

    #define WITHOUT_TRIO

    defined if the trio support should not be configured in

    +

    Macro: WITH_TRIO

    #define WITH_TRIO

    defined if the trio support need to be configured in

    +

    Function: xmlCheckVersion

    void	xmlCheckVersion			(int version)
    +

    check the compiled lib version against the include one. This can warn or immediately kill the application

    +
    version:the include version number

    Daniel Veillard

    diff --git a/doc/html/libxml-xmlwriter.html b/doc/html/libxml-xmlwriter.html new file mode 100644 index 0000000..458262c --- /dev/null +++ b/doc/html/libxml-xmlwriter.html @@ -0,0 +1,258 @@ + + +Module xmlwriter from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xmlwriter from libxml2

    API Menu
    API Indexes
    Related links

    text writing API for XML

    Table of Contents

    #define xmlTextWriterWriteDocType
    #define xmlTextWriterWriteProcessingInstruction
    Structure xmlTextWriter
    struct _xmlTextWriter +The content of this structure is not made public by the API. +
    Typedef xmlTextWriter * xmlTextWriterPtr
    +
    void	xmlFreeTextWriter		(xmlTextWriterPtr writer)
    +
    xmlTextWriterPtr	xmlNewTextWriter	(xmlOutputBufferPtr out)
    +
    xmlTextWriterPtr	xmlNewTextWriterDoc	(xmlDocPtr * doc, 
    int compression)
    +
    xmlTextWriterPtr	xmlNewTextWriterFilename	(const char * uri, 
    int compression)
    +
    xmlTextWriterPtr	xmlNewTextWriterMemory	(xmlBufferPtr buf, 
    int compression)
    +
    xmlTextWriterPtr	xmlNewTextWriterPushParser	(xmlParserCtxtPtr ctxt, 
    int compression)
    +
    xmlTextWriterPtr	xmlNewTextWriterTree	(xmlDocPtr doc, 
    xmlNodePtr node,
    int compression)
    +
    int	xmlTextWriterEndAttribute	(xmlTextWriterPtr writer)
    +
    int	xmlTextWriterEndCDATA		(xmlTextWriterPtr writer)
    +
    int	xmlTextWriterEndComment		(xmlTextWriterPtr writer)
    +
    int	xmlTextWriterEndDTD		(xmlTextWriterPtr writer)
    +
    int	xmlTextWriterEndDTDAttlist	(xmlTextWriterPtr writer)
    +
    int	xmlTextWriterEndDTDElement	(xmlTextWriterPtr writer)
    +
    int	xmlTextWriterEndDTDEntity	(xmlTextWriterPtr writer)
    +
    int	xmlTextWriterEndDocument	(xmlTextWriterPtr writer)
    +
    int	xmlTextWriterEndElement		(xmlTextWriterPtr writer)
    +
    int	xmlTextWriterEndPI		(xmlTextWriterPtr writer)
    +
    int	xmlTextWriterFlush		(xmlTextWriterPtr writer)
    +
    int	xmlTextWriterFullEndElement	(xmlTextWriterPtr writer)
    +
    int	xmlTextWriterSetIndent		(xmlTextWriterPtr writer, 
    int indent)
    +
    int	xmlTextWriterSetIndentString	(xmlTextWriterPtr writer, 
    const xmlChar * str)
    +
    int	xmlTextWriterStartAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    +
    int	xmlTextWriterStartAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI)
    +
    int	xmlTextWriterStartCDATA		(xmlTextWriterPtr writer)
    +
    int	xmlTextWriterStartComment	(xmlTextWriterPtr writer)
    +
    int	xmlTextWriterStartDTD		(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid)
    +
    int	xmlTextWriterStartDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    +
    int	xmlTextWriterStartDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    +
    int	xmlTextWriterStartDTDEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name)
    +
    int	xmlTextWriterStartDocument	(xmlTextWriterPtr writer, 
    const char * version,
    const char * encoding,
    const char * standalone)
    +
    int	xmlTextWriterStartElement	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    +
    int	xmlTextWriterStartElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI)
    +
    int	xmlTextWriterStartPI		(xmlTextWriterPtr writer, 
    const xmlChar * target)
    +
    int	xmlTextWriterWriteAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    +
    int	xmlTextWriterWriteAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const xmlChar * content)
    +
    int	xmlTextWriterWriteBase64	(xmlTextWriterPtr writer, 
    const char * data,
    int start,
    int len)
    +
    int	xmlTextWriterWriteBinHex	(xmlTextWriterPtr writer, 
    const char * data,
    int start,
    int len)
    +
    int	xmlTextWriterWriteCDATA		(xmlTextWriterPtr writer, 
    const xmlChar * content)
    +
    int	xmlTextWriterWriteComment	(xmlTextWriterPtr writer, 
    const xmlChar * content)
    +
    int	xmlTextWriterWriteDTD		(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * subset)
    +
    int	xmlTextWriterWriteDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    +
    int	xmlTextWriterWriteDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    +
    int	xmlTextWriterWriteDTDEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * ndataid,
    const xmlChar * content)
    +
    int	xmlTextWriterWriteDTDExternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * ndataid)
    +
    int	xmlTextWriterWriteDTDExternalEntityContents	(xmlTextWriterPtr writer, 
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * ndataid)
    +
    int	xmlTextWriterWriteDTDInternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const xmlChar * content)
    +
    int	xmlTextWriterWriteDTDNotation	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid)
    +
    int	xmlTextWriterWriteElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    +
    int	xmlTextWriterWriteElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const xmlChar * content)
    +
    int	xmlTextWriterWriteFormatAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    +
    int	xmlTextWriterWriteFormatAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    ... ...)
    +
    int	xmlTextWriterWriteFormatCDATA	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    +
    int	xmlTextWriterWriteFormatComment	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    +
    int	xmlTextWriterWriteFormatDTD	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const char * format,
    ... ...)
    +
    int	xmlTextWriterWriteFormatDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    +
    int	xmlTextWriterWriteFormatDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    +
    int	xmlTextWriterWriteFormatDTDInternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const char * format,
    ... ...)
    +
    int	xmlTextWriterWriteFormatElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    +
    int	xmlTextWriterWriteFormatElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    ... ...)
    +
    int	xmlTextWriterWriteFormatPI	(xmlTextWriterPtr writer, 
    const xmlChar * target,
    const char * format,
    ... ...)
    +
    int	xmlTextWriterWriteFormatRaw	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    +
    int	xmlTextWriterWriteFormatString	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    +
    int	xmlTextWriterWritePI		(xmlTextWriterPtr writer, 
    const xmlChar * target,
    const xmlChar * content)
    +
    int	xmlTextWriterWriteRaw		(xmlTextWriterPtr writer, 
    const xmlChar * content)
    +
    int	xmlTextWriterWriteRawLen	(xmlTextWriterPtr writer, 
    const xmlChar * content,
    int len)
    +
    int	xmlTextWriterWriteString	(xmlTextWriterPtr writer, 
    const xmlChar * content)
    +
    int	xmlTextWriterWriteVFormatAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    +
    int	xmlTextWriterWriteVFormatAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    va_list argptr)
    +
    int	xmlTextWriterWriteVFormatCDATA	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    +
    int	xmlTextWriterWriteVFormatComment	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    +
    int	xmlTextWriterWriteVFormatDTD	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const char * format,
    va_list argptr)
    +
    int	xmlTextWriterWriteVFormatDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    +
    int	xmlTextWriterWriteVFormatDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    +
    int	xmlTextWriterWriteVFormatDTDInternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const char * format,
    va_list argptr)
    +
    int	xmlTextWriterWriteVFormatElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    +
    int	xmlTextWriterWriteVFormatElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    va_list argptr)
    +
    int	xmlTextWriterWriteVFormatPI	(xmlTextWriterPtr writer, 
    const xmlChar * target,
    const char * format,
    va_list argptr)
    +
    int	xmlTextWriterWriteVFormatRaw	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    +
    int	xmlTextWriterWriteVFormatString	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    +

    Description

    +

    Macro: xmlTextWriterWriteDocType

    #define xmlTextWriterWriteDocType

    this macro maps to xmlTextWriterWriteDTD

    +

    Macro: xmlTextWriterWriteProcessingInstruction

    #define xmlTextWriterWriteProcessingInstruction

    This macro maps to xmlTextWriterWritePI

    +

    Structure xmlTextWriter

    Structure xmlTextWriter
    struct _xmlTextWriter { +The content of this structure is not made public by the API. +}

    Function: xmlFreeTextWriter

    void	xmlFreeTextWriter		(xmlTextWriterPtr writer)
    +

    Deallocate all the resources associated to the writer

    +
    writer:the xmlTextWriterPtr

    Function: xmlNewTextWriter

    xmlTextWriterPtr	xmlNewTextWriter	(xmlOutputBufferPtr out)
    +

    Create a new xmlNewTextWriter structure using an xmlOutputBufferPtr

    +
    out:an xmlOutputBufferPtr
    Returns:the new xmlTextWriterPtr or NULL in case of error

    Function: xmlNewTextWriterDoc

    xmlTextWriterPtr	xmlNewTextWriterDoc	(xmlDocPtr * doc, 
    int compression)
    +

    Create a new xmlNewTextWriter structure with @*doc as output

    +
    doc:address of a xmlDocPtr to hold the new XML document tree
    compression:compress the output?
    Returns:the new xmlTextWriterPtr or NULL in case of error

    Function: xmlNewTextWriterFilename

    xmlTextWriterPtr	xmlNewTextWriterFilename	(const char * uri, 
    int compression)
    +

    Create a new xmlNewTextWriter structure with @uri as output

    +
    uri:the URI of the resource for the output
    compression:compress the output?
    Returns:the new xmlTextWriterPtr or NULL in case of error

    Function: xmlNewTextWriterMemory

    xmlTextWriterPtr	xmlNewTextWriterMemory	(xmlBufferPtr buf, 
    int compression)
    +

    Create a new xmlNewTextWriter structure with @buf as output TODO: handle compression

    +
    buf:xmlBufferPtr
    compression:compress the output?
    Returns:the new xmlTextWriterPtr or NULL in case of error

    Function: xmlNewTextWriterPushParser

    xmlTextWriterPtr	xmlNewTextWriterPushParser	(xmlParserCtxtPtr ctxt, 
    int compression)
    +

    Create a new xmlNewTextWriter structure with @ctxt as output TODO: handle compression

    +
    ctxt:xmlParserCtxtPtr to hold the new XML document tree
    compression:compress the output?
    Returns:the new xmlTextWriterPtr or NULL in case of error

    Function: xmlNewTextWriterTree

    xmlTextWriterPtr	xmlNewTextWriterTree	(xmlDocPtr doc, 
    xmlNodePtr node,
    int compression)
    +

    Create a new xmlNewTextWriter structure with @doc as output starting at @node

    +
    doc:xmlDocPtr
    node:xmlNodePtr or NULL for doc->children
    compression:compress the output?
    Returns:the new xmlTextWriterPtr or NULL in case of error

    Function: xmlTextWriterEndAttribute

    int	xmlTextWriterEndAttribute	(xmlTextWriterPtr writer)
    +

    End the current xml element.

    +
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndCDATA

    int	xmlTextWriterEndCDATA		(xmlTextWriterPtr writer)
    +

    End an xml CDATA section.

    +
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndComment

    int	xmlTextWriterEndComment		(xmlTextWriterPtr writer)
    +

    End the current xml coment.

    +
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndDTD

    int	xmlTextWriterEndDTD		(xmlTextWriterPtr writer)
    +

    End an xml DTD.

    +
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndDTDAttlist

    int	xmlTextWriterEndDTDAttlist	(xmlTextWriterPtr writer)
    +

    End an xml DTD attribute list.

    +
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndDTDElement

    int	xmlTextWriterEndDTDElement	(xmlTextWriterPtr writer)
    +

    End an xml DTD element.

    +
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndDTDEntity

    int	xmlTextWriterEndDTDEntity	(xmlTextWriterPtr writer)
    +

    End an xml DTD entity.

    +
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndDocument

    int	xmlTextWriterEndDocument	(xmlTextWriterPtr writer)
    +

    End an xml document. All open elements are closed

    +
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndElement

    int	xmlTextWriterEndElement		(xmlTextWriterPtr writer)
    +

    End the current xml element.

    +
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterEndPI

    int	xmlTextWriterEndPI		(xmlTextWriterPtr writer)
    +

    End the current xml PI.

    +
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterFlush

    int	xmlTextWriterFlush		(xmlTextWriterPtr writer)
    +

    Flush the output buffer.

    +
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterFullEndElement

    int	xmlTextWriterFullEndElement	(xmlTextWriterPtr writer)
    +

    End the current xml element. Writes an end tag even if the element is empty

    +
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterSetIndent

    int	xmlTextWriterSetIndent		(xmlTextWriterPtr writer, 
    int indent)
    +

    Set indentation output. indent = 0 do not indentation. indent > 0 do indentation.

    +
    writer:the xmlTextWriterPtr
    indent:do indentation?
    Returns:-1 on error or 0 otherwise.

    Function: xmlTextWriterSetIndentString

    int	xmlTextWriterSetIndentString	(xmlTextWriterPtr writer, 
    const xmlChar * str)
    +

    Set string indentation.

    +
    writer:the xmlTextWriterPtr
    str:the xmlChar string
    Returns:-1 on error or 0 otherwise.

    Function: xmlTextWriterStartAttribute

    int	xmlTextWriterStartAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    +

    Start an xml attribute.

    +
    writer:the xmlTextWriterPtr
    name:element name
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartAttributeNS

    int	xmlTextWriterStartAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI)
    +

    Start an xml attribute with namespace support.

    +
    writer:the xmlTextWriterPtr
    prefix:namespace prefix or NULL
    name:element local name
    namespaceURI:namespace URI or NULL
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartCDATA

    int	xmlTextWriterStartCDATA		(xmlTextWriterPtr writer)
    +

    Start an xml CDATA section.

    +
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartComment

    int	xmlTextWriterStartComment	(xmlTextWriterPtr writer)
    +

    Start an xml comment.

    +
    writer:the xmlTextWriterPtr
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartDTD

    int	xmlTextWriterStartDTD		(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid)
    +

    Start an xml DTD.

    +
    writer:the xmlTextWriterPtr
    name:the name of the DTD
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartDTDAttlist

    int	xmlTextWriterStartDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    +

    Start an xml DTD ATTLIST.

    +
    writer:the xmlTextWriterPtr
    name:the name of the DTD ATTLIST
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartDTDElement

    int	xmlTextWriterStartDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    +

    Start an xml DTD element.

    +
    writer:the xmlTextWriterPtr
    name:the name of the DTD element
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartDTDEntity

    int	xmlTextWriterStartDTDEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name)
    +

    Start an xml DTD ATTLIST.

    +
    writer:the xmlTextWriterPtr
    pe:TRUE if this is a parameter entity, FALSE if not
    name:the name of the DTD ATTLIST
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartDocument

    int	xmlTextWriterStartDocument	(xmlTextWriterPtr writer, 
    const char * version,
    const char * encoding,
    const char * standalone)
    +

    Start a new xml document

    +
    writer:the xmlTextWriterPtr
    version:the xml version ("1.0") or NULL for default ("1.0")
    encoding:the encoding or NULL for default
    standalone:"yes" or "no" or NULL for default
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartElement

    int	xmlTextWriterStartElement	(xmlTextWriterPtr writer, 
    const xmlChar * name)
    +

    Start an xml element.

    +
    writer:the xmlTextWriterPtr
    name:element name
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartElementNS

    int	xmlTextWriterStartElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI)
    +

    Start an xml element with namespace support.

    +
    writer:the xmlTextWriterPtr
    prefix:namespace prefix or NULL
    name:element local name
    namespaceURI:namespace URI or NULL
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterStartPI

    int	xmlTextWriterStartPI		(xmlTextWriterPtr writer, 
    const xmlChar * target)
    +

    Start an xml PI.

    +
    writer:the xmlTextWriterPtr
    target:PI target
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteAttribute

    int	xmlTextWriterWriteAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    +

    Write an xml attribute.

    +
    writer:the xmlTextWriterPtr
    name:attribute name
    content:attribute content
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteAttributeNS

    int	xmlTextWriterWriteAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const xmlChar * content)
    +

    Write an xml attribute.

    +
    writer:the xmlTextWriterPtr
    prefix:namespace prefix
    name:attribute local name
    namespaceURI:namespace URI
    content:attribute content
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteBase64

    int	xmlTextWriterWriteBase64	(xmlTextWriterPtr writer, 
    const char * data,
    int start,
    int len)
    +

    Write an base64 encoded xml text.

    +
    writer:the xmlTextWriterPtr
    data:binary data
    start:the position within the data of the first byte to encode
    len:the number of bytes to encode
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteBinHex

    int	xmlTextWriterWriteBinHex	(xmlTextWriterPtr writer, 
    const char * data,
    int start,
    int len)
    +

    Write a BinHex encoded xml text.

    +
    writer:the xmlTextWriterPtr
    data:binary data
    start:the position within the data of the first byte to encode
    len:the number of bytes to encode
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteCDATA

    int	xmlTextWriterWriteCDATA		(xmlTextWriterPtr writer, 
    const xmlChar * content)
    +

    Write an xml CDATA.

    +
    writer:the xmlTextWriterPtr
    content:CDATA content
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteComment

    int	xmlTextWriterWriteComment	(xmlTextWriterPtr writer, 
    const xmlChar * content)
    +

    Write an xml comment.

    +
    writer:the xmlTextWriterPtr
    content:comment string
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTD

    int	xmlTextWriterWriteDTD		(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * subset)
    +

    Write a DTD.

    +
    writer:the xmlTextWriterPtr
    name:the name of the DTD
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    subset:string content of the DTD
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTDAttlist

    int	xmlTextWriterWriteDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    +

    Write a DTD ATTLIST.

    +
    writer:the xmlTextWriterPtr
    name:the name of the DTD ATTLIST
    content:content of the ATTLIST
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTDElement

    int	xmlTextWriterWriteDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    +

    Write a DTD element.

    +
    writer:the xmlTextWriterPtr
    name:the name of the DTD element
    content:content of the element
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTDEntity

    int	xmlTextWriterWriteDTDEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * ndataid,
    const xmlChar * content)
    +

    Write a DTD entity.

    +
    writer:the xmlTextWriterPtr
    pe:TRUE if this is a parameter entity, FALSE if not
    name:the name of the DTD entity
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    ndataid:the xml notation name.
    content:content of the entity
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTDExternalEntity

    int	xmlTextWriterWriteDTDExternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * ndataid)
    +

    Write a DTD external entity. The entity must have been started with xmlTextWriterStartDTDEntity

    +
    writer:the xmlTextWriterPtr
    pe:TRUE if this is a parameter entity, FALSE if not
    name:the name of the DTD entity
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    ndataid:the xml notation name.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTDExternalEntityContents

    int	xmlTextWriterWriteDTDExternalEntityContents	(xmlTextWriterPtr writer, 
    const xmlChar * pubid,
    const xmlChar * sysid,
    const xmlChar * ndataid)
    +

    Write the contents of a DTD external entity.

    +
    writer:the xmlTextWriterPtr
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    ndataid:the xml notation name.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTDInternalEntity

    int	xmlTextWriterWriteDTDInternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const xmlChar * content)
    +

    Write a DTD internal entity.

    +
    writer:the xmlTextWriterPtr
    pe:TRUE if this is a parameter entity, FALSE if not
    name:the name of the DTD entity
    content:content of the entity
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteDTDNotation

    int	xmlTextWriterWriteDTDNotation	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid)
    +

    Write a DTD entity.

    +
    writer:the xmlTextWriterPtr
    name:the name of the xml notation
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteElement

    int	xmlTextWriterWriteElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * content)
    +

    Write an xml element.

    +
    writer:the xmlTextWriterPtr
    name:element name
    content:element content
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteElementNS

    int	xmlTextWriterWriteElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const xmlChar * content)
    +

    Write an xml element with namespace support.

    +
    writer:the xmlTextWriterPtr
    prefix:namespace prefix
    name:element local name
    namespaceURI:namespace URI
    content:element content
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatAttribute

    int	xmlTextWriterWriteFormatAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    +

    Write a formatted xml attribute.

    +
    writer:the xmlTextWriterPtr
    name:attribute name
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatAttributeNS

    int	xmlTextWriterWriteFormatAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    ... ...)
    +

    Write a formatted xml attribute.with namespace support

    +
    writer:the xmlTextWriterPtr
    prefix:namespace prefix
    name:attribute local name
    namespaceURI:namespace URI
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatCDATA

    int	xmlTextWriterWriteFormatCDATA	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    +

    Write a formatted xml CDATA.

    +
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatComment

    int	xmlTextWriterWriteFormatComment	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    +

    Write an xml comment.

    +
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatDTD

    int	xmlTextWriterWriteFormatDTD	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const char * format,
    ... ...)
    +

    Write a DTD with a formatted markup declarations part.

    +
    writer:the xmlTextWriterPtr
    name:the name of the DTD
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatDTDAttlist

    int	xmlTextWriterWriteFormatDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    +

    Write a formatted DTD ATTLIST.

    +
    writer:the xmlTextWriterPtr
    name:the name of the DTD ATTLIST
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatDTDElement

    int	xmlTextWriterWriteFormatDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    +

    Write a formatted DTD element.

    +
    writer:the xmlTextWriterPtr
    name:the name of the DTD element
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatDTDInternalEntity

    int	xmlTextWriterWriteFormatDTDInternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const char * format,
    ... ...)
    +

    Write a formatted DTD internal entity.

    +
    writer:the xmlTextWriterPtr
    pe:TRUE if this is a parameter entity, FALSE if not
    name:the name of the DTD entity
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatElement

    int	xmlTextWriterWriteFormatElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    ... ...)
    +

    Write a formatted xml element.

    +
    writer:the xmlTextWriterPtr
    name:element name
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatElementNS

    int	xmlTextWriterWriteFormatElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    ... ...)
    +

    Write a formatted xml element with namespace support.

    +
    writer:the xmlTextWriterPtr
    prefix:namespace prefix
    name:element local name
    namespaceURI:namespace URI
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatPI

    int	xmlTextWriterWriteFormatPI	(xmlTextWriterPtr writer, 
    const xmlChar * target,
    const char * format,
    ... ...)
    +

    Write a formatted PI.

    +
    writer:the xmlTextWriterPtr
    target:PI target
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatRaw

    int	xmlTextWriterWriteFormatRaw	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    +

    Write a formatted raw xml text.

    +
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteFormatString

    int	xmlTextWriterWriteFormatString	(xmlTextWriterPtr writer, 
    const char * format,
    ... ...)
    +

    Write a formatted xml text.

    +
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    ...:extra parameters for the format
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWritePI

    int	xmlTextWriterWritePI		(xmlTextWriterPtr writer, 
    const xmlChar * target,
    const xmlChar * content)
    +

    Write an xml PI.

    +
    writer:the xmlTextWriterPtr
    target:PI target
    content:PI content
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteRaw

    int	xmlTextWriterWriteRaw		(xmlTextWriterPtr writer, 
    const xmlChar * content)
    +

    Write a raw xml text.

    +
    writer:the xmlTextWriterPtr
    content:text string
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteRawLen

    int	xmlTextWriterWriteRawLen	(xmlTextWriterPtr writer, 
    const xmlChar * content,
    int len)
    +

    Write an xml text. TODO: what about entities and special chars??

    +
    writer:the xmlTextWriterPtr
    content:text string
    len:length of the text string
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteString

    int	xmlTextWriterWriteString	(xmlTextWriterPtr writer, 
    const xmlChar * content)
    +

    Write an xml text.

    +
    writer:the xmlTextWriterPtr
    content:text string
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatAttribute

    int	xmlTextWriterWriteVFormatAttribute	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    +

    Write a formatted xml attribute.

    +
    writer:the xmlTextWriterPtr
    name:attribute name
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatAttributeNS

    int	xmlTextWriterWriteVFormatAttributeNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    va_list argptr)
    +

    Write a formatted xml attribute.with namespace support

    +
    writer:the xmlTextWriterPtr
    prefix:namespace prefix
    name:attribute local name
    namespaceURI:namespace URI
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatCDATA

    int	xmlTextWriterWriteVFormatCDATA	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    +

    Write a formatted xml CDATA.

    +
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatComment

    int	xmlTextWriterWriteVFormatComment	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    +

    Write an xml comment.

    +
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatDTD

    int	xmlTextWriterWriteVFormatDTD	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const xmlChar * pubid,
    const xmlChar * sysid,
    const char * format,
    va_list argptr)
    +

    Write a DTD with a formatted markup declarations part.

    +
    writer:the xmlTextWriterPtr
    name:the name of the DTD
    pubid:the public identifier, which is an alternative to the system identifier
    sysid:the system identifier, which is the URI of the DTD
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatDTDAttlist

    int	xmlTextWriterWriteVFormatDTDAttlist	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    +

    Write a formatted DTD ATTLIST.

    +
    writer:the xmlTextWriterPtr
    name:the name of the DTD ATTLIST
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatDTDElement

    int	xmlTextWriterWriteVFormatDTDElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    +

    Write a formatted DTD element.

    +
    writer:the xmlTextWriterPtr
    name:the name of the DTD element
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatDTDInternalEntity

    int	xmlTextWriterWriteVFormatDTDInternalEntity	(xmlTextWriterPtr writer, 
    int pe,
    const xmlChar * name,
    const char * format,
    va_list argptr)
    +

    Write a formatted DTD internal entity.

    +
    writer:the xmlTextWriterPtr
    pe:TRUE if this is a parameter entity, FALSE if not
    name:the name of the DTD entity
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatElement

    int	xmlTextWriterWriteVFormatElement	(xmlTextWriterPtr writer, 
    const xmlChar * name,
    const char * format,
    va_list argptr)
    +

    Write a formatted xml element.

    +
    writer:the xmlTextWriterPtr
    name:element name
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatElementNS

    int	xmlTextWriterWriteVFormatElementNS	(xmlTextWriterPtr writer, 
    const xmlChar * prefix,
    const xmlChar * name,
    const xmlChar * namespaceURI,
    const char * format,
    va_list argptr)
    +

    Write a formatted xml element with namespace support.

    +
    writer:the xmlTextWriterPtr
    prefix:namespace prefix
    name:element local name
    namespaceURI:namespace URI
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatPI

    int	xmlTextWriterWriteVFormatPI	(xmlTextWriterPtr writer, 
    const xmlChar * target,
    const char * format,
    va_list argptr)
    +

    Write a formatted xml PI.

    +
    writer:the xmlTextWriterPtr
    target:PI target
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatRaw

    int	xmlTextWriterWriteVFormatRaw	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    +

    Write a formatted raw xml text.

    +
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Function: xmlTextWriterWriteVFormatString

    int	xmlTextWriterWriteVFormatString	(xmlTextWriterPtr writer, 
    const char * format,
    va_list argptr)
    +

    Write a formatted xml text.

    +
    writer:the xmlTextWriterPtr
    format:format string (see printf)
    argptr:pointer to the first member of the variable argument list.
    Returns:the bytes written (may be 0 because of buffering) or -1 in case of error

    Daniel Veillard

    diff --git a/doc/html/libxml-xpath.html b/doc/html/libxml-xpath.html new file mode 100644 index 0000000..373c1ae --- /dev/null +++ b/doc/html/libxml-xpath.html @@ -0,0 +1,284 @@ + + +Module xpath from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xpath from libxml2

    API Menu
    API Indexes
    Related links

    API for the XML Path Language implementation XML Path Language implementation XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer

    Table of Contents

    #define xmlXPathNodeSetGetLength
    #define xmlXPathNodeSetIsEmpty
    #define xmlXPathNodeSetItem
    Structure xmlNodeSet
    struct _xmlNodeSet +
    Typedef xmlNodeSet * xmlNodeSetPtr
    +
    Structure xmlXPathAxis
    struct _xmlXPathAxis +
    Typedef xmlXPathAxis * xmlXPathAxisPtr
    +
    Structure xmlXPathCompExpr
    struct _xmlXPathCompExpr +The content of this structure is not made public by the API. +
    Typedef xmlXPathCompExpr * xmlXPathCompExprPtr
    +
    Structure xmlXPathContext
    struct _xmlXPathContext +
    Typedef xmlXPathContext * xmlXPathContextPtr
    +
    Enum xmlXPathError
    +
    Typedef xmlXPathFunct * xmlXPathFuncPtr
    +
    Structure xmlXPathFunct
    struct _xmlXPathFunct +
    Structure xmlXPathObject
    struct _xmlXPathObject +
    Typedef xmlXPathObject * xmlXPathObjectPtr
    +
    Enum xmlXPathObjectType
    +
    Structure xmlXPathParserContext
    struct _xmlXPathParserContext +
    Typedef xmlXPathParserContext * xmlXPathParserContextPtr
    +
    Structure xmlXPathType
    struct _xmlXPathType +
    Typedef xmlXPathType * xmlXPathTypePtr
    +
    Structure xmlXPathVariable
    struct _xmlXPathVariable +
    Typedef xmlXPathVariable * xmlXPathVariablePtr
    +
    Function type: xmlXPathAxisFunc
    +xmlXPathObjectPtr	xmlXPathAxisFunc	(xmlXPathParserContextPtr ctxt, 
    xmlXPathObjectPtr cur) +
    +
    double	xmlXPathCastBooleanToNumber	(int val)
    +
    xmlChar *	xmlXPathCastBooleanToString	(int val)
    +
    int	xmlXPathCastNodeSetToBoolean	(xmlNodeSetPtr ns)
    +
    double	xmlXPathCastNodeSetToNumber	(xmlNodeSetPtr ns)
    +
    xmlChar *	xmlXPathCastNodeSetToString	(xmlNodeSetPtr ns)
    +
    double	xmlXPathCastNodeToNumber	(xmlNodePtr node)
    +
    xmlChar *	xmlXPathCastNodeToString	(xmlNodePtr node)
    +
    int	xmlXPathCastNumberToBoolean	(double val)
    +
    xmlChar *	xmlXPathCastNumberToString	(double val)
    +
    int	xmlXPathCastStringToBoolean	(const xmlChar * val)
    +
    double	xmlXPathCastStringToNumber	(const xmlChar * val)
    +
    int	xmlXPathCastToBoolean		(xmlXPathObjectPtr val)
    +
    double	xmlXPathCastToNumber		(xmlXPathObjectPtr val)
    +
    xmlChar *	xmlXPathCastToString	(xmlXPathObjectPtr val)
    +
    int	xmlXPathCmpNodes		(xmlNodePtr node1, 
    xmlNodePtr node2)
    +
    xmlXPathCompExprPtr	xmlXPathCompile	(const xmlChar * str)
    +
    xmlXPathObjectPtr	xmlXPathCompiledEval	(xmlXPathCompExprPtr comp, 
    xmlXPathContextPtr ctx)
    +
    xmlXPathObjectPtr	xmlXPathConvertBoolean	(xmlXPathObjectPtr val)
    +
    Function type: xmlXPathConvertFunc
    +int	xmlXPathConvertFunc		(xmlXPathObjectPtr obj, 
    int type) +
    +
    xmlXPathObjectPtr	xmlXPathConvertNumber	(xmlXPathObjectPtr val)
    +
    xmlXPathObjectPtr	xmlXPathConvertString	(xmlXPathObjectPtr val)
    +
    xmlXPathCompExprPtr	xmlXPathCtxtCompile	(xmlXPathContextPtr ctxt, 
    const xmlChar * str)
    +
    xmlXPathObjectPtr	xmlXPathEval	(const xmlChar * str, 
    xmlXPathContextPtr ctx)
    +
    xmlXPathObjectPtr	xmlXPathEvalExpression	(const xmlChar * str, 
    xmlXPathContextPtr ctxt)
    +
    Function type: xmlXPathEvalFunc
    +void	xmlXPathEvalFunc		(xmlXPathParserContextPtr ctxt, 
    int nargs) +
    +
    int	xmlXPathEvalPredicate		(xmlXPathContextPtr ctxt, 
    xmlXPathObjectPtr res)
    +
    void	xmlXPathFreeCompExpr		(xmlXPathCompExprPtr comp)
    +
    void	xmlXPathFreeContext		(xmlXPathContextPtr ctxt)
    +
    void	xmlXPathFreeNodeSet		(xmlNodeSetPtr obj)
    +
    void	xmlXPathFreeNodeSetList		(xmlXPathObjectPtr obj)
    +
    void	xmlXPathFreeObject		(xmlXPathObjectPtr obj)
    +
    Function type: xmlXPathFunction
    +void	xmlXPathFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs) +
    +
    void	xmlXPathInit			(void)
    +
    int	xmlXPathIsInf			(double val)
    +
    int	xmlXPathIsNaN			(double val)
    +
    xmlXPathContextPtr	xmlXPathNewContext	(xmlDocPtr doc)
    +
    xmlNodeSetPtr	xmlXPathNodeSetCreate	(xmlNodePtr val)
    +
    xmlXPathObjectPtr	xmlXPathObjectCopy	(xmlXPathObjectPtr val)
    +
    long	xmlXPathOrderDocElems		(xmlDocPtr doc)
    +

    Description

    +

    Macro: xmlXPathNodeSetGetLength

    #define xmlXPathNodeSetGetLength

    Implement a functionality similar to the DOM NodeList.length. Returns the number of nodes in the node-set.

    +

    Macro: xmlXPathNodeSetIsEmpty

    #define xmlXPathNodeSetIsEmpty

    Checks whether @ns is empty or not. Returns %TRUE if @ns is an empty node-set.

    +

    Macro: xmlXPathNodeSetItem

    #define xmlXPathNodeSetItem

    Implements a functionality similar to the DOM NodeList.item(). Returns the xmlNodePtr at the given @index in @ns or NULL if @index is out of range (0 to length-1)

    +

    Structure xmlNodeSet

    Structure xmlNodeSet
    struct _xmlNodeSet { + int nodeNr : number of nodes in the set + int nodeMax : size of the array as allocated + xmlNodePtr * nodeTab : array of nodes in no particular order @ +}

    Structure xmlXPathAxis

    Structure xmlXPathAxis
    struct _xmlXPathAxis { + const xmlChar * name : the axis name + xmlXPathAxisFunc func : the search function +}

    Structure xmlXPathCompExpr

    Structure xmlXPathCompExpr
    struct _xmlXPathCompExpr { +The content of this structure is not made public by the API. +}

    Structure xmlXPathContext

    Structure xmlXPathContext
    struct _xmlXPathContext { + xmlDocPtr doc : The current document + xmlNodePtr node : The current node + int nb_variables_unused : unused (hash table) + int max_variables_unused : unused (hash table) + xmlHashTablePtr varHash : Hash table of defined variables + int nb_types : number of defined types + int max_types : max number of types + xmlXPathTypePtr types : Array of defined types + int nb_funcs_unused : unused (hash table) + int max_funcs_unused : unused (hash table) + xmlHashTablePtr funcHash : Hash table of defined funcs + int nb_axis : number of defined axis + int max_axis : max number of axis + xmlXPathAxisPtr axis : Array of defined axis the namespace nod + xmlNsPtr * namespaces : Array of namespaces + int nsNr : number of namespace in scope + void * user : function to free extra variables + int contextSize : the context size + int proximityPosition : the proximity position extra stuff for + int xptr : it this an XPointer context + xmlNodePtr here : for here() + xmlNodePtr origin : for origin() the set of namespace decla + xmlHashTablePtr nsHash : The namespaces hash table + void * varLookupFunc : variable lookup func + void * varLookupData : variable lookup data Possibility to lin + void * extra : needed for XSLT The function name and U + const xmlChar * function + const xmlChar * functionURI : function lookup function and data + void * funcLookupFunc : function lookup func + void * funcLookupData : function lookup data temporary namespac + xmlNsPtr * tmpNsList : Array of namespaces + int tmpNsNr : number of namespace in scope error repo + void * userData : user specific data block + xmlStructuredErrorFunc error : the callback in case of errors + xmlError lastError : the last error + xmlNodePtr debugNode : the source node XSLT dictionnary + xmlDictPtr dict : dictionnary if any +}

    Enum xmlXPathError

    Enum xmlXPathError {
    +    XPATH_EXPRESSION_OK = 0
    +    XPATH_NUMBER_ERROR = 1
    +    XPATH_UNFINISHED_LITERAL_ERROR = 2
    +    XPATH_START_LITERAL_ERROR = 3
    +    XPATH_VARIABLE_REF_ERROR = 4
    +    XPATH_UNDEF_VARIABLE_ERROR = 5
    +    XPATH_INVALID_PREDICATE_ERROR = 6
    +    XPATH_EXPR_ERROR = 7
    +    XPATH_UNCLOSED_ERROR = 8
    +    XPATH_UNKNOWN_FUNC_ERROR = 9
    +    XPATH_INVALID_OPERAND = 10
    +    XPATH_INVALID_TYPE = 11
    +    XPATH_INVALID_ARITY = 12
    +    XPATH_INVALID_CTXT_SIZE = 13
    +    XPATH_INVALID_CTXT_POSITION = 14
    +    XPATH_MEMORY_ERROR = 15
    +    XPTR_SYNTAX_ERROR = 16
    +    XPTR_RESOURCE_ERROR = 17
    +    XPTR_SUB_RESOURCE_ERROR = 18
    +    XPATH_UNDEF_PREFIX_ERROR = 19
    +    XPATH_ENCODING_ERROR = 20
    +    XPATH_INVALID_CHAR_ERROR = 21
    +}
    +

    Structure xmlXPathFunct

    Structure xmlXPathFunct
    struct _xmlXPathFunct { + const xmlChar * name : the function name + xmlXPathEvalFunc func : the evaluation function +}

    Structure xmlXPathObject

    Structure xmlXPathObject
    struct _xmlXPathObject { + xmlXPathObjectType type + xmlNodeSetPtr nodesetval + int boolval + double floatval + xmlChar * stringval + void * user + int index + void * user2 + int index2 +}

    Enum xmlXPathObjectType

    Enum xmlXPathObjectType {
    +    XPATH_UNDEFINED = 0
    +    XPATH_NODESET = 1
    +    XPATH_BOOLEAN = 2
    +    XPATH_NUMBER = 3
    +    XPATH_STRING = 4
    +    XPATH_POINT = 5
    +    XPATH_RANGE = 6
    +    XPATH_LOCATIONSET = 7
    +    XPATH_USERS = 8
    +    XPATH_XSLT_TREE = 9 : An XSLT value tree, non modifiable
    +}
    +

    Structure xmlXPathParserContext

    Structure xmlXPathParserContext
    struct _xmlXPathParserContext { + const xmlChar * cur : the current char being parsed + const xmlChar * base : the full expression + int error : error code + xmlXPathContextPtr context : the evaluation context + xmlXPathObjectPtr value : the current value + int valueNr : number of values stacked + int valueMax : max number of values stacked + xmlXPathObjectPtr * valueTab : stack of values + xmlXPathCompExprPtr comp : the precompiled expression + int xptr : it this an XPointer expression + xmlNodePtr ancestor : used for walking preceding axis +}

    Structure xmlXPathType

    Structure xmlXPathType
    struct _xmlXPathType { + const xmlChar * name : the type name + xmlXPathConvertFunc func : the conversion function +}

    Structure xmlXPathVariable

    Structure xmlXPathVariable
    struct _xmlXPathVariable { + const xmlChar * name : the variable name + xmlXPathObjectPtr value : the value +}

    Function type: xmlXPathAxisFunc

    Function type: xmlXPathAxisFunc
    +xmlXPathObjectPtr	xmlXPathAxisFunc	(xmlXPathParserContextPtr ctxt, 
    xmlXPathObjectPtr cur) +

    An axis traversal function. To traverse an axis, the engine calls the first time with cur == NULL and repeat until the function returns NULL indicating the end of the axis traversal.

    ctxt:the XPath interpreter context
    cur:the previous node being explored on that axis
    Returns:the next node in that axis or NULL if at the end of the axis.

    +

    Function: xmlXPathCastBooleanToNumber

    double	xmlXPathCastBooleanToNumber	(int val)
    +

    Converts a boolean to its number value

    +
    val:a boolean
    Returns:the number value

    Function: xmlXPathCastBooleanToString

    xmlChar *	xmlXPathCastBooleanToString	(int val)
    +

    Converts a boolean to its string value.

    +
    val:a boolean
    Returns:a newly allocated string.

    Function: xmlXPathCastNodeSetToBoolean

    int	xmlXPathCastNodeSetToBoolean	(xmlNodeSetPtr ns)
    +

    Converts a node-set to its boolean value

    +
    ns:a node-set
    Returns:the boolean value

    Function: xmlXPathCastNodeSetToNumber

    double	xmlXPathCastNodeSetToNumber	(xmlNodeSetPtr ns)
    +

    Converts a node-set to its number value

    +
    ns:a node-set
    Returns:the number value

    Function: xmlXPathCastNodeSetToString

    xmlChar *	xmlXPathCastNodeSetToString	(xmlNodeSetPtr ns)
    +

    Converts a node-set to its string value.

    +
    ns:a node-set
    Returns:a newly allocated string.

    Function: xmlXPathCastNodeToNumber

    double	xmlXPathCastNodeToNumber	(xmlNodePtr node)
    +

    Converts a node to its number value

    +
    node:a node
    Returns:the number value

    Function: xmlXPathCastNodeToString

    xmlChar *	xmlXPathCastNodeToString	(xmlNodePtr node)
    +

    Converts a node to its string value.

    +
    node:a node
    Returns:a newly allocated string.

    Function: xmlXPathCastNumberToBoolean

    int	xmlXPathCastNumberToBoolean	(double val)
    +

    Converts a number to its boolean value

    +
    val:a number
    Returns:the boolean value

    Function: xmlXPathCastNumberToString

    xmlChar *	xmlXPathCastNumberToString	(double val)
    +

    Converts a number to its string value.

    +
    val:a number
    Returns:a newly allocated string.

    Function: xmlXPathCastStringToBoolean

    int	xmlXPathCastStringToBoolean	(const xmlChar * val)
    +

    Converts a string to its boolean value

    +
    val:a string
    Returns:the boolean value

    Function: xmlXPathCastStringToNumber

    double	xmlXPathCastStringToNumber	(const xmlChar * val)
    +

    Converts a string to its number value

    +
    val:a string
    Returns:the number value

    Function: xmlXPathCastToBoolean

    int	xmlXPathCastToBoolean		(xmlXPathObjectPtr val)
    +

    Converts an XPath object to its boolean value

    +
    val:an XPath object
    Returns:the boolean value

    Function: xmlXPathCastToNumber

    double	xmlXPathCastToNumber		(xmlXPathObjectPtr val)
    +

    Converts an XPath object to its number value

    +
    val:an XPath object
    Returns:the number value

    Function: xmlXPathCastToString

    xmlChar *	xmlXPathCastToString	(xmlXPathObjectPtr val)
    +

    Converts an existing object to its string() equivalent

    +
    val:an XPath object
    Returns: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).

    Function: xmlXPathCmpNodes

    int	xmlXPathCmpNodes		(xmlNodePtr node1, 
    xmlNodePtr node2)
    +

    Compare two nodes w.r.t document order

    +
    node1:the first node
    node2:the second node
    Returns:-2 in case of error 1 if first point < second point, 0 if it's the same node, -1 otherwise

    Function: xmlXPathCompile

    xmlXPathCompExprPtr	xmlXPathCompile	(const xmlChar * str)
    +

    Compile an XPath expression

    +
    str:the XPath expression
    Returns:the xmlXPathCompExprPtr resulting from the compilation or NULL. the caller has to free the object.

    Function: xmlXPathCompiledEval

    xmlXPathObjectPtr	xmlXPathCompiledEval	(xmlXPathCompExprPtr comp, 
    xmlXPathContextPtr ctx)
    +

    Evaluate the Precompiled XPath expression in the given context.

    +
    comp:the compiled XPath expression
    ctx:the XPath context
    Returns:the xmlXPathObjectPtr resulting from the evaluation or NULL. the caller has to free the object.

    Function: xmlXPathConvertBoolean

    xmlXPathObjectPtr	xmlXPathConvertBoolean	(xmlXPathObjectPtr val)
    +

    Converts an existing object to its boolean() equivalent

    +
    val:an XPath object
    Returns:the new object, the old one is freed (or the operation is done directly on @val)

    Function type: xmlXPathConvertFunc

    Function type: xmlXPathConvertFunc
    +int	xmlXPathConvertFunc		(xmlXPathObjectPtr obj, 
    int type) +

    A conversion function is associated to a type and used to cast the new type to primitive values.

    obj:an XPath object
    type:the number of the target type
    Returns:-1 in case of error, 0 otherwise

    +

    Function: xmlXPathConvertNumber

    xmlXPathObjectPtr	xmlXPathConvertNumber	(xmlXPathObjectPtr val)
    +

    Converts an existing object to its number() equivalent

    +
    val:an XPath object
    Returns:the new object, the old one is freed (or the operation is done directly on @val)

    Function: xmlXPathConvertString

    xmlXPathObjectPtr	xmlXPathConvertString	(xmlXPathObjectPtr val)
    +

    Converts an existing object to its string() equivalent

    +
    val:an XPath object
    Returns:the new object, the old one is freed (or the operation is done directly on @val)

    Function: xmlXPathCtxtCompile

    xmlXPathCompExprPtr	xmlXPathCtxtCompile	(xmlXPathContextPtr ctxt, 
    const xmlChar * str)
    +

    Compile an XPath expression

    +
    ctxt:an XPath context
    str:the XPath expression
    Returns:the xmlXPathCompExprPtr resulting from the compilation or NULL. the caller has to free the object.

    Function: xmlXPathEval

    xmlXPathObjectPtr	xmlXPathEval	(const xmlChar * str, 
    xmlXPathContextPtr ctx)
    +

    Evaluate the XPath Location Path in the given context.

    +
    str:the XPath expression
    ctx:the XPath context
    Returns:the xmlXPathObjectPtr resulting from the evaluation or NULL. the caller has to free the object.

    Function: xmlXPathEvalExpression

    xmlXPathObjectPtr	xmlXPathEvalExpression	(const xmlChar * str, 
    xmlXPathContextPtr ctxt)
    +

    Evaluate the XPath expression in the given context.

    +
    str:the XPath expression
    ctxt:the XPath context
    Returns:the xmlXPathObjectPtr resulting from the evaluation or NULL. the caller has to free the object.

    Function type: xmlXPathEvalFunc

    Function type: xmlXPathEvalFunc
    +void	xmlXPathEvalFunc		(xmlXPathParserContextPtr ctxt, 
    int nargs) +

    An XPath evaluation function, the parameters are on the XPath context stack.

    ctxt:an XPath parser context
    nargs:the number of arguments passed to the function

    +

    Function: xmlXPathEvalPredicate

    int	xmlXPathEvalPredicate		(xmlXPathContextPtr ctxt, 
    xmlXPathObjectPtr res)
    +

    Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the position of the context node in the context node list (as returned by the position function) and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function.

    +
    ctxt:the XPath context
    res:the Predicate Expression evaluation result
    Returns:1 if predicate is true, 0 otherwise

    Function: xmlXPathFreeCompExpr

    void	xmlXPathFreeCompExpr		(xmlXPathCompExprPtr comp)
    +

    Free up the memory allocated by @comp

    +
    comp:an XPATH comp

    Function: xmlXPathFreeContext

    void	xmlXPathFreeContext		(xmlXPathContextPtr ctxt)
    +

    Free up an xmlXPathContext

    +
    ctxt:the context to free

    Function: xmlXPathFreeNodeSet

    void	xmlXPathFreeNodeSet		(xmlNodeSetPtr obj)
    +

    Free the NodeSet compound (not the actual nodes !).

    +
    obj:the xmlNodeSetPtr to free

    Function: xmlXPathFreeNodeSetList

    void	xmlXPathFreeNodeSetList		(xmlXPathObjectPtr obj)
    +

    Free up the xmlXPathObjectPtr @obj but don't deallocate the objects in the list contrary to xmlXPathFreeObject().

    +
    obj:an existing NodeSetList object

    Function: xmlXPathFreeObject

    void	xmlXPathFreeObject		(xmlXPathObjectPtr obj)
    +

    Free up an xmlXPathObjectPtr object.

    +
    obj:the object to free

    Function type: xmlXPathFunction

    Function type: xmlXPathFunction
    +void	xmlXPathFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs) +

    An XPath function. The arguments (if any) are popped out from the context stack and the result is pushed on the stack.

    ctxt:the XPath interprestation context
    nargs:the number of arguments

    +

    Function: xmlXPathInit

    void	xmlXPathInit			(void)
    +

    Initialize the XPath environment

    +

    Function: xmlXPathIsInf

    int	xmlXPathIsInf			(double val)
    +

    Provides a portable isinf() function to detect whether a double is a +Infinite or -Infinite. Based on trio code http://sourceforge.net/projects/ctrio/

    +
    val:a double value
    Returns:1 vi the value is +Infinite, -1 if -Infinite, 0 otherwise

    Function: xmlXPathIsNaN

    int	xmlXPathIsNaN			(double val)
    +

    Provides a portable isnan() function to detect whether a double is a NotaNumber. Based on trio code http://sourceforge.net/projects/ctrio/

    +
    val:a double value
    Returns:1 if the value is a NaN, 0 otherwise

    Function: xmlXPathNewContext

    xmlXPathContextPtr	xmlXPathNewContext	(xmlDocPtr doc)
    +

    Create a new xmlXPathContext

    +
    doc:the XML document
    Returns:the xmlXPathContext just allocated. The caller will need to free it.

    Function: xmlXPathNodeSetCreate

    xmlNodeSetPtr	xmlXPathNodeSetCreate	(xmlNodePtr val)
    +

    Create a new xmlNodeSetPtr of type double and of value @val

    +
    val:an initial xmlNodePtr, or NULL
    Returns:the newly created object.

    Function: xmlXPathObjectCopy

    xmlXPathObjectPtr	xmlXPathObjectCopy	(xmlXPathObjectPtr val)
    +

    allocate a new copy of a given object

    +
    val:the original object
    Returns:the newly created object.

    Function: xmlXPathOrderDocElems

    long	xmlXPathOrderDocElems		(xmlDocPtr doc)
    +

    Call this routine to speed up XPath computation on static documents. This stamps all the element nodes with the document order Like for line information, the order is kept in the element->content field, the value stored is actually - the node number (starting at -1) to be able to differentiate from line numbers.

    +
    doc:an input document
    Returns:the number of elements found in the document or -1 in case of error.

    Daniel Veillard

    diff --git a/doc/html/libxml-xpathInternals.html b/doc/html/libxml-xpathInternals.html new file mode 100644 index 0000000..8168ad4 --- /dev/null +++ b/doc/html/libxml-xpathInternals.html @@ -0,0 +1,406 @@ + + +Module xpathInternals from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xpathInternals from libxml2

    API Menu
    API Indexes
    Related links

    internal interfaces for XML Path Language implementation used to build new modules on top of XPath like XPointer and XSLT

    Table of Contents

    #define CAST_TO_BOOLEAN
    #define CAST_TO_NUMBER
    #define CAST_TO_STRING
    #define CHECK_ARITY
    #define CHECK_ERROR
    #define CHECK_ERROR0
    #define CHECK_TYPE
    #define CHECK_TYPE0
    #define XP_ERROR
    #define XP_ERROR0
    #define xmlXPathCheckError
    #define xmlXPathEmptyNodeSet
    #define xmlXPathGetContextNode
    #define xmlXPathGetDocument
    #define xmlXPathGetError
    #define xmlXPathReturnBoolean
    #define xmlXPathReturnEmptyNodeSet
    #define xmlXPathReturnEmptyString
    #define xmlXPathReturnExternal
    #define xmlXPathReturnFalse
    #define xmlXPathReturnNodeSet
    #define xmlXPathReturnNumber
    #define xmlXPathReturnString
    #define xmlXPathReturnTrue
    #define xmlXPathSetArityError
    #define xmlXPathSetError
    #define xmlXPathSetTypeError
    #define xmlXPathStackIsExternal
    #define xmlXPathStackIsNodeSet
    xmlXPathObjectPtr	valuePop	(xmlXPathParserContextPtr ctxt)
    +
    int	valuePush			(xmlXPathParserContextPtr ctxt, 
    xmlXPathObjectPtr value)
    +
    void	xmlXPathAddValues		(xmlXPathParserContextPtr ctxt)
    +
    void	xmlXPathBooleanFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathCeilingFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    int	xmlXPathCompareValues		(xmlXPathParserContextPtr ctxt, 
    int inf,
    int strict)
    +
    void	xmlXPathConcatFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathContainsFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathCountFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathDebugDumpCompExpr	(FILE * output, 
    xmlXPathCompExprPtr comp,
    int depth)
    +
    void	xmlXPathDebugDumpObject		(FILE * output, 
    xmlXPathObjectPtr cur,
    int depth)
    +
    xmlNodeSetPtr	xmlXPathDifference	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    +
    xmlNodeSetPtr	xmlXPathDistinct	(xmlNodeSetPtr nodes)
    +
    xmlNodeSetPtr	xmlXPathDistinctSorted	(xmlNodeSetPtr nodes)
    +
    void	xmlXPathDivValues		(xmlXPathParserContextPtr ctxt)
    +
    int	xmlXPathEqualValues		(xmlXPathParserContextPtr ctxt)
    +
    void	xmlXPathErr			(xmlXPathParserContextPtr ctxt, 
    int error)
    +
    void	xmlXPathEvalExpr		(xmlXPathParserContextPtr ctxt)
    +
    int	xmlXPathEvaluatePredicateResult	(xmlXPathParserContextPtr ctxt, 
    xmlXPathObjectPtr res)
    +
    void	xmlXPathFalseFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathFloorFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathFreeParserContext	(xmlXPathParserContextPtr ctxt)
    +
    Function type: xmlXPathFuncLookupFunc
    +xmlXPathFunction	xmlXPathFuncLookupFunc	(void * ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri) +
    +
    xmlXPathFunction	xmlXPathFunctionLookup	(xmlXPathContextPtr ctxt, 
    const xmlChar * name)
    +
    xmlXPathFunction	xmlXPathFunctionLookupNS	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri)
    +
    int	xmlXPathHasSameNodes		(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    +
    void	xmlXPathIdFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    xmlNodeSetPtr	xmlXPathIntersection	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    +
    int	xmlXPathIsNodeType		(const xmlChar * name)
    +
    void	xmlXPathLangFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathLastFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    xmlNodeSetPtr	xmlXPathLeading		(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    +
    xmlNodeSetPtr	xmlXPathLeadingSorted	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    +
    void	xmlXPathLocalNameFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathModValues		(xmlXPathParserContextPtr ctxt)
    +
    void	xmlXPathMultValues		(xmlXPathParserContextPtr ctxt)
    +
    void	xmlXPathNamespaceURIFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    xmlXPathObjectPtr	xmlXPathNewBoolean	(int val)
    +
    xmlXPathObjectPtr	xmlXPathNewCString	(const char * val)
    +
    xmlXPathObjectPtr	xmlXPathNewFloat	(double val)
    +
    xmlXPathObjectPtr	xmlXPathNewNodeSet	(xmlNodePtr val)
    +
    xmlXPathObjectPtr	xmlXPathNewNodeSetList	(xmlNodeSetPtr val)
    +
    xmlXPathParserContextPtr	xmlXPathNewParserContext	(const xmlChar * str, 
    xmlXPathContextPtr ctxt)
    +
    xmlXPathObjectPtr	xmlXPathNewString	(const xmlChar * val)
    +
    xmlXPathObjectPtr	xmlXPathNewValueTree	(xmlNodePtr val)
    +
    xmlNodePtr	xmlXPathNextAncestor	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +
    xmlNodePtr	xmlXPathNextAncestorOrSelf	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +
    xmlNodePtr	xmlXPathNextAttribute	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +
    xmlNodePtr	xmlXPathNextChild	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +
    xmlNodePtr	xmlXPathNextDescendant	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +
    xmlNodePtr	xmlXPathNextDescendantOrSelf	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +
    xmlNodePtr	xmlXPathNextFollowing	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +
    xmlNodePtr	xmlXPathNextFollowingSibling	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +
    xmlNodePtr	xmlXPathNextNamespace	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +
    xmlNodePtr	xmlXPathNextParent	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +
    xmlNodePtr	xmlXPathNextPreceding	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +
    xmlNodePtr	xmlXPathNextPrecedingSibling	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +
    xmlNodePtr	xmlXPathNextSelf	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +
    xmlNodeSetPtr	xmlXPathNodeLeading	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    +
    xmlNodeSetPtr	xmlXPathNodeLeadingSorted	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    +
    void	xmlXPathNodeSetAdd		(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    +
    void	xmlXPathNodeSetAddNs		(xmlNodeSetPtr cur, 
    xmlNodePtr node,
    xmlNsPtr ns)
    +
    void	xmlXPathNodeSetAddUnique	(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    +
    int	xmlXPathNodeSetContains		(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    +
    void	xmlXPathNodeSetDel		(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    +
    void	xmlXPathNodeSetFreeNs		(xmlNsPtr ns)
    +
    xmlNodeSetPtr	xmlXPathNodeSetMerge	(xmlNodeSetPtr val1, 
    xmlNodeSetPtr val2)
    +
    void	xmlXPathNodeSetRemove		(xmlNodeSetPtr cur, 
    int val)
    +
    void	xmlXPathNodeSetSort		(xmlNodeSetPtr set)
    +
    xmlNodeSetPtr	xmlXPathNodeTrailing	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    +
    xmlNodeSetPtr	xmlXPathNodeTrailingSorted	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    +
    void	xmlXPathNormalizeFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    int	xmlXPathNotEqualValues		(xmlXPathParserContextPtr ctxt)
    +
    void	xmlXPathNotFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    const xmlChar *	xmlXPathNsLookup	(xmlXPathContextPtr ctxt, 
    const xmlChar * prefix)
    +
    void	xmlXPathNumberFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    xmlChar *	xmlXPathParseNCName	(xmlXPathParserContextPtr ctxt)
    +
    xmlChar *	xmlXPathParseName	(xmlXPathParserContextPtr ctxt)
    +
    int	xmlXPathPopBoolean		(xmlXPathParserContextPtr ctxt)
    +
    void *	xmlXPathPopExternal		(xmlXPathParserContextPtr ctxt)
    +
    xmlNodeSetPtr	xmlXPathPopNodeSet	(xmlXPathParserContextPtr ctxt)
    +
    double	xmlXPathPopNumber		(xmlXPathParserContextPtr ctxt)
    +
    xmlChar *	xmlXPathPopString	(xmlXPathParserContextPtr ctxt)
    +
    void	xmlXPathPositionFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathRegisterAllFunctions	(xmlXPathContextPtr ctxt)
    +
    int	xmlXPathRegisterFunc		(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    xmlXPathFunction f)
    +
    void	xmlXPathRegisterFuncLookup	(xmlXPathContextPtr ctxt, 
    xmlXPathFuncLookupFunc f,
    void * funcCtxt)
    +
    int	xmlXPathRegisterFuncNS		(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri,
    xmlXPathFunction f)
    +
    int	xmlXPathRegisterNs		(xmlXPathContextPtr ctxt, 
    const xmlChar * prefix,
    const xmlChar * ns_uri)
    +
    int	xmlXPathRegisterVariable	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    xmlXPathObjectPtr value)
    +
    void	xmlXPathRegisterVariableLookup	(xmlXPathContextPtr ctxt, 
    xmlXPathVariableLookupFunc f,
    void * data)
    +
    int	xmlXPathRegisterVariableNS	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri,
    xmlXPathObjectPtr value)
    +
    void	xmlXPathRegisteredFuncsCleanup	(xmlXPathContextPtr ctxt)
    +
    void	xmlXPathRegisteredNsCleanup	(xmlXPathContextPtr ctxt)
    +
    void	xmlXPathRegisteredVariablesCleanup	(xmlXPathContextPtr ctxt)
    +
    void	xmlXPathRoot			(xmlXPathParserContextPtr ctxt)
    +
    void	xmlXPathRoundFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathStartsWithFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    double	xmlXPathStringEvalNumber	(const xmlChar * str)
    +
    void	xmlXPathStringFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathStringLengthFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathSubValues		(xmlXPathParserContextPtr ctxt)
    +
    void	xmlXPathSubstringAfterFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathSubstringBeforeFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathSubstringFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathSumFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    xmlNodeSetPtr	xmlXPathTrailing	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    +
    xmlNodeSetPtr	xmlXPathTrailingSorted	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    +
    void	xmlXPathTranslateFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathTrueFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    void	xmlXPathValueFlipSign		(xmlXPathParserContextPtr ctxt)
    +
    xmlXPathObjectPtr	xmlXPathVariableLookup	(xmlXPathContextPtr ctxt, 
    const xmlChar * name)
    +
    Function type: xmlXPathVariableLookupFunc
    +xmlXPathObjectPtr	xmlXPathVariableLookupFunc	(void * ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri) +
    +
    xmlXPathObjectPtr	xmlXPathVariableLookupNS	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri)
    +
    xmlXPathObjectPtr	xmlXPathWrapCString	(char * val)
    +
    xmlXPathObjectPtr	xmlXPathWrapExternal	(void * val)
    +
    xmlXPathObjectPtr	xmlXPathWrapNodeSet	(xmlNodeSetPtr val)
    +
    xmlXPathObjectPtr	xmlXPathWrapString	(xmlChar * val)
    +
    void	xmlXPatherror			(xmlXPathParserContextPtr ctxt, 
    const char * file,
    int line,
    int no)
    +

    Description

    +

    Macro: CAST_TO_BOOLEAN

    #define CAST_TO_BOOLEAN

    Macro to try to cast the value on the top of the XPath stack to a boolean.

    +

    Macro: CAST_TO_NUMBER

    #define CAST_TO_NUMBER

    Macro to try to cast the value on the top of the XPath stack to a number.

    +

    Macro: CAST_TO_STRING

    #define CAST_TO_STRING

    Macro to try to cast the value on the top of the XPath stack to a string.

    +

    Macro: CHECK_ARITY

    #define CHECK_ARITY

    Macro to check that the number of args passed to an XPath function matches.

    +

    Macro: CHECK_ERROR

    #define CHECK_ERROR

    Macro to return from the function if an XPath error was detected.

    +

    Macro: CHECK_ERROR0

    #define CHECK_ERROR0

    Macro to return 0 from the function if an XPath error was detected.

    +

    Macro: CHECK_TYPE

    #define CHECK_TYPE

    Macro to check that the value on top of the XPath stack is of a given type.

    +

    Macro: CHECK_TYPE0

    #define CHECK_TYPE0

    Macro to check that the value on top of the XPath stack is of a given type. Return(0) in case of failure

    +

    Macro: XP_ERROR

    #define XP_ERROR

    Macro to raise an XPath error and return.

    +

    Macro: XP_ERROR0

    #define XP_ERROR0

    Macro to raise an XPath error and return 0.

    +

    Macro: xmlXPathCheckError

    #define xmlXPathCheckError

    Check if an XPath error was raised. Returns true if an error has been raised, false otherwise.

    +

    Macro: xmlXPathEmptyNodeSet

    #define xmlXPathEmptyNodeSet

    Empties a node-set.

    +

    Macro: xmlXPathGetContextNode

    #define xmlXPathGetContextNode

    Get the context node of an XPath context. Returns the context node.

    +

    Macro: xmlXPathGetDocument

    #define xmlXPathGetDocument

    Get the document of an XPath context. Returns the context document.

    +

    Macro: xmlXPathGetError

    #define xmlXPathGetError

    Get the error code of an XPath context. Returns the context error.

    +

    Macro: xmlXPathReturnBoolean

    #define xmlXPathReturnBoolean

    Pushes the boolean @val on the context stack.

    +

    Macro: xmlXPathReturnEmptyNodeSet

    #define xmlXPathReturnEmptyNodeSet

    Pushes an empty node-set on the context stack.

    +

    Macro: xmlXPathReturnEmptyString

    #define xmlXPathReturnEmptyString

    Pushes an empty string on the stack.

    +

    Macro: xmlXPathReturnExternal

    #define xmlXPathReturnExternal

    Pushes user data on the context stack.

    +

    Macro: xmlXPathReturnFalse

    #define xmlXPathReturnFalse

    Pushes false on the context stack.

    +

    Macro: xmlXPathReturnNodeSet

    #define xmlXPathReturnNodeSet

    Pushes the node-set @ns on the context stack.

    +

    Macro: xmlXPathReturnNumber

    #define xmlXPathReturnNumber

    Pushes the double @val on the context stack.

    +

    Macro: xmlXPathReturnString

    #define xmlXPathReturnString

    Pushes the string @str on the context stack.

    +

    Macro: xmlXPathReturnTrue

    #define xmlXPathReturnTrue

    Pushes true on the context stack.

    +

    Macro: xmlXPathSetArityError

    #define xmlXPathSetArityError

    Raises an XPATH_INVALID_ARITY error.

    +

    Macro: xmlXPathSetError

    #define xmlXPathSetError

    Raises an error.

    +

    Macro: xmlXPathSetTypeError

    #define xmlXPathSetTypeError

    Raises an XPATH_INVALID_TYPE error.

    +

    Macro: xmlXPathStackIsExternal

    #define xmlXPathStackIsExternal

    Checks if the current value on the XPath stack is an external object. Returns true if the current object on the stack is an external object.

    +

    Macro: xmlXPathStackIsNodeSet

    #define xmlXPathStackIsNodeSet

    Check if the current value on the XPath stack is a node set or an XSLT value tree. Returns true if the current object on the stack is a node-set.

    +

    Function: valuePop

    xmlXPathObjectPtr	valuePop	(xmlXPathParserContextPtr ctxt)
    +

    Pops the top XPath object from the value stack

    +
    ctxt:an XPath evaluation context
    Returns:the XPath object just removed

    Function: valuePush

    int	valuePush			(xmlXPathParserContextPtr ctxt, 
    xmlXPathObjectPtr value)
    +

    Pushes a new XPath object on top of the value stack

    +
    ctxt:an XPath evaluation context
    value:the XPath object
    Returns:the number of items on the value stack

    Function: xmlXPathAddValues

    void	xmlXPathAddValues		(xmlXPathParserContextPtr ctxt)
    +

    Implement the add operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.

    +
    ctxt:the XPath Parser context

    Function: xmlXPathBooleanFunction

    void	xmlXPathBooleanFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the boolean() XPath function boolean boolean(object) The 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

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathCeilingFunction

    void	xmlXPathCeilingFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the ceiling() XPath function 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.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathCompareValues

    int	xmlXPathCompareValues		(xmlXPathParserContextPtr ctxt, 
    int inf,
    int strict)
    +

    Implement the compare operation on XPath objects: @arg1 < @arg2 (1, 1, ... @arg1 <= @arg2 (1, 0, ... @arg1 > @arg2 (0, 1, ... @arg1 >= @arg2 (0, 0, ... When neither object to be compared is a node-set and the operator is <=, <, >=, >, then the objects are compared by converted both objects to numbers and comparing the numbers according to IEEE 754. The < comparison will be true if and only if the first number is less than the second number. The <= comparison will be true if and only if the first number is less than or equal to the second number. The > comparison will be true if and only if the first number is greater than the second number. The >= comparison will be true if and only if the first number is greater than or equal to the second number.

    +
    ctxt:the XPath Parser context
    inf:less than (1) or greater than (0)
    strict:is the comparison strict
    Returns:1 if the comparison succeeded, 0 if it failed

    Function: xmlXPathConcatFunction

    void	xmlXPathConcatFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the concat() XPath function string concat(string, string, string*) The concat function returns the concatenation of its arguments.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathContainsFunction

    void	xmlXPathContainsFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

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

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathCountFunction

    void	xmlXPathCountFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the count() XPath function number count(node-set)

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathDebugDumpCompExpr

    void	xmlXPathDebugDumpCompExpr	(FILE * output, 
    xmlXPathCompExprPtr comp,
    int depth)
    +

    Dumps the tree of the compiled XPath expression.

    +
    output:the FILE * for the output
    comp:the precompiled XPath expression
    depth:the indentation level.

    Function: xmlXPathDebugDumpObject

    void	xmlXPathDebugDumpObject		(FILE * output, 
    xmlXPathObjectPtr cur,
    int depth)
    +

    Dump the content of the object for debugging purposes

    +
    output:the FILE * to dump the output
    cur:the object to inspect
    depth:indentation level

    Function: xmlXPathDifference

    xmlNodeSetPtr	xmlXPathDifference	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    +

    Implements the EXSLT - Sets difference() function: node-set set:difference (node-set, node-set)

    +
    nodes1:a node-set
    nodes2:a node-set
    Returns:the difference between the two node sets, or nodes1 if nodes2 is empty

    Function: xmlXPathDistinct

    xmlNodeSetPtr	xmlXPathDistinct	(xmlNodeSetPtr nodes)
    +

    Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set) @nodes is sorted by document order, then #exslSetsDistinctSorted is called with the sorted node-set

    +
    nodes:a node-set
    Returns:a subset of the nodes contained in @nodes, or @nodes if it is empty

    Function: xmlXPathDistinctSorted

    xmlNodeSetPtr	xmlXPathDistinctSorted	(xmlNodeSetPtr nodes)
    +

    Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set)

    +
    nodes:a node-set, sorted by document order
    Returns:a subset of the nodes contained in @nodes, or @nodes if it is empty

    Function: xmlXPathDivValues

    void	xmlXPathDivValues		(xmlXPathParserContextPtr ctxt)
    +

    Implement the div operation on XPath objects @arg1 / @arg2: The numeric operators convert their operands to numbers as if by calling the number function.

    +
    ctxt:the XPath Parser context

    Function: xmlXPathEqualValues

    int	xmlXPathEqualValues		(xmlXPathParserContextPtr ctxt)
    +

    Implement the equal operation on XPath objects content: @arg1 == @arg2

    +
    ctxt:the XPath Parser context
    Returns:0 or 1 depending on the results of the test.

    Function: xmlXPathErr

    void	xmlXPathErr			(xmlXPathParserContextPtr ctxt, 
    int error)
    +

    Handle a Relax NG Parsing error

    +
    ctxt:a XPath parser context
    error:the error code

    Function: xmlXPathEvalExpr

    void	xmlXPathEvalExpr		(xmlXPathParserContextPtr ctxt)
    +

    Parse and evaluate an XPath expression in the given context, then push the result on the context stack

    +
    ctxt:the XPath Parser context

    Function: xmlXPathEvaluatePredicateResult

    int	xmlXPathEvaluatePredicateResult	(xmlXPathParserContextPtr ctxt, 
    xmlXPathObjectPtr res)
    +

    Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the position of the context node in the context node list (as returned by the position function) and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function.

    +
    ctxt:the XPath Parser context
    res:the Predicate Expression evaluation result
    Returns:1 if predicate is true, 0 otherwise

    Function: xmlXPathFalseFunction

    void	xmlXPathFalseFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the false() XPath function boolean false()

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathFloorFunction

    void	xmlXPathFloorFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the floor() XPath function 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.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathFreeParserContext

    void	xmlXPathFreeParserContext	(xmlXPathParserContextPtr ctxt)
    +

    Free up an xmlXPathParserContext

    +
    ctxt:the context to free

    Function type: xmlXPathFuncLookupFunc

    Function type: xmlXPathFuncLookupFunc
    +xmlXPathFunction	xmlXPathFuncLookupFunc	(void * ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri) +

    Prototype for callbacks used to plug function lookup in the XPath engine.

    ctxt:an XPath context
    name:name of the function
    ns_uri:the namespace name hosting this function
    Returns:the XPath function or NULL if not found.

    +

    Function: xmlXPathFunctionLookup

    xmlXPathFunction	xmlXPathFunctionLookup	(xmlXPathContextPtr ctxt, 
    const xmlChar * name)
    +

    Search in the Function array of the context for the given function.

    +
    ctxt:the XPath context
    name:the function name
    Returns:the xmlXPathFunction or NULL if not found

    Function: xmlXPathFunctionLookupNS

    xmlXPathFunction	xmlXPathFunctionLookupNS	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri)
    +

    Search in the Function array of the context for the given function.

    +
    ctxt:the XPath context
    name:the function name
    ns_uri:the function namespace URI
    Returns:the xmlXPathFunction or NULL if not found

    Function: xmlXPathHasSameNodes

    int	xmlXPathHasSameNodes		(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    +

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

    +
    nodes1:a node-set
    nodes2:a node-set
    Returns:true (1) if @nodes1 shares any node with @nodes2, false (0) otherwise

    Function: xmlXPathIdFunction

    void	xmlXPathIdFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the id() XPath function 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 string value of each of the nodes in the argument node-set. When the argument to id is of any other type, the argument is converted to a string as if by a call to the string function; the string is split into a whitespace-separated list of tokens (whitespace is any sequence of characters matching the production S); the result is a node-set containing the elements in the same document as the context node that have a unique ID equal to any of the tokens in the list.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathIntersection

    xmlNodeSetPtr	xmlXPathIntersection	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    +

    Implements the EXSLT - Sets intersection() function: node-set set:intersection (node-set, node-set)

    +
    nodes1:a node-set
    nodes2:a node-set
    Returns:a node set comprising the nodes that are within both the node sets passed as arguments

    Function: xmlXPathIsNodeType

    int	xmlXPathIsNodeType		(const xmlChar * name)
    +

    Is the name given a NodeType one. [38] NodeType ::= 'comment' | 'text' | 'processing-instruction' | 'node'

    +
    name:a name string
    Returns:1 if true 0 otherwise

    Function: xmlXPathLangFunction

    void	xmlXPathLangFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the lang() XPath function 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 the argument string. The language of the context node is determined by the value of the xml:lang attribute on the context node, or, if the context node has no xml:lang attribute, by the value of the xml:lang attribute on the nearest ancestor of the context node that has an xml:lang attribute. If there is no such attribute, then lang

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathLastFunction

    void	xmlXPathLastFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the last() XPath function number last() The last function returns the number of nodes in the context node list.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathLeading

    xmlNodeSetPtr	xmlXPathLeading		(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    +

    Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes1 and @nodes2 are sorted by document order, then #exslSetsLeadingSorted is called.

    +
    nodes1:a node-set
    nodes2:a node-set
    Returns:the nodes in @nodes1 that precede the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2

    Function: xmlXPathLeadingSorted

    xmlNodeSetPtr	xmlXPathLeadingSorted	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    +

    Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)

    +
    nodes1:a node-set, sorted by document order
    nodes2:a node-set, sorted by document order
    Returns:the nodes in @nodes1 that precede the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2

    Function: xmlXPathLocalNameFunction

    void	xmlXPathLocalNameFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the local-name() XPath function 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 name, an empty string is returned. If the argument is omitted it defaults to the context node.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathModValues

    void	xmlXPathModValues		(xmlXPathParserContextPtr ctxt)
    +

    Implement the mod operation on XPath objects: @arg1 / @arg2 The numeric operators convert their operands to numbers as if by calling the number function.

    +
    ctxt:the XPath Parser context

    Function: xmlXPathMultValues

    void	xmlXPathMultValues		(xmlXPathParserContextPtr ctxt)
    +

    Implement the multiply operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.

    +
    ctxt:the XPath Parser context

    Function: xmlXPathNamespaceURIFunction

    void	xmlXPathNamespaceURIFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the namespace-uri() XPath function 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, the first node has no name, or the expanded name has no namespace URI, an empty string is returned. If the argument is omitted it defaults to the context node.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathNewBoolean

    xmlXPathObjectPtr	xmlXPathNewBoolean	(int val)
    +

    Create a new xmlXPathObjectPtr of type boolean and of value @val

    +
    val:the boolean value
    Returns:the newly created object.

    Function: xmlXPathNewCString

    xmlXPathObjectPtr	xmlXPathNewCString	(const char * val)
    +

    Create a new xmlXPathObjectPtr of type string and of value @val

    +
    val:the char * value
    Returns:the newly created object.

    Function: xmlXPathNewFloat

    xmlXPathObjectPtr	xmlXPathNewFloat	(double val)
    +

    Create a new xmlXPathObjectPtr of type double and of value @val

    +
    val:the double value
    Returns:the newly created object.

    Function: xmlXPathNewNodeSet

    xmlXPathObjectPtr	xmlXPathNewNodeSet	(xmlNodePtr val)
    +

    Create a new xmlXPathObjectPtr of type NodeSet and initialize it with the single Node @val

    +
    val:the NodePtr value
    Returns:the newly created object.

    Function: xmlXPathNewNodeSetList

    xmlXPathObjectPtr	xmlXPathNewNodeSetList	(xmlNodeSetPtr val)
    +

    Create a new xmlXPathObjectPtr of type NodeSet and initialize it with the Nodeset @val

    +
    val:an existing NodeSet
    Returns:the newly created object.

    Function: xmlXPathNewParserContext

    xmlXPathParserContextPtr	xmlXPathNewParserContext	(const xmlChar * str, 
    xmlXPathContextPtr ctxt)
    +

    Create a new xmlXPathParserContext

    +
    str:the XPath expression
    ctxt:the XPath context
    Returns:the xmlXPathParserContext just allocated.

    Function: xmlXPathNewString

    xmlXPathObjectPtr	xmlXPathNewString	(const xmlChar * val)
    +

    Create a new xmlXPathObjectPtr of type string and of value @val

    +
    val:the xmlChar * value
    Returns:the newly created object.

    Function: xmlXPathNewValueTree

    xmlXPathObjectPtr	xmlXPathNewValueTree	(xmlNodePtr val)
    +

    Create a new xmlXPathObjectPtr of type Value Tree (XSLT) and initialize it with the tree root @val

    +
    val:the NodePtr value
    Returns:the newly created object.

    Function: xmlXPathNextAncestor

    xmlNodePtr	xmlXPathNextAncestor	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +

    Traversal function for the "ancestor" direction the ancestor axis contains the ancestors of the context node; the ancestors of the context node consist of the parent of context node and the parent's parent and so on; the nodes are ordered in reverse document order; thus the parent is the first node on the axis, and the parent's parent is the second node on the axis

    +
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextAncestorOrSelf

    xmlNodePtr	xmlXPathNextAncestorOrSelf	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +

    Traversal function for the "ancestor-or-self" direction he ancestor-or-self axis contains the context node and ancestors of the context node in reverse document order; thus the context node is the first node on the axis, and the context node's parent the second; parent here is defined the same as with the parent axis.

    +
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextAttribute

    xmlNodePtr	xmlXPathNextAttribute	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +

    Traversal function for the "attribute" direction TODO: support DTD inherited default attributes

    +
    ctxt:the XPath Parser context
    cur:the current attribute in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextChild

    xmlNodePtr	xmlXPathNextChild	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +

    Traversal function for the "child" direction The child axis contains the children of the context node in document order.

    +
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextDescendant

    xmlNodePtr	xmlXPathNextDescendant	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +

    Traversal function for the "descendant" direction the descendant axis contains the descendants of the context node in document order; a descendant is a child or a child of a child and so on.

    +
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextDescendantOrSelf

    xmlNodePtr	xmlXPathNextDescendantOrSelf	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +

    Traversal function for the "descendant-or-self" direction the descendant-or-self axis contains the context node and the descendants of the context node in document order; thus the context node is the first node on the axis, and the first child of the context node is the second node on the axis

    +
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextFollowing

    xmlNodePtr	xmlXPathNextFollowing	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +

    Traversal function for the "following" direction The following axis contains all nodes in the same document as the context node that are after the context node in document order, excluding any descendants and excluding attribute nodes and namespace nodes; the nodes are ordered in document order

    +
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextFollowingSibling

    xmlNodePtr	xmlXPathNextFollowingSibling	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +

    Traversal function for the "following-sibling" direction The following-sibling axis contains the following siblings of the context node in document order.

    +
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextNamespace

    xmlNodePtr	xmlXPathNextNamespace	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +

    Traversal function for the "namespace" direction the namespace axis contains the namespace nodes of the context node; the order of nodes on this axis is implementation-defined; the axis will be empty unless the context node is an element We keep the XML namespace node at the end of the list.

    +
    ctxt:the XPath Parser context
    cur:the current attribute in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextParent

    xmlNodePtr	xmlXPathNextParent	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +

    Traversal function for the "parent" direction The parent axis contains the parent of the context node, if there is one.

    +
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextPreceding

    xmlNodePtr	xmlXPathNextPreceding	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +

    Traversal function for the "preceding" direction the preceding axis contains all nodes in the same document as the context node that are before the context node in document order, excluding any ancestors and excluding attribute nodes and namespace nodes; the nodes are ordered in reverse document order

    +
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextPrecedingSibling

    xmlNodePtr	xmlXPathNextPrecedingSibling	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +

    Traversal function for the "preceding-sibling" direction The preceding-sibling axis contains the preceding siblings of the context node in reverse document order; the first preceding sibling is first on the axis; the sibling preceding that node is the second on the axis and so on.

    +
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNextSelf

    xmlNodePtr	xmlXPathNextSelf	(xmlXPathParserContextPtr ctxt, 
    xmlNodePtr cur)
    +

    Traversal function for the "self" direction The self axis contains just the context node itself

    +
    ctxt:the XPath Parser context
    cur:the current node in the traversal
    Returns:the next element following that axis

    Function: xmlXPathNodeLeading

    xmlNodeSetPtr	xmlXPathNodeLeading	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    +

    Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes is sorted by document order, then #exslSetsNodeLeadingSorted is called.

    +
    nodes:a node-set
    node:a node
    Returns:the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node

    Function: xmlXPathNodeLeadingSorted

    xmlNodeSetPtr	xmlXPathNodeLeadingSorted	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    +

    Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)

    +
    nodes:a node-set, sorted by document order
    node:a node
    Returns:the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node

    Function: xmlXPathNodeSetAdd

    void	xmlXPathNodeSetAdd		(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    +

    add a new xmlNodePtr to an existing NodeSet

    +
    cur:the initial node set
    val:a new xmlNodePtr

    Function: xmlXPathNodeSetAddNs

    void	xmlXPathNodeSetAddNs		(xmlNodeSetPtr cur, 
    xmlNodePtr node,
    xmlNsPtr ns)
    +

    add a new namespace node to an existing NodeSet

    +
    cur:the initial node set
    node:the hosting node
    ns:a the namespace node

    Function: xmlXPathNodeSetAddUnique

    void	xmlXPathNodeSetAddUnique	(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    +

    add a new xmlNodePtr to an existing NodeSet, optimized version when we are sure the node is not already in the set.

    +
    cur:the initial node set
    val:a new xmlNodePtr

    Function: xmlXPathNodeSetContains

    int	xmlXPathNodeSetContains		(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    +

    checks whether @cur contains @val

    +
    cur:the node-set
    val:the node
    Returns:true (1) if @cur contains @val, false (0) otherwise

    Function: xmlXPathNodeSetDel

    void	xmlXPathNodeSetDel		(xmlNodeSetPtr cur, 
    xmlNodePtr val)
    +

    Removes an xmlNodePtr from an existing NodeSet

    +
    cur:the initial node set
    val:an xmlNodePtr

    Function: xmlXPathNodeSetFreeNs

    void	xmlXPathNodeSetFreeNs		(xmlNsPtr ns)
    +

    Namespace nodes in libxml don't match the XPath semantic. In a node set the namespace nodes are duplicated and the next pointer is set to the parent node in the XPath semantic. Check if such a node needs to be freed

    +
    ns:the XPath namespace node found in a nodeset.

    Function: xmlXPathNodeSetMerge

    xmlNodeSetPtr	xmlXPathNodeSetMerge	(xmlNodeSetPtr val1, 
    xmlNodeSetPtr val2)
    +

    Merges two nodesets, all nodes from @val2 are added to @val1 if @val1 is NULL, a new set is created and copied from @val2

    +
    val1:the first NodeSet or NULL
    val2:the second NodeSet
    Returns:@val1 once extended or NULL in case of error.

    Function: xmlXPathNodeSetRemove

    void	xmlXPathNodeSetRemove		(xmlNodeSetPtr cur, 
    int val)
    +

    Removes an entry from an existing NodeSet list.

    +
    cur:the initial node set
    val:the index to remove

    Function: xmlXPathNodeSetSort

    void	xmlXPathNodeSetSort		(xmlNodeSetPtr set)
    +

    Sort the node set in document order

    +
    set:the node set

    Function: xmlXPathNodeTrailing

    xmlNodeSetPtr	xmlXPathNodeTrailing	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    +

    Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes is sorted by document order, then #xmlXPathNodeTrailingSorted is called.

    +
    nodes:a node-set
    node:a node
    Returns:the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node

    Function: xmlXPathNodeTrailingSorted

    xmlNodeSetPtr	xmlXPathNodeTrailingSorted	(xmlNodeSetPtr nodes, 
    xmlNodePtr node)
    +

    Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)

    +
    nodes:a node-set, sorted by document order
    node:a node
    Returns:the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node

    Function: xmlXPathNormalizeFunction

    void	xmlXPathNormalizeFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the normalize-space() XPath function 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 space. Whitespace characters are the same allowed by the S production in XML. If the argument is omitted, it defaults to the context node converted to a string, in other words the value of the context node.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathNotEqualValues

    int	xmlXPathNotEqualValues		(xmlXPathParserContextPtr ctxt)
    +

    Implement the equal operation on XPath objects content: @arg1 == @arg2

    +
    ctxt:the XPath Parser context
    Returns:0 or 1 depending on the results of the test.

    Function: xmlXPathNotFunction

    void	xmlXPathNotFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the not() XPath function boolean not(boolean) The not function returns true if its argument is false, and false otherwise.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathNsLookup

    const xmlChar *	xmlXPathNsLookup	(xmlXPathContextPtr ctxt, 
    const xmlChar * prefix)
    +

    Search in the namespace declaration array of the context for the given namespace name associated to the given prefix

    +
    ctxt:the XPath context
    prefix:the namespace prefix value
    Returns:the value or NULL if not found

    Function: xmlXPathNumberFunction

    void	xmlXPathNumberFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the number() XPath function number number(object?)

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathParseNCName

    xmlChar *	xmlXPathParseNCName	(xmlXPathParserContextPtr ctxt)
    +

    parse an XML namespace non qualified name. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender

    +
    ctxt:the XPath Parser context
    Returns:the namespace name or NULL

    Function: xmlXPathParseName

    xmlChar *	xmlXPathParseName	(xmlXPathParserContextPtr ctxt)
    +

    parse an XML name [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)*

    +
    ctxt:the XPath Parser context
    Returns:the namespace name or NULL

    Function: xmlXPathPopBoolean

    int	xmlXPathPopBoolean		(xmlXPathParserContextPtr ctxt)
    +

    Pops a boolean from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.

    +
    ctxt:an XPath parser context
    Returns:the boolean

    Function: xmlXPathPopExternal

    void *	xmlXPathPopExternal		(xmlXPathParserContextPtr ctxt)
    +

    Pops an external object from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.

    +
    ctxt:an XPath parser context
    Returns:the object

    Function: xmlXPathPopNodeSet

    xmlNodeSetPtr	xmlXPathPopNodeSet	(xmlXPathParserContextPtr ctxt)
    +

    Pops a node-set from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.

    +
    ctxt:an XPath parser context
    Returns:the node-set

    Function: xmlXPathPopNumber

    double	xmlXPathPopNumber		(xmlXPathParserContextPtr ctxt)
    +

    Pops a number from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.

    +
    ctxt:an XPath parser context
    Returns:the number

    Function: xmlXPathPopString

    xmlChar *	xmlXPathPopString	(xmlXPathParserContextPtr ctxt)
    +

    Pops a string from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.

    +
    ctxt:an XPath parser context
    Returns:the string

    Function: xmlXPathPositionFunction

    void	xmlXPathPositionFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the position() XPath function number position() The position function returns the position of the context node in the context node list. The first position is 1, and so the last position will be equal to last().

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathRegisterAllFunctions

    void	xmlXPathRegisterAllFunctions	(xmlXPathContextPtr ctxt)
    +

    Registers all default XPath functions in this context

    +
    ctxt:the XPath context

    Function: xmlXPathRegisterFunc

    int	xmlXPathRegisterFunc		(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    xmlXPathFunction f)
    +

    Register a new function. If @f is NULL it unregisters the function

    +
    ctxt:the XPath context
    name:the function name
    f:the function implementation or NULL
    Returns:0 in case of success, -1 in case of error

    Function: xmlXPathRegisterFuncLookup

    void	xmlXPathRegisterFuncLookup	(xmlXPathContextPtr ctxt, 
    xmlXPathFuncLookupFunc f,
    void * funcCtxt)
    +

    Registers an external mechanism to do function lookup.

    +
    ctxt:the XPath context
    f:the lookup function
    funcCtxt:the lookup data

    Function: xmlXPathRegisterFuncNS

    int	xmlXPathRegisterFuncNS		(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri,
    xmlXPathFunction f)
    +

    Register a new function. If @f is NULL it unregisters the function

    +
    ctxt:the XPath context
    name:the function name
    ns_uri:the function namespace URI
    f:the function implementation or NULL
    Returns:0 in case of success, -1 in case of error

    Function: xmlXPathRegisterNs

    int	xmlXPathRegisterNs		(xmlXPathContextPtr ctxt, 
    const xmlChar * prefix,
    const xmlChar * ns_uri)
    +

    Register a new namespace. If @ns_uri is NULL it unregisters the namespace

    +
    ctxt:the XPath context
    prefix:the namespace prefix
    ns_uri:the namespace name
    Returns:0 in case of success, -1 in case of error

    Function: xmlXPathRegisterVariable

    int	xmlXPathRegisterVariable	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    xmlXPathObjectPtr value)
    +

    Register a new variable value. If @value is NULL it unregisters the variable

    +
    ctxt:the XPath context
    name:the variable name
    value:the variable value or NULL
    Returns:0 in case of success, -1 in case of error

    Function: xmlXPathRegisterVariableLookup

    void	xmlXPathRegisterVariableLookup	(xmlXPathContextPtr ctxt, 
    xmlXPathVariableLookupFunc f,
    void * data)
    +

    register an external mechanism to do variable lookup

    +
    ctxt:the XPath context
    f:the lookup function
    data:the lookup data

    Function: xmlXPathRegisterVariableNS

    int	xmlXPathRegisterVariableNS	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri,
    xmlXPathObjectPtr value)
    +

    Register a new variable value. If @value is NULL it unregisters the variable

    +
    ctxt:the XPath context
    name:the variable name
    ns_uri:the variable namespace URI
    value:the variable value or NULL
    Returns:0 in case of success, -1 in case of error

    Function: xmlXPathRegisteredFuncsCleanup

    void	xmlXPathRegisteredFuncsCleanup	(xmlXPathContextPtr ctxt)
    +

    Cleanup the XPath context data associated to registered functions

    +
    ctxt:the XPath context

    Function: xmlXPathRegisteredNsCleanup

    void	xmlXPathRegisteredNsCleanup	(xmlXPathContextPtr ctxt)
    +

    Cleanup the XPath context data associated to registered variables

    +
    ctxt:the XPath context

    Function: xmlXPathRegisteredVariablesCleanup

    void	xmlXPathRegisteredVariablesCleanup	(xmlXPathContextPtr ctxt)
    +

    Cleanup the XPath context data associated to registered variables

    +
    ctxt:the XPath context

    Function: xmlXPathRoot

    void	xmlXPathRoot			(xmlXPathParserContextPtr ctxt)
    +

    Initialize the context to the root of the document

    +
    ctxt:the XPath Parser context

    Function: xmlXPathRoundFunction

    void	xmlXPathRoundFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the round() XPath function 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.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathStartsWithFunction

    void	xmlXPathStartsWithFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the starts-with() XPath function 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.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathStringEvalNumber

    double	xmlXPathStringEvalNumber	(const xmlChar * str)
    +

    [30a] Float ::= Number ('e' Digits?)? [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 negative values : '-' Number.

    +
    str:A string to scan
    Returns:the double value.

    Function: xmlXPathStringFunction

    void	xmlXPathStringFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the string() XPath function string string(object?) The 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.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathStringLengthFunction

    void	xmlXPathStringLengthFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the string-length() XPath function 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 of the context node.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathSubValues

    void	xmlXPathSubValues		(xmlXPathParserContextPtr ctxt)
    +

    Implement the subtraction operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.

    +
    ctxt:the XPath Parser context

    Function: xmlXPathSubstringAfterFunction

    void	xmlXPathSubstringAfterFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the substring-after() XPath function 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 if the first argument string does not contain the second argument string. For example, substring-after("1999/04/01","/") returns 04/01, and substring-after("1999/04/01","19") returns 99/04/01.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathSubstringBeforeFunction

    void	xmlXPathSubstringBeforeFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the substring-before() XPath function 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 if the first argument string does not contain the second argument string. For example, substring-before("1999/04/01","/") returns 1999.

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathSubstringFunction

    void	xmlXPathSubstringFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the substring() XPath function 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, substring("12345",2,3) returns "234". If the third argument is not specified, it returns the substring starting at the position specified in the second argument and continuing to the end of the string. For example, substring("12345",2) returns "2345". More precisely, each character in the string (see [3.6 Strings]) is considered to have a numeric position: the position of the first character is 1, the position of the second character is 2 and so on. The returned substring contains 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 ""

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathSumFunction

    void	xmlXPathSumFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

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

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathTrailing

    xmlNodeSetPtr	xmlXPathTrailing	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    +

    Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes1 and @nodes2 are sorted by document order, then #xmlXPathTrailingSorted is called.

    +
    nodes1:a node-set
    nodes2:a node-set
    Returns:the nodes in @nodes1 that follow the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2

    Function: xmlXPathTrailingSorted

    xmlNodeSetPtr	xmlXPathTrailingSorted	(xmlNodeSetPtr nodes1, 
    xmlNodeSetPtr nodes2)
    +

    Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)

    +
    nodes1:a node-set, sorted by document order
    nodes2:a node-set, sorted by document order
    Returns:the nodes in @nodes1 that follow the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2

    Function: xmlXPathTranslateFunction

    void	xmlXPathTranslateFunction	(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the translate() XPath function 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 string. For example, translate("bar","abc","ABC") returns the string BAr. If there is a character in the second argument string with no character at a corresponding position in the third argument string (because the second argument string is longer than the third argument string), then occurrences of that character in the first argument string are removed. For example, translate("--aaa--","abc-","ABC")

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathTrueFunction

    void	xmlXPathTrueFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the true() XPath function boolean true()

    +
    ctxt:the XPath Parser context
    nargs:the number of arguments

    Function: xmlXPathValueFlipSign

    void	xmlXPathValueFlipSign		(xmlXPathParserContextPtr ctxt)
    +

    Implement the unary - operation on an XPath object The numeric operators convert their operands to numbers as if by calling the number function.

    +
    ctxt:the XPath Parser context

    Function: xmlXPathVariableLookup

    xmlXPathObjectPtr	xmlXPathVariableLookup	(xmlXPathContextPtr ctxt, 
    const xmlChar * name)
    +

    Search in the Variable array of the context for the given variable value.

    +
    ctxt:the XPath context
    name:the variable name
    Returns:a copy of the value or NULL if not found

    Function type: xmlXPathVariableLookupFunc

    Function type: xmlXPathVariableLookupFunc
    +xmlXPathObjectPtr	xmlXPathVariableLookupFunc	(void * ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri) +

    Prototype for callbacks used to plug variable lookup in the XPath engine.

    ctxt:an XPath context
    name:name of the variable
    ns_uri:the namespace name hosting this variable
    Returns:the XPath object value or NULL if not found.

    +

    Function: xmlXPathVariableLookupNS

    xmlXPathObjectPtr	xmlXPathVariableLookupNS	(xmlXPathContextPtr ctxt, 
    const xmlChar * name,
    const xmlChar * ns_uri)
    +

    Search in the Variable array of the context for the given variable value.

    +
    ctxt:the XPath context
    name:the variable name
    ns_uri:the variable namespace URI
    Returns:the a copy of the value or NULL if not found

    Function: xmlXPathWrapCString

    xmlXPathObjectPtr	xmlXPathWrapCString	(char * val)
    +

    Wraps a string into an XPath object.

    +
    val:the char * value
    Returns:the newly created object.

    Function: xmlXPathWrapExternal

    xmlXPathObjectPtr	xmlXPathWrapExternal	(void * val)
    +

    Wraps the @val data into an XPath object.

    +
    val:the user data
    Returns:the newly created object.

    Function: xmlXPathWrapNodeSet

    xmlXPathObjectPtr	xmlXPathWrapNodeSet	(xmlNodeSetPtr val)
    +

    Wrap the Nodeset @val in a new xmlXPathObjectPtr

    +
    val:the NodePtr value
    Returns:the newly created object.

    Function: xmlXPathWrapString

    xmlXPathObjectPtr	xmlXPathWrapString	(xmlChar * val)
    +

    Wraps the @val string into an XPath object.

    +
    val:the xmlChar * value
    Returns:the newly created object.

    Function: xmlXPatherror

    void	xmlXPatherror			(xmlXPathParserContextPtr ctxt, 
    const char * file,
    int line,
    int no)
    +

    Formats an error message.

    +
    ctxt:the XPath Parser context
    file:the file name
    line:the line number
    no:the error number

    Daniel Veillard

    diff --git a/doc/html/libxml-xpointer.html b/doc/html/libxml-xpointer.html new file mode 100644 index 0000000..94944a0 --- /dev/null +++ b/doc/html/libxml-xpointer.html @@ -0,0 +1,83 @@ + + +Module xpointer from libxml2
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    Module xpointer from libxml2

    API Menu
    API Indexes
    Related links

    API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000

    Table of Contents

    Structure xmlLocationSet
    struct _xmlLocationSet +
    Typedef xmlLocationSet * xmlLocationSetPtr
    +
    xmlNodePtr	xmlXPtrBuildNodeList	(xmlXPathObjectPtr obj)
    +
    xmlXPathObjectPtr	xmlXPtrEval	(const xmlChar * str, 
    xmlXPathContextPtr ctx)
    +
    void	xmlXPtrEvalRangePredicate	(xmlXPathParserContextPtr ctxt)
    +
    void	xmlXPtrFreeLocationSet		(xmlLocationSetPtr obj)
    +
    void	xmlXPtrLocationSetAdd		(xmlLocationSetPtr cur, 
    xmlXPathObjectPtr val)
    +
    xmlLocationSetPtr	xmlXPtrLocationSetCreate	(xmlXPathObjectPtr val)
    +
    void	xmlXPtrLocationSetDel		(xmlLocationSetPtr cur, 
    xmlXPathObjectPtr val)
    +
    xmlLocationSetPtr	xmlXPtrLocationSetMerge	(xmlLocationSetPtr val1, 
    xmlLocationSetPtr val2)
    +
    void	xmlXPtrLocationSetRemove	(xmlLocationSetPtr cur, 
    int val)
    +
    xmlXPathObjectPtr	xmlXPtrNewCollapsedRange	(xmlNodePtr start)
    +
    xmlXPathContextPtr	xmlXPtrNewContext	(xmlDocPtr doc, 
    xmlNodePtr here,
    xmlNodePtr origin)
    +
    xmlXPathObjectPtr	xmlXPtrNewLocationSetNodeSet	(xmlNodeSetPtr set)
    +
    xmlXPathObjectPtr	xmlXPtrNewLocationSetNodes	(xmlNodePtr start, 
    xmlNodePtr end)
    +
    xmlXPathObjectPtr	xmlXPtrNewRange	(xmlNodePtr start, 
    int startindex,
    xmlNodePtr end,
    int endindex)
    +
    xmlXPathObjectPtr	xmlXPtrNewRangeNodeObject	(xmlNodePtr start, 
    xmlXPathObjectPtr end)
    +
    xmlXPathObjectPtr	xmlXPtrNewRangeNodePoint	(xmlNodePtr start, 
    xmlXPathObjectPtr end)
    +
    xmlXPathObjectPtr	xmlXPtrNewRangeNodes	(xmlNodePtr start, 
    xmlNodePtr end)
    +
    xmlXPathObjectPtr	xmlXPtrNewRangePointNode	(xmlXPathObjectPtr start, 
    xmlNodePtr end)
    +
    xmlXPathObjectPtr	xmlXPtrNewRangePoints	(xmlXPathObjectPtr start, 
    xmlXPathObjectPtr end)
    +
    void	xmlXPtrRangeToFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +
    xmlXPathObjectPtr	xmlXPtrWrapLocationSet	(xmlLocationSetPtr val)
    +

    Description

    +

    Structure xmlLocationSet

    Structure xmlLocationSet
    struct _xmlLocationSet { + int locNr : number of locations in the set + int locMax : size of the array as allocated + xmlXPathObjectPtr * locTab : array of locations +}

    Function: xmlXPtrBuildNodeList

    xmlNodePtr	xmlXPtrBuildNodeList	(xmlXPathObjectPtr obj)
    +

    Build a node list tree copy of the XPointer result. This will drop Attributes and Namespace declarations.

    +
    obj:the XPointer result from the evaluation.
    Returns:an xmlNodePtr list or NULL. the caller has to free the node tree.

    Function: xmlXPtrEval

    xmlXPathObjectPtr	xmlXPtrEval	(const xmlChar * str, 
    xmlXPathContextPtr ctx)
    +

    Evaluate the XPath Location Path in the given context.

    +
    str:the XPointer expression
    ctx:the XPointer context
    Returns:the xmlXPathObjectPtr resulting from the evaluation or NULL. the caller has to free the object.

    Function: xmlXPtrEvalRangePredicate

    void	xmlXPtrEvalRangePredicate	(xmlXPathParserContextPtr ctxt)
    +

    [8] Predicate ::= '[' PredicateExpr ']' [9] PredicateExpr ::= Expr Evaluate a predicate as in xmlXPathEvalPredicate() but for a Location Set instead of a node set

    +
    ctxt:the XPointer Parser context

    Function: xmlXPtrFreeLocationSet

    void	xmlXPtrFreeLocationSet		(xmlLocationSetPtr obj)
    +

    Free the LocationSet compound (not the actual ranges !).

    +
    obj:the xmlLocationSetPtr to free

    Function: xmlXPtrLocationSetAdd

    void	xmlXPtrLocationSetAdd		(xmlLocationSetPtr cur, 
    xmlXPathObjectPtr val)
    +

    add a new xmlXPathObjectPtr to an existing LocationSet If the location already exist in the set @val is freed.

    +
    cur:the initial range set
    val:a new xmlXPathObjectPtr

    Function: xmlXPtrLocationSetCreate

    xmlLocationSetPtr	xmlXPtrLocationSetCreate	(xmlXPathObjectPtr val)
    +

    Create a new xmlLocationSetPtr of type double and of value @val

    +
    val:an initial xmlXPathObjectPtr, or NULL
    Returns:the newly created object.

    Function: xmlXPtrLocationSetDel

    void	xmlXPtrLocationSetDel		(xmlLocationSetPtr cur, 
    xmlXPathObjectPtr val)
    +

    Removes an xmlXPathObjectPtr from an existing LocationSet

    +
    cur:the initial range set
    val:an xmlXPathObjectPtr

    Function: xmlXPtrLocationSetMerge

    xmlLocationSetPtr	xmlXPtrLocationSetMerge	(xmlLocationSetPtr val1, 
    xmlLocationSetPtr val2)
    +

    Merges two rangesets, all ranges from @val2 are added to @val1

    +
    val1:the first LocationSet
    val2:the second LocationSet
    Returns:val1 once extended or NULL in case of error.

    Function: xmlXPtrLocationSetRemove

    void	xmlXPtrLocationSetRemove	(xmlLocationSetPtr cur, 
    int val)
    +

    Removes an entry from an existing LocationSet list.

    +
    cur:the initial range set
    val:the index to remove

    Function: xmlXPtrNewCollapsedRange

    xmlXPathObjectPtr	xmlXPtrNewCollapsedRange	(xmlNodePtr start)
    +

    Create a new xmlXPathObjectPtr of type range using a single nodes

    +
    start:the starting and ending node
    Returns:the newly created object.

    Function: xmlXPtrNewContext

    xmlXPathContextPtr	xmlXPtrNewContext	(xmlDocPtr doc, 
    xmlNodePtr here,
    xmlNodePtr origin)
    +

    Create a new XPointer context

    +
    doc:the XML document
    here:the node that directly contains the XPointer being evaluated or NULL
    origin:the element from which a user or program initiated traversal of the link, or NULL.
    Returns:the xmlXPathContext just allocated.

    Function: xmlXPtrNewLocationSetNodeSet

    xmlXPathObjectPtr	xmlXPtrNewLocationSetNodeSet	(xmlNodeSetPtr set)
    +

    Create a new xmlXPathObjectPtr of type LocationSet and initialize it with all the nodes from @set

    +
    set:a node set
    Returns:the newly created object.

    Function: xmlXPtrNewLocationSetNodes

    xmlXPathObjectPtr	xmlXPtrNewLocationSetNodes	(xmlNodePtr start, 
    xmlNodePtr end)
    +

    Create a new xmlXPathObjectPtr of type LocationSet and initialize it with the single range made of the two nodes @start and @end

    +
    start:the start NodePtr value
    end:the end NodePtr value or NULL
    Returns:the newly created object.

    Function: xmlXPtrNewRange

    xmlXPathObjectPtr	xmlXPtrNewRange	(xmlNodePtr start, 
    int startindex,
    xmlNodePtr end,
    int endindex)
    +

    Create a new xmlXPathObjectPtr of type range

    +
    start:the starting node
    startindex:the start index
    end:the ending point
    endindex:the ending index
    Returns:the newly created object.

    Function: xmlXPtrNewRangeNodeObject

    xmlXPathObjectPtr	xmlXPtrNewRangeNodeObject	(xmlNodePtr start, 
    xmlXPathObjectPtr end)
    +

    Create a new xmlXPathObjectPtr of type range from a not to an object

    +
    start:the starting node
    end:the ending object
    Returns:the newly created object.

    Function: xmlXPtrNewRangeNodePoint

    xmlXPathObjectPtr	xmlXPtrNewRangeNodePoint	(xmlNodePtr start, 
    xmlXPathObjectPtr end)
    +

    Create a new xmlXPathObjectPtr of type range from a node to a point

    +
    start:the starting node
    end:the ending point
    Returns:the newly created object.

    Function: xmlXPtrNewRangeNodes

    xmlXPathObjectPtr	xmlXPtrNewRangeNodes	(xmlNodePtr start, 
    xmlNodePtr end)
    +

    Create a new xmlXPathObjectPtr of type range using 2 nodes

    +
    start:the starting node
    end:the ending node
    Returns:the newly created object.

    Function: xmlXPtrNewRangePointNode

    xmlXPathObjectPtr	xmlXPtrNewRangePointNode	(xmlXPathObjectPtr start, 
    xmlNodePtr end)
    +

    Create a new xmlXPathObjectPtr of type range from a point to a node

    +
    start:the starting point
    end:the ending node
    Returns:the newly created object.

    Function: xmlXPtrNewRangePoints

    xmlXPathObjectPtr	xmlXPtrNewRangePoints	(xmlXPathObjectPtr start, 
    xmlXPathObjectPtr end)
    +

    Create a new xmlXPathObjectPtr of type range using 2 Points

    +
    start:the starting point
    end:the ending point
    Returns:the newly created object.

    Function: xmlXPtrRangeToFunction

    void	xmlXPtrRangeToFunction		(xmlXPathParserContextPtr ctxt, 
    int nargs)
    +

    Implement the range-to() XPointer function

    +
    ctxt:the XPointer Parser context
    nargs:the number of args

    Function: xmlXPtrWrapLocationSet

    xmlXPathObjectPtr	xmlXPtrWrapLocationSet	(xmlLocationSetPtr val)
    +

    Wrap the LocationSet @val in a new xmlXPathObjectPtr

    +
    val:the LocationSet value
    Returns:the newly created object.

    Daniel Veillard

    diff --git a/doc/html/right.png b/doc/html/right.png new file mode 100644 index 0000000..92832e3 Binary files /dev/null and b/doc/html/right.png differ diff --git a/doc/html/up.png b/doc/html/up.png new file mode 100644 index 0000000..85b3e2a Binary files /dev/null and b/doc/html/up.png differ diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..263551d --- /dev/null +++ b/doc/index.html @@ -0,0 +1,290 @@ + + + + + + + + The XML C parser and toolkit of Gnome + + + + + + + + +
    + + Action against software patents + + + + Gnome2 Logo + + + W3C Logo + + + Red Hat Logo + +
    + + Made with Libxml2 Logo + +
    +
    + + + + +
    + + + + +
    +

    The XML C parser and toolkit of Gnome

    +

    libxml

    +
    +
    +
    + + + + +
    + + + + + +
    + + + + +
    + + + + + + + +
    +
    + Main Menu +
    +
    +
    + + +
    + +
    + + + + + + + +
    +
    + Related links +
    +
    + +
    +
    +
    + + + + +
    + + + + +
    + + + + +
    +

    +

    "Programming +with libxml2 is like the thrilling embrace of an exotic stranger." Mark +Pilgrim

    +

    Libxml2 is the XML C parser and toolkit developed for the Gnome project +(but usable outside of the Gnome platform), it is free software available +under the MIT +License. XML itself is a metalanguage to design markup languages, i.e. +text language where semantic and structure are added to the content using +extra "markup" information enclosed between angle brackets. HTML is the most +well-known markup language. Though the library is written in C a variety of language bindings make it available in +other environments.

    +

    Libxml2 is known to be very portable, the library should build and work +without serious troubles on a variety of systems (Linux, Unix, Windows, +CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, ...)

    +

    Libxml2 implements a number of existing standards related to markup +languages:

    + +

    In most cases libxml2 tries to implement the specifications in a +relatively strictly compliant way. As of release 2.4.16, libxml2 passes all +1800+ tests from the OASIS XML Tests +Suite.

    +

    To some extent libxml2 provides support for the following additional +specifications but doesn't claim to implement them completely:

    +
    • Document Object Model (DOM) http://www.w3.org/TR/DOM-Level-2-Core/ + it doesn't implement the API itself, gdome2 does this on top of + libxml2
    • +
    • RFC 959 : + libxml2 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 + XML
    • +
    +

    A partial implementation of XML Schemas Part +1: Structure is being worked on but it would be far too early to make any +conformance statement about it at the moment.

    +

    Separate documents:

    + +

    Logo designed by Marc Liyanage.

    +

    + Daniel Veillard +

    +
    +
    +
    +
    +
    + + diff --git a/doc/index.py b/doc/index.py new file mode 100755 index 0000000..470f1b2 --- /dev/null +++ b/doc/index.py @@ -0,0 +1,1249 @@ +#!/usr/bin/python -u +# +# imports the API description and fills up a database with +# name relevance to modules, functions or web pages +# +# Operation needed: +# ================= +# +# install mysqld, the python wrappers for mysql and libxml2, start mysqld +# Change the root passwd of mysql: +# mysqladmin -u root password new_password +# Create the new database xmlsoft +# mysqladmin -p create xmlsoft +# Create a database user 'veillard' and give him passord access +# change veillard and abcde with the right user name and passwd +# mysql -p +# password: +# mysql> GRANT ALL PRIVILEGES ON xmlsoft TO veillard@localhost +# IDENTIFIED BY 'abcde' WITH GRANT OPTION; +# +# As the user check the access: +# mysql -p xmlsoft +# Enter password: +# Welcome to the MySQL monitor.... +# mysql> use xmlsoft +# Database changed +# mysql> quit +# Bye +# +# Then run the script in the doc subdir, it will create the symbols and +# word tables and populate them with informations extracted from +# the libxml2-api.xml API description, and make then accessible read-only +# by nobody@loaclhost the user expected to be Apache's one +# +# On the Apache configuration, make sure you have php support enabled +# + +import MySQLdb +import libxml2 +import sys +import string +import os + +# +# We are not interested in parsing errors here +# +def callback(ctx, str): + return +libxml2.registerErrorHandler(callback, None) + +# +# The dictionnary of tables required and the SQL command needed +# to create them +# +TABLES={ + "symbols" : """CREATE TABLE symbols ( + name varchar(255) BINARY NOT NULL, + module varchar(255) BINARY NOT NULL, + type varchar(25) NOT NULL, + descr varchar(255), + UNIQUE KEY name (name), + KEY module (module))""", + "words" : """CREATE TABLE words ( + name varchar(50) BINARY NOT NULL, + symbol varchar(255) BINARY NOT NULL, + relevance int, + KEY name (name), + KEY symbol (symbol), + UNIQUE KEY ID (name, symbol))""", + "wordsHTML" : """CREATE TABLE wordsHTML ( + name varchar(50) BINARY NOT NULL, + resource varchar(255) BINARY NOT NULL, + section varchar(255), + id varchar(50), + relevance int, + KEY name (name), + KEY resource (resource), + UNIQUE KEY ref (name, resource))""", + "wordsArchive" : """CREATE TABLE wordsArchive ( + name varchar(50) BINARY NOT NULL, + ID int(11) NOT NULL, + relevance int, + KEY name (name), + UNIQUE KEY ref (name, ID))""", + "pages" : """CREATE TABLE pages ( + resource varchar(255) BINARY NOT NULL, + title varchar(255) BINARY NOT NULL, + UNIQUE KEY name (resource))""", + "archives" : """CREATE TABLE archives ( + ID int(11) NOT NULL auto_increment, + resource varchar(255) BINARY NOT NULL, + title varchar(255) BINARY NOT NULL, + UNIQUE KEY id (ID,resource(255)), + INDEX (ID), + INDEX (resource))""", + "Queries" : """CREATE TABLE Queries ( + ID int(11) NOT NULL auto_increment, + Value varchar(50) NOT NULL, + Count int(11) NOT NULL, + UNIQUE KEY id (ID,Value(35)), + INDEX (ID))""", +} + +# +# The XML API description file to parse +# +API="libxml2-api.xml" +DB=None + +######################################################################### +# # +# MySQL database interfaces # +# # +######################################################################### +def createTable(db, name): + global TABLES + + if db == None: + return -1 + if name == None: + return -1 + c = db.cursor() + + ret = c.execute("DROP TABLE IF EXISTS %s" % (name)) + if ret == 1: + print "Removed table %s" % (name) + print "Creating table %s" % (name) + try: + ret = c.execute(TABLES[name]) + except: + print "Failed to create table %s" % (name) + return -1 + return ret + +def checkTables(db): + global TABLES + + if db == None: + return -1 + c = db.cursor() + nbtables = c.execute("show tables") + print "Found %d tables" % (nbtables) + tables = {} + i = 0 + while i < nbtables: + l = c.fetchone() + name = l[0] + tables[name] = {} + i = i + 1 + + for table in TABLES.keys(): + if not tables.has_key(table): + print "table %s missing" % (table) + createTable(db, table) + try: + ret = c.execute("SELECT count(*) from %s" % table); + row = c.fetchone() + print "Table %s contains %d records" % (table, row[0]) + except: + print "Troubles with table %s : repairing" % (table) + ret = c.execute("repair table %s" % table); + print "repairing returned %d" % (ret) + ret = c.execute("SELECT count(*) from %s" % table); + row = c.fetchone() + print "Table %s contains %d records" % (table, row[0]) + print "checkTables finished" + + # make sure apache can access the tables read-only + try: + ret = c.execute("GRANT SELECT ON xmlsoft.* TO nobody@localhost") + ret = c.execute("GRANT INSERT,SELECT,UPDATE ON xmlsoft.Queries TO nobody@localhost") + except: + pass + return 0 + +def openMySQL(db="xmlsoft", passwd=None): + global DB + + if passwd == None: + try: + passwd = os.environ["MySQL_PASS"] + except: + print "No password available, set environment MySQL_PASS" + sys.exit(1) + + DB = MySQLdb.connect(passwd=passwd, db=db) + if DB == None: + return -1 + ret = checkTables(DB) + return ret + +def updateWord(name, symbol, relevance): + global DB + + if DB == None: + openMySQL() + if DB == None: + return -1 + if name == None: + return -1 + if symbol == None: + return -1 + + c = DB.cursor() + try: + ret = c.execute( +"""INSERT INTO words (name, symbol, relevance) VALUES ('%s','%s', %d)""" % + (name, symbol, relevance)) + except: + try: + ret = c.execute( + """UPDATE words SET relevance = %d where name = '%s' and symbol = '%s'""" % + (relevance, name, symbol)) + except: + print "Update word (%s, %s, %s) failed command" % (name, symbol, relevance) + print "UPDATE words SET relevance = %d where name = '%s' and symbol = '%s'" % (relevance, name, symbol) + print sys.exc_type, sys.exc_value + return -1 + + return ret + +def updateSymbol(name, module, type, desc): + global DB + + updateWord(name, name, 50) + if DB == None: + openMySQL() + if DB == None: + return -1 + if name == None: + return -1 + if module == None: + return -1 + if type == None: + return -1 + + try: + desc = string.replace(desc, "'", " ") + l = string.split(desc, ".") + desc = l[0] + desc = desc[0:99] + except: + desc = "" + + c = DB.cursor() + try: + ret = c.execute( +"""INSERT INTO symbols (name, module, type, descr) VALUES ('%s','%s', '%s', '%s')""" % + (name, module, type, desc)) + except: + try: + ret = c.execute( +"""UPDATE symbols SET module='%s', type='%s', descr='%s' where name='%s'""" % + (module, type, desc, name)) + except: + print "Update symbol (%s, %s, %s) failed command" % (name, module, type) + print """UPDATE symbols SET module='%s', type='%s', descr='%s' where name='%s'""" % (module, type, desc, name) + print sys.exc_type, sys.exc_value + return -1 + + return ret + +def addFunction(name, module, desc = ""): + return updateSymbol(name, module, 'function', desc) + +def addMacro(name, module, desc = ""): + return updateSymbol(name, module, 'macro', desc) + +def addEnum(name, module, desc = ""): + return updateSymbol(name, module, 'enum', desc) + +def addStruct(name, module, desc = ""): + return updateSymbol(name, module, 'struct', desc) + +def addConst(name, module, desc = ""): + return updateSymbol(name, module, 'const', desc) + +def addType(name, module, desc = ""): + return updateSymbol(name, module, 'type', desc) + +def addFunctype(name, module, desc = ""): + return updateSymbol(name, module, 'functype', desc) + +def addPage(resource, title): + global DB + + if DB == None: + openMySQL() + if DB == None: + return -1 + if resource == None: + return -1 + + c = DB.cursor() + try: + ret = c.execute( + """INSERT INTO pages (resource, title) VALUES ('%s','%s')""" % + (resource, title)) + except: + try: + ret = c.execute( + """UPDATE pages SET title='%s' WHERE resource='%s'""" % + (title, resource)) + except: + print "Update symbol (%s, %s, %s) failed command" % (name, module, type) + print """UPDATE pages SET title='%s' WHERE resource='%s'""" % (title, resource) + print sys.exc_type, sys.exc_value + return -1 + + return ret + +def updateWordHTML(name, resource, desc, id, relevance): + global DB + + if DB == None: + openMySQL() + if DB == None: + return -1 + if name == None: + return -1 + if resource == None: + return -1 + if id == None: + id = "" + if desc == None: + desc = "" + else: + try: + desc = string.replace(desc, "'", " ") + desc = desc[0:99] + except: + desc = "" + + c = DB.cursor() + try: + ret = c.execute( +"""INSERT INTO wordsHTML (name, resource, section, id, relevance) VALUES ('%s','%s', '%s', '%s', '%d')""" % + (name, resource, desc, id, relevance)) + except: + try: + ret = c.execute( +"""UPDATE wordsHTML SET section='%s', id='%s', relevance='%d' where name='%s' and resource='%s'""" % + (desc, id, relevance, name, resource)) + except: + print "Update symbol (%s, %s, %d) failed command" % (name, resource, relevance) + print """UPDATE wordsHTML SET section='%s', id='%s', relevance='%d' where name='%s' and resource='%s'""" % (desc, id, relevance, name, resource) + print sys.exc_type, sys.exc_value + return -1 + + return ret + +def checkXMLMsgArchive(url): + global DB + + if DB == None: + openMySQL() + if DB == None: + return -1 + if url == None: + return -1 + + c = DB.cursor() + try: + ret = c.execute( + """SELECT ID FROM archives WHERE resource='%s'""" % (url)) + row = c.fetchone() + if row == None: + return -1 + except: + return -1 + + return row[0] + +def addXMLMsgArchive(url, title): + global DB + + if DB == None: + openMySQL() + if DB == None: + return -1 + if url == None: + return -1 + if title == None: + title = "" + else: + title = string.replace(title, "'", " ") + title = title[0:99] + + c = DB.cursor() + try: + cmd = """INSERT INTO archives (resource, title) VALUES ('%s','%s')""" % (url, title) + ret = c.execute(cmd) + cmd = """SELECT ID FROM archives WHERE resource='%s'""" % (url) + ret = c.execute(cmd) + row = c.fetchone() + if row == None: + print "addXMLMsgArchive failed to get the ID: %s" % (url) + return -1 + except: + print "addXMLMsgArchive failed command: %s" % (cmd) + return -1 + + return((int)(row[0])) + +def updateWordArchive(name, id, relevance): + global DB + + if DB == None: + openMySQL() + if DB == None: + return -1 + if name == None: + return -1 + if id == None: + return -1 + + c = DB.cursor() + try: + ret = c.execute( +"""INSERT INTO wordsArchive (name, id, relevance) VALUES ('%s', '%d', '%d')""" % + (name, id, relevance)) + except: + try: + ret = c.execute( +"""UPDATE wordsArchive SET relevance='%d' where name='%s' and ID='%d'""" % + (relevance, name, id)) + except: + print "Update word archive (%s, %d, %d) failed command" % (name, id, relevance) + print """UPDATE wordsArchive SET relevance='%d' where name='%s' and ID='%d'""" % (relevance, name, id) + print sys.exc_type, sys.exc_value + return -1 + + return ret + +######################################################################### +# # +# Word dictionnary and analysis routines # +# # +######################################################################### + +# +# top 100 english word without the one len < 3 + own set +# +dropWords = { + 'the':0, 'this':0, 'can':0, 'man':0, 'had':0, 'him':0, 'only':0, + 'and':0, 'not':0, 'been':0, 'other':0, 'even':0, 'are':0, 'was':0, + 'new':0, 'most':0, 'but':0, 'when':0, 'some':0, 'made':0, 'from':0, + 'who':0, 'could':0, 'after':0, 'that':0, 'will':0, 'time':0, 'also':0, + 'have':0, 'more':0, 'these':0, 'did':0, 'was':0, 'two':0, 'many':0, + 'they':0, 'may':0, 'before':0, 'for':0, 'which':0, 'out':0, 'then':0, + 'must':0, 'one':0, 'through':0, 'with':0, 'you':0, 'said':0, + 'first':0, 'back':0, 'were':0, 'what':0, 'any':0, 'years':0, 'his':0, + 'her':0, 'where':0, 'all':0, 'its':0, 'now':0, 'much':0, 'she':0, + 'about':0, 'such':0, 'your':0, 'there':0, 'into':0, 'like':0, 'may':0, + 'would':0, 'than':0, 'our':0, 'well':0, 'their':0, 'them':0, 'over':0, + 'down':0, + 'net':0, 'www':0, 'bad':0, 'Okay':0, 'bin':0, 'cur':0, +} + +wordsDict = {} +wordsDictHTML = {} +wordsDictArchive = {} + +def cleanupWordsString(str): + str = string.replace(str, ".", " ") + str = string.replace(str, "!", " ") + str = string.replace(str, "?", " ") + str = string.replace(str, ",", " ") + str = string.replace(str, "'", " ") + str = string.replace(str, '"', " ") + str = string.replace(str, ";", " ") + str = string.replace(str, "(", " ") + str = string.replace(str, ")", " ") + str = string.replace(str, "{", " ") + str = string.replace(str, "}", " ") + str = string.replace(str, "<", " ") + str = string.replace(str, ">", " ") + str = string.replace(str, "=", " ") + str = string.replace(str, "/", " ") + str = string.replace(str, "*", " ") + str = string.replace(str, ":", " ") + str = string.replace(str, "#", " ") + str = string.replace(str, "\\", " ") + str = string.replace(str, "\n", " ") + str = string.replace(str, "\r", " ") + str = string.replace(str, "\xc2", " ") + str = string.replace(str, "\xa0", " ") + return str + +def cleanupDescrString(str): + str = string.replace(str, "'", " ") + str = string.replace(str, "\n", " ") + str = string.replace(str, "\r", " ") + str = string.replace(str, "\xc2", " ") + str = string.replace(str, "\xa0", " ") + l = string.split(str) + str = string.join(str) + return str + +def splitIdentifier(str): + ret = [] + while str != "": + cur = string.lower(str[0]) + str = str[1:] + if ((cur < 'a') or (cur > 'z')): + continue + while (str != "") and (str[0] >= 'A') and (str[0] <= 'Z'): + cur = cur + string.lower(str[0]) + str = str[1:] + while (str != "") and (str[0] >= 'a') and (str[0] <= 'z'): + cur = cur + str[0] + str = str[1:] + while (str != "") and (str[0] >= '0') and (str[0] <= '9'): + str = str[1:] + ret.append(cur) + return ret + +def addWord(word, module, symbol, relevance): + global wordsDict + + if word == None or len(word) < 3: + return -1 + if module == None or symbol == None: + return -1 + if dropWords.has_key(word): + return 0 + if ord(word[0]) > 0x80: + return 0 + + if wordsDict.has_key(word): + d = wordsDict[word] + if d == None: + return 0 + if len(d) > 500: + wordsDict[word] = None + return 0 + try: + relevance = relevance + d[(module, symbol)] + except: + pass + else: + wordsDict[word] = {} + wordsDict[word][(module, symbol)] = relevance + return relevance + +def addString(str, module, symbol, relevance): + if str == None or len(str) < 3: + return -1 + ret = 0 + str = cleanupWordsString(str) + l = string.split(str) + for word in l: + if len(word) > 2: + ret = ret + addWord(word, module, symbol, 5) + + return ret + +def addWordHTML(word, resource, id, section, relevance): + global wordsDictHTML + + if word == None or len(word) < 3: + return -1 + if resource == None or section == None: + return -1 + if dropWords.has_key(word): + return 0 + if ord(word[0]) > 0x80: + return 0 + + section = cleanupDescrString(section) + + if wordsDictHTML.has_key(word): + d = wordsDictHTML[word] + if d == None: + print "skipped %s" % (word) + return 0 + try: + (r,i,s) = d[resource] + if i != None: + id = i + if s != None: + section = s + relevance = relevance + r + except: + pass + else: + wordsDictHTML[word] = {} + d = wordsDictHTML[word]; + d[resource] = (relevance, id, section) + return relevance + +def addStringHTML(str, resource, id, section, relevance): + if str == None or len(str) < 3: + return -1 + ret = 0 + str = cleanupWordsString(str) + l = string.split(str) + for word in l: + if len(word) > 2: + try: + r = addWordHTML(word, resource, id, section, relevance) + if r < 0: + print "addWordHTML failed: %s %s" % (word, resource) + ret = ret + r + except: + print "addWordHTML failed: %s %s %d" % (word, resource, relevance) + print sys.exc_type, sys.exc_value + + return ret + +def addWordArchive(word, id, relevance): + global wordsDictArchive + + if word == None or len(word) < 3: + return -1 + if id == None or id == -1: + return -1 + if dropWords.has_key(word): + return 0 + if ord(word[0]) > 0x80: + return 0 + + if wordsDictArchive.has_key(word): + d = wordsDictArchive[word] + if d == None: + print "skipped %s" % (word) + return 0 + try: + r = d[id] + relevance = relevance + r + except: + pass + else: + wordsDictArchive[word] = {} + d = wordsDictArchive[word]; + d[id] = relevance + return relevance + +def addStringArchive(str, id, relevance): + if str == None or len(str) < 3: + return -1 + ret = 0 + str = cleanupWordsString(str) + l = string.split(str) + for word in l: + i = len(word) + if i > 2: + try: + r = addWordArchive(word, id, relevance) + if r < 0: + print "addWordArchive failed: %s %s" % (word, id) + else: + ret = ret + r + except: + print "addWordArchive failed: %s %s %d" % (word, id, relevance) + print sys.exc_type, sys.exc_value + return ret + +######################################################################### +# # +# XML API description analysis # +# # +######################################################################### + +def loadAPI(filename): + doc = libxml2.parseFile(filename) + print "loaded %s" % (filename) + return doc + +def foundExport(file, symbol): + if file == None: + return 0 + if symbol == None: + return 0 + addFunction(symbol, file) + l = splitIdentifier(symbol) + for word in l: + addWord(word, file, symbol, 10) + return 1 + +def analyzeAPIFile(top): + count = 0 + name = top.prop("name") + cur = top.children + while cur != None: + if cur.type == 'text': + cur = cur.next + continue + if cur.name == "exports": + count = count + foundExport(name, cur.prop("symbol")) + else: + print "unexpected element %s in API doc " % (name) + cur = cur.next + return count + +def analyzeAPIFiles(top): + count = 0 + cur = top.children + + while cur != None: + if cur.type == 'text': + cur = cur.next + continue + if cur.name == "file": + count = count + analyzeAPIFile(cur) + else: + print "unexpected element %s in API doc " % (cur.name) + cur = cur.next + return count + +def analyzeAPIEnum(top): + file = top.prop("file") + if file == None: + return 0 + symbol = top.prop("name") + if symbol == None: + return 0 + + addEnum(symbol, file) + l = splitIdentifier(symbol) + for word in l: + addWord(word, file, symbol, 10) + + return 1 + +def analyzeAPIConst(top): + file = top.prop("file") + if file == None: + return 0 + symbol = top.prop("name") + if symbol == None: + return 0 + + addConst(symbol, file) + l = splitIdentifier(symbol) + for word in l: + addWord(word, file, symbol, 10) + + return 1 + +def analyzeAPIType(top): + file = top.prop("file") + if file == None: + return 0 + symbol = top.prop("name") + if symbol == None: + return 0 + + addType(symbol, file) + l = splitIdentifier(symbol) + for word in l: + addWord(word, file, symbol, 10) + return 1 + +def analyzeAPIFunctype(top): + file = top.prop("file") + if file == None: + return 0 + symbol = top.prop("name") + if symbol == None: + return 0 + + addFunctype(symbol, file) + l = splitIdentifier(symbol) + for word in l: + addWord(word, file, symbol, 10) + return 1 + +def analyzeAPIStruct(top): + file = top.prop("file") + if file == None: + return 0 + symbol = top.prop("name") + if symbol == None: + return 0 + + addStruct(symbol, file) + l = splitIdentifier(symbol) + for word in l: + addWord(word, file, symbol, 10) + + info = top.prop("info") + if info != None: + info = string.replace(info, "'", " ") + info = string.strip(info) + l = string.split(info) + for word in l: + if len(word) > 2: + addWord(word, file, symbol, 5) + return 1 + +def analyzeAPIMacro(top): + file = top.prop("file") + if file == None: + return 0 + symbol = top.prop("name") + if symbol == None: + return 0 + symbol = string.replace(symbol, "'", " ") + symbol = string.strip(symbol) + + info = None + cur = top.children + while cur != None: + if cur.type == 'text': + cur = cur.next + continue + if cur.name == "info": + info = cur.content + break + cur = cur.next + + l = splitIdentifier(symbol) + for word in l: + addWord(word, file, symbol, 10) + + if info == None: + addMacro(symbol, file) + print "Macro %s description has no " % (symbol) + return 0 + + info = string.replace(info, "'", " ") + info = string.strip(info) + addMacro(symbol, file, info) + l = string.split(info) + for word in l: + if len(word) > 2: + addWord(word, file, symbol, 5) + return 1 + +def analyzeAPIFunction(top): + file = top.prop("file") + if file == None: + return 0 + symbol = top.prop("name") + if symbol == None: + return 0 + + symbol = string.replace(symbol, "'", " ") + symbol = string.strip(symbol) + info = None + cur = top.children + while cur != None: + if cur.type == 'text': + cur = cur.next + continue + if cur.name == "info": + info = cur.content + elif cur.name == "return": + rinfo = cur.prop("info") + if rinfo != None: + rinfo = string.replace(rinfo, "'", " ") + rinfo = string.strip(rinfo) + addString(rinfo, file, symbol, 7) + elif cur.name == "arg": + ainfo = cur.prop("info") + if ainfo != None: + ainfo = string.replace(ainfo, "'", " ") + ainfo = string.strip(ainfo) + addString(ainfo, file, symbol, 5) + name = cur.prop("name") + if name != None: + name = string.replace(name, "'", " ") + name = string.strip(name) + addWord(name, file, symbol, 7) + cur = cur.next + if info == None: + print "Function %s description has no " % (symbol) + addFunction(symbol, file, "") + else: + info = string.replace(info, "'", " ") + info = string.strip(info) + addFunction(symbol, file, info) + addString(info, file, symbol, 5) + + l = splitIdentifier(symbol) + for word in l: + addWord(word, file, symbol, 10) + + return 1 + +def analyzeAPISymbols(top): + count = 0 + cur = top.children + + while cur != None: + if cur.type == 'text': + cur = cur.next + continue + if cur.name == "macro": + count = count + analyzeAPIMacro(cur) + elif cur.name == "function": + count = count + analyzeAPIFunction(cur) + elif cur.name == "const": + count = count + analyzeAPIConst(cur) + elif cur.name == "typedef": + count = count + analyzeAPIType(cur) + elif cur.name == "struct": + count = count + analyzeAPIStruct(cur) + elif cur.name == "enum": + count = count + analyzeAPIEnum(cur) + elif cur.name == "functype": + count = count + analyzeAPIFunctype(cur) + else: + print "unexpected element %s in API doc " % (cur.name) + cur = cur.next + return count + +def analyzeAPI(doc): + count = 0 + if doc == None: + return -1 + root = doc.getRootElement() + if root.name != "api": + print "Unexpected root name" + return -1 + cur = root.children + while cur != None: + if cur.type == 'text': + cur = cur.next + continue + if cur.name == "files": + pass +# count = count + analyzeAPIFiles(cur) + elif cur.name == "symbols": + count = count + analyzeAPISymbols(cur) + else: + print "unexpected element %s in API doc" % (cur.name) + cur = cur.next + return count + +######################################################################### +# # +# Web pages parsing and analysis # +# # +######################################################################### + +import glob + +def analyzeHTMLText(doc, resource, p, section, id): + words = 0 + try: + content = p.content + words = words + addStringHTML(content, resource, id, section, 5) + except: + return -1 + return words + +def analyzeHTMLPara(doc, resource, p, section, id): + words = 0 + try: + content = p.content + words = words + addStringHTML(content, resource, id, section, 5) + except: + return -1 + return words + +def analyzeHTMLPre(doc, resource, p, section, id): + words = 0 + try: + content = p.content + words = words + addStringHTML(content, resource, id, section, 5) + except: + return -1 + return words + +def analyzeHTML(doc, resource, p, section, id): + words = 0 + try: + content = p.content + words = words + addStringHTML(content, resource, id, section, 5) + except: + return -1 + return words + +def analyzeHTML(doc, resource): + para = 0; + ctxt = doc.xpathNewContext() + try: + res = ctxt.xpathEval("//head/title") + title = res[0].content + except: + title = "Page %s" % (resource) + addPage(resource, title) + try: + items = ctxt.xpathEval("//h1 | //h2 | //h3 | //text()") + section = title + id = "" + for item in items: + if item.name == 'h1' or item.name == 'h2' or item.name == 'h3': + section = item.content + if item.prop("id"): + id = item.prop("id") + elif item.prop("name"): + id = item.prop("name") + elif item.type == 'text': + analyzeHTMLText(doc, resource, item, section, id) + para = para + 1 + elif item.name == 'p': + analyzeHTMLPara(doc, resource, item, section, id) + para = para + 1 + elif item.name == 'pre': + analyzeHTMLPre(doc, resource, item, section, id) + para = para + 1 + else: + print "Page %s, unexpected %s element" % (resource, item.name) + except: + print "Page %s: problem analyzing" % (resource) + print sys.exc_type, sys.exc_value + + return para + +def analyzeHTMLPages(): + ret = 0 + HTMLfiles = glob.glob("*.html") + glob.glob("tutorial/*.html") + for html in HTMLfiles: + if html[0:3] == "API": + continue + if html == "xml.html": + continue + try: + doc = libxml2.parseFile(html) + except: + doc = libxml2.htmlParseFile(html, None) + try: + res = analyzeHTML(doc, html) + print "Parsed %s : %d paragraphs" % (html, res) + ret = ret + 1 + except: + print "could not parse %s" % (html) + return ret + +######################################################################### +# # +# Mail archives parsing and analysis # +# # +######################################################################### + +import time + +def getXMLDateArchive(t = None): + if t == None: + t = time.time() + T = time.gmtime(t) + month = time.strftime("%B", T) + year = T[0] + url = "http://mail.gnome.org/archives/xml/%d-%s/date.html" % (year, month) + return url + +def scanXMLMsgArchive(url, title, force = 0): + if url == None or title == None: + return 0 + + ID = checkXMLMsgArchive(url) + if force == 0 and ID != -1: + return 0 + + if ID == -1: + ID = addXMLMsgArchive(url, title) + if ID == -1: + return 0 + + try: + print "Loading %s" % (url) + doc = libxml2.htmlParseFile(url, None); + except: + doc = None + if doc == None: + print "Failed to parse %s" % (url) + return 0 + + addStringArchive(title, ID, 20) + ctxt = doc.xpathNewContext() + texts = ctxt.xpathEval("//pre//text()") + for text in texts: + addStringArchive(text.content, ID, 5) + + return 1 + +def scanXMLDateArchive(t = None, force = 0): + global wordsDictArchive + + wordsDictArchive = {} + + url = getXMLDateArchive(t) + print "loading %s" % (url) + try: + doc = libxml2.htmlParseFile(url, None); + except: + doc = None + if doc == None: + print "Failed to parse %s" % (url) + return -1 + ctxt = doc.xpathNewContext() + anchors = ctxt.xpathEval("//a[@href]") + links = 0 + newmsg = 0 + for anchor in anchors: + href = anchor.prop("href") + if href == None or href[0:3] != "msg": + continue + try: + links = links + 1 + + msg = libxml2.buildURI(href, url) + title = anchor.content + if title != None and title[0:4] == 'Re: ': + title = title[4:] + if title != None and title[0:6] == '[xml] ': + title = title[6:] + newmsg = newmsg + scanXMLMsgArchive(msg, title, force) + + except: + pass + + return newmsg + + +######################################################################### +# # +# Main code: open the DB, the API XML and analyze it # +# # +######################################################################### +try: + openMySQL() +except: + print "Failed to open the database" + print sys.exc_type, sys.exc_value + sys.exit(1) + +def analyzeArchives(t = None, force = 0): + global wordsDictArchive + + ret = scanXMLDateArchive(t, force) + print "Indexed %d words in %d archive pages" % (len(wordsDictArchive), ret) + + i = 0 + skipped = 0 + for word in wordsDictArchive.keys(): + refs = wordsDictArchive[word] + if refs == None: + skipped = skipped + 1 + continue; + for id in refs.keys(): + relevance = refs[id] + updateWordArchive(word, id, relevance) + i = i + 1 + + print "Found %d associations in HTML pages" % (i) + +def analyzeHTMLTop(): + global wordsDictHTML + + ret = analyzeHTMLPages() + print "Indexed %d words in %d HTML pages" % (len(wordsDictHTML), ret) + + i = 0 + skipped = 0 + for word in wordsDictHTML.keys(): + refs = wordsDictHTML[word] + if refs == None: + skipped = skipped + 1 + continue; + for resource in refs.keys(): + (relevance, id, section) = refs[resource] + updateWordHTML(word, resource, section, id, relevance) + i = i + 1 + + print "Found %d associations in HTML pages" % (i) + +def analyzeAPITop(): + global wordsDict + global API + + try: + doc = loadAPI(API) + ret = analyzeAPI(doc) + print "Analyzed %d blocs" % (ret) + doc.freeDoc() + except: + print "Failed to parse and analyze %s" % (API) + print sys.exc_type, sys.exc_value + sys.exit(1) + + print "Indexed %d words" % (len(wordsDict)) + i = 0 + skipped = 0 + for word in wordsDict.keys(): + refs = wordsDict[word] + if refs == None: + skipped = skipped + 1 + continue; + for (module, symbol) in refs.keys(): + updateWord(word, symbol, refs[(module, symbol)]) + i = i + 1 + + print "Found %d associations, skipped %d words" % (i, skipped) + +def usage(): + print "Usage index.py [--force] [--archive] [--archive-year year] [--archive-month month] [--API] [--docs]" + sys.exit(1) + +def main(): + args = sys.argv[1:] + force = 0 + if args: + i = 0 + while i < len(args): + if args[i] == '--force': + force = 1 + elif args[i] == '--archive': + analyzeArchives(None, force) + elif args[i] == '--archive-year': + i = i + 1; + year = args[i] + months = ["January" , "February", "March", "April", "May", + "June", "July", "August", "September", "October", + "November", "December"]; + for month in months: + try: + str = "%s-%s" % (year, month) + T = time.strptime(str, "%Y-%B") + t = time.mktime(T) + 3600 * 24 * 10; + analyzeArchives(t, force) + except: + print "Failed to index month archive:" + print sys.exc_type, sys.exc_value + elif args[i] == '--archive-month': + i = i + 1; + month = args[i] + try: + T = time.strptime(month, "%Y-%B") + t = time.mktime(T) + 3600 * 24 * 10; + analyzeArchives(t, force) + except: + print "Failed to index month archive:" + print sys.exc_type, sys.exc_value + elif args[i] == '--API': + analyzeAPITop() + elif args[i] == '--docs': + analyzeHTMLTop() + else: + usage() + i = i + 1 + else: + usage() + +if __name__ == "__main__": + main() diff --git a/doc/interface.html b/doc/interface.html new file mode 100644 index 0000000..e9e04fb --- /dev/null +++ b/doc/interface.html @@ -0,0 +1,59 @@ + + +The SAX interface
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    The SAX interface

    Developer Menu
    API Indexes
    Related links

    Sometimes the DOM tree output is just too large to fit reasonably into +memory. In that case (and if you don't expect to save back the XML document +loaded using libxml), it's better to use the SAX interface of libxml. SAX is +a callback-based interface to the parser. Before parsing, +the application layer registers a customized set of callbacks which are +called by the library as it progresses through the XML input.

    To get more detailed step-by-step guidance on using the SAX interface of +libxml, see the nice +documentation.written by James +Henstridge.

    You can debug the SAX behaviour by using the testSAX +program located in the gnome-xml module (it's usually not shipped in the +binary packages of libxml, but you can find it in the tar source +distribution). Here is the sequence of callbacks that would be reported by +testSAX when parsing the example XML document shown earlier:

    SAX.setDocumentLocator()
    +SAX.startDocument()
    +SAX.getEntity(amp)
    +SAX.startElement(EXAMPLE, prop1='gnome is great', prop2='&amp; linux too')
    +SAX.characters(   , 3)
    +SAX.startElement(head)
    +SAX.characters(    , 4)
    +SAX.startElement(title)
    +SAX.characters(Welcome to Gnome, 16)
    +SAX.endElement(title)
    +SAX.characters(   , 3)
    +SAX.endElement(head)
    +SAX.characters(   , 3)
    +SAX.startElement(chapter)
    +SAX.characters(    , 4)
    +SAX.startElement(title)
    +SAX.characters(The Linux adventure, 19)
    +SAX.endElement(title)
    +SAX.characters(    , 4)
    +SAX.startElement(p)
    +SAX.characters(bla bla bla ..., 15)
    +SAX.endElement(p)
    +SAX.characters(    , 4)
    +SAX.startElement(image, href='linus.gif')
    +SAX.endElement(image)
    +SAX.characters(    , 4)
    +SAX.startElement(p)
    +SAX.characters(..., 3)
    +SAX.endElement(p)
    +SAX.characters(   , 3)
    +SAX.endElement(chapter)
    +SAX.characters( , 1)
    +SAX.endElement(EXAMPLE)
    +SAX.endDocument()

    Most of the other interfaces of libxml2 are based on the DOM tree-building +facility, so nearly everything up to the end of this document presupposes the +use of the standard DOM tree build. Note that the DOM tree itself is built by +a set of registered default callbacks, without internal specific +interface.

    Daniel Veillard

    diff --git a/doc/intro.html b/doc/intro.html new file mode 100644 index 0000000..37991d0 --- /dev/null +++ b/doc/intro.html @@ -0,0 +1,31 @@ + + +Introduction
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    Introduction

    Main Menu
    Related links

    This document describes libxml, the XML C parser and toolkit developed for the +Gnome project. XML is a standard for building tag-based +structured documents/data.

    Here are some key points about libxml:

    • Libxml2 exports Push (progressive) and Pull (blocking) type parser + interfaces for both XML and HTML.
    • +
    • Libxml2 can do DTD validation at parse time, using a parsed document + instance, or with an arbitrary DTD.
    • +
    • Libxml2 includes complete XPath, XPointer and XInclude implementations.
    • +
    • It is written in plain C, making as few assumptions as possible, and + sticking closely to ANSI C/POSIX for easy embedding. Works on + Linux/Unix/Windows, ported to a number of other platforms.
    • +
    • Basic support for HTTP and FTP client allowing applications to fetch + remote resources.
    • +
    • The design is modular, most of the extensions can be compiled out.
    • +
    • The internal document representation is as close as possible to the DOM interfaces.
    • +
    • Libxml2 also has a SAX like interface; + the interface is designed to be compatible with Expat.
    • +
    • This library is released under the MIT + License. See the Copyright file in the distribution for the precise + wording.
    • +

    Warning: unless you are forced to because your application links with a +Gnome-1.X library requiring it, Do Not Use libxml1, use +libxml2

    Daniel Veillard

    diff --git a/doc/library.html b/doc/library.html new file mode 100644 index 0000000..842dea1 --- /dev/null +++ b/doc/library.html @@ -0,0 +1,145 @@ + + +The parser interfaces
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    The parser interfaces

    Developer Menu
    API Indexes
    Related links

    This section is directly intended to help programmers getting bootstrapped +using the XML tollkit from the C language. It is not intended to be +extensive. I hope the automatically generated documents will provide the +completeness required, but as a separate set of documents. The interfaces of +the XML parser are by principle low level, Those interested in a higher level +API should look at DOM.

    The parser interfaces for XML are +separated from the HTML parser +interfaces. Let's have a look at how the XML parser can be called:

    Invoking the parser : the pull method

    Usually, the first thing to do is to read an XML input. The parser accepts +documents either from in-memory strings or from files. The functions are +defined in "parser.h":

    xmlDocPtr xmlParseMemory(char *buffer, int size);
    +

    Parse a null-terminated string containing the document.

    +
    +
    xmlDocPtr xmlParseFile(const char *filename);
    +

    Parse an XML document contained in a (possibly compressed) + file.

    +
    +

    The parser returns a pointer to the document structure (or NULL in case of +failure).

    Invoking the parser: the push method

    In order for the application to keep the control when the document is +being fetched (which is common for GUI based programs) libxml2 provides a +push interface, too, as of version 1.8.3. Here are the interface +functions:

    xmlParserCtxtPtr xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
    +                                         void *user_data,
    +                                         const char *chunk,
    +                                         int size,
    +                                         const char *filename);
    +int              xmlParseChunk          (xmlParserCtxtPtr ctxt,
    +                                         const char *chunk,
    +                                         int size,
    +                                         int terminate);

    and here is a simple example showing how to use the interface:

                FILE *f;
    +
    +            f = fopen(filename, "r");
    +            if (f != NULL) {
    +                int res, size = 1024;
    +                char chars[1024];
    +                xmlParserCtxtPtr ctxt;
    +
    +                res = fread(chars, 1, 4, f);
    +                if (res > 0) {
    +                    ctxt = xmlCreatePushParserCtxt(NULL, NULL,
    +                                chars, res, filename);
    +                    while ((res = fread(chars, 1, size, f)) > 0) {
    +                        xmlParseChunk(ctxt, chars, res, 0);
    +                    }
    +                    xmlParseChunk(ctxt, chars, 0, 1);
    +                    doc = ctxt->myDoc;
    +                    xmlFreeParserCtxt(ctxt);
    +                }
    +            }

    The HTML parser embedded into libxml2 also has a push interface; the +functions are just prefixed by "html" rather than "xml".

    Invoking the parser: the SAX interface

    The tree-building interface makes the parser memory-hungry, first loading +the document in memory and then building the tree itself. Reading a document +without building the tree is possible using the SAX interfaces (see SAX.h and +James +Henstridge's documentation). Note also that the push interface can be +limited to SAX: just use the two first arguments of +xmlCreatePushParserCtxt().

    Building a tree from scratch

    The other way to get an XML tree in memory is by building it. Basically +there is a set of functions dedicated to building new elements. (These are +also described in <libxml/tree.h>.) For example, here is a piece of +code that produces the XML document used in the previous examples:

        #include <libxml/tree.h>
    +    xmlDocPtr doc;
    +    xmlNodePtr tree, subtree;
    +
    +    doc = xmlNewDoc("1.0");
    +    doc->children = xmlNewDocNode(doc, NULL, "EXAMPLE", NULL);
    +    xmlSetProp(doc->children, "prop1", "gnome is great");
    +    xmlSetProp(doc->children, "prop2", "& linux too");
    +    tree = xmlNewChild(doc->children, NULL, "head", NULL);
    +    subtree = xmlNewChild(tree, NULL, "title", "Welcome to Gnome");
    +    tree = xmlNewChild(doc->children, NULL, "chapter", NULL);
    +    subtree = xmlNewChild(tree, NULL, "title", "The Linux adventure");
    +    subtree = xmlNewChild(tree, NULL, "p", "bla bla bla ...");
    +    subtree = xmlNewChild(tree, NULL, "image", NULL);
    +    xmlSetProp(subtree, "href", "linus.gif");

    Not really rocket science ...

    Traversing the tree

    Basically by including "tree.h" your +code has access to the internal structure of all the elements of the tree. +The names should be somewhat simple like parent, +children, next, prev, +properties, etc... For example, still with the previous +example:

    doc->children->children->children

    points to the title element,

    doc->children->children->next->children->children

    points to the text node containing the chapter title "The Linux +adventure".

    NOTE: XML allows PIs and comments to be +present before the document root, so doc->children may point +to an element which is not the document Root Element; a function +xmlDocGetRootElement() was added for this purpose.

    Modifying the tree

    Functions are provided for reading and writing the document content. Here +is an excerpt from the tree API:

    xmlAttrPtr xmlSetProp(xmlNodePtr node, const xmlChar *name, const + xmlChar *value);
    +

    This sets (or changes) an attribute carried by an ELEMENT node. + The value can be NULL.

    +
    +
    const xmlChar *xmlGetProp(xmlNodePtr node, const xmlChar + *name);
    +

    This function returns a pointer to new copy of the property + content. Note that the user must deallocate the result.

    +
    +

    Two functions are provided for reading and writing the text associated +with elements:

    xmlNodePtr xmlStringGetNodeList(xmlDocPtr doc, const xmlChar + *value);
    +

    This function takes an "external" string and converts it to one + text node or possibly to a list of entity and text nodes. All + non-predefined entity references like &Gnome; will be stored + internally as entity nodes, hence the result of the function may not be + a single node.

    +
    +
    xmlChar *xmlNodeListGetString(xmlDocPtr doc, xmlNodePtr list, int + inLine);
    +

    This function is the inverse of + xmlStringGetNodeList(). It generates a new string + containing the content of the text and entity nodes. Note the extra + argument inLine. If this argument is set to 1, the function will expand + entity references. For example, instead of returning the &Gnome; + XML encoding in the string, it will substitute it with its value (say, + "GNU Network Object Model Environment").

    +
    +

    Saving a tree

    Basically 3 options are possible:

    void xmlDocDumpMemory(xmlDocPtr cur, xmlChar**mem, int + *size);
    +

    Returns a buffer into which the document has been saved.

    +
    +
    extern void xmlDocDump(FILE *f, xmlDocPtr doc);
    +

    Dumps a document to an open file descriptor.

    +
    +
    int xmlSaveFile(const char *filename, xmlDocPtr cur);
    +

    Saves the document to a file. In this case, the compression + interface is triggered if it has been turned on.

    +
    +

    Compression

    The library transparently handles compression when doing file-based +accesses. The level of compression on saves can be turned on either globally +or individually for one file:

    int xmlGetDocCompressMode (xmlDocPtr doc);
    +

    Gets the document compression ratio (0-9).

    +
    +
    void xmlSetDocCompressMode (xmlDocPtr doc, int mode);
    +

    Sets the document compression ratio.

    +
    +
    int xmlGetCompressMode(void);
    +

    Gets the default compression ratio.

    +
    +
    void xmlSetCompressMode(int mode);
    +

    Sets the default compression ratio.

    +
    +

    Daniel Veillard

    diff --git a/doc/libxml.gif b/doc/libxml.gif new file mode 100644 index 0000000..e24adf8 Binary files /dev/null and b/doc/libxml.gif differ diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml new file mode 100644 index 0000000..3546b0c --- /dev/null +++ b/doc/libxml2-api.xml @@ -0,0 +1,14791 @@ + + + + + old DocBook SGML parser + interface for a DocBook SGML non-verifying parser This code is DEPRECATED, and should not be used anymore. + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + interface for an HTML 4.0 non-verifying parser + this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. It should be able to parse "real world" HTML, even if severely broken from a specification point of view. + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + specific APIs to process HTML tree, especially serialization + this module implements a few function needed to process tree in an HTML specific way. + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + Old SAX version 1 handler, deprecated + DEPRECATED set of SAX version 1 interfaces used to build the DOM tree. + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SAX2 parser interface used to build the DOM tree + those are the default SAX2 interfaces used by the library when building DOM tree. + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provide Canonical XML and Exclusive XML Canonicalization + the c14n modules provides a "Canonical XML" implementation + Aleksey Sanin <aleksey@aleksey.com> + + + + + + + + interfaces to the Catalog handling system + the catalog module implements the support for XML Catalogs and SGML catalogs + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unicode character range checking + this module exports interfaces for the character range validation APIs This file is automatically generated from the cvs source definition files using the genChRanges.py Python script + William Brack <wbrack@mmm.com.hk> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tree debugging APIs + Interfaces to a set of routines used for debugging the tree produced by the XML parser. + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + string dictionnary + dictionary of reusable strings, just used to avoid allocation and freeing operations. + Daniel Veillard + + + + + + + + + + + + + interface for the encoding conversion functions + interface for the encoding conversion functions needed for XML basic encoding and iconv() support. Related specs are rfc2044 (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646] UTF-8 and UTF-16 in Annexes [ISO-8859-1] ISO Latin-1 characters codes. [UNICODE] The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992. UTF-8 is described in Unicode Technical Report #4. [US-ASCII] Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + interface for the XML entities handling + this module provides some of the entity API needed for the parser and applications. + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + interface for all global variables of the library + all the global variables and thread handling for those variables is handled by this module. The bottom of this file is automatically generated by build_glob.py based on the description file global.data + Gary Pennington <Gary.Pennington@uk.sun.com>, Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + chained hash tables + Bjorn Reese <bjorn.reese@systematic.dk> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lists interfaces + this module implement the list support used in various place in the library. + Gary Pennington <Gary.Pennington@uk.sun.com> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + minimal FTP implementation + minimal FTP implementation allowing to fetch resources like external subset. + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + minimal HTTP implementation + minimal HTTP implementation allowing to fetch resources like external subset. + Daniel Veillard + + + + + + + + + + + + + + + + + + + the core parser module + Interfaces, constants and types related to the XML parser + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + internals routines exported by the parser. + this module exports a number of internal parsing routines they are not really all intended for applications but can prove useful doing low level processing. + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pattern expression handling + allows to compile and test pattern expressions for nodes either in a tree or based on a parser state. + Daniel Veillard + + + + + + + + + implementation of the Relax-NG validation + implementation of the Relax-NG validation + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + internal interfaces for XML Schemas + internal interfaces for the XML Schemas handling and schema validity checking + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + interfaces for thread handling + set of generic threading related routines should work with pthreads, Windows native or TLS threads + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + interfaces for tree manipulation + this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + library of generic URI related routines + library of generic URI related routines Implements RFC 2396 + Daniel Veillard + + + + + + + + + + + + + + + + + + The DTD validation + API for the DTD handling and the validity checking + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + implementation of XInclude + API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 November 2003 + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + unfinished XLink detection module + unfinished XLink detection module + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + interface for the I/O interfaces used by the parser + interface for the I/O interfaces used by the parser + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + API to build regexp automata + the API to build regexp automata + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + error handling + the API used to report errors + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + macros for marking symbols as exportable/importable. + macros for marking symbols as exportable/importable. + Igor Zlatovic <igor@zlatkovic.com> + + + + + + + + interface for the memory allocator + provides interfaces for the memory allocator, including debugging capabilities. + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the XMLReader implementation + API of the XML streaming API based on C# interfaces. + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + regular expressions handling + basic API for libxml regular expressions handling used for XML Schemas and validation. + Daniel Veillard + + + + + + + + + + + + + + + + + the XML document serializer + API to save document or subtree of document + Daniel Veillard + + + + + + + + + + + + + incomplete XML Schemas structure implementation + interface to the XML Schemas handling and schema validity checking, it is incomplete right now. + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + implementation of XML Schema Datatypes + module providing the XML Schema Datatypes implementation both definition and validity checking + Daniel Veillard + + + + + + + + + + + + + + set of routines to process strings + type and interfaces needed for the internal string handling of the library, especially UTF8 processing. + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unicode character APIs + API for the Unicode character APIs This file is automatically generated from the UCS description files of the Unicode Character Database + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + compile-time version informations + compile-time version informations for the XML library + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text writing API for XML + text writing API for XML + Alfred Mickautsch <alfred@mickautsch.de> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XML Path Language implementation + API for the XML Path Language implementation XML Path Language implementation XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + internal interfaces for XML Path Language implementation + internal interfaces for XML Path Language implementation used to build new modules on top of XPath like XPointer and XSLT + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + API to handle XML Pointers + API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000 + Daniel Veillard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Macro used to signal to GCC unused function parameters + + + Macro to cast a string to an xmlChar * when one know its safe. + + + default buffer size 4000. + + + Macro to try to cast the value on the top of the XPath stack to a boolean. + + + Macro to try to cast the value on the top of the XPath stack to a number. + + + Macro to try to cast the value on the top of the XPath stack to a string. + + + Macro to check that the number of args passed to an XPath function matches. + + + + Macro to return from the function if an XPath error was detected. + + + Macro to return 0 from the function if an XPath error was detected. + + + Macro to check that the value on top of the XPath stack is of a given type. + + + + Macro to check that the value on top of the XPath stack is of a given type. Return(0) in case of failure + + + + DEBUG_MEMORY replaces the allocator with a collect and debug shell to the libc allocator. DEBUG_MEMORY should only be activated when debugging libxml i.e. if libxml has been configured with --with-debug-mem too. #define DEBUG_MEMORY_FREED #define DEBUG_MEMORY_LOCATION + + + Whether the memory debugging is configured in + + + Macro. A comment in a HTML document is really implemented the same way as a comment in an XML document. + + + Macro. An entity reference in a HTML document is really implemented the same way as an entity reference in an XML document. + + + Macro. A processing instruction in a HTML document is really implemented the same way as a processing instruction in an XML document. + + + Macro. A preserved node in a HTML document is really implemented the same way as a CDATA section in an XML document. + + + Macro. A text node in a HTML document is really implemented the same way as a text node in an XML document. + + + The parser tries to always have that amount of input ready. One of the point is providing context when reporting errors. + + + Macro to check the following production in the XML spec: [85] BaseChar ::= ... long list see REC ... + + + + Macro to check the following production in the XML spec: [3] S ::= (#x20 | #x9 | #xD | #xA)+ + + + + Behaviour same as IS_BLANK + + + + Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20...] any byte character in the accepted range + + + + Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. + + + + Behaves like IS_CHAR on single-byte value + + + + Macro to check the following production in the XML spec: [87] CombiningChar ::= ... long list see REC ... + + + + Always false (all combining chars > 0xff) + + + + Macro to check the following production in the XML spec: [88] Digit ::= ... long list see REC ... + + + + Behaves like IS_DIGIT but with a single byte argument + + + + Macro to check the following production in the XML spec: [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE] + + + + Behaves like IS_EXTENDER but with a single-byte argument + + + + Macro to check the following production in the XML spec: [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029] + + + + Macro to check the following production in the XML spec: [84] Letter ::= BaseChar | Ideographic + + + + Macro behaves like IS_LETTER, but only check base chars + + + + Macro to check the following production in the XML spec: [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%] + + + + Same as IS_PUBIDCHAR but for single-byte value + + + + Whether the automata interfaces are compiled in + + + Whether the Canonicalization support is configured in + + + Whether the Catalog support is configured in + + + Whether Debugging module is configured in + + + + + Whether the SGML Docbook support is configured in + + + the version string like "1.2.3" + + + Whether the FTP support is configured in + + + Whether the HTML support is configured in + + + Whether the HTTP support is configured in + + + Whether iconv support is available + + + Whether ISO-8859-* support is made available in case iconv is not + + + Whether the deprecated APIs are compiled in for compatibility + + + Whether the serialization/saving support is configured in + + + Whether the xmlPattern node selection interface is configured in + + + Whether the push parsing interfaces are configured in + + + Whether the xmlReader parsing interface is configured in + + + Whether the regular expressions interfaces are compiled in + + + Whether the older SAX1 interface is configured in + + + Whether the Schemas validation interfaces are compiled in + + + Macro to check that the libxml version in use is compatible with the version the software has been compiled against + + + Whether the thread support is configured in + + + Whether the DOM like tree manipulation API support is configured in + + + Whether the Unicode related interfaces are compiled in + + + Whether the DTD validation support is configured in + + + the version number: 1.2.3 value is 1002003 + + + the version number string, 1.2.3 value is "1002003" + + + Whether the xmlWriter saving interface is configured in + + + Whether XInclude is configured in + + + Whether XPath is configured in + + + Whether XPointer is configured in + + + Skips to the next '>' char. + + + + Skips to the next '<' char. + + + + Skips the end of line chars. + + + + defined if the trio support should not be configured in + + + defined if the trio support need to be configured in + + + Macro defining "fallback" + + + Macro defining "href" + + + Macro defining "include" + + + Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude + + + Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude + + + Macro defining "parse" + + + Macro defining "encoding" + + + Macro defining "text" + + + Macro defining "xml" + + + Macro defining "xpointer" + + + + + + + + + The namespace for the XML Catalogs elements. + + + The specific XML Catalog Processing Instuction name. + + + Bit in the loadsubset context field to tell to do complete the elements attributes lists with the ones defaulted from the DTDs. Use it to initialize xmlLoadExtDtdDefaultValue. + + + The default version of XML used: 1.0 + + + Bit in the loadsubset context field to tell to do ID/REFs lookups. Use it to initialize xmlLoadExtDtdDefaultValue. + + + Macro to extract the content pointer of a node. + + + Macro to extract the line number of an element node. + + + A namespace declaration node. + + + Identifiers can be longer, but this will be more costly at runtime. + + + Special constant found in SAX2 blocks initialized fields + + + Ignore validation non definition on attributes + + + Skip unknown attribute from validation + + + Apply strict validation rules on attributes + + + allow elements in no namespace + + + the element is abstract + + + the element has a default value + + + the element has a fixed value + + + the element is global + + + the element is nillable + + + allow elements in no namespace + + + the element is a reference to a type + + + the element is top level + + + collapse the types of the facet + + + preserve the type of the facet + + + replace the type of the facet + + + unknown facet handling + + + the shemas requires qualified attributes + + + the shemas requires qualified elements + + + the element content type is mixed + + + Bit in the loadsubset context field to tell to not do ID/REFs registration. Used to initialize xmlLoadExtDtdDefaultValue in some special cases. + + + Both general and parameter entities need to be substituted. + + + If no entities need to be substituted. + + + Whether parameter entities need to be substituted. + + + Whether general entities need to be substituted. + + + This is the namespace for the special xml: prefix predefined in the XML Namespace specification. + + + Macro to raise an XPath error and return. + + + + Macro to raise an XPath error and return 0. + + + + + + Returns the default subelement for this element + + + + Checks whether an HTML element description may be a direct child of the specified element. Returns 1 if allowed; 0 otherwise. + + + + + Returns the attributes required for the specified element. + + + + Macro for compatibility naming layer with libxml1. Maps to "children." + + + Automatically generated by genChRanges.py + + + + Automatically generated by genChRanges.py + + + + Automatically generated by genChRanges.py + + + + Automatically generated by genChRanges.py + + + + Automatically generated by genChRanges.py + + + + Automatically generated by genChRanges.py + + + + Automatically generated by genChRanges.py + + + + Automatically generated by genChRanges.py + + + + Automatically generated by genChRanges.py + + + + Automatically generated by genChRanges.py + + + + Automatically generated by genChRanges.py + + + + Automatically generated by genChRanges.py + + + + Automatically generated by genChRanges.py + + + + Automatically generated by genChRanges.py + + + + Macro for compatibility naming layer with libxml1. Maps to "children". + + + this macro maps to xmlTextWriterWriteDTD + + + This macro maps to xmlTextWriterWritePI + + + Check if an XPath error was raised. Returns true if an error has been raised, false otherwise. + + + + Empties a node-set. + + + + Get the context node of an XPath context. Returns the context node. + + + + Get the document of an XPath context. Returns the context document. + + + + Get the error code of an XPath context. Returns the context error. + + + + Implement a functionality similar to the DOM NodeList.length. Returns the number of nodes in the node-set. + + + + Checks whether @ns is empty or not. Returns %TRUE if @ns is an empty node-set. + + + + Implements a functionality similar to the DOM NodeList.item(). Returns the xmlNodePtr at the given @index in @ns or NULL if @index is out of range (0 to length-1) + + + + + Pushes the boolean @val on the context stack. + + + + + Pushes an empty node-set on the context stack. + + + + Pushes an empty string on the stack. + + + + Pushes user data on the context stack. + + + + + Pushes false on the context stack. + + + + Pushes the node-set @ns on the context stack. + + + + + Pushes the double @val on the context stack. + + + + + Pushes the string @str on the context stack. + + + + + Pushes true on the context stack. + + + + Raises an XPATH_INVALID_ARITY error. + + + + Raises an error. + + + + + Raises an XPATH_INVALID_TYPE error. + + + + Checks if the current value on the XPath stack is an external object. Returns true if the current object on the stack is an external object. + + + + Check if the current value on the XPath stack is a node set or an XSLT value tree. Returns true if the current object on the stack is a node-set. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out. + + + + + + + + Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1 block of chars out. + + + + + + + + Handle an attribute that has been read by the parser. The default handling is to convert the attribute into an DOM subtree and past it in a new xmlAttr element added to the element. DEPRECATED: use xmlSAX2Attribute() + + + + + + + An attribute definition has been parsed DEPRECATED: use xmlSAX2AttributeDecl() + + + + + + + + + + + An attribute definition has been parsed. + + + + + + + + + + + Handle an attribute that has been read by the parser. The default handling is to convert the attribute into an DOM subtree and past it in a new xmlAttr element added to the element. + + + + + + + called when a pcdata block has been parsed DEPRECATED: use xmlSAX2CDataBlock() + + + + + + + Called when a pcdata block has been parsed. + + + + + + + receiving some chars from the parser. DEPRECATED: use xmlSAX2Characters() + + + + + + + Receiving some chars from the parser. + + + + + + + Check that the current element namespace is the same as the one read upon parsing. DEPRECATED + + + + + + A comment has been parsed. DEPRECATED: use xmlSAX2Comment() + + + + + + A comment has been parsed. + + + + + + Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. + + + + + + Create a parser context for using the DocBook SGML parser in push mode To allow content encoding detection, @size should be >= 4 The value of @filename is used for fetching external entities and error/warning reports. + + + + + + + + + + Initialize the default SAX handler + + + + Take a block of UTF-8 chars in and try to convert it to an ASCII plus SGML entities block of chars out. + + + + + + + + + Free all the memory used by a parser context. However the parsed document in ctxt->myDoc is not freed. + + + + + Parse a Chunk of memory + + + + + + + + parse an SGML in-memory document and build a tree. + + + + + + parse an SGML document (and build a tree if using the standard SAX interface). + + + + + parse a Docbook SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. + + + + + + parse an SGML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. + + + + + + + + parse an SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. + + + + + + + + An element definition has been parsed DEPRECATED: use xmlSAX2ElementDecl() + + + + + + + + An element definition has been parsed. + + + + + + + + called when the document end has been detected. DEPRECATED: use xmlSAX2EndDocument() + + + + + Called when the document end has been detected. + + + + + called when the end of an element has been detected. DEPRECATED: use xmlSAX2EndElement() + + + + + + SAX2 callback when an element end has been detected by the parser. It provides the namespace informations for the element. + + + + + + + + Called when the end of an element has been detected. + + + + + + An entity definition has been parsed DEPRECATED: use xmlSAX2EntityDecl() + + + + + + + + + + An entity definition has been parsed. + + + + + + + + + + Display and format an error messages, callback. + + + + + + + Callback on external subset declaration. DEPRECATED: use xmlSAX2ExternalSubset() + + + + + + + + Callback on external subset declaration. + + + + + + + + Display and format fatal error messages, callback. Note: so far fatalError() SAX callbacks are not used, error() get all the callbacks for errors. + + + + + + + A callback for the xmlNanoFTPGet command. + + + + + + + A callback for the xmlNanoFTPList command. Note that only one of year and day:minute are specified. + + + + + + + + + + + + + + + + Provide the column number of the current parsing point. DEPRECATED: use xmlSAX2GetColumnNumber() + + + + + Get an entity by name DEPRECATED: use xmlSAX2GetEntity() + + + + + + Get an entity by name. + + + + + + Provide the line number of the current parsing point. DEPRECATED: use xmlSAX2GetLineNumber() + + + + + Get the current element namespace. DEPRECATED + + + + + Get a parameter entity by name DEPRECATED: use xmlSAX2GetParameterEntity() + + + + + + Get a parameter entity by name. + + + + + + Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN" DEPRECATED: use xmlSAX2GetPublicId() + + + + + Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd DEPRECATED: use xmlSAX2GetSystemId() + + + + + An old global namespace has been parsed. DEPRECATED + + + + + + + Does this document has an external subset DEPRECATED: use xmlSAX2HasExternalSubset() + + + + + Does this document has an external subset? + + + + + Does this document has an internal subset DEPRECATED: use xmlSAX2HasInternalSubset() + + + + + Does this document has an internal subset. + + + + + Checks whether an attribute is valid for an element Has full knowledge of Required and Deprecated attributes + + + + + + + The HTML DTD allows a tag to implicitly close other tags. The list is kept in htmlStartClose array. This function checks if the element or one of it's children would autoclose the given tag. + + + + + + + Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. + + + + + + Create a parser context for an HTML in-memory document. + + + + + + Create a parser context for using the HTML parser in push mode The value of @filename is used for fetching external entities and error/warning reports. + + + + + + + + + + parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context + + + + + + + + + parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context + + + + + + + + + parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context + + + + + + + + parse an HTML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context + + + + + + + + + + + parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context + + + + + + + + + + Reset a parser context + + + + + Applies the options to the parser context + + + + + + Initialize the default SAX handler + + + + Dump an HTML document. + + + + + + + + Dump an HTML document. Formating return/spaces are added. + + + + + + + Dump an HTML document to an open FILE. + + + + + + Dump an HTML document in memory and return the xmlChar * and it's size. It's up to the caller to free the memory. + + + + + + + Checks whether an HTML element may be a direct child of a parent element. Note - doesn't check for deprecated elements + + + + + + Checks whether an HTML element may be a direct child of a parent element. and if so whether it is valid or deprecated. + + + + + + Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out. + + + + + + + + + Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed. + + + + + Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed. + + + + + Free all the memory used by a parser context. However the parsed document in ctxt->myDoc is not freed. + + + + + Encoding definition lookup in the Meta tags + + + + + Set and return the previous value for handling HTML omitted tags. + + + + + Initialize the htmlStartCloseIndex for fast lookup of closing tags names. This is not reentrant. Call xmlInitParser() once before processing in case of use in multithreaded programs. + + + + The HTML DTD allows a tag to implicitly close other tags. The list is kept in htmlStartClose array. This function checks if a tag is autoclosed by one of it's child + + + + + + Determine if a given attribute is a boolean attribute. + + + + + Check if an attribute is of content type Script + + + + + Creates a new HTML document + + + + + + Creates a new HTML document without a DTD node if @URI and @ExternalID are NULL + + + + + + Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added. + + + + + + + Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added. + + + + + + + Dump an HTML node, recursive behaviour,children are printed too. TODO: if encoding == NULL try to save in the doc encoding + + + + + + + + + Dump an HTML node, recursive behaviour,children are printed too. + + + + + + + + + Dump an HTML node, recursive behaviour,children are printed too, and formatting returns/spaces are added. + + + + + + + + Checks whether the tree node is valid. Experimental (the author only uses the HTML enhancements in a SAX parser) + + + + + + parse Reference declarations [66] CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';' + + + + + Parse a Chunk of memory + + + + + + + + parse an HTML in-memory document and build a tree. + + + + + + parse an HTML document (and build a tree if using the standard SAX interface). + + + + + parse an HTML element, this is highly recursive [39] element ::= EmptyElemTag | STag content ETag [41] Attribute ::= Name Eq AttValue + + + + + parse an HTML ENTITY references [68] EntityRef ::= '&' Name ';' + + + + + + parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. + + + + + + parse an XML in-memory document and build a tree. + + + + + + + + parse an XML from a file descriptor and build a tree. + + + + + + + + parse an XML file from the filesystem or the network. + + + + + + + parse an HTML document from I/O functions and source and build a tree. + + + + + + + + + + parse an XML in-memory document and build a tree. + + + + + + + + + Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks to handle parse events. If sax is NULL, fallback to the default DOM behavior and return a tree. + + + + + + + + parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. + + + + + + + + Dump an HTML document to a file. If @filename is "-" the stdout file is used. + + + + + + Dump an HTML document to a file using a given encoding and formatting returns/spaces are added. + + + + + + + Dump an HTML document to a file using a given encoding. + + + + + + + + Sets the current encoding in the Meta tags NOTE: this will not change the document content encoding, just the META flag associated. + + + + + + Lookup the HTML tag in the ElementTable + + + + + receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use characters DEPRECATED: use xmlSAX2IgnorableWhitespace() + + + + + + + Receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use characters. + + + + + + + Set or reset (if NULL) the default handler for generic errors to the builtin error function. + + + + + Initialize the default DocBook SAX version 1 handler DEPRECATED: use xmlSAX2InitDocbDefaultSAXHandler() for the new SAX2 blocks + + + + + Initialize the default HTML SAX version 1 handler DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks + + + + + Initialize the default XML SAX version 1 handler DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for the new SAX2 blocks + + + + + + Pops the top parser input from the input stack + + + + + Pushes a new parser input on top of the input stack + + + + + + Callback on internal subset declaration. DEPRECATED: use xmlSAX2InternalSubset() + + + + + + + + Callback on internal subset declaration. + + + + + + + + Is this document tagged standalone ? DEPRECATED: use xmlSAX2IsStandalone() + + + + + Is this document tagged standalone? + + + + + Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 block of chars out. + + + + + + + + Pops the top element name from the name stack + + + + + Pushes a new element name on top of the name stack + + + + + + A namespace has been parsed. DEPRECATED + + + + + + + Pops the top element node from the node stack + + + + + Pushes a new element node on top of the node stack + + + + + + What to do when a notation declaration has been parsed. DEPRECATED: use xmlSAX2NotationDecl() + + + + + + + + What to do when a notation declaration has been parsed. + + + + + + + + A processing instruction has been parsed. DEPRECATED: use xmlSAX2ProcessingInstruction() + + + + + + + A processing instruction has been parsed. + + + + + + + called when an entity reference is detected. DEPRECATED: use xmlSAX2Reference() + + + + + + Called when an entity reference is detected. + + + + + + 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 DEPRECATED: use xmlSAX2ResolveEntity() + + + + + + + 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 + + + + + + + Receive the document locator at startup, actually xmlDefaultSAXLocator Everything is available on the context, so this is useless in our case. DEPRECATED + + + + + + Receive the document locator at startup, actually xmlDefaultSAXLocator. Everything is available on the context, so this is useless in our case. + + + + + + Set the current element namespace. DEPRECATED + + + + + + called when the document start being processed. DEPRECATED: use xmlSAX2StartDocument() + + + + + Called when the document start being processed. + + + + + called when an opening tag has been processed. DEPRECATED: use xmlSAX2StartElement() + + + + + + + SAX2 callback when an element start has been detected by the parser. It provides the namespace informations for the element, as well as the new namespace declarations on the element. + + + + + + + + + + + + + Called when an opening tag has been processed. + + + + + + + What to do when an unparsed entity declaration is parsed DEPRECATED: use xmlSAX2UnparsedEntityDecl() + + + + + + + + + What to do when an unparsed entity declaration is parsed. + + + + + + + + + Pops the top XPath object from the value stack + + + + + Pushes a new XPath object on top of the value stack + + + + + + Display and format a warning messages, callback. + + + + + + + This is the prototype for a extended link detection callback. + + + + + + + + + + + + + + + + + This is the prototype for a extended link set detection callback. + + + + + + + + + + + + Get the default xlink detection routine + + + + Get the default xlink handler. + + + + Check whether the given node carries the attributes needed to be a link element (or is one of the linking elements issued from the (X)HTML DtDs). This routine don't try to do full checking of the link validity but tries to detect and return the appropriate link type. + + + + + + This is the prototype for the link detection routine. It calls the default link detection callbacks upon link detection. + + + + + + Set the default xlink detection routine + + + + + Set the default xlink handlers + + + + + This is the prototype for a simple link detection callback. + + + + + + + + + Add an entry in the catalog, it may overwrite existing but different entries. + + + + + + + + Free up all the memory associated with catalogs + + + + + + Remove an entry from the catalog + + + + + + Do a complete resolution lookup of an External Identifier + + + + + + + Try to lookup the catalog local reference associated to a public ID in that catalog + + + + + + Try to lookup the catalog resource for a system ID + + + + + + Do a complete resolution lookup of an URI + + + + + + Register a new attribute declaration Note that @tree becomes the ownership of the DTD + + + + + + + + + + + + + Add a new node to @parent, at the end of the child (or property) list merging adjacent TEXT nodes (in which case @cur is freed) If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an attribute with equal name, it is first destroyed. + + + + + + Add a list of node at the end of the child list of the parent merging adjacent TEXT nodes (@cur may be freed) + + + + + + Register a new entity for this document. + + + + + + + + + + Register a new entity for this document DTD external subset. + + + + + + + + + + Register a new element declaration + + + + + + + + + Registers an alias @alias for an encoding named @name. Existing alias will be overwritten. + + + + + + Register a new id declaration + + + + + + + + Add a new node @elem as the next sibling of @cur If the new node was already inserted in a document it is first unlinked from its existing context. As a result of text merging @elem may be freed. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an attribute with equal name, it is first destroyed. + + + + + + Register a new notation declaration + + + + + + + + + Add a new node @elem as the previous sibling of @cur merging adjacent TEXT nodes (@elem may be freed) If the new node was already inserted in a document it is first unlinked from its existing context. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an attribute with equal name, it is first destroyed. + + + + + + Register a new ref declaration + + + + + + + + Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be freed) If the new element was already inserted in a document it is first unlinked from its existing context. + + + + + + Create a buffered parser output + + + + + Create a buffered parser input for progressive parsing + + + + + Serialize text attribute values to an xml simple buffer + + + + + + + + Compile the automata into a Reg Exp ready for being executed. The automata should be free after this point. + + + + + Initial state lookup + + + + + Checks if an automata is determinist. + + + + + If @to is NULL, this create first a new target state in the automata and then adds a an ALL transition from the @from state to the target state. That transition is an epsilon transition allowed only when all transitions from the @from node have been activated. + + + + + + + + If @to is NULL, this create first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max + + + + + + + + + + + If @to is NULL, this create first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided + + + + + + + + Create a new counter + + + + + + + If @to is NULL, this create first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will be allowed only if the counter is within the right range. + + + + + + + + If @to is NULL, this create first a new target state in the automata and then adds a an epsilon transition from the @from state to the target state + + + + + + + If @to is NULL, this create first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max, moreover that transistion can only be crossed once. + + + + + + + + + + + Create a new disconnected state in the automata + + + + + If @to is NULL, this create first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token + + + + + + + + + If @to is NULL, this create first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token + + + + + + + + + + Makes that state a final state + + + + + + Convenient way to turn bool into text + + + + + Add a string range to an XML buffer. if len == -1, the length of str is recomputed. + + + + + + + Add a string range to the beginning of an XML buffer. if len == -1, the length of @str is recomputed. + + + + + + + Append a zero terminated C string to an XML buffer. + + + + + + Append a zero terminated string to an XML buffer. + + + + + + Function to extract the content of a buffer + + + + + routine to create an XML buffer. + + + + routine to create an XML buffer. + + + + + routine to create an XML buffer from an immutable memory area. The area won't be modified nor copied, and is expected to be present until the end of the buffer lifetime. + + + + + + Dumps an XML buffer to a FILE *. + + + + + + empty a buffer. + + + + + Frees an XML buffer. It frees both the content and the structure which encapsulate it. + + + + + Grow the available space of an XML buffer. + + + + + + Function to get the length of a buffer + + + + + Resize a buffer to accommodate minimum size of @size. + + + + + + Sets the allocation scheme for this buffer + + + + + + Remove the beginning of an XML buffer. + + + + + + routine which manages and grows an output buffer. This one adds xmlChars at the end of the buffer. + + + + + + routine which manage and grows an output buffer. This one add C chars at the end of the array. + + + + + + routine which manage and grows an output buffer. This one writes a quoted or double quoted #xmlChar string, checking first if it holds quote or double-quotes internally + + + + + + Builds the QName @prefix:@ncname in @memory if there is enough space and prefix is not NULL nor empty, otherwise allocate a new string. If prefix is NULL or empty it returns ncname. + + + + + + + + Computes he final URI of the reference done by checking that the given URI is valid, and building the final URI using the base URI. This is processed according to section 5.2 of the RFC 2396 5.2. Resolving Relative References to Absolute Form + + + + + + This function provides the current index of the parser relative to the start of the current entity. This function is computed in bytes from the beginning starting at zero and finishing at the size in byte of the file if parsing a file. The function is of constant cost if the input is UTF-8 but can be costly if run on non-UTF-8 input. + + + + + 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) + + + + + + + + + + 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) + + + + + + + + + + + + + + + + + + Constructs a canonic path from the specified path. + + + + + 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(); + + + + + + + Add the new entry to the catalog list + + + + + + Free up all the memory associated with catalogs + + + + Convert all the SGML catalog entries as XML ones + + + + Free up all the memory associated with catalogs + + + + + Free up the memory associated to the catalog list + + + + + Used to get the user preference w.r.t. to what catalogs should be accepted + + + + Try to lookup the catalog reference associated to a public ID DEPRECATED, use xmlCatalogResolvePublic() + + + + + Try to lookup the catalog reference associated to a system ID DEPRECATED, use xmlCatalogResolveSystem() + + + + + Check is a catalog is empty + + + + + Do a complete resolution lookup of an External Identifier using a document's private catalog list + + + + + + + Do a complete resolution lookup of an URI using a document's private catalog list + + + + + + Remove an entry from the catalog + + + + + Do a complete resolution lookup of an External Identifier + + + + + + Try to lookup the catalog reference associated to a public ID + + + + + Try to lookup the catalog resource for a system ID + + + + + Do a complete resolution lookup of an URI + + + + + Used to set the debug level for catalog operation, 0 disable debugging, 1 enable it + + + + + Allows to set the preference between public and system for deletion in XML Catalog resolution. C.f. section 4.1.1 of the spec Values accepted are XML_CATA_PREFER_PUBLIC or XML_CATA_PREFER_SYSTEM + + + + + Used to set the user preference w.r.t. to what catalogs should be accepted + + + + + Generic front-end for encoding handler close function + + + + + Front-end for the encoding handler input function, but handle only the very first line, i.e. limit itself to 45 chars. + + + + + + + Generic front-end for the encoding handler input function + + + + + + + Generic front-end for the encoding handler output function a first call with @in == NULL has to be made firs to initiate the output in case of non-stateless encoding needing to initiate their state or the output (like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content will be automatically remapped to a CharRef sequence. + + + + + + + Take a block of chars in the original encoding and try to convert it to an UTF-8 block of chars out. + + + + + + + + Take a block of UTF-8 chars in and try to convert it to another encoding. Note: a first call designed to produce heading info is called with in = NULL. If stateful this should also initialize the encoder state. + + + + + + + + Does a binary search of the range table to determine if char is valid + + + + + + a strdup for char's to xmlChar's + + + + + a strndup for char's to xmlChar's + + + + + + function checks to see if @path is a valid source (file, socket...) for XML. if stat is not available on the target machine, + + + + + Check an input in case it was created from an HTTP stream, in that case it will handle encoding and update of the base URL in case of redirection. It also checks for HTTP errors in which case the input is cleanly freed up and an appropriate error is raised in context + + + + + + 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 [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ + + + + + Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value. + + + + + check the compiled lib version against the include one. This can warn or immediately kill the application + + + + + Cleanup the memory allocated for the char encoding support, it unregisters all the encoding handlers and the aliases. + + + + Unregisters all aliases + + + + Additional cleanup for multi-threading + + + + clears the entire input callback table. this includes the compiled-in I/O. + + + + Free up all the memory associated with memorys + + + + clears the entire output callback table. this includes the compiled-in I/O callbacks. + + + + Cleanup function for the XML library. It tries to reclaim all parsing related global memory allocated for the library processing. It doesn't deallocate any document related memory. Calling this function should not prevent reusing the library but one should call xmlCleanupParser() only when the process has finished using the library or XML document built with it. + + + + Cleanup up the predefined entities table. Deprecated call + + + + xmlCleanupThreads() is used to to cleanup all the thread related data of the libxml2 library once processing has ended. + + + + -- Clear (release memory and reinitialize) node info sequence + + + + + Clear (release owned resources) and reinitialize a parser context + + + + + Convert all the SGML catalog entries as XML ones + + + + + Build a copy of an attribute table. + + + + + append the char value in the array + + + + + + + append the char value in the array + + + + + + Do a copy of the document info. If recursive, the content tree will be copied too as well as DTD, namespaces and entities. + + + + + + Do a copy of the dtd. + + + + + Build a copy of an element content description. + + + + + Build a copy of an element table. + + + + + Build a copy of an entity table. + + + + + Copy an enumeration attribute node (recursive). + + + + + Save the original error to the new place. + + + + + + Do a copy of the namespace. + + + + + Do a copy of an namespace list. + + + + + Do a copy of the node. + + + + + + Do a recursive copy of the node list. + + + + + Build a copy of a notation table. + + + + + Do a copy of the attribute. + + + + + + Do a copy of an attribute list. + + + + + + Creates a parser context for an XML in-memory document. + + + + + create and initialize an empty entities hash table. + + + + Create a parser context for an external entity Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. + + + + + + + create and initialize an enumeration attribute node. + + + + + Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. + + + + + Create a parser context for using the XML parser with an existing I/O stream + + + + + + + + + + Create the internal subset of a document + + + + + + + + Create a parser context for an XML in-memory document. + + + + + + Create a parser context for using the XML parser in push mode. If @buffer and @size are non-NULL, the data is used to detect the encoding. The remaining characters will be parsed so they don't need to be fed in again through xmlParseChunk. To allow content encoding detection, @size should be >= 4 The value of @filename is used for fetching external entities and error/warning reports. + + + + + + + + + Simply creates an empty xmlURI + + + + Create a parser context for a file or URL content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time and for file accesses + + + + + + Get the last parsing error registered. + + + + + parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context + + + + + + + + + parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context NOTE that the file descriptor will not be closed when the reader is closed or reset. + + + + + + + + + parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context + + + + + + + + parse an XML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context + + + + + + + + + + + parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context + + + + + + + + + + Reset a parser context + + + + + Cleanup the last global error registered. For parsing error this does not change the well-formedness result. + + + + + Reset a push parser context + + + + + + + + + Applies the options to the parser context + + + + + + The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer. Implement the end of line normalization: 2.11 End-of-Line Handling Wherever an external parsed entity or the literal entity value of an internal parsed entity contains either the literal two-character sequence "#xD#xA" or a standalone literal #xD, an XML processor must pass to the application the single character #xA. This behavior can conveniently be produced by normalizing all line breaks to #xA on input, before parsing.) + + + + + + Dumps debug information for the attribute + + + + + + + Dumps debug information for the attribute list + + + + + + + Dumps debug information for the DTD + + + + + + Dumps debug information for the document, it's recursive + + + + + + Dumps debug information cncerning the document, not recursive + + + + + + Dumps debug information for all the entities in use by the document + + + + + + Dumps debug information for the element node, it is recursive + + + + + + + Dumps debug information for the list of element node, it is recursive + + + + + + + Dumps debug information for the element node, it is not recursive + + + + + + + Dumps informations about the string, shorten it if necessary + + + + + + This function is deprecated, we now always process entities content through xmlStringDecodeEntities TODO: remove it in next major release. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';' + + + + + + + + + + Initialize the default SAX2 handler + + + + Unregisters an encoding alias @alias + + + + + Registers a callback for node destruction + + + + + + + + + + Guess the encoding of the entity using the first bytes of the entity content according to the non-normative appendix F of the XML-1.0 recommendation. + + + + + + Create a new dictionary + + + + Create a new dictionary, inheriting strings from the read-only dictionnary @sub. On lookup, strings are first searched in the new dictionnary, then in @sub, and if not found are created in the new dictionnary. + + + + + Free the hash @dict and its contents. The userdata is deallocated with @f if provided. + + + + + Add the @name to the hash @dict if not present. + + + + + + + check if a string is owned by the disctionary + + + + + + Add the QName @prefix:@name to the hash @dict if not present. + + + + + + + Increment the reference counter of a dictionary + + + + + Query the number of elements installed in the hash @dict. + + + + + Do a copy of the node to a given document. + + + + + + + Dump an XML document to an open FILE. + + + + + + Dump an XML document in memory and return the #xmlChar * and it's size. It's up to the caller to free the memory with xmlFree(). Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called + + + + + + + + Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up to the caller of this function to free the allocated memory with xmlFree(). Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called + + + + + + + + + Dump an XML document in memory and return the #xmlChar * and it's size in bytes. It's up to the caller to free the memory with xmlFree(). The resulting byte array is zero terminated, though the last 0 is not included in the returned size. + + + + + + + Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up to the caller of this function to free the allocated memory with xmlFree(). + + + + + + + + Dump an XML document to an open FILE. + + + + + + + Get the root element of the document (doc->children is a list containing possibly comments, PIs, etc ...). + + + + + Set the root element of the document (doc->children is a list containing possibly comments, PIs, etc ...). + + + + + + This will dump the content of the attribute declaration as an XML DTD definition + + + + + + This will dump the content of the attribute table as an XML DTD definition + + + + + + This will dump the content of the element declaration as an XML DTD definition + + + + + + This will dump the content of the element table as an XML DTD definition + + + + + + This will dump the content of the entity table as an XML DTD definition + + + + + + This will dump the content of the entity table as an XML DTD definition + + + + + + This will dump the content the notation declaration as an XML DTD definition + + + + + + This will dump the content of the notation table as an XML DTD definition + + + + + + Dump an XML/HTML node, recursive behaviour, children are printed too. + + + + + + + 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. + + + + + + Do a global encoding of a string, replacing the predefined entities and non ASCII values with their entities and CharRef counterparts. Contrary to xmlEncodeEntities, this routine is reentrant, and result must be deallocated. + + + + + + Do a global encoding of a string, replacing the predefined entities this routine is reentrant, and result must be deallocated. + + + + + + Callback function used when one needs to be able to track back the provenance of a chunk of nodes inherited from an entity replacement. + + + + + + + Handle a redefinition of attribute error + + + + + + External entity loaders types. + + + + + + + Close an I/O channel + + + + + input from FILE * + + + + + Wrapper around xmlFileOpen_real that try it with an unescaped version of @filename, if this fails fallback to @filename + + + + + Read @len bytes to @buffer from the I/O channel. + + + + + + + Search in the registered set the handler able to read/write that encoding. + + + + + Deallocate the memory used by an entities hash table. + + + + + Free an automata + + + + + Free the memory allocated to a Catalog + + + + + Free up all the structures used by a document, tree included. + + + + + Free a DTD structure. + + + + + Free an element content structure. This is a recursive call ! + + + + + Deallocate the memory used by an element hash table. + + + + + Deallocate the memory used by an entities hash table. + + + + + free an enumeration attribute node (recursive). + + + + + Signature for a free() implementation. + + + + + Deallocate the memory used by an ID hash table. + + + + + Free up an input stream. + + + + + xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct. + + + + + Free a node, this is a recursive behaviour, all the children are freed too. This doesn't unlink the child from the list, use xmlUnlinkNode() first. + + + + + Free a node and all its siblings, this is a recursive behaviour, all the children are freed too. + + + + + Deallocate the memory used by an entities hash table. + + + + + Free up the structures associated to a namespace + + + + + Free up all the structures associated to the chained namespaces. + + + + + Free all the memory used by a parser context. However the parsed document in ctxt->myDoc is not freed. + + + + + Free up the memory used by a buffered parser input + + + + + Free up the memory allocated by @comp + + + + + Free up the memory allocated by all the elements of @comp + + + + + Free one attribute, all the content is freed too + + + + + Free a property and all its siblings, all the children are freed too. + + + + + xmlRFreeMutex() is used to reclaim resources associated with a reentrant mutex. + + + + + Deallocate the memory used by an Ref hash table. + + + + + Deallocate all the resources associated to the reader + + + + + Deallocate all the resources associated to the writer + + + + + Free up the xmlURI struct + + + + + Free a validation context structure. + + + + + Provides the memory access functions set currently in use The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators + + + + + + + + + Override the default memory access functions with a new set This has to be called before any other libxml routines ! The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators Should this be blocked if there was already some allocations done ? + + + + + + + + + Signature of the function to use when there is an error and no parsing or validity context available . + + + + + + + Types are XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, improves performance + + + + Search in the registered set the handler able to read/write that encoding. + + + + + The "canonical" name for XML encoding. C.f. http://www.w3.org/TR/REC-xml#charencoding Section 4.3.3 Character Encoding in Entities + + + + + get the default compression mode used, ZLIB based. + + + + get the compression ratio for a document, ZLIB based + + + + + Do an entity lookup in the document entity hash table and + + + + + + Search the DTD for the description of this attribute on this element. + + + + + + + Search the DTD for the description of this element + + + + + + Do an entity lookup in the DTD entity hash table and + + + + + + Search the DTD for the description of this notation + + + + + + Search the DTD for the description of this qualified attribute on this element. + + + + + + + + Search the DTD for the description of this element + + + + + + + Lookup an encoding name for the given alias. + + + + + Get the default external entity resolver function for the application + + + + Read the current value of one feature of this parser instance + + + + + + + Copy at most *@len feature names into the @result array + + + + + + xmlGetGlobalState() is called to retrieve the global state for a thread. + + + + Search the attribute declaring the given ID + + + + + + Get the internal subset of a document + + + + + Search the last child of a node. + + + + + Get the last global error registered. This is per thread if compiled with thread support. + + + + Get line number of @node. This requires activation of this option before invoking the parser by calling xmlLineNumbersDefault(1) + + + + + Search and get the value of an attribute associated to a node This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off. This function is similar to xmlGetProp except it will accept only an attribute in no namespace. + + + + + + Build a structure based Path for the given node + + + + + Search all the namespace applying to a given element. + + + + + + Search and get the value of an attribute associated to a node This attribute has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off. + + + + + + + Do an entity lookup in the internal and external subsets and + + + + + + Check whether this name is an predefined entity. + + + + + Search and get the value of an attribute associated to a node This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off. NOTE: this function acts independently of namespaces associated to the attribute. Use xmlGetNsProp() or xmlGetNoNsProp() for namespace aware processing. + + + + + + Find the set of references for the supplied ID. + + + + + + xmlGetThreadId() find the current thread ID number + + + + Read one UTF8 Char from @utf + + + + + + Default handling of defined entities, when should we define a new input stream ? When do we just handle that as a set of chars ? OBSOLETE: to be removed at some point. + + + + + + Search for an attribute associated to a node This attribute has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off. + + + + + + + Search an attribute associated to a node This function also looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off. + + + + + + Add the @userdata to the hash @table. This can later be retrieved by using the @name. Duplicate names generate errors. + + + + + + + Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Duplicate tuples generate errors. + + + + + + + + Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Duplicate entries generate errors. + + + + + + + + + Callback to copy data from a hash. + + + + + + Scan the hash @table and applied @f to each value. + + + + + + Create a new xmlHashTablePtr. + + + + + Callback to free data from a hash. + + + + + + Free the hash @table and its contents. The userdata is deallocated with @f if provided. + + + + + + Find the userdata specified by the @name. + + + + + + Find the userdata specified by the (@name, @name2) tuple. + + + + + + + Find the userdata specified by the (@name, @name2, @name3) tuple. + + + + + + + + Find the userdata specified by the QName @prefix:@name/@name. + + + + + + + Find the userdata specified by the QNames tuple + + + + + + + + + Find the userdata specified by the (@name, @name2, @name3) tuple. + + + + + + + + + + + Find the userdata specified by the @name and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f. + + + + + + + Find the userdata specified by the (@name, @name2) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f. + + + + + + + + Find the userdata specified by the (@name, @name2, @name3) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f. + + + + + + + + + Scan the hash @table and applied @f to each value. + + + + + + + Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match. + + + + + + + + + + Scan the hash @table and applied @f to each value. + + + + + + + Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match. + + + + + + + + + + Callback when scanning data in a hash with the simple scanner. + + + + + + + Callback when scanning data in a hash with the full scanner. + + + + + + + + + Query the number of elements installed in the hash @table. + + + + + Add the @userdata to the hash @table. This can later be retrieved by using the @name. Existing entry for this @name will be removed and freed with @f if found. + + + + + + + + Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Existing entry for this tuple will be removed and freed with @f if found. + + + + + + + + + Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Existing entry for this tuple will be removed and freed with @f if found. + + + + + + + + + + Close an FTP I/O channel + + + + + check if the URI matches an FTP one + + + + + open an FTP I/O channel + + + + + Read @len bytes to @buffer from the I/O channel. + + + + + + + Close an HTTP I/O channel + + + + + check if the URI matches an HTTP one + + + + + open an HTTP I/O channel + + + + + Open a temporary buffer to collect the document for a subsequent HTTP POST request. Non-static as is called from the output buffer creation routine. + + + + + + Read @len bytes to @buffer from the I/O channel. + + + + + + + Load and parse a DTD + + + + + + + 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. + + + + Additional initialisation for multi-threading + + + + Initialize the memory layer. + + + + -- Initialize (set to initial state) node info sequence + + + + + Initialization function for the XML parser. This is not reentrant. Call once before processing in case of use in multithreaded programs. + + + + Initialize a parser context + + + + + xmlInitThreads() is used to to initialize all the thread related data of the libxml2 library. + + + + Do the catalog initialization. this function is not thread safe, catalog initialization should preferably be done once at startup + + + + xmlInitializeGlobalState() initialize a global state with all the default values of the library. + + + + + Set up the predefined entities. Deprecated call + + + + Callback used in the I/O Input API to close the resource + + + + + Callback used in the I/O Input API to detect if the current handler can provide input fonctionnalities for this resource. + + + + + Callback used in the I/O Input API to open the resource + + + + + Callback used in the I/O Input API to read the resource + + + + + + + This function is DEPRECATED. Use xmlIsBaseChar_ch or xmlIsBaseCharQ instead + + + + + This function is DEPRECATED. Use xmlIsBlank_ch or xmlIsBlankQ instead + + + + + Checks whether this node is an empty or whitespace only (and possibly ignorable) text-node. + + + + + This function is DEPRECATED. Use xmlIsChar_ch or xmlIsCharQ instead + + + + + This function is DEPRECATED. Use xmlIsCombiningQ instead + + + + + This function is DEPRECATED. Use xmlIsDigit_ch or xmlIsDigitQ instead + + + + + This function is DEPRECATED. Use xmlIsExtender_ch or xmlIsExtenderQ instead + + + + + Determine whether an attribute is of type ID. In case we have DTD(s) then this is done if DTD loading has been requested. In the case of HTML documents parsed with the HTML parser, then ID detection is done systematically. + + + + + + + This function is DEPRECATED. Use xmlIsIdeographicQ instead + + + + + Check whether the character is allowed by the production [84] Letter ::= BaseChar | Ideographic + + + + + xmlIsMainThread() check whether the current thread is the main thread. + + + + Search in the DtDs whether an element accept Mixed content (or ANY) basically if it is supposed to accept text childs + + + + + + This function is DEPRECATED. Use xmlIsPubidChar_ch or xmlIsPubidCharQ instead + + + + + Determine whether an attribute is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase). + + + + + + + Try to find if the document correspond to an XHTML DTD + + + + + + Set and return the previous value for default blanks text nodes support. The 1.x version of the parser used an heuristic to try to detect ignorable white spaces. As a result the SAX callback was generating xmlSAX2IgnorableWhitespace() callbacks instead of characters() one, and when using the DOM output text nodes containing those blanks were not generated. The 2.x and later version will switch to the XML standard way and ignorableWhitespace() are only generated when running the parser in validating mode and when the current element doesn't allow CDATA or mixed content. This function is provided as a way to force the standard behavior on 1.X libs and to switch back to the old mode for compatibility when running 1.X client code on 2.X . Upgrade of 1.X code should be done by using xmlIsBlankNode() commodity function to detect the "empty" nodes generated. This value also affect autogeneration of indentation when saving code if blanks sections are kept, indentation is not generated. + + + + + Set and return the previous value for enabling line numbers in elements contents. This may break on old application and is turned off by default. + + + + + See Returns. + + + + + Insert data in the ordered list at the end for this value + + + + + + Remove the all data in the list + + + + + Move all the element from the old list in the new list + + + + + + Create a new list + + + + + + Callback function used to compare 2 data. + + + + + + Callback function used to free data from a list. + + + + + Deletes the list and its associated data + + + + + Duplicate the list + + + + + Is the list empty ? + + + + + Get the last element in the list + + + + + Get the first element in the list + + + + + Insert data in the ordered list at the beginning for this value + + + + + + include all the elements of the second list in the first one and clear the second list + + + + + + Removes the last element in the list + + + + + Removes the first element in the list + + + + + add the new data at the end of the list + + + + + + add the new data at the beginning of the list + + + + + + Remove the all instance associated to data in the list + + + + + + Remove the first instance associated to data in the list + + + + + + Remove the last instance associated to data in the list + + + + + + Reverse the order of the elements in the list + + + + + Search the list in reverse order for an existing value of @data + + + + + + Walk all the element of the list in reverse order and apply the walker function to it + + + + + + + Search the list for an existing value of @data + + + + + + Get the number of elements in the list + + + + + Sort all the elements in the list + + + + + Walk all the element of the first from first to last and apply the walker function to it + + + + + + + Callback function used when walking a list with xmlListWalk(). + + + + + + Load the catalog and build the associated data structures. This can be either an XML Catalog or an SGML Catalog It will recurse in SGML CATALOG entries. On the other hand XML Catalogs are not handled recursively. + + + + + Load the catalog and makes its definitions effective for the default external entity loader. It will recurse in SGML CATALOG entries. this function is not thread safe, catalog initialization should preferably be done once at startup + + + + + Load the catalogs and makes their definitions effective for the default external entity loader. this function is not thread safe, catalog initialization should preferably be done once at startup + + + + + Load an external entity, note that the use of this function for unparsed entities may generate problems TODO: a more generic External entity API must be designed + + + + + + + Load an SGML super catalog. It won't expand CATALOG or DELEGATE references. This is only needed for manipulating SGML Super Catalogs like adding and removing CATALOG or DELEGATE entries. + + + + + xmlLockLibrary() is used to take out a re-entrant lock on the libxml2 library. + + + + Count the children of @node. + + + + + Dump to @output the type and name of @node. + + + + + + a malloc() equivalent, with logging of the allocation info. + + + + + + + Signature for a malloc() implementation. + + + + + a malloc() equivalent, with logging of the allocation info. + + + + + + + show in-extenso the memory blocks allocated + + + + + a free() equivalent, with error checking. + + + + + Provides the memory access functions set currently in use + + + + + + + + a malloc() equivalent, with logging of the allocation info. + + + + + a realloc() equivalent, with logging of the allocation info. + + + + + + Override the default memory access functions with a new set This has to be called before any other libxml routines ! Should this be blocked if there was already some allocations done ? + + + + + + + + show a show display of the memory allocated, and dump the @nr last allocated areas which were not freed + + + + + + a strdup() equivalent, with logging of the allocation info. + + + + + + + Provides the amount of memory currently allocated + + + + Dump in-extenso the memory blocks allocated to the file .memorylist + + + + a strdup() equivalent, with logging of the allocation info. + + + + + xmlMutexLock() is used to lock a libxml2 token. + + + + + xmlMutexUnlock() is used to unlock a libxml2 token. + + + + + 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 + + + + + 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 [NS 2] PrefixDef ::= 'xmlns' (':' NCName)? + + + + + 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 [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName + + + + + + Check if there is a response from the FTP server after a command. + + + + + Cleanup the FTP protocol layer. This cleanup proxy informations. + + + + Close the connection and both control and transport + + + + + Close the data connection from the server + + + + + Tries to open a control connection + + + + + Tries to open a control connection to the given server/port + + + + + + Tries to change the remote directory + + + + + + Tries to delete an item (file or directory) from server + + + + + + Frees the context after closing the connection. + + + + + Fetch the given file from the server. All data are passed back in the callbacks. The last callback has a size of 0 block. + + + + + + + + Try to open a data connection to the server. Currently only passive mode is supported. + + + + + Get the response from the FTP server after a command. + + + + + Initiate fetch of the given file from the server. + + + + + + Initialize the FTP protocol layer. Currently it just checks for proxy informations, and get the hostname + + + + Do a listing on the server. All files info are passed back in the callbacks. + + + + + + + + Allocate and initialize a new FTP context. + + + + + Start to fetch the given ftp:// resource + + + + + Setup the FTP proxy informations. This can also be done by using ftp_proxy ftp_proxy_user and ftp_proxy_password environment variables. + + + + + + + + + Send a QUIT command to the server + + + + + This function tries to read @len bytes from the existing FTP connection and saves them in @dest. This is a blocking call. + + + + + + + (Re)Initialize the FTP Proxy context by parsing the URL and finding the protocol host port it indicates. Should be like ftp://myproxy/ or ftp://myproxy:3128/ A NULL URL cleans up proxy informations. + + + + + Update an FTP context by parsing the URL and finding new path it indicates. If there is an error in the protocol, hostname, port or other information, the error is raised. It indicates a new connection has to be established. + + + + + + Get the authentication header of an HTTP context + + + + + Cleanup the HTTP protocol layer. + + + + This function closes an HTTP context, it ends up the connection and free all data related to it. + + + + + Provides the specified encoding if specified in the HTTP headers. + + + + + This function try to fetch the indicated resource via HTTP GET and save it's content in the file. + + + + + + + Initialize the HTTP protocol layer. Currently it just checks for proxy informations + + + + This function try to open a connection to the indicated resource via HTTP using the given @method, adding the given extra headers and the input buffer for the request content. + + + + + + + + + + This function try to open a connection to the indicated resource via HTTP using the given @method, adding the given extra headers and the input buffer for the request content. + + + + + + + + + + + Provides the specified Mime-Type if specified in the HTTP headers. + + + + + This function try to open a connection to the indicated resource via HTTP GET. + + + + + + This function try to open a connection to the indicated resource via HTTP GET. + + + + + + + This function tries to read @len bytes from the existing HTTP connection and saves them in @dest. This is a blocking call. + + + + + + + Provides the specified redirection URL if available from the HTTP header. + + + + + Get the latest HTTP return code received + + + + + This function saves the output of the HTTP transaction to a file It closes and free the context at the end + + + + + + (Re)Initialize the HTTP Proxy context by parsing the URL and finding the protocol host port it indicates. Should be like http://myproxy/ or http://myproxy:3128/ A NULL URL cleans up proxy informations. + + + + + Create a new automata + + + + Creation of a new node containing a CDATA block. + + + + + + + create a new Catalog. + + + + + Create and registers an xmlCharEncodingHandler. + + + + + + + Creation of a new character reference node. + + + + + + Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child list containing the TEXTs and ENTITY_REFs node will be created. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references. XML special chars must be escaped first by using xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should be used. + + + + + + + + Creation of a new node containing a comment. + + + + + Creates a new XML document + + + + + Creation of a new node containing a comment within a document. + + + + + + Creation of a new Fragment node. + + + + + Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @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. + + + + + + + + Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @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. + + + + + + + + Create a new property carried by a document. + + + + + + + Creation of a new node element within a document. @ns and @content are optional (NULL). + + + + + + + + Creation of a new text node within a document. + + + + + + Creation of a new text node with an extra content length parameter. The text node pertain to a given document. + + + + + + + Creation of a new DTD for the external subset. To create an internal subset, use xmlCreateIntSubset(). + + + + + + + + Allocate an element content structure. + + + + + + Create a new input stream based on an xmlEntityPtr + + + + + + Creation of a Namespace, the old way using PI and without scoping DEPRECATED !!! It now create a namespace on the root element of the document if found. + + + + + + + Create a new input stream structure encapsulating the @input into a stream suitable for the parser. + + + + + + + Create a new input stream based on a file or an URL. + + + + + + Create a new input stream structure + + + + + xmlNewMutex() is used to allocate a libxml2 token struct for use in synchronizing access to data. + + + + Creation of a new node element. @ns is optional (NULL). + + + + + + Creation of a new node element. @ns is optional (NULL). + + + + + + Creation of a new Namespace. This function will refuse to create a namespace with a similar prefix than an existing one present on this node. We use href==NULL in the case of an element creation where the namespace was not defined. + + + + + + + Create a new property tagged with a namespace and carried by a node. + + + + + + + + Create a new property tagged with a namespace and carried by a node. + + + + + + + + Creation of a processing instruction element. + + + + + + Allocate and initialize a new parser context. + + + + Create a new property carried by a node. + + + + + + + xmlRNewMutex() is used to allocate a reentrant mutex for use in synchronizing access to data. token_r is a re-entrant lock and thus useful for synchronizing access to data structures that may be manipulated in a recursive fashion. + + + + Creation of a new reference node. + + + + + + Create a new input stream based on a memory buffer. + + + + + + Creation of a new text node. + + + + + Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child TEXT node will be created containing the string @content. NOTE: Use xmlNewChild() if @content will contain entities that need to be preserved. Use this function, xmlNewTextChild(), if you need to ensure that reserved XML chars that might appear in @content, such as the ampersand, greater-than or less-than signs, are automatically replaced by their XML escaped entity representations. + + + + + + + + Creation of a new text node with an extra parameter for the content's length + + + + + + Create an xmlTextReader structure fed with @input + + + + + + Create an xmlTextReader structure fed with the resource at @URI + + + + + Create a new xmlNewTextWriter structure using an xmlOutputBufferPtr + + + + + Create a new xmlNewTextWriter structure with @*doc as output + + + + + + Create a new xmlNewTextWriter structure with @uri as output + + + + + + Create a new xmlNewTextWriter structure with @buf as output TODO: handle compression + + + + + + Create a new xmlNewTextWriter structure with @ctxt as output TODO: handle compression + + + + + + Create a new xmlNewTextWriter structure with @doc as output starting at @node + + + + + + + Allocate a validation context structure. + + + + Skip to the next char input char. + + + + + A specific entity loader disabling network accesses, though still allowing local catalog accesses for resolution. + + + + + + + Append the extra substring to the node content. + + + + + + Append the extra substring to the node content. + + + + + + + Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buffer with this value + + + + + + Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called + + + + + + + + + Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called + + + + + + + + + + Searches for the BASE URL. The code should work on both XML and HTML document even if base mechanisms are completely different. It returns the base as defined in RFC 2396 sections 5.1.1. Base URI within Document Content and 5.1.2. Base URI from the Encapsulating Entity However it does not return the document base (5.1.3), use xmlDocumentGetBase() for this + + + + + + Read the value of a node, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. + + + + + Searches the language of a node, i.e. the values of the xml:lang attribute or the one carried by the nearest ancestor. + + + + + Searches the space preserving behaviour of a node, i.e. the values of the xml:space attribute or the one carried by the nearest ancestor. + + + + + Is this node a Text node ? + + + + + Builds the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs, contrary to xmlNodeListGetString() this function doesn't do any character encoding handling. + + + + + + + Build the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs + + + + + + + Set (or reset) the base URI of a node, i.e. the value of the xml:base attribute. + + + + + + Replace the content of a node. + + + + + + Replace the content of a node. + + + + + + + Set the language of a node, i.e. the values of the xml:lang attribute. + + + + + + Set (or reset) the name of a node. + + + + + + Set (or reset) the space preserving behaviour of a node, i.e. the value of the xml:space attribute. + + + + + + Applies the 5 normalization steps to a path string--that is, RFC 2396 Section 5.2, steps 6.c through 6.g. Normalization occurs directly on the string, no new allocation is done + + + + + This function is obsolete. Please see xmlURIFromPath in uri.c for a better solution. + + + + + flushes and close the output I/O channel and free up all the associated resources + + + + + Create a buffered output for the progressive saving to a file descriptor + + + + + + Create a buffered output for the progressive saving to a FILE * buffered C I/O + + + + + + Create a buffered output for the progressive saving of a file If filename is "-' then we use stdout as the output. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. TODO: currently if compression is set, the library only support writing to a local file. + + + + + + + Create a buffered output for the progressive saving to an I/O handler + + + + + + + + flushes the output I/O channel + + + + + Write the content of the array in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes. + + + + + + + Write the content of the string in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes. + + + + + + Callback used in the I/O Output API to close the resource + + + + + Callback used in the I/O Output API to detect if the current handler can provide output fonctionnalities for this resource. + + + + + Callback used in the I/O Output API to open the resource + + + + + Callback used in the I/O Output API to write to the resource + + + + + + + parse a value for an attribute Note: the parser won't do substitution of entities here, this will be handled later in xmlStringGetNodeList [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 - an entity reference is processed by recursively processing the replacement text of the entity - a whitespace character (#x20, #xD, #xA, #x9) is processed by appending #x20 to the normalized value, except that only a single #x20 is appended for a "#xD#xA" sequence that is part of an external 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 trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by a single space (#x20) character. All attributes for which no declaration has been read should be treated by a non-validating parser as if declared CDATA. + + + + + parse an attribute [41] Attribute ::= Name Eq AttValue [ WFC: No External Entity References ] Attribute values cannot contain direct or indirect entity references to external entities. [ WFC: No < in Attribute Values ] The replacement text of any entity referred to directly or indirectly in an attribute value (other than "&lt;") must not contain a <. [ VC: Attribute Value Type ] The attribute must have been declared; the value must be of the type declared for it. [25] Eq ::= S? '=' S? With namespace: [NS 11] Attribute ::= QName Eq AttValue Also the case QName == xmlns:??? is handled independently as a namespace definition. + + + + + + : parse the Attribute list def for an element [52] AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>' [53] AttDef ::= S Name S AttType S DefaultDecl + + + + + parse the Attribute list def for an element [54] AttType ::= StringType | TokenizedType | EnumeratedType [55] StringType ::= 'CDATA' [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS' Validity constraints for attribute values syntax are checked in xmlValidateAttributeValue() [ VC: ID ] Values of type ID must match the Name production. A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them. [ VC: One ID per Element Type ] No element type may have more than one ID attribute specified. [ VC: ID Attribute Default ] An ID attribute must have a declared default of #IMPLIED or #REQUIRED. [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names; each IDREF Name must match the value of an ID attribute on some element in the XML document; i.e. IDREF values must match the value of some ID attribute. [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names; each Entity Name must match the name of an unparsed entity declared in the DTD. [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens. + + + + + + Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)* + + + + + + + + + + Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)* + + + + + + + + + + + Parse escaped pure raw content. [18] CDSect ::= CDStart CData CDEnd [19] CDStart ::= '<![CDATA[' [20] Data ::= (Char* - (Char* ']]>' Char*)) [21] CDEnd ::= ']]>' + + + + + parse an XML file and build a tree. It's like xmlParseFile() except it bypass all catalog lookups. + + + + + parse a CharData section. if we are within a CDATA section ']]>' marks an end of section. The right angle bracket (>) may be represented using the string "&gt;", and must, for compatibility, be escaped using "&gt;" or a character reference when it appears in the string "]]>" in content, when that string is not marking the end of a CDATA section. [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*) + + + + + + Compare the string to the encoding schemes already known. Note that the comparison is case insensitive accordingly to the section [XML] 4.3.3 Character Encoding in Entities. + + + + + parse Reference declarations [66] CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';' [ WFC: Legal Character ] Characters referred to using character references must match the production for Char. + + + + + Parse a Chunk of memory + + + + + + + + Skip an XML (SGML) comment <!-- .... --> The spec says that "For compatibility, the string "--" (double-hyphen) must not occur within comments. " [15] Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->' + + + + + Parse a content: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)* + + + + + Parse an external general entity within an existing parsing context An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content + + + + + + + + Load and parse an external subset. + + + + + + Parse an attribute default declaration [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue) [ VC: Required Attribute ] if the default declaration is the keyword #REQUIRED, then the attribute must be specified for all elements of the type in the attribute-list declaration. [ VC: Attribute Default Legal ] The declared default value must meet the lexical constraints of the declared attribute type c.f. xmlValidateAttributeDecl() [ VC: Fixed Attribute Default ] if an attribute has a default value declared with the #FIXED keyword, instances of that attribute must match the default value. [ WFC: No < in Attribute Values ] handled in xmlParseAttValue() + + + + + + parse an XML in-memory document and build a tree. + + + + + 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 type of the root element. + + + + + parse an XML document (and build a tree if using the standard SAX interface). [1] document ::= prolog element Misc* [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)? + + + + + parse an XML element, this is highly recursive [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The Name in an element's end-tag must match the element type in the start-tag. + + + + + parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in xmlParseElementContentDecl [47] children ::= (choice | seq) ('?' | '*' | '+')? [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')? [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')' [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')' [ VC: Proper Group/PE Nesting ] applies to [49] and [50] TODO Parameter-entity replacement text must be properly nested with parenthesized groups. That is to say, if either of the opening or closing parentheses in a choice, seq, or Mixed construct is contained in the replacement text for a parameter entity, both must be contained in the same replacement text. For interoperability, if a parameter-entity reference appears in a choice, seq, or Mixed construct, its replacement text should not be empty, and neither the first nor last non-blank character of the replacement text should be a connector (| or ,). + + + + + + parse the declaration for an Element content either Mixed or Children, the cases EMPTY and ANY are handled directly in xmlParseElementDecl [46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children + + + + + + + parse an Element declaration. [45] elementdecl ::= '<!ELEMENT' S Name S contentspec S? '>' [ VC: Unique Element Type Declaration ] No element type may be declared more than once + + + + + parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in xmlParseElementContentDecl [51] Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*' | '(' S? '#PCDATA' S? ')' [ VC: Proper Group/PE Nesting ] applies to [51] too (see [49]) [ VC: No Duplicate Types ] The same name must not appear more than once in a single mixed-content declaration. + + + + + + parse the XML encoding name [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')* + + + + + parse the XML encoding declaration [80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'" EncName "'") this setups the conversion filters. + + + + + parse an end of tag [42] ETag ::= '</' Name S? '>' With namespace [NS 9] ETag ::= '</' QName S? '>' + + + + + parse an XML external entity out of context and build a tree. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk + + + + + parse <!ENTITY declarations [70] EntityDecl ::= GEDecl | PEDecl [71] GEDecl ::= '<!ENTITY' S Name S EntityDef S? '>' [72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>' [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?) [74] PEDef ::= EntityValue | ExternalID [76] NDataDecl ::= S 'NDATA' S Name [ VC: Notation Declared ] The Name must match the declared name of a notation. + + + + + parse ENTITY references declarations [68] EntityRef ::= '&' Name ';' [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", the Name given in the entity reference must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. The declaration of a parameter entity must precede any reference to it. Similarly, the declaration of a general entity must precede any reference to it which appears in a default value in an attribute-list declaration. Note that if entities are declared in the external subset or in external parameter entities, a non-validating processor is not obligated to read and process their declarations; for such documents, the rule that an entity must be declared is a well-formedness constraint only if standalone='yes'. [ WFC: Parsed Entity ] An entity reference must not contain the name of an unparsed entity + + + + + parse a value for ENTITY declarations [9] EntityValue ::= '"' ([^%&"] | PEReference | Reference)* '"' | "'" ([^%&'] | PEReference | Reference)* "'" + + + + + + parse an Enumerated attribute type. [57] EnumeratedType ::= NotationType | Enumeration [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' + + + + + + parse an Enumeration attribute type. [59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' [ VC: Enumeration ] Values of this type must match one of the Nmtoken tokens in the declaration + + + + + parse a general parsed entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content + + + + + Parse an external general entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content + + + + + + + + + + + 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 + + + + + + + parse Markup declarations from an external subset [30] extSubset ::= textDecl? extSubsetDecl [31] extSubsetDecl ::= (markupdecl | conditionalSect | PEReference | S) * + + + + + + + parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. + + + + + 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 markup declarations. That is to say, if either the first character or the last character of a markup declaration (markupdecl above) is contained in the replacement text for a parameter-entity reference, both must be contained in the same replacement text. [ WFC: PEs in Internal Subset ] In the internal DTD subset, parameter-entity references can occur only where markup declarations can occur, not within markup declarations. (This does not apply to references that occur in external parameter entities or to the external subset.) + + + + + parse an XML in-memory block and build a tree. + + + + + + parse an XML Misc* optional field. [27] Misc ::= Comment | PI | S + + + + + parse an XML name. [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (S Name)* + + + + + xmlParseNamespace: parse specific PI '<?namespace ...' constructs. This is what the older xml-name Working Draft specified, a bunch of other stuff may still rely on it, so support is still here as if it was declared on the root of the Tree:-( TODO: remove from library To be removed at next drop of binary compatibility + + + + + parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8] Nmtokens ::= Nmtoken (S Nmtoken)* + + + + + parse a notation declaration [82] NotationDecl ::= '<!NOTATION' S Name S (ExternalID | PublicID) S? '>' Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral 'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S SystemLiteral See the NOTE on xmlParseExternalID(). + + + + + parse an Notation attribute type. Note: the leading 'NOTATION' S part has already being parsed... [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' [ VC: Notation Attributes ] Values of this type must match one of the notation names included in the declaration; all notation names in the declaration must be declared. + + + + + parse PEReference declarations The entity content is handled directly by pushing it's content as a new input stream. [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive reference to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any reference to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any reference to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled. + + + + + parse an XML Processing Instruction. [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>' The processing is transfered to SAX once parsed. + + + + + parse the name of a PI [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l')) + + + + + parse an XML public literal [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'" + + + + + Parse and return a string between quotes or doublequotes TODO: Deprecated, to be removed at next drop of binary compatibility + + + + + parse and handle entity references in content, depending on the SAX interface, this may end-up in a call to character() if this is a CharRef, a predefined entity, if there is no reference() callback. or if the parser was asked to switch to that mode. [67] Reference ::= EntityRef | CharRef + + + + + 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. + + + + + parse a start of tag either for rule element or EmptyElement. In both case we don't parse the tag closing chars. [40] STag ::= '<' Name (S Attribute)* S? '>' [ WFC: Unique Att Spec ] No attribute name may appear more than once in the same start-tag or empty-element tag. [44] EmptyElemTag ::= '<' Name (S Attribute)* S? '/>' [ WFC: Unique Att Spec ] No attribute name may appear more than once in the same start-tag or empty-element tag. With namespace: [NS 8] STag ::= '<' QName (S Attribute)* S? '>' [NS 10] EmptyElement ::= '<' QName (S Attribute)* S? '/>' + + + + + parse an XML Literal [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'") + + + + + parse an XML declaration header for external entities [77] TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>' Question: Seems that EncodingDecl is mandatory ? Is that a typo ? + + + + + Parse an URI URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ] + + + + + Parse an URI reference string and fills in the appropriate fields of the @uri structure URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ] + + + + + + parse the XML version. [24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ") [25] Eq ::= S? '=' S? + + + + + parse the XML version value. [26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')+ + + + + + parse an XML declaration header [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' + + + + + Insert node info record into the sorted sequence + + + + + + Display and format an error messages, gives file, line, position and extra parameters. + + + + + + + Find the parser node info struct for a given node + + + + + + xmlParserFindNodeInfoIndex : Find the index that the info record for the given node is or should be at in a sorted sequence + + + + + + lookup the directory for that file + + + + + [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive reference to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any reference to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any reference to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled. A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc i.e. - Included in literal in entity values - Included as Parameter Entity reference within DTDs + + + + + TODO: Remove, now deprecated ... the test is done directly in the content parsing routines. [67] Reference ::= EntityRef | CharRef [68] EntityRef ::= '&' Name ';' [ WFC: Entity Declared ] the Name given in the entity reference must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. [ WFC: Parsed Entity ] An entity reference must not contain the name of an unparsed entity [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-xml#entproc + + + + + Create a buffered parser input for the progressive parsing for the input from a file descriptor + + + + + + Create a buffered parser input for the progressive parsing of a FILE * buffered C I/O + + + + + + Create a buffered parser input for the progressive parsing of a file If filename is "-' then we use stdin as the input. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. Do an encoding check if enc == XML_CHAR_ENCODING_NONE + + + + + + Create a buffered parser input for the progressive parsing for the input from an I/O handler + + + + + + + + Create a buffered parser input for the progressive parsing for the input from a memory area. + + + + + + + Create a buffered parser input for the progressive parsing for the input from an immutable memory area. This will not copy the memory area to the buffer, but the memory is expected to be available until the end of the parsing, this is useful for example when using mmap'ed file. + + + + + + + Grow up the content of the input buffer, the old data are preserved This routine handle the I18N transcoding to internal UTF-8 This routine is used when operating the parser in normal (pull) mode TODO: one should be able to remove one extra copy by copying directly onto in->buffer or in->raw + + + + + + Push the content of the arry in the input buffer This routine handle the I18N transcoding to internal UTF-8 This is used when operating the parser in progressive (push) mode. + + + + + + + Refresh the content of the input buffer, the old data are considered consumed This routine handle the I18N transcoding to internal UTF-8 + + + + + + Callback for freeing some parser input allocations. + + + + + This function increase the input for the parser. It tries to preserve pointers to the input buffer, and keep already read data + + + + + + This function refresh the input for the parser. It doesn't try to preserve pointers to the input buffer, and discard already read data + + + + + + This function removes used input for the parser. + + + + + Displays current context within the input content for error tracking + + + + + Displays the associated file and line informations for the current input + + + + + Display and format an validity error messages, gives file, line, position and extra parameters. + + + + + + + Display and format a validity warning messages, gives file, line, position and extra parameters. + + + + + + + Display and format a warning messages, gives file, line, position and extra parameters. + + + + + + + Test wether the node matches the pattern + + + + + + Compile a pattern. + + + + + + + + Set and return the previous value for enabling pedantic warnings. + + + + + xmlPopInput: the current input pointed by ctxt->input came to an end pop it and return the next char. + + + + + Prints the URI in the stream @steam. + + + + + + xmlPushInput: switch to a new input stream which is stacked on top of the previous one(s). + + + + + + xmlRMutexLock() is used to lock a libxml2 token_r. + + + + + xmlRMutexUnlock() is used to unlock a libxml2 token_r. + + + + + parse an XML in-memory document and build a tree. + + + + + + + + parse an XML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed when the reader is closed or reset. + + + + + + + + parse an XML file from the filesystem or the network. + + + + + + + parse an XML document from I/O functions and source and build a tree. + + + + + + + + + + parse an XML in-memory document and build a tree. + + + + + + + + + Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. + + + + + + + + Create an xmltextReader for an XML from a file descriptor. The parsing flags @options are a combination of xmlParserOption. NOTE that the file descriptor will not be closed when the reader is closed or reset. + + + + + + + + parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption. + + + + + + + Create an xmltextReader for an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption. + + + + + + + + + + Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. + + + + + + + + + Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader. + + + + + + + + + Setup an xmltextReader to parse an XML from a file descriptor. NOTE that the file descriptor will not be closed when the reader is closed or reset. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader. + + + + + + + + + parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader. + + + + + + + + Setup an xmltextReader to parse an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader. + + + + + + + + + + + Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader. + + + + + + + + + + Setup an xmltextReader to parse a preparsed XML document. This reuses the existing @reader xmlTextReader. + + + + + + Create an xmltextReader for a preparsed document. + + + + + Signature for a realloc() implementation. + + + + + + a realloc() equivalent, with logging of the allocation info. + + + + + + + + This function checks that all the namespaces declared within the given tree are properly declared. This is needed for example after Copy or Cut and then paste operations. The subtree may still hold pointers to namespace declarations outside the subtree or invalid/masked. As much as possible the function try to reuse the existing namespaces found in the new environment. If not possible the new namespaces are redeclared on @tree at the top of the given subtree. + + + + + + parse an XML in-memory document and build a tree. In the case the document is not Well Formed, a tree is built anyway + + + + + parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. In the case the document is not Well Formed, a tree is built anyway + + + + + parse an XML in-memory block and build a tree. In the case the document is not Well Formed, a tree is built anyway + + + + + + + + + + + + + + Push one input token in the execution context + + + + + + + Push one input token in the execution context + + + + + + + + Free the structures associated to a regular expression evaulation context. + + + + + Free a regexp + + + + + Build a context used for progressive evaluation of a regexp. + + + + + + + Parses a regular expression conforming to XML Schemas Part 2 Datatype Appendix F and build an automata suitable for testing strings against that regular expression + + + + + Check if the regular expression generate the value + + + + + + Check if the regular expression is determinist + + + + + Print the content of the compiled regular expression + + + + + + Register the char encoding handler, surprising, isn't it ? + + + + + Registers the default compiled-in I/O handlers. + + + + Registers the default compiled-in I/O handlers. + + + + By default, libxml submits HTTP output requests using the "PUT" method. Calling this method changes the HTTP output method to use the "POST" method instead. + + + + Register a new set of I/O callback for handling parser input. + + + + + + + + Registers a callback for node creation + + + + + + + + + + Register a new set of I/O callback for handling output. + + + + + + + + Cleanup the default Schemas type library associated to RelaxNG + + + + Dump a RelaxNG structure back + + + + + + Dump the transformed RelaxNG tree. + + + + + + Deallocate a RelaxNG structure. + + + + + Free the resources associated to the schema parser context + + + + + Free the resources associated to the schema validation context + + + + + Get the callback information used to handle errors for a validation context + + + + + + + + Get the error and warning callback informations + + + + + + + + Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG schemas modifies the document, the @doc parameter is duplicated internally. + + + + + Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs file. + + + + + + Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs file. + + + + + Create an XML RelaxNGs validation context based on the given schema + + + + + parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances. *WARNING* this interface is highly subject to change + + + + + Set the callback functions used to handle errors for a validation context + + + + + + + + Set the error and warning callback informations + + + + + + + + Validate a document tree in memory. + + + + + + Validate a full subtree when xmlRelaxNGValidatePushElement() returned 0 and the content of the node has been expanded. + + + + + + + Pop the element end from the RelaxNG validation stack. + + + + + + + check the CData parsed for validation in the current stack + + + + + + + Push a new element start on the RelaxNG validation stack. + + + + + + + + + + + + + + + + + + + + + Semi private function used to pass informations to a parser context which are a combination of xmlRelaxNGParserFlag . + + + + + + Remove the given attribute from the ID table maintained internally. + + + + + + Unlink and free one attribute, all the content is freed too Note this doesn't work for namespace definition attributes + + + + + Remove the given attribute from the Ref table maintained internally. + + + + + + Unlink the old node from its current context, prune the new one at the same place. If @cur was already inserted in a document it is first unlinked from its existing context. + + + + + + Cleanup the error. + + + + + Cleanup the last global error registered. For parsing error this does not change the well-formedness result. + + + + An attribute definition has been parsed + + + + + + + + + + + called when a pcdata block has been parsed + + + + + + + receiving some chars from the parser. + + + + + + + + + + + + + A xmlSAX2Comment has been parsed. + + + + + + An element definition has been parsed + + + + + + + + called when the document end has been detected. + + + + + called when the end of an element has been detected. + + + + + + SAX2 callback when an element end has been detected by the parser. It provides the namespace informations for the element. + + + + + + + + An entity definition has been parsed + + + + + + + + + + Callback on external subset declaration. + + + + + + + + Provide the column number of the current parsing point. + + + + + Get an entity by name + + + + + + Provide the line number of the current parsing point. + + + + + + + + + + Get a parameter entity by name + + + + + + Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN" + + + + + Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd + + + + + + + + + + + + Does this document has an external subset + + + + + Does this document has an internal subset + + + + + receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use xmlSAX2Characters + + + + + + + Initialize the default XML SAX2 handler + + + + + + Initialize the default DocBook SAX2 handler + + + + + Initialize the default HTML SAX2 handler + + + + + Callback on internal subset declaration. + + + + + + + + Is this document tagged standalone ? + + + + + + + + + + + + What to do when a notation declaration has been parsed. + + + + + + + + A processing instruction has been parsed. + + + + + + + called when an entity xmlSAX2Reference is detected. + + + + + + The entity loader, to control the loading of external entities, the application can either: - override this xmlSAX2ResolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to set up it's own entity resolution routine + + + + + + + Receive the document locator at startup, actually xmlDefaultSAXLocator Everything is available on the context, so this is useless in our case. + + + + + + + + + + + + called when the document start being processed. + + + + + called when an opening tag has been processed. + + + + + + + SAX2 callback when an element start has been detected by the parser. It provides the namespace informations for the element, as well as the new namespace declarations on the element. + + + + + + + + + + + + + What to do when an unparsed entity declaration is parsed + + + + + + + + + Set the default version of SAX used globally by the library. Note that this may not be a good thing to do from a library it is better to use xmlSAXVersion() to set up specifically the version for a given parsing context. + + + + + Load and parse an external subset. + + + + + + + parse an XML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. + + + + + + + parse an XML external entity out of context and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk + + + + + + parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. + + + + + + + parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml + + + + + + + + parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. + + + + + + + + parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml + + + + + + + + + parse an XML file and call the given SAX handler routines. Automatic support for ZLIB/Compress compressed document is provided + + + + + + + A better SAX parsing routine. parse an XML in-memory buffer and call the given SAX handler routines. + + + + + + + + Initialize the default XML SAX handler according to the version + + + + + + Close a document saving context, i.e. make sure that all bytes have been output and free the associated data. + + + + + Save a full document to a saving context + + + + + + Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. + + + + + + Dump an XML document, converting it to the given encoding + + + + + + + Dump an XML document to an I/O buffer. + + + + + + + Flush a document saving context, i.e. make sure that all bytes have been output. + + + + + Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called + + + + + + + Dump an XML document to a file or an URL. + + + + + + + + Dump an XML document to an I/O buffer. NOTE: the I/O buffer is closed as part of the call. + + + + + + + + Create a document saving context serializing to a buffer with the encoding and the options given + + + + + + + Create a document saving context serializing to a file descriptor with the encoding and the options given. + + + + + + + Create a document saving context serializing to a filename or possibly to an URL (but this is less reliable) with the encoding and the options given. + + + + + + + Create a document saving context serializing to a file descriptor with the encoding and the options given + + + + + + + + + Save a subtree starting at the node parameter to a saving context + + + + + + Save the URI as an escaped string + + + + + Trickery: parse an XML name but without consuming the input flow Needed for rollback cases. Used only when parsing entities references. TODO: seems deprecated now, only used in the default part of xmlParserHandleReference [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (S Name)* + + + + + Checks the default values types, especially for facets + + + + + + + + Cleanup the default XML Schemas type library + + + + Compare 2 values + + + + + + Dump a Schema structure. + + + + + + Deallocate a Schema structure. + + + + + Deallocate a Schema Facet structure. + + + + + Free the resources associated to the schema parser context + + + + + Deallocate a Schema Type structure. + + + + + Free the resources associated to the schema validation context + + + + + Cleanup the default XML Schemas type library + + + + + Lookup a type in the default XML Schemas type library + + + + + + Initialize the default XML Schemas type library + + + + Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process. + + + + + Allocate a new Facet structure. + + + + Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file. + + + + + + Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file. + + + + + Create an XML Schemas validation context based on the given schema + + + + + parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances. *WARNING* this interface is highly subject to change + + + + + Set the callback functions used to handle errors for a validation context + + + + + + + + Set the error and warning callback informations + + + + + + + + Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val. + + + + + + + + Validate a document tree in memory. + + + + + + Check a value against a facet condition + + + + + + + + Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val. + + + + + + + Validate a document tree in memory. + + + + + + + + + + + + + + + + + + + + + + + Search a Ns registered under a given name space for a document. recurse on the parents until it finds the defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the default namespace. We don't allow to cross entities boundaries. If you don't declare the namespace within those you will be in troubles !!! A warning is generated to cover this case. + + + + + + + Search a Ns aliasing a given URI. Recurse on the parents until it finds the defined namespace or return NULL otherwise. + + + + + + + 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 default compression mode used, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression) + + + + + set the compression ratio for a document, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression) + + + + + + Set the function to call call back when a xml reference has been made + + + + + Changes the defaultexternal entity resolver function for the application + + + + + Change the current value of one feature of this parser instance + + + + + + + Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL. + + + + + + update all nodes in the list to point to the right document + + + + + + Associate a namespace to a node, a posteriori. + + + + + + Set (or reset) an attribute carried by a node. The ns structure must be in scope, this is not checked. + + + + + + + + Set (or reset) an attribute carried by a node. + + + + + + + Function to reset the handler and the error context for out of context structured error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler + + + + + + update all nodes under the tree to point to the right document + + + + + + Setup the parser context to parse a new buffer; Clears any prior contents from the parser context. The buffer parameter must not be NULL, but the filename parameter can be + + + + + + + Implements the XML shell This allow to load, validate, view, modify and save a document using a environment similar to a UNIX commandline. + + + + + + + + Implements the XML shell function "base" dumps the current XML base of the node + + + + + + + + Implements the XML shell function "cat" dumps the serialization node content (XML or HTML). + + + + + + + + This is a generic signature for the XML shell functions. + + + + + + + + Implements the XML shell function "dir" dumps informations about the node (namespace, attributes, content). + + + + + + + + Implements the XML shell function "du" show the structure of the subtree under node @tree If @tree is null, the command works on the current node. + + + + + + + + Implements the XML shell function "ls" Does an Unix like listing of the given node (like a directory) + + + + + + + + Implements the XML shell function "load" loads a new document specified by the filename + + + + + + + + Print node to the output FILE + + + + + Print the xpath error to libxml default error channel + + + + + + Prints result to the output FILE + + + + + Implements the XML shell function "pwd" Show the full path from the root to the node, if needed building thumblers when similar elements exists at a given ancestor level. The output is compatible with XPath commands. + + + + + + + + This is a generic signature for the XML shell input function. + + + + + Implements the XML shell function "save" Write the current document to the filename, or it's original name + + + + + + + + Implements the XML shell function "validate" Validate the document, if a DTD path is provided, then the validation is done against the given DTD. + + + + + + + + Implements the XML shell function "write" Write the current node to the filename, it saves the serialization of the subtree under the @node specified + + + + + + + + skip all blanks character found at that point in the input streams. It pops up finished entities in the process if allowable at that point. + + + + + This will dump the content of the element content definition Intended just for the debug routine + + + + + + + + parse an UTF8 encoded XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName + + + + + + + parse an XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName + + + + + + parse an XML qualified name string,i + + + + + + Deprecated, unsafe, use xmlSnprintfElementContent + + + + + + + Blocks further parser processing + + + + + Check if both string are equal of have same content Should be a bit more readable and faster than xmlStrEqual() + + + + + + Formats @msg and places result into @buf. + + + + + + + + Check if a QName is Equal to a given string + + + + + + + Formats @msg and places result into @buf. + + + + + + + + a strcasecmp for xmlChar's + + + + + + a case-ignoring strstr for xmlChar's + + + + + + a strcat for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'. + + + + + + a strchr for xmlChar's + + + + + + a strcmp for xmlChar's + + + + + + a strdup for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'. + + + + + Signature for an strdup() implementation. + + + + + The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer. + + + + + + + Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';' + + + + + + + + + + Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs. + + + + + + Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';' + + + + + + + + + + + Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs. + + + + + + + length of a xmlChar's string + + + + + a strncasecmp for xmlChar's + + + + + + + a strncat for array of xmlChar's, it will extend @cur with the len first bytes of @add. + + + + + + + same as xmlStrncat, but creates a new string. The original two strings are not freed. + + + + + + + a strncmp for xmlChar's + + + + + + + a strndup for array of xmlChar's + + + + + + a strstr for xmlChar's + + + + + + Extract a substring of a given string + + + + + + + Signature of the function to use when there is an error and the module handles the new error reporting mechanism. + + + + + + Set and return the previous value for default entity support. Initially the parser always keep entity references instead of substituting entity values in the output. This function has to be used to change the default parser behavior SAX::substituteEntities() has to be used for changing that on a file by file basis. + + + + + change the input functions when discovering the character encoding of a given entity. + + + + + + change the input functions when discovering the character encoding of a given entity. + + + + + + + change the input functions when discovering the character encoding of a given entity. + + + + + + Concat the given string at the end of the existing node content + + + + + + + Merge two text nodes into one + + + + + + Provides the number of attributes of the current node + + + + + The base URI of the node. + + + + + This method releases any resources allocated by the current instance changes the state to Closed and close any underlying input. + + + + + The base URI of the node. + + + + + The local name of the node. + + + + + The qualified name of the node, equal to Prefix :LocalName. + + + + + The URI defining the namespace associated with the node. + + + + + A shorthand reference to the namespace associated with the node. + + + + + Get an interned string from the reader, allows for example to speedup string name comparisons + + + + + + Provides the text value of the node if present + + + + + The xml:lang scope within which the node resides. + + + + + Hacking interface allowing to get the xmlDocPtr correponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished. + + + + + Hacking interface allowing to get the xmlNodePtr correponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads. + + + + + The depth of the node in the tree. + + + + + + + + + + + + + Reads the contents of the current node and the full subtree. It then makes the subtree available until the next xmlTextReaderRead() call + + + + + Provides the value of the attribute with the specified qualified name. + + + + + + Provides the value of the attribute with the specified index relative to the containing element. + + + + + + Provides the value of the specified attribute + + + + + + + Retrieve the error callback function and user argument. + + + + + + + Read the parser internal property. + + + + + + Method to get the remainder of the buffered XML. this method stops the parser, set its state to End Of File and return the input stream with what is left that the parser did not use. + + + + + Whether the node has attributes. + + + + + Whether the node can have a text value. + + + + + Whether an Attribute node was generated from the default value defined in the DTD or schema. + + + + + Check if the current node is empty + + + + + Retrieve the validity status from the parser context + + + + + The local name of the node. + + + + + Obtain the base URI for the given locator. + + + + + Obtain the line number for the given locator. + + + + + Resolves a namespace prefix in the scope of the current element. + + + + + + Moves the position of the current instance to the attribute with the specified qualified name. + + + + + + Moves the position of the current instance to the attribute with the specified index relative to the containing element. + + + + + + Moves the position of the current instance to the attribute with the specified local name and namespace URI. + + + + + + + Moves the position of the current instance to the node that contains the current Attribute node. + + + + + Moves the position of the current instance to the first attribute associated with the current node. + + + + + Moves the position of the current instance to the next attribute associated with the current node. + + + + + The qualified name of the node, equal to Prefix :LocalName. + + + + + The URI defining the namespace associated with the node. + + + + + Skip to the node following the current one in document order while avoiding the subtree if any. + + + + + Skip to the node following the current one in document order while avoiding the subtree if any. Currently implemented only for Readers built on a document + + + + + Get the node type of the current node Reference: http://dotgnu.org/pnetlib-doc/System/Xml/XmlNodeType.html + + + + + The value indicating whether to normalize white space and attribute values. Since attribute value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The broken bahaviour of accepting out of range character entities like &#0; is of course not supported either. + + + + + A shorthand reference to the namespace associated with the node. + + + + + current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads. + + + + + This tells the XML Reader to preserve all nodes matched by the pattern. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished + + + + + + + The quotation mark character used to enclose the value of an attribute. + + + + + Moves the position of the current instance to the next node in the stream, exposing its properties. + + + + + Parses an attribute value into one or more Text and EntityReference nodes. + + + + + Reads the contents of the current node, including child nodes and markup. + + + + + Reads the contents of the current node, including child nodes and markup. + + + + + Gets the read state of the reader. + + + + + Reads the contents of an element or a text node as a string. + + + + + Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then RelaxNG validation is desactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated. + + + + + + Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @rng is NULL, then RelaxNG validation is desactivated. + + + + + + Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored. + + + + + + + Change the parser processing behaviour by changing some of its internal properties. Note that some properties can only be changed before any read has been done. + + + + + + + Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored. + + + + + + + Provides the text value of the node if present + + + + + The xml:lang scope within which the node resides. + + + + + End the current xml element. + + + + + End an xml CDATA section. + + + + + End the current xml coment. + + + + + End an xml DTD. + + + + + End an xml DTD attribute list. + + + + + End an xml DTD element. + + + + + End an xml DTD entity. + + + + + End an xml document. All open elements are closed + + + + + End the current xml element. + + + + + End the current xml PI. + + + + + Flush the output buffer. + + + + + End the current xml element. Writes an end tag even if the element is empty + + + + + Set indentation output. indent = 0 do not indentation. indent > 0 do indentation. + + + + + + Set string indentation. + + + + + + Start an xml attribute. + + + + + + Start an xml attribute with namespace support. + + + + + + + + Start an xml CDATA section. + + + + + Start an xml comment. + + + + + Start an xml DTD. + + + + + + + + Start an xml DTD ATTLIST. + + + + + + Start an xml DTD element. + + + + + + Start an xml DTD ATTLIST. + + + + + + + Start a new xml document + + + + + + + + Start an xml element. + + + + + + Start an xml element with namespace support. + + + + + + + + Start an xml PI. + + + + + + Write an xml attribute. + + + + + + + Write an xml attribute. + + + + + + + + + Write an base64 encoded xml text. + + + + + + + + Write a BinHex encoded xml text. + + + + + + + + Write an xml CDATA. + + + + + + Write an xml comment. + + + + + + Write a DTD. + + + + + + + + + Write a DTD ATTLIST. + + + + + + + Write a DTD element. + + + + + + + Write a DTD entity. + + + + + + + + + + + Write a DTD external entity. The entity must have been started with xmlTextWriterStartDTDEntity + + + + + + + + + + Write the contents of a DTD external entity. + + + + + + + + Write a DTD internal entity. + + + + + + + + Write a DTD entity. + + + + + + + + Write an xml element. + + + + + + + Write an xml element with namespace support. + + + + + + + + + Write a formatted xml attribute. + + + + + + + + Write a formatted xml attribute.with namespace support + + + + + + + + + + Write a formatted xml CDATA. + + + + + + + Write an xml comment. + + + + + + + Write a DTD with a formatted markup declarations part. + + + + + + + + + + Write a formatted DTD ATTLIST. + + + + + + + + Write a formatted DTD element. + + + + + + + + Write a formatted DTD internal entity. + + + + + + + + + Write a formatted xml element. + + + + + + + + Write a formatted xml element with namespace support. + + + + + + + + + + Write a formatted PI. + + + + + + + + Write a formatted raw xml text. + + + + + + + Write a formatted xml text. + + + + + + + Write an xml PI. + + + + + + + Write a raw xml text. + + + + + + Write an xml text. TODO: what about entities and special chars?? + + + + + + + Write an xml text. + + + + + + Write a formatted xml attribute. + + + + + + + + Write a formatted xml attribute.with namespace support + + + + + + + + + + Write a formatted xml CDATA. + + + + + + + Write an xml comment. + + + + + + + Write a DTD with a formatted markup declarations part. + + + + + + + + + + Write a formatted DTD ATTLIST. + + + + + + + + Write a formatted DTD element. + + + + + + + + Write a formatted DTD internal entity. + + + + + + + + + Write a formatted xml element. + + + + + + + + Write a formatted xml element with namespace support. + + + + + + + + + + Write a formatted xml PI. + + + + + + + + Write a formatted raw xml text. + + + + + + + Write a formatted xml text. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Check whether the character is part of AegeanNumbers UCS Block + + + + + Check whether the character is part of AlphabeticPresentationForms UCS Block + + + + + Check whether the character is part of Arabic UCS Block + + + + + Check whether the character is part of ArabicPresentationForms-A UCS Block + + + + + Check whether the character is part of ArabicPresentationForms-B UCS Block + + + + + Check whether the character is part of Armenian UCS Block + + + + + Check whether the character is part of Arrows UCS Block + + + + + Check whether the character is part of BasicLatin UCS Block + + + + + Check whether the character is part of Bengali UCS Block + + + + + Check whether the character is part of the UCS Block + + + + + + Check whether the character is part of BlockElements UCS Block + + + + + Check whether the character is part of Bopomofo UCS Block + + + + + Check whether the character is part of BopomofoExtended UCS Block + + + + + Check whether the character is part of BoxDrawing UCS Block + + + + + Check whether the character is part of BraillePatterns UCS Block + + + + + Check whether the character is part of Buhid UCS Block + + + + + Check whether the character is part of ByzantineMusicalSymbols UCS Block + + + + + Check whether the character is part of CJKCompatibility UCS Block + + + + + Check whether the character is part of CJKCompatibilityForms UCS Block + + + + + Check whether the character is part of CJKCompatibilityIdeographs UCS Block + + + + + Check whether the character is part of CJKCompatibilityIdeographsSupplement UCS Block + + + + + Check whether the character is part of CJKRadicalsSupplement UCS Block + + + + + Check whether the character is part of CJKSymbolsandPunctuation UCS Block + + + + + Check whether the character is part of CJKUnifiedIdeographs UCS Block + + + + + Check whether the character is part of CJKUnifiedIdeographsExtensionA UCS Block + + + + + Check whether the character is part of CJKUnifiedIdeographsExtensionB UCS Block + + + + + Check whether the character is part of the UCS Category + + + + + + Check whether the character is part of C UCS Category + + + + + Check whether the character is part of Cc UCS Category + + + + + Check whether the character is part of Cf UCS Category + + + + + Check whether the character is part of Co UCS Category + + + + + Check whether the character is part of Cs UCS Category + + + + + Check whether the character is part of L UCS Category + + + + + Check whether the character is part of Ll UCS Category + + + + + Check whether the character is part of Lm UCS Category + + + + + Check whether the character is part of Lo UCS Category + + + + + Check whether the character is part of Lt UCS Category + + + + + Check whether the character is part of Lu UCS Category + + + + + Check whether the character is part of M UCS Category + + + + + Check whether the character is part of Mc UCS Category + + + + + Check whether the character is part of Me UCS Category + + + + + Check whether the character is part of Mn UCS Category + + + + + Check whether the character is part of N UCS Category + + + + + Check whether the character is part of Nd UCS Category + + + + + Check whether the character is part of Nl UCS Category + + + + + Check whether the character is part of No UCS Category + + + + + Check whether the character is part of P UCS Category + + + + + Check whether the character is part of Pc UCS Category + + + + + Check whether the character is part of Pd UCS Category + + + + + Check whether the character is part of Pe UCS Category + + + + + Check whether the character is part of Pf UCS Category + + + + + Check whether the character is part of Pi UCS Category + + + + + Check whether the character is part of Po UCS Category + + + + + Check whether the character is part of Ps UCS Category + + + + + Check whether the character is part of S UCS Category + + + + + Check whether the character is part of Sc UCS Category + + + + + Check whether the character is part of Sk UCS Category + + + + + Check whether the character is part of Sm UCS Category + + + + + Check whether the character is part of So UCS Category + + + + + Check whether the character is part of Z UCS Category + + + + + Check whether the character is part of Zl UCS Category + + + + + Check whether the character is part of Zp UCS Category + + + + + Check whether the character is part of Zs UCS Category + + + + + Check whether the character is part of Cherokee UCS Block + + + + + Check whether the character is part of CombiningDiacriticalMarks UCS Block + + + + + Check whether the character is part of CombiningDiacriticalMarksforSymbols UCS Block + + + + + Check whether the character is part of CombiningHalfMarks UCS Block + + + + + Check whether the character is part of CombiningMarksforSymbols UCS Block + + + + + Check whether the character is part of ControlPictures UCS Block + + + + + Check whether the character is part of CurrencySymbols UCS Block + + + + + Check whether the character is part of CypriotSyllabary UCS Block + + + + + Check whether the character is part of Cyrillic UCS Block + + + + + Check whether the character is part of CyrillicSupplement UCS Block + + + + + Check whether the character is part of Deseret UCS Block + + + + + Check whether the character is part of Devanagari UCS Block + + + + + Check whether the character is part of Dingbats UCS Block + + + + + Check whether the character is part of EnclosedAlphanumerics UCS Block + + + + + Check whether the character is part of EnclosedCJKLettersandMonths UCS Block + + + + + Check whether the character is part of Ethiopic UCS Block + + + + + Check whether the character is part of GeneralPunctuation UCS Block + + + + + Check whether the character is part of GeometricShapes UCS Block + + + + + Check whether the character is part of Georgian UCS Block + + + + + Check whether the character is part of Gothic UCS Block + + + + + Check whether the character is part of Greek UCS Block + + + + + Check whether the character is part of GreekExtended UCS Block + + + + + Check whether the character is part of GreekandCoptic UCS Block + + + + + Check whether the character is part of Gujarati UCS Block + + + + + Check whether the character is part of Gurmukhi UCS Block + + + + + Check whether the character is part of HalfwidthandFullwidthForms UCS Block + + + + + Check whether the character is part of HangulCompatibilityJamo UCS Block + + + + + Check whether the character is part of HangulJamo UCS Block + + + + + Check whether the character is part of HangulSyllables UCS Block + + + + + Check whether the character is part of Hanunoo UCS Block + + + + + Check whether the character is part of Hebrew UCS Block + + + + + Check whether the character is part of HighPrivateUseSurrogates UCS Block + + + + + Check whether the character is part of HighSurrogates UCS Block + + + + + Check whether the character is part of Hiragana UCS Block + + + + + Check whether the character is part of IPAExtensions UCS Block + + + + + Check whether the character is part of IdeographicDescriptionCharacters UCS Block + + + + + Check whether the character is part of Kanbun UCS Block + + + + + Check whether the character is part of KangxiRadicals UCS Block + + + + + Check whether the character is part of Kannada UCS Block + + + + + Check whether the character is part of Katakana UCS Block + + + + + Check whether the character is part of KatakanaPhoneticExtensions UCS Block + + + + + Check whether the character is part of Khmer UCS Block + + + + + Check whether the character is part of KhmerSymbols UCS Block + + + + + Check whether the character is part of Lao UCS Block + + + + + Check whether the character is part of Latin-1Supplement UCS Block + + + + + Check whether the character is part of LatinExtended-A UCS Block + + + + + Check whether the character is part of LatinExtendedAdditional UCS Block + + + + + Check whether the character is part of LatinExtended-B UCS Block + + + + + Check whether the character is part of LetterlikeSymbols UCS Block + + + + + Check whether the character is part of Limbu UCS Block + + + + + Check whether the character is part of LinearBIdeograms UCS Block + + + + + Check whether the character is part of LinearBSyllabary UCS Block + + + + + Check whether the character is part of LowSurrogates UCS Block + + + + + Check whether the character is part of Malayalam UCS Block + + + + + Check whether the character is part of MathematicalAlphanumericSymbols UCS Block + + + + + Check whether the character is part of MathematicalOperators UCS Block + + + + + Check whether the character is part of MiscellaneousMathematicalSymbols-A UCS Block + + + + + Check whether the character is part of MiscellaneousMathematicalSymbols-B UCS Block + + + + + Check whether the character is part of MiscellaneousSymbols UCS Block + + + + + Check whether the character is part of MiscellaneousSymbolsandArrows UCS Block + + + + + Check whether the character is part of MiscellaneousTechnical UCS Block + + + + + Check whether the character is part of Mongolian UCS Block + + + + + Check whether the character is part of MusicalSymbols UCS Block + + + + + Check whether the character is part of Myanmar UCS Block + + + + + Check whether the character is part of NumberForms UCS Block + + + + + Check whether the character is part of Ogham UCS Block + + + + + Check whether the character is part of OldItalic UCS Block + + + + + Check whether the character is part of OpticalCharacterRecognition UCS Block + + + + + Check whether the character is part of Oriya UCS Block + + + + + Check whether the character is part of Osmanya UCS Block + + + + + Check whether the character is part of PhoneticExtensions UCS Block + + + + + Check whether the character is part of PrivateUse UCS Block + + + + + Check whether the character is part of PrivateUseArea UCS Block + + + + + Check whether the character is part of Runic UCS Block + + + + + Check whether the character is part of Shavian UCS Block + + + + + Check whether the character is part of Sinhala UCS Block + + + + + Check whether the character is part of SmallFormVariants UCS Block + + + + + Check whether the character is part of SpacingModifierLetters UCS Block + + + + + Check whether the character is part of Specials UCS Block + + + + + Check whether the character is part of SuperscriptsandSubscripts UCS Block + + + + + Check whether the character is part of SupplementalArrows-A UCS Block + + + + + Check whether the character is part of SupplementalArrows-B UCS Block + + + + + Check whether the character is part of SupplementalMathematicalOperators UCS Block + + + + + Check whether the character is part of SupplementaryPrivateUseArea-A UCS Block + + + + + Check whether the character is part of SupplementaryPrivateUseArea-B UCS Block + + + + + Check whether the character is part of Syriac UCS Block + + + + + Check whether the character is part of Tagalog UCS Block + + + + + Check whether the character is part of Tagbanwa UCS Block + + + + + Check whether the character is part of Tags UCS Block + + + + + Check whether the character is part of TaiLe UCS Block + + + + + Check whether the character is part of TaiXuanJingSymbols UCS Block + + + + + Check whether the character is part of Tamil UCS Block + + + + + Check whether the character is part of Telugu UCS Block + + + + + Check whether the character is part of Thaana UCS Block + + + + + Check whether the character is part of Thai UCS Block + + + + + Check whether the character is part of Tibetan UCS Block + + + + + Check whether the character is part of Ugaritic UCS Block + + + + + Check whether the character is part of UnifiedCanadianAboriginalSyllabics UCS Block + + + + + Check whether the character is part of VariationSelectors UCS Block + + + + + Check whether the character is part of VariationSelectorsSupplement UCS Block + + + + + Check whether the character is part of YiRadicals UCS Block + + + + + Check whether the character is part of YiSyllables UCS Block + + + + + Check whether the character is part of YijingHexagramSymbols UCS Block + + + + + Escaping routine, does not do validity checks ! It will try to escape the chars needing this, but this is heuristic based it's impossible to be sure. + + + + + This routine escapes a string to hex, ignoring reserved characters (a-z) and the characters in the exception list. + + + + + + Unescaping routine, does not do validity checks ! Output is direct unsigned char translation of %XX values (no encoding) + + + + + + + compares the two UCS4 values + + + + + + calculates the internal size of a UTF8 character + + + + + compute the length of an UTF8 string, it doesn't do a full UTF8 checking of the content of the string. + + + + + a function to provide the relative location of a UTF8 char + + + + + + a strndup for array of UTF8's + + + + + + a function to provide the equivalent of fetching a character from a string array + + + + + + storage size of an UTF8 string + + + + + + Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars + + + + + + + Unlink a node from it's current context, the node is not freed + + + + + xmlUnlockLibrary() is used to release a re-entrant lock on the libxml2 library. + + + + Remove an attribute carried by a node. + + + + + + + Remove an attribute carried by a node. + + + + + + (Re)Build the automata associated to the content model of this element + + + + + + Does the validation related extra step of the normalization of attribute values: If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by single space (#x20) character. Also check VC: Standalone Document Declaration in P32, and update ctxt->valid accordingly + + + + + + + + + Build/extend a list of potential children allowed by the content tree + + + + + + + + This function returns the list of authorized children to insert within an existing tree while respecting the validity constraints forced by the Dtd. The insertion point is defined using @prev and @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. + + + + + + + + Does the validation related extra step of the normalization of attribute values: If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by single space (#x20) character. + + + + + + + + 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 + + + + + + + Validate that the given attribute value match the proper production [ VC: ID ] Values of type ID must match the Name production.... [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names ... [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names ... [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens. + + + + + + Try to validate the document instance basically it does the all the checks described by the XML Rec i.e. validates the internal and external subset (if present) and validate the document tree. + + + + + + Does the final step for the document validation once all the incremental validation steps have been completed basically it does the following checks described by the XML Rec Check all the IDREF/IDREFS attributes definition for validity + + + + + + Try to validate the document against the dtd instance basically it does check all the definitions in the DtD. + + + + + + + Does the final step for the dtds validation once all the subsets have been parsed 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. - check that NOTATION type attributes default or possible values matches one of the defined notations. + + + + + + Try to validate the subtree under an element + + + + + + + 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 ] + + + + + + + Check that a value conforms to the lexical space of NCName + + + + + + Check that a value conforms to the lexical space of NMToken + + + + + + Check that a value conforms to the lexical space of Name + + + + + + Validate that the given value match Name production + + + + + Validate that the given value match Names production + + + + + Validate that the given value match Nmtoken production [ VC: Name Token ] + + + + + Validate that the given value match Nmtokens production [ VC: Name Token ] + + + + + 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 But this function get called anyway ... + + + + + + + Validate that the given name match a notation declaration. - [ VC: Notation Declared ] + + + + + + + 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 + + + + + + + + + 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 ] Then call xmlValidateOneAttribute() for each attribute present. The ID/IDREF checkings are done separately + + + + + + + Try to validate a single namespace declaration 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 + + + + + + + + + + Pop the element end from the validation stack. + + + + + + + + check the CData parsed for validation in the current stack + + + + + + + Push a new element start on the validation stack. + + + + + + + + Check that a value conforms to the lexical space of QName + + + + + + 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 ] it doesn't try to recurse or apply other check to the element + + + + + + Callback called when a validity error is found. This is a message oriented function similar to an *printf function. + + + + + + + Callback called when a validity warning is found. This is a message oriented function similar to an *printf function. + + + + + + + Free an XInclude context + + + + + Creates a new XInclude context + + + + + Implement the XInclude substitution on the XML document @doc + + + + + Implement the XInclude substitution on the XML document @doc + + + + + + Implement the XInclude substitution for the given subtree reusing the informations and data coming from the given context. + + + + + + Implement the XInclude substitution for the given subtree + + + + + Implement the XInclude substitution for the given subtree + + + + + + Set the flags used for further processing of XML resources. + + + + + + Implement the add operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function. + + + + + An axis traversal function. To traverse an axis, the engine calls the first time with cur == NULL and repeat until the function returns NULL indicating the end of the axis traversal. + + + + + + Implement the boolean() XPath function boolean boolean(object) The 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 + + + + + + Converts a boolean to its number value + + + + + Converts a boolean to its string value. + + + + + Converts a node-set to its boolean value + + + + + Converts a node-set to its number value + + + + + Converts a node-set to its string value. + + + + + Converts a node to its number value + + + + + Converts a node to its string value. + + + + + Converts a number to its boolean value + + + + + Converts a number to its string value. + + + + + Converts a string to its boolean value + + + + + Converts a string to its number value + + + + + Converts an XPath object to its boolean value + + + + + Converts an XPath object to its number value + + + + + Converts an existing object to its string() equivalent + + + + + Implement the ceiling() XPath function 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. + + + + + + Compare two nodes w.r.t document order + + + + + + Implement the compare operation on XPath objects: @arg1 < @arg2 (1, 1, ... @arg1 <= @arg2 (1, 0, ... @arg1 > @arg2 (0, 1, ... @arg1 >= @arg2 (0, 0, ... When neither object to be compared is a node-set and the operator is <=, <, >=, >, then the objects are compared by converted both objects to numbers and comparing the numbers according to IEEE 754. The < comparison will be true if and only if the first number is less than the second number. The <= comparison will be true if and only if the first number is less than or equal to the second number. The > comparison will be true if and only if the first number is greater than the second number. The >= comparison will be true if and only if the first number is greater than or equal to the second number. + + + + + + + Compile an XPath expression + + + + + Evaluate the Precompiled XPath expression in the given context. + + + + + + Implement the concat() XPath function string concat(string, string, string*) The concat function returns the concatenation of its arguments. + + + + + + Implement the contains() XPath function boolean contains(string, string) The contains function returns true if the first argument string contains the second argument string, and otherwise returns false. + + + + + + Converts an existing object to its boolean() equivalent + + + + + A conversion function is associated to a type and used to cast the new type to primitive values. + + + + + + Converts an existing object to its number() equivalent + + + + + Converts an existing object to its string() equivalent + + + + + Implement the count() XPath function number count(node-set) + + + + + + Compile an XPath expression + + + + + + Dumps the tree of the compiled XPath expression. + + + + + + + Dump the content of the object for debugging purposes + + + + + + + Implements the EXSLT - Sets difference() function: node-set set:difference (node-set, node-set) + + + + + + Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set) @nodes is sorted by document order, then #exslSetsDistinctSorted is called with the sorted node-set + + + + + Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set) + + + + + Implement the div operation on XPath objects @arg1 / @arg2: The numeric operators convert their operands to numbers as if by calling the number function. + + + + + Implement the equal operation on XPath objects content: @arg1 == @arg2 + + + + + Handle a Relax NG Parsing error + + + + + + Evaluate the XPath Location Path in the given context. + + + + + + Parse and evaluate an XPath expression in the given context, then push the result on the context stack + + + + + Evaluate the XPath expression in the given context. + + + + + + An XPath evaluation function, the parameters are on the XPath context stack. + + + + + + Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the position of the context node in the context node list (as returned by the position function) and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function. + + + + + + Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the position of the context node in the context node list (as returned by the position function) and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function. + + + + + + Implement the false() XPath function boolean false() + + + + + + Implement the floor() XPath function 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. + + + + + + Free up the memory allocated by @comp + + + + + Free up an xmlXPathContext + + + + + Free the NodeSet compound (not the actual nodes !). + + + + + Free up the xmlXPathObjectPtr @obj but don't deallocate the objects in the list contrary to xmlXPathFreeObject(). + + + + + Free up an xmlXPathObjectPtr object. + + + + + Free up an xmlXPathParserContext + + + + + Prototype for callbacks used to plug function lookup in the XPath engine. + + + + + + + An XPath function. The arguments (if any) are popped out from the context stack and the result is pushed on the stack. + + + + + + Search in the Function array of the context for the given function. + + + + + + Search in the Function array of the context for the given function. + + + + + + + Implements the EXSLT - Sets has-same-nodes function: boolean set:has-same-node(node-set, node-set) + + + + + + Implement the id() XPath function 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 string value of each of the nodes in the argument node-set. When the argument to id is of any other type, the argument is converted to a string as if by a call to the string function; the string is split into a whitespace-separated list of tokens (whitespace is any sequence of characters matching the production S); the result is a node-set containing the elements in the same document as the context node that have a unique ID equal to any of the tokens in the list. + + + + + + Initialize the XPath environment + + + + Implements the EXSLT - Sets intersection() function: node-set set:intersection (node-set, node-set) + + + + + + Provides a portable isinf() function to detect whether a double is a +Infinite or -Infinite. Based on trio code http://sourceforge.net/projects/ctrio/ + + + + + Provides a portable isnan() function to detect whether a double is a NotaNumber. Based on trio code http://sourceforge.net/projects/ctrio/ + + + + + Is the name given a NodeType one. [38] NodeType ::= 'comment' | 'text' | 'processing-instruction' | 'node' + + + + + Implement the lang() XPath function 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 the argument string. The language of the context node is determined by the value of the xml:lang attribute on the context node, or, if the context node has no xml:lang attribute, by the value of the xml:lang attribute on the nearest ancestor of the context node that has an xml:lang attribute. If there is no such attribute, then lang + + + + + + Implement the last() XPath function number last() The last function returns the number of nodes in the context node list. + + + + + + Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes1 and @nodes2 are sorted by document order, then #exslSetsLeadingSorted is called. + + + + + + Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) + + + + + + Implement the local-name() XPath function 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 name, an empty string is returned. If the argument is omitted it defaults to the context node. + + + + + + Implement the mod operation on XPath objects: @arg1 / @arg2 The numeric operators convert their operands to numbers as if by calling the number function. + + + + + Implement the multiply operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function. + + + + + Implement the namespace-uri() XPath function 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, the first node has no name, or the expanded name has no namespace URI, an empty string is returned. If the argument is omitted it defaults to the context node. + + + + + + Create a new xmlXPathObjectPtr of type boolean and of value @val + + + + + Create a new xmlXPathObjectPtr of type string and of value @val + + + + + Create a new xmlXPathContext + + + + + Create a new xmlXPathObjectPtr of type double and of value @val + + + + + Create a new xmlXPathObjectPtr of type NodeSet and initialize it with the single Node @val + + + + + Create a new xmlXPathObjectPtr of type NodeSet and initialize it with the Nodeset @val + + + + + Create a new xmlXPathParserContext + + + + + + Create a new xmlXPathObjectPtr of type string and of value @val + + + + + Create a new xmlXPathObjectPtr of type Value Tree (XSLT) and initialize it with the tree root @val + + + + + Traversal function for the "ancestor" direction the ancestor axis contains the ancestors of the context node; the ancestors of the context node consist of the parent of context node and the parent's parent and so on; the nodes are ordered in reverse document order; thus the parent is the first node on the axis, and the parent's parent is the second node on the axis + + + + + + Traversal function for the "ancestor-or-self" direction he ancestor-or-self axis contains the context node and ancestors of the context node in reverse document order; thus the context node is the first node on the axis, and the context node's parent the second; parent here is defined the same as with the parent axis. + + + + + + Traversal function for the "attribute" direction TODO: support DTD inherited default attributes + + + + + + Traversal function for the "child" direction The child axis contains the children of the context node in document order. + + + + + + Traversal function for the "descendant" direction the descendant axis contains the descendants of the context node in document order; a descendant is a child or a child of a child and so on. + + + + + + Traversal function for the "descendant-or-self" direction the descendant-or-self axis contains the context node and the descendants of the context node in document order; thus the context node is the first node on the axis, and the first child of the context node is the second node on the axis + + + + + + Traversal function for the "following" direction The following axis contains all nodes in the same document as the context node that are after the context node in document order, excluding any descendants and excluding attribute nodes and namespace nodes; the nodes are ordered in document order + + + + + + Traversal function for the "following-sibling" direction The following-sibling axis contains the following siblings of the context node in document order. + + + + + + Traversal function for the "namespace" direction the namespace axis contains the namespace nodes of the context node; the order of nodes on this axis is implementation-defined; the axis will be empty unless the context node is an element We keep the XML namespace node at the end of the list. + + + + + + Traversal function for the "parent" direction The parent axis contains the parent of the context node, if there is one. + + + + + + Traversal function for the "preceding" direction the preceding axis contains all nodes in the same document as the context node that are before the context node in document order, excluding any ancestors and excluding attribute nodes and namespace nodes; the nodes are ordered in reverse document order + + + + + + Traversal function for the "preceding-sibling" direction The preceding-sibling axis contains the preceding siblings of the context node in reverse document order; the first preceding sibling is first on the axis; the sibling preceding that node is the second on the axis and so on. + + + + + + Traversal function for the "self" direction The self axis contains just the context node itself + + + + + + Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes is sorted by document order, then #exslSetsNodeLeadingSorted is called. + + + + + + Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) + + + + + + add a new xmlNodePtr to an existing NodeSet + + + + + + add a new namespace node to an existing NodeSet + + + + + + + add a new xmlNodePtr to an existing NodeSet, optimized version when we are sure the node is not already in the set. + + + + + + checks whether @cur contains @val + + + + + + Create a new xmlNodeSetPtr of type double and of value @val + + + + + Removes an xmlNodePtr from an existing NodeSet + + + + + + Namespace nodes in libxml don't match the XPath semantic. In a node set the namespace nodes are duplicated and the next pointer is set to the parent node in the XPath semantic. Check if such a node needs to be freed + + + + + Merges two nodesets, all nodes from @val2 are added to @val1 if @val1 is NULL, a new set is created and copied from @val2 + + + + + + Removes an entry from an existing NodeSet list. + + + + + + Sort the node set in document order + + + + + Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes is sorted by document order, then #xmlXPathNodeTrailingSorted is called. + + + + + + Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) + + + + + + Implement the normalize-space() XPath function 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 space. Whitespace characters are the same allowed by the S production in XML. If the argument is omitted, it defaults to the context node converted to a string, in other words the value of the context node. + + + + + + Implement the equal operation on XPath objects content: @arg1 == @arg2 + + + + + Implement the not() XPath function boolean not(boolean) The not function returns true if its argument is false, and false otherwise. + + + + + + Search in the namespace declaration array of the context for the given namespace name associated to the given prefix + + + + + + Implement the number() XPath function number number(object?) + + + + + + allocate a new copy of a given object + + + + + Call this routine to speed up XPath computation on static documents. This stamps all the element nodes with the document order Like for line information, the order is kept in the element->content field, the value stored is actually - the node number (starting at -1) to be able to differentiate from line numbers. + + + + + parse an XML namespace non qualified name. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender + + + + + parse an XML name [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* + + + + + Pops a boolean from the stack, handling conversion if needed. Check error with #xmlXPathCheckError. + + + + + Pops an external object from the stack, handling conversion if needed. Check error with #xmlXPathCheckError. + + + + + Pops a node-set from the stack, handling conversion if needed. Check error with #xmlXPathCheckError. + + + + + Pops a number from the stack, handling conversion if needed. Check error with #xmlXPathCheckError. + + + + + Pops a string from the stack, handling conversion if needed. Check error with #xmlXPathCheckError. + + + + + Implement the position() XPath function number position() The position function returns the position of the context node in the context node list. The first position is 1, and so the last position will be equal to last(). + + + + + + Registers all default XPath functions in this context + + + + + Register a new function. If @f is NULL it unregisters the function + + + + + + + Registers an external mechanism to do function lookup. + + + + + + + Register a new function. If @f is NULL it unregisters the function + + + + + + + + Register a new namespace. If @ns_uri is NULL it unregisters the namespace + + + + + + + Register a new variable value. If @value is NULL it unregisters the variable + + + + + + + register an external mechanism to do variable lookup + + + + + + + Register a new variable value. If @value is NULL it unregisters the variable + + + + + + + + Cleanup the XPath context data associated to registered functions + + + + + Cleanup the XPath context data associated to registered variables + + + + + Cleanup the XPath context data associated to registered variables + + + + + Initialize the context to the root of the document + + + + + Implement the round() XPath function 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. + + + + + + Implement the starts-with() XPath function 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. + + + + + + [30a] Float ::= Number ('e' Digits?)? [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 negative values : '-' Number. + + + + + Implement the string() XPath function string string(object?) The 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. + + + + + + Implement the string-length() XPath function 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 of the context node. + + + + + + Implement the subtraction operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function. + + + + + Implement the substring-after() XPath function 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 if the first argument string does not contain the second argument string. For example, substring-after("1999/04/01","/") returns 04/01, and substring-after("1999/04/01","19") returns 99/04/01. + + + + + + Implement the substring-before() XPath function 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 if the first argument string does not contain the second argument string. For example, substring-before("1999/04/01","/") returns 1999. + + + + + + Implement the substring() XPath function 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, substring("12345",2,3) returns "234". If the third argument is not specified, it returns the substring starting at the position specified in the second argument and continuing to the end of the string. For example, substring("12345",2) returns "2345". More precisely, each character in the string (see [3.6 Strings]) is considered to have a numeric position: the position of the first character is 1, the position of the second character is 2 and so on. The returned substring contains 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 "" + + + + + + Implement the sum() XPath function number sum(node-set) The sum function returns the sum of the values of the nodes in the argument node-set. + + + + + + Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes1 and @nodes2 are sorted by document order, then #xmlXPathTrailingSorted is called. + + + + + + Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) + + + + + + Implement the translate() XPath function 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 string. For example, translate("bar","abc","ABC") returns the string BAr. If there is a character in the second argument string with no character at a corresponding position in the third argument string (because the second argument string is longer than the third argument string), then occurrences of that character in the first argument string are removed. For example, translate("--aaa--","abc-","ABC") + + + + + + Implement the true() XPath function boolean true() + + + + + + Implement the unary - operation on an XPath object The numeric operators convert their operands to numbers as if by calling the number function. + + + + + Search in the Variable array of the context for the given variable value. + + + + + + Prototype for callbacks used to plug variable lookup in the XPath engine. + + + + + + + Search in the Variable array of the context for the given variable value. + + + + + + + Wraps a string into an XPath object. + + + + + Wraps the @val data into an XPath object. + + + + + Wrap the Nodeset @val in a new xmlXPathObjectPtr + + + + + Wraps the @val string into an XPath object. + + + + + Formats an error message. + + + + + + + + Build a node list tree copy of the XPointer result. This will drop Attributes and Namespace declarations. + + + + + Evaluate the XPath Location Path in the given context. + + + + + + [8] Predicate ::= '[' PredicateExpr ']' [9] PredicateExpr ::= Expr Evaluate a predicate as in xmlXPathEvalPredicate() but for a Location Set instead of a node set + + + + + Free the LocationSet compound (not the actual ranges !). + + + + + add a new xmlXPathObjectPtr to an existing LocationSet If the location already exist in the set @val is freed. + + + + + + Create a new xmlLocationSetPtr of type double and of value @val + + + + + Removes an xmlXPathObjectPtr from an existing LocationSet + + + + + + Merges two rangesets, all ranges from @val2 are added to @val1 + + + + + + Removes an entry from an existing LocationSet list. + + + + + + Create a new xmlXPathObjectPtr of type range using a single nodes + + + + + Create a new XPointer context + + + + + + + Create a new xmlXPathObjectPtr of type LocationSet and initialize it with all the nodes from @set + + + + + Create a new xmlXPathObjectPtr of type LocationSet and initialize it with the single range made of the two nodes @start and @end + + + + + + Create a new xmlXPathObjectPtr of type range + + + + + + + + Create a new xmlXPathObjectPtr of type range from a not to an object + + + + + + Create a new xmlXPathObjectPtr of type range from a node to a point + + + + + + Create a new xmlXPathObjectPtr of type range using 2 nodes + + + + + + Create a new xmlXPathObjectPtr of type range from a point to a node + + + + + + Create a new xmlXPathObjectPtr of type range using 2 Points + + + + + + Implement the range-to() XPointer function + + + + + + Wrap the LocationSet @val in a new xmlXPathObjectPtr + + + + + diff --git a/doc/libxml2.xsa b/doc/libxml2.xsa new file mode 100644 index 0000000..814f516 --- /dev/null +++ b/doc/libxml2.xsa @@ -0,0 +1,39 @@ + + + + + Daniel Veillard + daniel@veillard.com + http://veillard.com/ + + + libxml2 + 2.6.8 + Mar 23 2004 + http://xmlsoft.org/ + - First step of the cleanup of the serialization code and APIs + - XML Schemas: mixed content (Adam Dickmeiss), QName handling fixes (Adam + Dickmeiss), anyURI for "" (John Belmonte) + - Python: Canonicalization C14N support added (Anthony Carrico) + - xmlDocCopyNode() extension (William) + - Relax-NG: fix when processing XInclude results (William), external + reference in interleave (William), missing error on <choice> + failure (William), memory leak in schemas datatype facets. + - xmlWriter: patch for better DTD support (Alfred Mickautsch) + - bug fixes: xmlXPathLangFunction memory leak (Mike Hommey and William + Brack), no ID errors if using HTML_PARSE_NOERROR, xmlcatalog fallbacks to + URI on SYSTEM lookup failure, XInclude parse flags inheritance (William), + XInclude and XPointer fixes for entities (William), XML parser bug + reported by Holger Rauch, nanohttp fd leak (William), regexps char + groups '-' handling (William), dictionnary reference counting problems, + do not close stderr. + - performance patches from Petr Pajas + - Documentation fixes: XML_CATALOG_FILES in man pages (Mike Hommey) + - compilation and portability fixes: --without-valid, catalog cleanups + (Peter Breitenlohner), MingW patch (Roland Schwingel), cross-compilation + to Windows (Christophe de Vienne), --with-html-dir fixup (Julio Merino + Vidal), Windows build (Eric Zurcher) + + + + diff --git a/doc/namespaces.html b/doc/namespaces.html new file mode 100644 index 0000000..6b9ab99 --- /dev/null +++ b/doc/namespaces.html @@ -0,0 +1,50 @@ + + +Namespaces
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    Namespaces

    Main Menu
    Related links

    The libxml2 library implements XML namespaces support by +recognizing namespace constructs in the input, and does namespace lookup +automatically when building the DOM tree. A namespace declaration is +associated with an in-memory structure and all elements or attributes within +that namespace point to it. Hence testing the namespace is a simple and fast +equality operation at the user level.

    I suggest that people using libxml2 use a namespace, and declare it in the +root element of their document as the default namespace. Then they don't need +to use the prefix in the content but we will have a basis for future semantic +refinement and merging of data from different sources. This doesn't increase +the size of the XML output significantly, but significantly increases its +value in the long-term. Example:

    <mydoc xmlns="http://mydoc.example.org/schemas/">
    +   <elem1>...</elem1>
    +   <elem2>...</elem2>
    +</mydoc>

    The namespace value has to be an absolute URL, but the URL doesn't have to +point to any existing resource on the Web. It will bind all the element and +attributes with that URL. I suggest to use an URL within a domain you +control, and that the URL should contain some kind of version information if +possible. For example, "http://www.gnome.org/gnumeric/1.0/" is a +good namespace scheme.

    Then when you load a file, make sure that a namespace carrying the +version-independent prefix is installed on the root element of your document, +and if the version information don't match something you know, warn the user +and be liberal in what you accept as the input. Also do *not* try to base +namespace checking on the prefix value. <foo:text> may be exactly the +same as <bar:text> in another document. What really matters is the URI +associated with the element or the attribute, not the prefix string (which is +just a shortcut for the full URI). In libxml, element and attributes have an +ns field pointing to an xmlNs structure detailing the namespace +prefix and its URI.

    @@Interfaces@@

    xmlNodePtr node;
    +if(!strncmp(node->name,"mytag",5)
    +  && node->ns
    +  && !strcmp(node->ns->href,"http://www.mysite.com/myns/1.0")) {
    +  ...
    +}

    Usually people object to using namespaces together with validity checking. +I will try to make sure that using namespaces won't break validity checking, +so even if you plan to use or currently are using validation I strongly +suggest adding namespaces to your document. A default namespace scheme +xmlns="http://...." should not break validity even on less +flexible parsers. Using namespaces to mix and differentiate content coming +from multiple DTDs will certainly break current validation schemes. To check +such documents one needs to use schema-validation, which is supported in +libxml2 as well. See relagx-ng and w3c-schema.

    Daniel Veillard

    diff --git a/doc/newapi.xsl b/doc/newapi.xsl new file mode 100644 index 0000000..ad3d403 --- /dev/null +++ b/doc/newapi.xsl @@ -0,0 +1,763 @@ + + + + + + + + + + + + + + + html + ../ + + + API Menu + +
    + + +
    + +
    + + + + + +
    + + + + + + + +
    +
    + +
    +
    + +
    + + + + + + + +
    +
    + API Indexes +
    +
    + +
    + + + + + + + +
    +
    + Related links +
    +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +    #define 
    +    
    +
    + + +
    +    Variable 
    +    
    +      
    +    
    +     
    +    
    +    
    +    
    +
    +
    +    
    +
    + + + +
    +    
    +      
    +	Enum 
    +	
    +	
    +
    +      
    +      
    +	Typedef 
    +	
    +	  
    +	
    +	 
    +	
    +	
    +
    +      
    +    
    +    
    +
    + + + +

    Enum

    +
    +      Enum 
    +      
    +       {
    +
    +      
    +        
    +            
    +        
    +         = 
    +        
    +        
    +	   : 
    +	  
    +	    
    +	  
    +        
    +        
    +
    +      
    +      }
    +
    +    
    +
    + + +
    +    Structure 
    + + + + The content of this structure is not made public by the API. + + +
    +
    + + +

    Structure

    +
    +    Structure 
    + { + + + The content of this structure is not made public by the API. + + + + + + + + + + + : + + + + + + + + } +
    +
    + + + +

    Macro:

    +
    #define 
    +

    + + + +

    + +
    + + + + + + +
    +    
    +      
    +    
    +    	
    +    
    +    
    +      	
    +    
    +    
    +      	
    +    
    +    	(
    +    
    +      void
    +    
    +    
    +      
    +        
    +      
    +       
    +      
    +      
    +        , 
    + + + + + + + +
    +
    + ) +
    + +
    + + + + + + +
    +    Function type: 
    +    
    +    
    +
    +    
    +      
    +    
    +    	
    +    
    +    
    +      	
    +    
    +    
    +      	
    +    
    +    	(
    +    
    +      void
    +    
    +    
    +      
    +        
    +      
    +       
    +      
    +      
    +        , 
    + + + + + + + +
    +
    + ) + +
    + + +
    + + + + + + +

    + + Function type: + +

    +
    +    Function type: 
    +    
    +    
    +
    +    
    +      
    +    
    +    	
    +    
    +    
    +      	
    +    
    +    
    +      	
    +    
    +    	(
    +    
    +      void
    +    
    +    
    +      
    +        
    +      
    +       
    +      
    +      
    +        , 
    + + + + + + + +
    +
    + ) + +
    +

    + + + +

    + +
    + + + + + + + + + + + + +
    : + + + +
    Returns: + + + +
    +
    +
    + + +
    + + + + + + +

    Function:

    +
    +    
    +      
    +    
    +    	
    +    
    +    
    +      	
    +    
    +    
    +      	
    +    
    +    	(
    +    
    +      void
    +    
    +    
    +      
    +        
    +      
    +       
    +      
    +      
    +        , 
    + + + + + + + +
    +
    + )
    + + +
    +

    + + + +

    + + +
    + + + + + + + + + + + + +
    : + + + +
    Returns: + + + +
    +
    +
    + + + + + + + + + + + +

    This module is deprecated

    +
    + +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + Module from + + + + + + <xsl:value-of select="$title"/> + + + + + + + + + +
    + + + + + +
    + + + + + + +
    + + + + +
    + + + + +
    + + + + +
    +

    Table of Contents

    + +

    Description

    + + + +
    +
    + +

    Table of Contents

    + + + + + + + + + + + + + + + +

    Description

    + + + + + + + + + + + + + + + + + +
    +
    +

    Daniel Veillard

    +
    +
    +
    +
    +
    + + +
    +
    + + + +
  • + + : + +
  • +
    + + + + Reference Manual for + + + + + + <xsl:value-of select="$title"/> + + + + + + + + + +
    + + + + + +
    + + + + + + +
    + + + + +
    + + + + +
    +

    Table of Contents

    +
      + +
    +

    Daniel Veillard

    +
    +
    +
    +
    +
    + + +
    +
    + + + + + + + + + + + + + + +
    diff --git a/doc/news.html b/doc/news.html new file mode 100644 index 0000000..c383ea6 --- /dev/null +++ b/doc/news.html @@ -0,0 +1,892 @@ + + +News
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    News

    Main Menu
    Related links

    CVS only : check the Changelog file +for a really accurate description

    Items not finished and worked on, get in touch with the list if you want +to test those

    2.6.8: Mar 23 2004

    • First step of the cleanup of the serialization code and APIs
    • +
    • XML Schemas: mixed content (Adam Dickmeiss), QName handling fixes (Adam + Dickmeiss), anyURI for "" (John Belmonte)
    • +
    • Python: Canonicalization C14N support added (Anthony Carrico)
    • +
    • xmlDocCopyNode() extension (William)
    • +
    • Relax-NG: fix when processing XInclude results (William), external + reference in interleave (William), missing error on <choice> + failure (William), memory leak in schemas datatype facets.
    • +
    • xmlWriter: patch for better DTD support (Alfred Mickautsch)
    • +
    • bug fixes: xmlXPathLangFunction memory leak (Mike Hommey and William + Brack), no ID errors if using HTML_PARSE_NOERROR, xmlcatalog fallbacks to + URI on SYSTEM lookup failure, XInclude parse flags inheritance (William), + XInclude and XPointer fixes for entities (William), XML parser bug + reported by Holger Rauch, nanohttp fd leak (William), regexps char + groups '-' handling (William), dictionnary reference counting problems, + do not close stderr.
    • +
    • performance patches from Petr Pajas
    • +
    • Documentation fixes: XML_CATALOG_FILES in man pages (Mike Hommey)
    • +
    • compilation and portability fixes: --without-valid, catalog cleanups + (Peter Breitenlohner), MingW patch (Roland Schwingel), cross-compilation + to Windows (Christophe de Vienne), --with-html-dir fixup (Julio Merino + Vidal), Windows build (Eric Zurcher)
    • +

    2.6.7: Feb 23 2004

    • documentation: tutorial updates (John Fleck), benchmark results
    • +
    • xmlWriter: updates and fixes (Alfred Mickautsch, Lucas Brasilino)
    • +
    • XPath optimization (Petr Pajas)
    • +
    • DTD ID handling optimization
    • +
    • bugfixes: xpath number with > 19 fractional (William Brack), push + mode with unescaped '>' characters, fix xmllint --stream --timing, fix + xmllint --memory --stream memory usage, xmlAttrSerializeTxtContent + handling NULL, trying to fix Relax-NG/Perl interface.
    • +
    • python: 2.3 compatibility, whitespace fixes (Malcolm Tredinnick)
    • +
    • Added relaxng option to xmllint --shell
    • +

    2.6.6: Feb 12 2004

    • nanohttp and nanoftp: buffer overflow error on URI parsing (Igor and + William) reported by Yuuichi Teranishi
    • +
    • bugfixes: make test and path issues, xmlWriter attribute serialization + (William Brack), xmlWriter indentation (William), schemas validation + (Eric Haszlakiewicz), XInclude dictionnaries issues (William and Oleg + Paraschenko), XInclude empty fallback (William), HTML warnings (William), + XPointer in XInclude (William), Python namespace serialization, + isolat1ToUTF8 bound error (Alfred Mickautsch), output of parameter + entities in internal subset (William), internal subset bug in push mode, + <xs:all> fix (Alexey Sarytchev)
    • +
    • Build: fix for automake-1.8 (Alexander Winston), warnings removal + (Philip Ludlam), SOCKLEN_T detection fixes (Daniel Richard), fix + --with-minimum configuration.
    • +
    • XInclude: allow the 2001 namespace without warning.
    • +
    • Documentation: missing example/index.html (John Fleck), version + dependancies (John Fleck)
    • +
    • reader API: structured error reporting (Steve Ball)
    • +
    • Windows compilation: mingw, msys (Mikhail Grushinskiy), function + prototype (Cameron Johnson), MSVC6 compiler warnings, _WINSOCKAPI_ + patch
    • +
    • Parsers: added xmlByteConsumed(ctxt) API to get the byte offest in + input.
    • +

    2.6.5: Jan 25 2004

    • Bugfixes: dictionnaries for schemas (William Brack), regexp segfault + (William), xs:all problem (William), a number of XPointer bugfixes + (William), xmllint error go to stderr, DTD validation problem with + namespace, memory leak (William), SAX1 cleanup and minimal options fixes + (Mark Vadoc), parser context reset on error (Shaun McCance), XPath union + evaluation problem (William) , xmlReallocLoc with NULL (Aleksey Sanin), + XML Schemas double free (Steve Ball), XInclude with no href, argument + callbacks order for XPath callbacks (Frederic Peters)
    • +
    • Documentation: python scripts (William Brack), xslt stylesheets (John + Fleck), doc (Sven Zimmerman), I/O example.
    • +
    • Python bindings: fixes (William), enum support (Stéphane Bidoul), + structured error reporting (Stéphane Bidoul)
    • +
    • XInclude: various fixes for conformance, problem related to dictionnary + references (William & me), recursion (William)
    • +
    • xmlWriter: indentation (Lucas Brasilino), memory leaks (Alfred + Mickautsch),
    • +
    • xmlSchemas: normalizedString datatype (John Belmonte)
    • +
    • code cleanup for strings functions (William)
    • +
    • Windows: compiler patches (Mark Vakoc)
    • +
    • Parser optimizations, a few new XPath and dictionnary APIs for future + XSLT optimizations.
    • +

    2.6.4: Dec 24 2003

    • Windows build fixes (Igor Zlatkovic)
    • +
    • Some serious XInclude problems reported by Oleg Paraschenko and
    • +
    • Unix and Makefile packaging fixes (me, William Brack,
    • +
    • Documentation improvements (John Fleck, William Brack), example fix + (Lucas Brasilino)
    • +
    • bugfixes: xmlTextReaderExpand() with xmlReaderWalker, XPath handling of + NULL strings (William Brack) , API building reader or parser from + filedescriptor should not close it, changed XPath sorting to be stable + again (William Brack), xmlGetNodePath() generating '(null)' (William + Brack), DTD validation and namespace bug (William Brack), XML Schemas + double inclusion behaviour
    • +

    2.6.3: Dec 10 2003

    • documentation updates and cleanup (DV, William Brack, John Fleck)
    • +
    • added a repository of examples, examples from Aleksey Sanin, Dodji + Seketeli, Alfred Mickautsch
    • +
    • Windows updates: Mark Vakoc, Igor Zlatkovic, Eric Zurcher, Mingw + (Kenneth Haley)
    • +
    • Unicode range checking (William Brack)
    • +
    • code cleanup (William Brack)
    • +
    • Python bindings: doc (John Fleck), bug fixes
    • +
    • UTF-16 cleanup and BOM issues (William Brack)
    • +
    • bug fixes: ID and xmlReader validation, XPath (William Brack), + xmlWriter (Alfred Mickautsch), hash.h inclusion problem, HTML parser + (James Bursa), attribute defaulting and validation, some serialization + cleanups, XML_GET_LINE macro, memory debug when using threads (William + Brack), serialization of attributes and entities content, xmlWriter + (Daniel Schulman)
    • +
    • XInclude bugfix, new APIs and update to the last version including the + namespace change.
    • +
    • XML Schemas improvements: include (Robert Stepanek), import and + namespace handling, fixed the regression tests troubles, added examples + based on Eric van der Vlist book, regexp fixes
    • +
    • preliminary pattern support for streaming (needed for schemas + constraints), added xmlTextReaderPreservePattern() to collect subdocument + when streaming.
    • +
    • various fixes in the structured error handling
    • +

    2.6.2: Nov 4 2003

    • XPath context unregistration fixes
    • +
    • text node coalescing fixes (Mark Lilback)
    • +
    • API to screate a W3C Schemas from an existing document (Steve Ball)
    • +
    • BeOS patches (Marcin 'Shard' Konicki)
    • +
    • xmlStrVPrintf function added (Aleksey Sanin)
    • +
    • compilation fixes (Mark Vakoc)
    • +
    • stdin parsing fix (William Brack)
    • +
    • a posteriori DTD validation fixes
    • +
    • xmlReader bug fixes: Walker fixes, python bindings
    • +
    • fixed xmlStopParser() to really stop the parser and errors
    • +
    • always generate line numbers when using the new xmlReadxxx + functions
    • +
    • added XInclude support to the xmlReader interface
    • +
    • implemented XML_PARSE_NONET parser option
    • +
    • DocBook XSLT processing bug fixed
    • +
    • HTML serialization for <p> elements (William Brack and me)
    • +
    • XPointer failure in XInclude are now handled as resource errors
    • +
    • fixed xmllint --html to use the HTML serializer on output (added + --xmlout to implement the previous behaviour of saving it using the XML + serializer)
    • +

    2.6.1: Oct 28 2003

    • Mostly bugfixes after the big 2.6.0 changes
    • +
    • Unix compilation patches: libxml.m4 (Patrick Welche), warnings cleanup + (William Brack)
    • +
    • Windows compilation patches (Joachim Bauch, Stephane Bidoul, Igor + Zlatkovic)
    • +
    • xmlWriter bugfix (Alfred Mickautsch)
    • +
    • chvalid.[ch]: couple of fixes from Stephane Bidoul
    • +
    • context reset: error state reset, push parser reset (Graham + Bennett)
    • +
    • context reuse: generate errors if file is not readable
    • +
    • defaulted attributes for element coming from internal entities + (Stephane Bidoul)
    • +
    • Python: tab and spaces mix (William Brack)
    • +
    • Error handler could crash in DTD validation in 2.6.0
    • +
    • xmlReader: do not use the document or element _private field
    • +
    • testSAX.c: avoid a problem with some PIs (Massimo Morara)
    • +
    • general bug fixes: mandatory encoding in text decl, serializing + Document Fragment nodes, xmlSearchNs 2.6.0 problem (Kasimier Buchcik), + XPath errors not reported, slow HTML parsing of large documents.
    • +

    2.6.0: Oct 20 2003

    • Major revision release: should be API and ABI compatible but got a lot + of change
    • +
    • Increased the library modularity, far more options can be stripped out, + a --with-minimum configuration will weight around 160KBytes
    • +
    • Use per parser and per document dictionnary, allocate names and small + text nodes from the dictionnary
    • +
    • Switch to a SAX2 like parser rewrote most of the XML parser core, + provides namespace resolution and defaulted attributes, minimize memory + allocations and copies, namespace checking and specific error handling, + immutable buffers, make predefined entities static structures, etc...
    • +
    • rewrote all the error handling in the library, all errors can be + intercepted at a structured level, with precise information + available.
    • +
    • New simpler and more generic XML and HTML parser APIs, allowing to + easilly modify the parsing options and reuse parser context for multiple + consecutive documents.
    • +
    • Similar new APIs for the xmlReader, for options and reuse, provided new + functions to access content as const strings, use them for Python + bindings
    • +
    • a lot of other smaller API improvements: xmlStrPrintf (Aleksey Sanin), + Walker i.e. reader on a document tree based on Alfred Mickautsch code, + make room in nodes for line numbers, reference counting and future PSVI + extensions, generation of character ranges to be checked with faster + algorithm (William), xmlParserMaxDepth (Crutcher Dunnavant), buffer + access
    • +
    • New xmlWriter API provided by Alfred Mickautsch
    • +
    • Schemas: base64 support by Anthony Carrico
    • +
    • Parser<->HTTP integration fix, proper processing of the Mime-Type + and charset informations if available.
    • +
    • Relax-NG: bug fixes including the one reported by Martijn Faassen and + zeroOrMore, better error reporting.
    • +
    • Python bindings (Stéphane Bidoul), never use stdout for errors + output
    • +
    • Portability: all the headers have macros for export and calling + convention definitions (Igor Zlatkovic), VMS update (Craig A. Berry), + Windows: threads (Jesse Pelton), Borland compiler (Eric Zurcher, Igor), + Mingw (Igor), typos (Mark Vakoc), beta version (Stephane Bidoul), + warning cleanups on AIX and MIPS compilers (William Brack), BeOS (Marcin + 'Shard' Konicki)
    • +
    • Documentation fixes and README (William Brack), search fix (William), + tutorial updates (John Fleck), namespace docs (Stefan Kost)
    • +
    • Bug fixes: xmlCleanupParser (Dave Beckett), threading uninitialized + mutexes, HTML doctype lowercase, SAX/IO (William), compression detection + and restore (William), attribute declaration in DTDs (William), namespace + on attribute in HTML output (William), input filename (Rob Richards), + namespace DTD validation, xmlReplaceNode (Chris Ryland), I/O callbacks + (Markus Keim), CDATA serialization (Shaun McCance), xmlReader (Peter + Derr), high codepoint charref like &#x10FFFF;, buffer access in push + mode (Justin Fletcher), TLS threads on Windows (Jesse Pelton), XPath bug + (William), xmlCleanupParser (Marc Liyanage), CDATA output (William), HTTP + error handling.
    • +
    • xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat + testing, --nodict for building without tree dictionnary, --nocdata to + replace CDATA by text, --nsclean to remove surperfluous namespace + declarations
    • +
    • added xml2-config --libtool-libs option from Kevin P. Fleming
    • +
    • a lot of profiling and tuning of the code, speedup patch for + xmlSearchNs() by Luca Padovani. The xmlReader should do far less + allocation and it speed should get closer to SAX. Chris Anderson worked + on speeding and cleaning up repetitive checking code.
    • +
    • cleanup of "make tests"
    • +
    • libxml-2.0-uninstalled.pc from Malcolm Tredinnick
    • +
    • deactivated the broken docBook SGML parser code and plugged the XML + parser instead.
    • +

    2.5.11: Sep 9 2003

    A bugfix only release:

    • risk of crash in Relax-NG
    • +
    • risk of crash when using multithreaded programs
    • +

    2.5.10: Aug 15 2003

    A bugfixes only release

    • Windows Makefiles (William Brack)
    • +
    • UTF-16 support fixes (Mark Itzcovitz)
    • +
    • Makefile and portability (William Brack) automake, Linux alpha, Mingw + on Windows (Mikhail Grushinskiy)
    • +
    • HTML parser (Oliver Stoeneberg)
    • +
    • XInclude performance problem reported by Kevin Ruscoe
    • +
    • XML parser performance problem reported by Grant Goodale
    • +
    • xmlSAXParseDTD() bug fix from Malcolm Tredinnick
    • +
    • and a couple other cleanup
    • +

    2.5.9: Aug 9 2003

    • bugfixes: IPv6 portability, xmlHasNsProp (Markus Keim), Windows build + (Wiliam Brake, Jesse Pelton, Igor), Schemas (Peter Sobisch), threading + (Rob Richards), hexBinary type (), UTF-16 BOM (Dodji Seketeli), + xmlReader, Relax-NG schemas compilation, namespace handling, EXSLT (Sean + Griffin), HTML parsing problem (William Brack), DTD validation for mixed + content + namespaces, HTML serialization, library initialization, + progressive HTML parser
    • +
    • better interfaces for Relax-NG error handling (Joachim Bauch, )
    • +
    • adding xmlXIncludeProcessTree() for XInclud'ing in a subtree
    • +
    • doc fixes and improvements (John Fleck)
    • +
    • configure flag for -with-fexceptions when embedding in C++
    • +
    • couple of new UTF-8 helper functions (William Brack)
    • +
    • general encoding cleanup + ISO-8859-x without iconv (Peter Jacobi)
    • +
    • xmlTextReader cleanup + enum for node types (Bjorn Reese)
    • +
    • general compilation/warning cleanup Solaris/HP-UX/... (William + Brack)
    • +

    2.5.8: Jul 6 2003

    • bugfixes: XPath, XInclude, file/URI mapping, UTF-16 save (Mark + Itzcovitz), UTF-8 checking, URI saving, error printing (William Brack), + PI related memleak, compilation without schemas or without xpath (Joerg + Schmitz-Linneweber/Garry Pennington), xmlUnlinkNode problem with DTDs, + rpm problem on , i86_64, removed a few compilation problems from 2.5.7, + xmlIOParseDTD, and xmlSAXParseDTD (Malcolm Tredinnick)
    • +
    • portability: DJGPP (MsDos) , OpenVMS (Craig A. Berry)
    • +
    • William Brack fixed multithreading lock problems
    • +
    • IPv6 patch for FTP and HTTP accesses (Archana Shah/Wipro)
    • +
    • Windows fixes (Igor Zlatkovic, Eric Zurcher), threading (Stéphane + Bidoul)
    • +
    • A few W3C Schemas Structure improvements
    • +
    • W3C Schemas Datatype improvements (Charlie Bozeman)
    • +
    • Python bindings for thread globals (Stéphane Bidoul), and method/class + generator
    • +
    • added --nonet option to xmllint
    • +
    • documentation improvements (John Fleck)
    • +

    2.5.7: Apr 25 2003

    • Relax-NG: Compiling to regexp and streaming validation on top of the + xmlReader interface, added to xmllint --stream
    • +
    • xmlReader: Expand(), Next() and DOM access glue, bug fixes
    • +
    • Support for large files: RGN validated a 4.5GB instance
    • +
    • Thread support is now configured in by default
    • +
    • Fixes: update of the Trio code (Bjorn), WXS Date and Duration fixes + (Charles Bozeman), DTD and namespaces (Brent Hendricks), HTML push parser + and zero bytes handling, some missing Windows file path conversions, + behaviour of the parser and validator in the presence of "out of memory" + error conditions
    • +
    • extended the API to be able to plug a garbage collecting memory + allocator, added xmlMallocAtomic() and modified the allocations + accordingly.
    • +
    • Performances: removed excessive malloc() calls, speedup of the push and + xmlReader interfaces, removed excessive thread locking
    • +
    • Documentation: man page (John Fleck), xmlReader documentation
    • +
    • Python: adding binding for xmlCatalogAddLocal (Brent M Hendricks)
    • +

    2.5.6: Apr 1 2003

    • Fixed W3C XML Schemas datatype, should be compliant now except for + binHex and base64 which are not supported yet.
    • +
    • bug fixes: non-ASCII IDs, HTML output, XInclude on large docs and + XInclude entities handling, encoding detection on external subsets, XML + Schemas bugs and memory leaks, HTML parser (James Bursa)
    • +
    • portability: python/trio (Albert Chin), Sun compiler warnings
    • +
    • documentation: added --relaxng option to xmllint man page (John)
    • +
    • improved error reporting: xml:space, start/end tag mismatches, Relax NG + errors
    • +

    2.5.5: Mar 24 2003

    • Lot of fixes on the Relax NG implementation. More testing including + DocBook and TEI examples.
    • +
    • Increased the support for W3C XML Schemas datatype
    • +
    • Several bug fixes in the URI handling layer
    • +
    • Bug fixes: HTML parser, xmlReader, DTD validation, XPath, encoding + conversion, line counting in the parser.
    • +
    • Added support for $XMLLINT_INDENT environment variable, FTP delete
    • +
    • Fixed the RPM spec file name
    • +

    2.5.4: Feb 20 2003

    • Conformance testing and lot of fixes on Relax NG and XInclude + implementation
    • +
    • Implementation of XPointer element() scheme
    • +
    • Bug fixes: XML parser, XInclude entities merge, validity checking on + namespaces, +

      2 serialization bugs, node info generation problems, a DTD regexp + generation problem.

      +
    • +
    • Portability: windows updates and path canonicalization (Igor)
    • +
    • A few typo fixes (Kjartan Maraas)
    • +
    • Python bindings generator fixes (Stephane Bidoul)
    • +

    2.5.3: Feb 10 2003

    • RelaxNG and XML Schemas datatypes improvements, and added a first + version of RelaxNG Python bindings
    • +
    • Fixes: XLink (Sean Chittenden), XInclude (Sean Chittenden), API fix for + serializing namespace nodes, encoding conversion bug, XHTML1 + serialization
    • +
    • Portability fixes: Windows (Igor), AMD 64bits RPM spec file
    • +

    2.5.2: Feb 5 2003

    • First implementation of RelaxNG, added --relaxng flag to xmllint
    • +
    • Schemas support now compiled in by default.
    • +
    • Bug fixes: DTD validation, namespace checking, XInclude and entities, + delegateURI in XML Catalogs, HTML parser, XML reader (Stéphane Bidoul), + XPath parser and evaluation, UTF8ToUTF8 serialization, XML reader memory + consumption, HTML parser, HTML serialization in the presence of + namespaces
    • +
    • added an HTML API to check elements and attributes.
    • +
    • Documentation improvement, PDF for the tutorial (John Fleck), doc + patches (Stefan Kost)
    • +
    • Portability fixes: NetBSD (Julio Merino), Windows (Igor Zlatkovic)
    • +
    • Added python bindings for XPointer, contextual error reporting + (Stéphane Bidoul)
    • +
    • URI/file escaping problems (Stefano Zacchiroli)
    • +

    2.5.1: Jan 8 2003

    • Fixes a memory leak and configuration/compilation problems in 2.5.0
    • +
    • documentation updates (John)
    • +
    • a couple of XmlTextReader fixes
    • +

    2.5.0: Jan 6 2003

    • New XmltextReader interface based on C# + API (with help of Stéphane Bidoul)
    • +
    • Windows: more exports, including the new API (Igor)
    • +
    • XInclude fallback fix
    • +
    • Python: bindings for the new API, packaging (Stéphane Bidoul), + drv_libxml2.py Python xml.sax driver (Stéphane Bidoul), fixes, speedup + and iterators for Python-2.2 (Hannu Krosing)
    • +
    • Tutorial fixes (john Fleck and Niraj Tolia) xmllint man update + (John)
    • +
    • Fix an XML parser bug raised by Vyacheslav Pindyura
    • +
    • Fix for VMS serialization (Nigel Hall) and config (Craig A. Berry)
    • +
    • Entities handling fixes
    • +
    • new API to optionally track node creation and deletion (Lukas + Schroeder)
    • +
    • Added documentation for the XmltextReader interface and some XML guidelines
    • +

    2.4.30: Dec 12 2002

    • 2.4.29 broke the python bindings, rereleasing
    • +
    • Improvement/fixes of the XML API generator, and couple of minor code + fixes.
    • +

    2.4.29: Dec 11 2002

    • Windows fixes (Igor): Windows CE port, pthread linking, python bindings + (Stéphane Bidoul), Mingw (Magnus Henoch), and export list updates
    • +
    • Fix for prev in python bindings (ERDI Gergo)
    • +
    • Fix for entities handling (Marcus Clarke)
    • +
    • Refactored the XML and HTML dumps to a single code path, fixed XHTML1 + dump
    • +
    • Fix for URI parsing when handling URNs with fragment identifiers
    • +
    • Fix for HTTP URL escaping problem
    • +
    • added an TextXmlReader (C#) like API (work in progress)
    • +
    • Rewrote the API in XML generation script, includes a C parser and saves + more informations needed for C# bindings
    • +

    2.4.28: Nov 22 2002

    • a couple of python binding fixes
    • +
    • 2 bug fixes in the XML push parser
    • +
    • potential memory leak removed (Martin Stoilov)
    • +
    • fix to the configure script for Unix (Dimitri Papadopoulos)
    • +
    • added encoding support for XInclude parse="text"
    • +
    • autodetection of XHTML1 and specific serialization rules added
    • +
    • nasty threading bug fixed (William Brack)
    • +

    2.4.27: Nov 17 2002

    • fixes for the Python bindings
    • +
    • a number of bug fixes: SGML catalogs, xmlParseBalancedChunkMemory(), + HTML parser, Schemas (Charles Bozeman), document fragment support + (Christian Glahn), xmlReconciliateNs (Brian Stafford), XPointer, + xmlFreeNode(), xmlSAXParseMemory (Peter Jones), xmlGetNodePath (Petr + Pajas), entities processing
    • +
    • added grep to xmllint --shell
    • +
    • VMS update patch from Craig A. Berry
    • +
    • cleanup of the Windows build with support for more compilers (Igor), + better thread support on Windows
    • +
    • cleanup of Unix Makefiles and spec file
    • +
    • Improvements to the documentation (John Fleck)
    • +

    2.4.26: Oct 18 2002

    • Patches for Windows CE port, improvements on Windows paths handling
    • +
    • Fixes to the validation code (DTD and Schemas), xmlNodeGetPath() , + HTML serialization, Namespace compliance, and a number of small + problems
    • +

    2.4.25: Sep 26 2002

    • A number of bug fixes: XPath, validation, Python bindings, DOM and + tree, xmlI/O, Html
    • +
    • Serious rewrite of XInclude
    • +
    • Made XML Schemas regexp part of the default build and APIs, small fix + and improvement of the regexp core
    • +
    • Changed the validation code to reuse XML Schemas regexp APIs
    • +
    • Better handling of Windows file paths, improvement of Makefiles (Igor, + Daniel Gehriger, Mark Vakoc)
    • +
    • Improved the python I/O bindings, the tests, added resolver and regexp + APIs
    • +
    • New logos from Marc Liyanage
    • +
    • Tutorial improvements: John Fleck, Christopher Harris
    • +
    • Makefile: Fixes for AMD x86_64 (Mandrake), DESTDIR (Christophe + Merlet)
    • +
    • removal of all stderr/perror use for error reporting
    • +
    • Better error reporting: XPath and DTD validation
    • +
    • update of the trio portability layer (Bjorn Reese)
    • +

    2.4.24: Aug 22 2002

    • XPath fixes (William), xf:escape-uri() (Wesley Terpstra)
    • +
    • Python binding fixes: makefiles (William), generator, rpm build, x86-64 + (fcrozat)
    • +
    • HTML <style> and boolean attributes serializer fixes
    • +
    • C14N improvements by Aleksey
    • +
    • doc cleanups: Rick Jones
    • +
    • Windows compiler makefile updates: Igor and Elizabeth Barham
    • +
    • XInclude: implementation of fallback and xml:base fixup added
    • +

    2.4.23: July 6 2002

    • performances patches: Peter Jacobi
    • +
    • c14n fixes, testsuite and performances: Aleksey Sanin
    • +
    • added xmlDocFormatDump: Chema Celorio
    • +
    • new tutorial: John Fleck
    • +
    • new hash functions and performances: Sander Vesik, portability fix from + Peter Jacobi
    • +
    • a number of bug fixes: XPath (William Brack, Richard Jinks), XML and + HTML parsers, ID lookup function
    • +
    • removal of all remaining sprintf: Aleksey Sanin
    • +

    2.4.22: May 27 2002

    • a number of bug fixes: configure scripts, base handling, parser, memory + usage, HTML parser, XPath, documentation (Christian Cornelssen), + indentation, URI parsing
    • +
    • Optimizations for XMLSec, fixing and making public some of the network + protocol handlers (Aleksey)
    • +
    • performance patch from Gary Pennington
    • +
    • Charles Bozeman provided date and time support for XML Schemas + datatypes
    • +

    2.4.21: Apr 29 2002

    This release is both a bug fix release and also contains the early XML +Schemas structures and datatypes code, beware, all +interfaces are likely to change, there is huge holes, it is clearly a work in +progress and don't even think of putting this code in a production system, +it's actually not compiled in by default. The real fixes are:

    • a couple of bugs or limitations introduced in 2.4.20
    • +
    • patches for Borland C++ and MSC by Igor
    • +
    • some fixes on XPath strings and conformance patches by Richard + Jinks
    • +
    • patch from Aleksey for the ExcC14N specification
    • +
    • OSF/1 bug fix by Bjorn
    • +

    2.4.20: Apr 15 2002

    • bug fixes: file descriptor leak, XPath, HTML output, DTD validation
    • +
    • XPath conformance testing by Richard Jinks
    • +
    • Portability fixes: Solaris, MPE/iX, Windows, OSF/1, python bindings, + libxml.m4
    • +

    2.4.19: Mar 25 2002

    • bug fixes: half a dozen XPath bugs, Validation, ISO-Latin to UTF8 + encoder
    • +
    • portability fixes in the HTTP code
    • +
    • memory allocation checks using valgrind, and profiling tests
    • +
    • revamp of the Windows build and Makefiles
    • +

    2.4.18: Mar 18 2002

    • bug fixes: tree, SAX, canonicalization, validation, portability, + XPath
    • +
    • removed the --with-buffer option it was becoming unmaintainable
    • +
    • serious cleanup of the Python makefiles
    • +
    • speedup patch to XPath very effective for DocBook stylesheets
    • +
    • Fixes for Windows build, cleanup of the documentation
    • +

    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 Canonicalization support from Aleksey Sanin
    • +

    2.4.16: Feb 20 2002

    • a lot of bug fixes, most of them were triggered by the XML Testsuite + from OASIS and W3C. Compliance has been significantly improved.
    • +
    • a couple of portability fixes too.
    • +

    2.4.15: Feb 11 2002

    • Fixed the Makefiles, especially the python module ones
    • +
    • A few bug fixes and cleanup
    • +
    • Includes cleanup
    • +

    2.4.14: Feb 8 2002

    • Change of License to the MIT + License basically for integration in XFree86 codebase, and removing + confusion around the previous dual-licensing
    • +
    • added Python bindings, beta software but should already be quite + complete
    • +
    • a large number of fixes and cleanups, especially for all tree + manipulations
    • +
    • cleanup of the headers, generation of a reference API definition in + XML
    • +

    2.4.13: Jan 14 2002

    • update of the documentation: John Fleck and Charlie Bozeman
    • +
    • cleanup of timing code from Justin Fletcher
    • +
    • fixes for Windows and initial thread support on Win32: Igor and Serguei + Narojnyi
    • +
    • Cygwin patch from Robert Collins
    • +
    • added xmlSetEntityReferenceFunc() for Keith Isdale work on xsldbg
    • +

    2.4.12: Dec 7 2001

    • a few bug fixes: thread (Gary Pennington), xmllint (Geert Kloosterman), + XML parser (Robin Berjon), XPointer (Danny Jamshy), I/O cleanups + (robert)
    • +
    • Eric Lavigne contributed project files for MacOS
    • +
    • some makefiles cleanups
    • +

    2.4.11: Nov 26 2001

    • fixed a couple of errors in the includes, fixed a few bugs, some code + cleanups
    • +
    • xmllint man pages improvement by Heiko Rupp
    • +
    • updated VMS build instructions from John A Fotheringham
    • +
    • Windows Makefiles updates from Igor
    • +

    2.4.10: Nov 10 2001

    • URI escaping fix (Joel Young)
    • +
    • added xmlGetNodePath() (for paths or XPointers generation)
    • +
    • Fixes namespace handling problems when using DTD and validation
    • +
    • improvements on xmllint: Morus Walter patches for --format and + --encode, Stefan Kost and Heiko Rupp improvements on the --shell
    • +
    • fixes for xmlcatalog linking pointed by Weiqi Gao
    • +
    • fixes to the HTML parser
    • +

    2.4.9: Nov 6 2001

    • fixes more catalog bugs
    • +
    • avoid a compilation problem, improve xmlGetLineNo()
    • +

    2.4.8: Nov 4 2001

    • fixed SGML catalogs broken in previous release, updated xmlcatalog + tool
    • +
    • fixed a compile errors and some includes troubles.
    • +

    2.4.7: Oct 30 2001

    • exported some debugging interfaces
    • +
    • serious rewrite of the catalog code
    • +
    • integrated Gary Pennington thread safety patch, added configure option + and regression tests
    • +
    • removed an HTML parser bug
    • +
    • fixed a couple of potentially serious validation bugs
    • +
    • integrated the SGML DocBook support in xmllint
    • +
    • changed the nanoftp anonymous login passwd
    • +
    • some I/O cleanup and a couple of interfaces for Perl wrapper
    • +
    • general bug fixes
    • +
    • updated xmllint man page by John Fleck
    • +
    • some VMS and Windows updates
    • +

    2.4.6: Oct 10 2001

    • added an updated man pages by John Fleck
    • +
    • portability and configure fixes
    • +
    • an infinite loop on the HTML parser was removed (William)
    • +
    • Windows makefile patches from Igor
    • +
    • fixed half a dozen bugs reported for libxml or libxslt
    • +
    • updated xmlcatalog to be able to modify SGML super catalogs
    • +

    2.4.5: Sep 14 2001

    • Remove a few annoying bugs in 2.4.4
    • +
    • forces the HTML serializer to output decimal charrefs since some + version of Netscape can't handle hexadecimal ones
    • +

    1.8.16: Sep 14 2001

    • maintenance release of the old libxml1 branch, couple of bug and + portability fixes
    • +

    2.4.4: Sep 12 2001

    • added --convert to xmlcatalog, bug fixes and cleanups of XML + Catalog
    • +
    • a few bug fixes and some portability changes
    • +
    • some documentation cleanups
    • +

    2.4.3: Aug 23 2001

    • XML Catalog support see the doc
    • +
    • New NaN/Infinity floating point code
    • +
    • A few bug fixes
    • +

    2.4.2: Aug 15 2001

    • adds xmlLineNumbersDefault() to control line number generation
    • +
    • lot of bug fixes
    • +
    • the Microsoft MSC projects files should now be up to date
    • +
    • inheritance of namespaces from DTD defaulted attributes
    • +
    • fixes a serious potential security bug
    • +
    • added a --format option to xmllint
    • +

    2.4.1: July 24 2001

    • possibility to keep line numbers in the tree
    • +
    • some computation NaN fixes
    • +
    • extension of the XPath API
    • +
    • cleanup for alpha and ia64 targets
    • +
    • patch to allow saving through HTTP PUT or POST
    • +

    2.4.0: July 10 2001

    • Fixed a few bugs in XPath, validation, and tree handling.
    • +
    • Fixed XML Base implementation, added a couple of examples to the + regression tests
    • +
    • A bit of cleanup
    • +

    2.3.14: July 5 2001

    • fixed some entities problems and reduce memory requirement when + substituting them
    • +
    • lots of improvements in the XPath queries interpreter can be + substantially faster
    • +
    • Makefiles and configure cleanups
    • +
    • Fixes to XPath variable eval, and compare on empty node set
    • +
    • HTML tag closing bug fixed
    • +
    • Fixed an URI reference computation problem when validating
    • +

    2.3.13: June 28 2001

    • 2.3.12 configure.in was broken as well as the push mode XML parser
    • +
    • a few more fixes for compilation on Windows MSC by Yon Derek
    • +

    1.8.14: June 28 2001

    • Zbigniew Chyla gave a patch to use the old XML parser in push mode
    • +
    • Small Makefile fix
    • +

    2.3.12: June 26 2001

    • lots of cleanup
    • +
    • a couple of validation fix
    • +
    • fixed line number counting
    • +
    • fixed serious problems in the XInclude processing
    • +
    • added support for UTF8 BOM at beginning of entities
    • +
    • fixed a strange gcc optimizer bugs in xpath handling of float, gcc-3.0 + miscompile uri.c (William), Thomas Leitner provided a fix for the + optimizer on Tru64
    • +
    • incorporated Yon Derek and Igor Zlatkovic fixes and improvements for + compilation on Windows MSC
    • +
    • update of libxml-doc.el (Felix Natter)
    • +
    • fixed 2 bugs in URI normalization code
    • +

    2.3.11: June 17 2001

    • updates to trio, Makefiles and configure should fix some portability + problems (alpha)
    • +
    • fixed some HTML serialization problems (pre, script, and block/inline + handling), added encoding aware APIs, cleanup of this code
    • +
    • added xmlHasNsProp()
    • +
    • implemented a specific PI for encoding support in the DocBook SGML + parser
    • +
    • some XPath fixes (-Infinity, / as a function parameter and namespaces + node selection)
    • +
    • fixed a performance problem and an error in the validation code
    • +
    • fixed XInclude routine to implement the recursive behaviour
    • +
    • fixed xmlFreeNode problem when libxml is included statically twice
    • +
    • added --version to xmllint for bug reports
    • +

    2.3.10: June 1 2001

    • fixed the SGML catalog support
    • +
    • a number of reported bugs got fixed, in XPath, iconv detection, + XInclude processing
    • +
    • XPath string function should now handle unicode correctly
    • +

    2.3.9: May 19 2001

    Lots of bugfixes, and added a basic SGML catalog support:

    • HTML push bugfix #54891 and another patch from Jonas Borgström
    • +
    • some serious speed optimization again
    • +
    • some documentation cleanups
    • +
    • trying to get better linking on Solaris (-R)
    • +
    • XPath API cleanup from Thomas Broyer
    • +
    • Validation bug fixed #54631, added a patch from Gary Pennington, fixed + xmlValidGetValidElements()
    • +
    • Added an INSTALL file
    • +
    • Attribute removal added to API: #54433
    • +
    • added a basic support for SGML catalogs
    • +
    • fixed xmlKeepBlanksDefault(0) API
    • +
    • bugfix in xmlNodeGetLang()
    • +
    • fixed a small configure portability problem
    • +
    • fixed an inversion of SYSTEM and PUBLIC identifier in HTML document
    • +

    1.8.13: May 14 2001

    • bugfixes release of the old libxml1 branch used by Gnome
    • +

    2.3.8: May 3 2001

    • Integrated an SGML DocBook parser for the Gnome project
    • +
    • Fixed a few things in the HTML parser
    • +
    • Fixed some XPath bugs raised by XSLT use, tried to fix the floating + point portability issue
    • +
    • Speed improvement (8M/s for SAX, 3M/s for DOM, 1.5M/s for + DOM+validation using the XML REC as input and a 700MHz celeron).
    • +
    • incorporated more Windows cleanup
    • +
    • added xmlSaveFormatFile()
    • +
    • fixed problems in copying nodes with entities references (gdome)
    • +
    • removed some troubles surrounding the new validation module
    • +

    2.3.7: April 22 2001

    • lots of small bug fixes, corrected XPointer
    • +
    • Non deterministic content model validation support
    • +
    • added xmlDocCopyNode for gdome2
    • +
    • revamped the way the HTML parser handles end of tags
    • +
    • XPath: corrections of namespaces support and number formatting
    • +
    • Windows: Igor Zlatkovic patches for MSC compilation
    • +
    • HTML output fixes from P C Chow and William M. Brack
    • +
    • Improved validation speed sensible for DocBook
    • +
    • fixed a big bug with ID declared in external parsed entities
    • +
    • portability fixes, update of Trio from Bjorn Reese
    • +

    2.3.6: April 8 2001

    • Code cleanup using extreme gcc compiler warning options, found and + cleared half a dozen potential problem
    • +
    • the Eazel team found an XML parser bug
    • +
    • cleaned up the user of some of the string formatting function. used the + trio library code to provide the one needed when the platform is missing + them
    • +
    • xpath: removed a memory leak and fixed the predicate evaluation + problem, extended the testsuite and cleaned up the result. XPointer seems + broken ...
    • +

    2.3.5: Mar 23 2001

    • Biggest change is separate parsing and evaluation of XPath expressions, + there is some new APIs for this too
    • +
    • included a number of bug fixes(XML push parser, 51876, notations, + 52299)
    • +
    • Fixed some portability issues
    • +

    2.3.4: Mar 10 2001

    • Fixed bugs #51860 and #51861
    • +
    • Added a global variable xmlDefaultBufferSize to allow default buffer + size to be application tunable.
    • +
    • Some cleanup in the validation code, still a bug left and this part + should probably be rewritten to support ambiguous content model :-\
    • +
    • Fix a couple of serious bugs introduced or raised by changes in 2.3.3 + parser
    • +
    • Fixed another bug in xmlNodeGetContent()
    • +
    • Bjorn fixed XPath node collection and Number formatting
    • +
    • Fixed a loop reported in the HTML parsing
    • +
    • blank space are reported even if the Dtd content model proves that they + are formatting spaces, this is for XML conformance
    • +

    2.3.3: Mar 1 2001

    • small change in XPath for XSLT
    • +
    • documentation cleanups
    • +
    • fix in validation by Gary Pennington
    • +
    • serious parsing performances improvements
    • +

    2.3.2: Feb 24 2001

    • chasing XPath bugs, found a bunch, completed some TODO
    • +
    • fixed a Dtd parsing bug
    • +
    • fixed a bug in xmlNodeGetContent
    • +
    • ID/IDREF support partly rewritten by Gary Pennington
    • +

    2.3.1: Feb 15 2001

    • some XPath and HTML bug fixes for XSLT
    • +
    • small extension of the hash table interfaces for DOM gdome2 + implementation
    • +
    • A few bug fixes
    • +

    2.3.0: Feb 8 2001 (2.2.12 was on 25 Jan but I didn't kept track)

    • Lots of XPath bug fixes
    • +
    • Add a mode with Dtd lookup but without validation error reporting for + XSLT
    • +
    • Add support for text node without escaping (XSLT)
    • +
    • bug fixes for xmlCheckFilename
    • +
    • validation code bug fixes from Gary Pennington
    • +
    • Patch from Paul D. Smith correcting URI path normalization
    • +
    • Patch to allow simultaneous install of libxml-devel and + libxml2-devel
    • +
    • the example Makefile is now fixed
    • +
    • added HTML to the RPM packages
    • +
    • tree copying bugfixes
    • +
    • updates to Windows makefiles
    • +
    • optimization patch from Bjorn Reese
    • +

    2.2.11: Jan 4 2001

    • bunch of bug fixes (memory I/O, xpath, ftp/http, ...)
    • +
    • added htmlHandleOmittedElem()
    • +
    • Applied Bjorn Reese's IPV6 first patch
    • +
    • Applied Paul D. Smith patches for validation of XInclude results
    • +
    • added XPointer xmlns() new scheme support
    • +

    2.2.10: Nov 25 2000

    • Fix the Windows problems of 2.2.8
    • +
    • integrate OpenVMS patches
    • +
    • better handling of some nasty HTML input
    • +
    • Improved the XPointer implementation
    • +
    • integrate a number of provided patches
    • +

    2.2.9: Nov 25 2000

    • erroneous release :-(
    • +

    2.2.8: Nov 13 2000

    • First version of XInclude + support
    • +
    • Patch in conditional section handling
    • +
    • updated MS compiler project
    • +
    • fixed some XPath problems
    • +
    • added an URI escaping function
    • +
    • some other bug fixes
    • +

    2.2.7: Oct 31 2000

    • added message redirection
    • +
    • XPath improvements (thanks TOM !)
    • +
    • xmlIOParseDTD() added
    • +
    • various small fixes in the HTML, URI, HTTP and XPointer support
    • +
    • some cleanup of the Makefile, autoconf and the distribution content
    • +

    2.2.6: Oct 25 2000:

    • Added an hash table module, migrated a number of internal structure to + those
    • +
    • Fixed a posteriori validation problems
    • +
    • HTTP module cleanups
    • +
    • HTML parser improvements (tag errors, script/style handling, attribute + normalization)
    • +
    • coalescing of adjacent text nodes
    • +
    • couple of XPath bug fixes, exported the internal API
    • +

    2.2.5: Oct 15 2000:

    • XPointer implementation and testsuite
    • +
    • Lot of XPath fixes, added variable and functions registration, more + tests
    • +
    • Portability fixes, lots of enhancements toward an easy Windows build + and release
    • +
    • Late validation fixes
    • +
    • Integrated a lot of contributed patches
    • +
    • added memory management docs
    • +
    • a performance problem when using large buffer seems fixed
    • +

    2.2.4: Oct 1 2000:

    • main XPath problem fixed
    • +
    • Integrated portability patches for Windows
    • +
    • Serious bug fixes on the URI and HTML code
    • +

    2.2.3: Sep 17 2000

    • bug fixes
    • +
    • cleanup of entity handling code
    • +
    • overall review of all loops in the parsers, all sprintf usage has been + checked too
    • +
    • Far better handling of larges Dtd. Validating against DocBook XML Dtd + works smoothly now.
    • +

    1.8.10: Sep 6 2000

    • bug fix release for some Gnome projects
    • +

    2.2.2: August 12 2000

    • mostly bug fixes
    • +
    • started adding routines to access xml parser context options
    • +

    2.2.1: July 21 2000

    • a purely bug fixes release
    • +
    • fixed an encoding support problem when parsing from a memory block
    • +
    • fixed a DOCTYPE parsing problem
    • +
    • removed a bug in the function allowing to override the memory + allocation routines
    • +

    2.2.0: July 14 2000

    • applied a lot of portability fixes
    • +
    • better encoding support/cleanup and saving (content is now always + encoded in UTF-8)
    • +
    • the HTML parser now correctly handles encodings
    • +
    • added xmlHasProp()
    • +
    • fixed a serious problem with &#38;
    • +
    • propagated the fix to FTP client
    • +
    • cleanup, bugfixes, etc ...
    • +
    • Added a page about libxml Internationalization + support
    • +

    1.8.9: July 9 2000

    • fixed the spec the RPMs should be better
    • +
    • fixed a serious bug in the FTP implementation, released 1.8.9 to solve + rpmfind users problem
    • +

    2.1.1: July 1 2000

    • fixes a couple of bugs in the 2.1.0 packaging
    • +
    • improvements on the HTML parser
    • +

    2.1.0 and 1.8.8: June 29 2000

    • 1.8.8 is mostly a commodity package for upgrading to libxml2 according + to new instructions. It fixes a nasty problem + about &#38; charref parsing
    • +
    • 2.1.0 also ease the upgrade from libxml v1 to the recent version. it + also contains numerous fixes and enhancements: +
      • added xmlStopParser() to stop parsing
      • +
      • improved a lot parsing speed when there is large CDATA blocs
      • +
      • includes XPath patches provided by Picdar Technology
      • +
      • tried to fix as much as possible DTD validation and namespace + related problems
      • +
      • output to a given encoding has been added/tested
      • +
      • lot of various fixes
      • +
    • +

    2.0.0: Apr 12 2000

    • First public release of libxml2. If you are using libxml, it's a good + idea to check the 1.x to 2.x upgrade instructions. NOTE: while initially + scheduled for Apr 3 the release occurred only on Apr 12 due to massive + workload.
    • +
    • The include are now located under $prefix/include/libxml (instead of + $prefix/include/gnome-xml), they also are referenced by +
      #include <libxml/xxx.h>
      +

      instead of

      +
      #include "xxx.h"
      +
    • +
    • a new URI module for parsing URIs and following strictly RFC 2396
    • +
    • the memory allocation routines used by libxml can now be overloaded + dynamically by using xmlMemSetup()
    • +
    • The previously CVS only tool tester has been renamed + xmllint and is now installed as part of the libxml2 + package
    • +
    • The I/O interface has been revamped. There is now ways to plug in + specific I/O modules, either at the URI scheme detection level using + xmlRegisterInputCallbacks() or by passing I/O functions when creating a + parser context using xmlCreateIOParserCtxt()
    • +
    • there is a C preprocessor macro LIBXML_VERSION providing the version + number of the libxml module in use
    • +
    • a number of optional features of libxml can now be excluded at + configure time (FTP/HTTP/HTML/XPath/Debug)
    • +

    2.0.0beta: Mar 14 2000

    • This is a first Beta release of libxml version 2
    • +
    • It's available only fromxmlsoft.org + FTP, it's packaged as libxml2-2.0.0beta and available as tar and + RPMs
    • +
    • This version is now the head in the Gnome CVS base, the old one is + available under the tag LIB_XML_1_X
    • +
    • This includes a very large set of changes. From a programmatic point + of view applications should not have to be modified too much, check the + upgrade page
    • +
    • Some interfaces may changes (especially a bit about encoding).
    • +
    • the updates includes: +
      • fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly + handled now
      • +
      • Better handling of entities, especially well-formedness checking + and proper PEref extensions in external subsets
      • +
      • DTD conditional sections
      • +
      • Validation now correctly handle entities content
      • +
      • change + structures to accommodate DOM
      • +
    • +
    • Serious progress were made toward compliance, here are the result of the test against the + OASIS testsuite (except the Japanese tests since I don't support that + encoding yet). This URL is rebuilt every couple of hours using the CVS + head version.
    • +

    1.8.7: Mar 6 2000

    • This is a bug fix release:
    • +
    • It is possible to disable the ignorable blanks heuristic used by + libxml-1.x, a new function xmlKeepBlanksDefault(0) will allow this. Note + that for adherence to XML spec, this behaviour will be disabled by + default in 2.x . The same function will allow to keep compatibility for + old code.
    • +
    • Blanks in <a> </a> constructs are not ignored anymore, + avoiding heuristic is really the Right Way :-\
    • +
    • The unchecked use of snprintf which was breaking libxml-1.8.6 + compilation on some platforms has been fixed
    • +
    • nanoftp.c nanohttp.c: Fixed '#' and '?' stripping when processing + URIs
    • +

    1.8.6: Jan 31 2000

    • added a nanoFTP transport module, debugged until the new version of rpmfind can use + it without troubles
    • +

    1.8.5: Jan 21 2000

    • adding APIs to parse a well balanced chunk of XML (production [43] content of the + XML spec)
    • +
    • fixed a hideous bug in xmlGetProp pointed by Rune.Djurhuus@fast.no
    • +
    • Jody Goldberg <jgoldberg@home.com> provided another patch trying + to solve the zlib checks problems
    • +
    • The current state in gnome CVS base is expected to ship as 1.8.5 with + gnumeric soon
    • +

    1.8.4: Jan 13 2000

    • bug fixes, reintroduced xmlNewGlobalNs(), fixed xmlNewNs()
    • +
    • all exit() call should have been removed from libxml
    • +
    • fixed a problem with INCLUDE_WINSOCK on WIN32 platform
    • +
    • added newDocFragment()
    • +

    1.8.3: Jan 5 2000

    • a Push interface for the XML and HTML parsers
    • +
    • a shell-like interface to the document tree (try tester --shell :-)
    • +
    • lots of bug fixes and improvement added over XMas holidays
    • +
    • fixed the DTD parsing code to work with the xhtml DTD
    • +
    • added xmlRemoveProp(), xmlRemoveID() and xmlRemoveRef()
    • +
    • Fixed bugs in xmlNewNs()
    • +
    • External entity loading code has been revamped, now it uses + xmlLoadExternalEntity(), some fix on entities processing were added
    • +
    • cleaned up WIN32 includes of socket stuff
    • +

    1.8.2: Dec 21 1999

    • I got another problem with includes and C++, I hope this issue is fixed + for good this time
    • +
    • Added a few tree modification functions: xmlReplaceNode, + xmlAddPrevSibling, xmlAddNextSibling, xmlNodeSetName and + xmlDocSetRootElement
    • +
    • Tried to improve the HTML output with help from Chris Lahey
    • +

    1.8.1: Dec 18 1999

    • various patches to avoid troubles when using libxml with C++ compilers + the "namespace" keyword and C escaping in include files
    • +
    • a problem in one of the core macros IS_CHAR was corrected
    • +
    • fixed a bug introduced in 1.8.0 breaking default namespace processing, + and more specifically the Dia application
    • +
    • fixed a posteriori validation (validation after parsing, or by using a + Dtd not specified in the original document)
    • +
    • fixed a bug in
    • +

    1.8.0: Dec 12 1999

    • cleanup, especially memory wise
    • +
    • the parser should be more reliable, especially the HTML one, it should + not crash, whatever the input !
    • +
    • Integrated various patches, especially a speedup improvement for large + dataset from Carl Nygard, + configure with --with-buffers to enable them.
    • +
    • attribute normalization, oops should have been added long ago !
    • +
    • attributes defaulted from DTDs should be available, xmlSetProp() now + does entities escaping by default.
    • +

    1.7.4: Oct 25 1999

    • Lots of HTML improvement
    • +
    • Fixed some errors when saving both XML and HTML
    • +
    • More examples, the regression tests should now look clean
    • +
    • Fixed a bug with contiguous charref
    • +

    1.7.3: Sep 29 1999

    • portability problems fixed
    • +
    • snprintf was used unconditionally, leading to link problems on system + were it's not available, fixed
    • +

    1.7.1: Sep 24 1999

    • The basic type for strings manipulated by libxml has been renamed in + 1.7.1 from CHAR to xmlChar. The reason + is that CHAR was conflicting with a predefined type on Windows. However + on non WIN32 environment, compatibility is provided by the way of a + #define .
    • +
    • Changed another error : the use of a structure field called errno, and + leading to troubles on platforms where it's a macro
    • +

    1.7.0: Sep 23 1999

    • Added the ability to fetch remote DTD or parsed entities, see the nanohttp module.
    • +
    • Added an errno to report errors by another mean than a simple printf + like callback
    • +
    • Finished ID/IDREF support and checking when validation
    • +
    • Serious memory leaks fixed (there is now a memory wrapper module)
    • +
    • Improvement of XPath + implementation
    • +
    • Added an HTML parser front-end
    • +

    Daniel Veillard

    diff --git a/doc/news.xsl b/doc/news.xsl new file mode 100644 index 0000000..2312e0d --- /dev/null +++ b/doc/news.xsl @@ -0,0 +1,44 @@ + + + + + + + NEWS file for libxml2 + + Note that this is automatically generated from the news webpage at: + http://xmlsoft.org/news.html + + + + + + + + + : + + + + + + + + + - + + + + + + + at + + + + + + + diff --git a/doc/parsers.html b/doc/parsers.html new file mode 100644 index 0000000..964be55 --- /dev/null +++ b/doc/parsers.html @@ -0,0 +1,65 @@ + + + + + + Libxml2 Parsers Interfaces tutorial + + + +

    Libxml2 Parsers Interfaces tutorial

    + +

    + +

    This document provides an overview of the the different parsers interfaces +provided by libxml2. There is 2 parsers available to deal with both XML and +HTML, which can be used with 3 groups of APIs offering callbacks, streaming +or tree results, and then there is different ways to provide the data to the +parser. This document describes the set of interfaces available in version +2.6.5:

    + + +

    Description of the parsers

    + +

    The parser are the core piece of the library which consumes the data, +analyze and check the content and structure and returns the the informations +and errors in a structured fashion to the application. The C structure xmlParserCtxt driving this +process is public but should rather be used through the available APIs. It is +the same for the HTML and XML parsers though most of the data are used only +for XML parsing.

    + +

    The callback based SAX(2) interface

    + +

    The SAX callback interface is the lowest level interface available from +the parsers, all the other interfaces are actually built on top of this very +low level layer. It is really fast but somewhat complex due to the callback +programming model and lack of advanced features like validation. The +principle is that as the parser is making progresses through the document +data it will indicate the application of the informations found using +callback registered when building the parser.

    + +

    The xmlReader interface

    + +

    The tree interface

    + +

    Parser in pull mode

    + +

    Parser in push mode

    + +

    Daniel Veillard

    + +

    $Id$

    + +

    + + diff --git a/doc/python.html b/doc/python.html new file mode 100644 index 0000000..44e3d09 --- /dev/null +++ b/doc/python.html @@ -0,0 +1,241 @@ + + +Python and bindings
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    Python and bindings

    Developer Menu
    API Indexes
    Related links

    There are a number of language bindings and wrappers available for +libxml2, the list below is not exhaustive. Please contact the xml-bindings@gnome.org +(archives) in +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 guaranteed +to be maintained as part of the library in the future, though the Python +interface have not yet reached the completeness of the C API.

    Stéphane Bidoul +maintains a Windows port +of the Python bindings.

    Note to people interested in building bindings, the API is formalized as +an XML API description file which allows to +automate a large part of the Python bindings, this includes function +descriptions, enums, structures, typedefs, etc... The Python script used to +build the bindings is python/generator.py in the source distribution.

    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.
    • +

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

    tst.py:

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

    import libxml2, sys
    +
    +doc = libxml2.parseFile("tst.xml")
    +if doc.name != "tst.xml":
    +    print "doc.name failed"
    +    sys.exit(1)
    +root = doc.children
    +if root.name != "doc":
    +    print "root.name failed"
    +    sys.exit(1)
    +child = root.children
    +if child.name != "foo":
    +    print "child.name failed"
    +    sys.exit(1)
    +doc.freeDoc()

    The Python module is called libxml2; parseFile is the equivalent of +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 accessors:

    • 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 explicitly deallocate documents with freeDoc() . +Reference counting for libxml2 trees would need quite a lot of work to +function properly, and rather than risk memory leaks if not implemented +correctly it sounds safer to have an explicit function to free a tree. The +wrapper python objects like doc, root or child are them automatically garbage +collected.

    validate.py:

    This test check the validation interfaces and redirection of error +messages:

    import libxml2
    +
    +#deactivate error messages from the validation
    +def noerr(ctx, str):
    +    pass
    +
    +libxml2.registerErrorHandler(noerr, None)
    +
    +ctxt = libxml2.createFileParserCtxt("invalid.xml")
    +ctxt.validate(1)
    +ctxt.parseDocument()
    +doc = ctxt.doc()
    +valid = ctxt.isValid()
    +doc.freeDoc()
    +if valid != 0:
    +    print "validity check failed"

    The first thing to notice is the call to registerErrorHandler(), it +defines a new error handler global to the library. It is used to avoid seeing +the error messages when trying to validate the invalid document.

    The main interest of that test is the creation of a parser context with +createFileParserCtxt() and how the behaviour can be changed before calling +parseDocument() . Similarly the informations resulting from the parsing phase +are also available using context methods.

    Contexts like nodes are defined as class and the libxml2 wrappers maps the +C function interfaces in terms of objects method as much as possible. The +best to get a complete view of what methods are supported is to look at the +libxml2.py module containing all the wrappers.

    push.py:

    This test show how to activate the push parser interface:

    import libxml2
    +
    +ctxt = libxml2.createPushParser(None, "<foo", 4, "test.xml")
    +ctxt.parseChunk("/>", 2, 1)
    +doc = ctxt.doc()
    +
    +doc.freeDoc()

    The context is created with a special call based on the +xmlCreatePushParser() from the C library. The first argument is an optional +SAX callback object, then the initial set of data, the length and the name of +the resource in case URI-References need to be computed by the parser.

    Then the data are pushed using the parseChunk() method, the last call +setting the third argument terminate to 1.

    pushSAX.py:

    this test show the use of the event based parsing interfaces. In this case +the parser does not build a document, but provides callback information as +the parser makes progresses analyzing the data being provided:

    import libxml2
    +log = ""
    +
    +class callback:
    +    def startDocument(self):
    +        global log
    +        log = log + "startDocument:"
    +
    +    def endDocument(self):
    +        global log
    +        log = log + "endDocument:"
    +
    +    def startElement(self, tag, attrs):
    +        global log
    +        log = log + "startElement %s %s:" % (tag, attrs)
    +
    +    def endElement(self, tag):
    +        global log
    +        log = log + "endElement %s:" % (tag)
    +
    +    def characters(self, data):
    +        global log
    +        log = log + "characters: %s:" % (data)
    +
    +    def warning(self, msg):
    +        global log
    +        log = log + "warning: %s:" % (msg)
    +
    +    def error(self, msg):
    +        global log
    +        log = log + "error: %s:" % (msg)
    +
    +    def fatalError(self, msg):
    +        global log
    +        log = log + "fatalError: %s:" % (msg)
    +
    +handler = callback()
    +
    +ctxt = libxml2.createPushParser(handler, "<foo", 4, "test.xml")
    +chunk = " url='tst'>b"
    +ctxt.parseChunk(chunk, len(chunk), 0)
    +chunk = "ar</foo>"
    +ctxt.parseChunk(chunk, len(chunk), 1)
    +
    +reference = "startDocument:startElement foo {'url': 'tst'}:" + \ 
    +            "characters: bar:endElement foo:endDocument:"
    +if log != reference:
    +    print "Error got: %s" % log
    +    print "Expected: %s" % reference

    The key object in that test is the handler, it provides a number of entry +points which can be called by the parser as it makes progresses to indicate +the information set obtained. The full set of callback is larger than what +the callback class in that specific example implements (see the SAX +definition for a complete list). The wrapper will only call those supplied by +the object when activated. The startElement receives the names of the element +and a dictionary containing the attributes carried by this element.

    Also note that the reference string generated from the callback shows a +single character call even though the string "bar" is passed to the parser +from 2 different call to parseChunk()

    xpath.py:

    This is a basic test of XPath wrappers support

    import libxml2
    +
    +doc = libxml2.parseFile("tst.xml")
    +ctxt = doc.xpathNewContext()
    +res = ctxt.xpathEval("//*")
    +if len(res) != 2:
    +    print "xpath query: wrong node set size"
    +    sys.exit(1)
    +if res[0].name != "doc" or res[1].name != "foo":
    +    print "xpath query: wrong node set value"
    +    sys.exit(1)
    +doc.freeDoc()
    +ctxt.xpathFreeContext()

    This test parses a file, then create an XPath context to evaluate XPath +expression on it. The xpathEval() method execute an XPath query and returns +the result mapped in a Python way. String and numbers are natively converted, +and node sets are returned as a tuple of libxml2 Python nodes wrappers. Like +the document, the XPath context need to be freed explicitly, also not that +the result of the XPath query may point back to the document tree and hence +the document must be freed after the result of the query is used.

    xpathext.py:

    This test shows how to extend the XPath engine with functions written in +python:

    import libxml2
    +
    +def foo(ctx, x):
    +    return x + 1
    +
    +doc = libxml2.parseFile("tst.xml")
    +ctxt = doc.xpathNewContext()
    +libxml2.registerXPathFunction(ctxt._o, "foo", None, foo)
    +res = ctxt.xpathEval("foo(1)")
    +if res != 2:
    +    print "xpath extension failure"
    +doc.freeDoc()
    +ctxt.xpathFreeContext()

    Note how the extension function is registered with the context (but that +part is not yet finalized, this may change slightly in the future).

    tstxpath.py:

    This test is similar to the previous one but shows how the extension +function can access the XPath evaluation context:

    def foo(ctx, x):
    +    global called
    +
    +    #
    +    # test that access to the XPath evaluation contexts
    +    #
    +    pctxt = libxml2.xpathParserContext(_obj=ctx)
    +    ctxt = pctxt.context()
    +    called = ctxt.function()
    +    return x + 1

    All the interfaces around the XPath parser(or rather evaluation) context +are not finalized, but it should be sufficient to do contextual work at the +evaluation point.

    Memory debugging:

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

    #memory debug specific
    +libxml2.debugMemory(1)

    and ends with the following epilogue:

    #memory debug specific
    +libxml2.cleanupParser()
    +if libxml2.debugMemory(1) == 0:
    +    print "OK"
    +else:
    +    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
    +    libxml2.dumpMemory()

    Those activate the memory debugging interface of libxml2 where all +allocated block in the library are tracked. The prologue then cleans up the +library state and checks that all allocated memory has been freed. If not it +calls dumpMemory() which saves that list in a .memdump file.

    Daniel Veillard

    diff --git a/doc/redhat.gif b/doc/redhat.gif new file mode 100644 index 0000000..eff3d73 Binary files /dev/null and b/doc/redhat.gif differ diff --git a/doc/search.php b/doc/search.php new file mode 100644 index 0000000..82ae003 --- /dev/null +++ b/doc/search.php @@ -0,0 +1,422 @@ + + + + + + +Search the documentation on XMLSoft.org + + + + + +
    +Gnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo
    +
    +

    The XML C library for Gnome

    +

    Search engine

    +
    +
    + + +
    + + + +
    Main Menu
    + + + +
    API Indexes
    + + + +
    Related links
    +
    +Search the documentation on XMLSoft.org"; + } + if ($scope == NULL) + $scope = "any"; + $scope = ltrim ($scope); + if ($scope == "") + $scope = "any"; + +?> +

    The search service indexes the libxml2 and libxslt APIs and documentation as well as the xml@gnome.org and xslt@gnome.org mailing-list archives. To use it simply provide a set of keywords: +

    +

    + + + +
    + $rb) ? -1 : 1; + } + if (($query) && (strlen($query) <= 50)) { + $link = mysql_connect ("localhost", "nobody"); + if (!$link) { + echo "

    Could not connect to the database: ", mysql_error(); + } else { + mysql_select_db("xmlsoft", $link); + $list = explode (" ", $query); + $results = array(); + $number = 0; + for ($number = 0;$number < count($list);$number++) { + + $word = $list[$number]; + if (($scope == 'any') || ($scope == 'XML') || + ($scope == 'API') || ($scope == 'XMLAPI')) { + list($result, $j) = queryWord($word); + if ($j > 0) { + for ($i = 0; $i < $j; $i++) { + $relevance = mysql_result($result, $i, 0); + $name = mysql_result($result, $i, 1); + $type = mysql_result($result, $i, 2); + $module = mysql_result($result, $i, 3); + $desc = mysql_result($result, $i, 4); + if (array_key_exists($name, $results)) { + list($r,$t,$m,$d,$w,$u) = $results[$name]; + $results[$name] = array(($r + $relevance) * 2, + $t,$m,$d,$w,$u); + } else { + $id = $name; + $m = strtolower($module); + $url = "html/libxml-$module.html#$id"; + $results[$name] = array($relevance,$type, + $module, $desc, $name, $url); + } + } + mysql_free_result($result); + } + } + if (($scope == 'any') || ($scope == 'XSLT') || + ($scope == 'API') || ($scope == 'XSLTAPI')) { + list($result, $j) = XSLTqueryWord($word); + if ($j > 0) { + for ($i = 0; $i < $j; $i++) { + $relevance = mysql_result($result, $i, 0); + $name = mysql_result($result, $i, 1); + $type = mysql_result($result, $i, 2); + $module = mysql_result($result, $i, 3); + $desc = mysql_result($result, $i, 4); + if (array_key_exists($name, $results)) { + list($r,$t,$m,$d,$w,$u) = $results[$name]; + $results[$name] = array(($r + $relevance) * 2, + $t,$m,$d,$w,$u); + } else { + $id = $name; + $m = strtolower($module); + $url = "XSLT/html/libxslt-$module.html#$id"; + $results[$name] = array($relevance,$type, + $module, $desc, $name, $url); + } + } + mysql_free_result($result); + } + } + if (($scope == 'any') || ($scope == 'XML') || + ($scope == 'DOCS') || ($scope == 'XMLDOC')) { + list($result, $k) = queryHTMLWord($word); + if ($k > 0) { + for ($i = 0; $i < $k; $i++) { + $relevance = mysql_result($result, $i, 0); + $name = mysql_result($result, $i, 1); + $id = mysql_result($result, $i, 2); + $module = mysql_result($result, $i, 3); + $desc = mysql_result($result, $i, 4); + $url = $module; + if ($id != "") { + $url = $url + "#$id"; + } + $results["$name _html_ $number _ $i"] = + array($relevance, "XML docs", + $module, $desc, $name, $url); + } + mysql_free_result($result); + } + } + if (($scope == 'any') || ($scope == 'XSLT') || + ($scope == 'DOCS') || ($scope == 'XSLTDOC')) { + list($result, $k) = XSLTqueryHTMLWord($word); + if ($k > 0) { + for ($i = 0; $i < $k; $i++) { + $relevance = mysql_result($result, $i, 0); + $name = mysql_result($result, $i, 1); + $id = mysql_result($result, $i, 2); + $module = mysql_result($result, $i, 3); + $desc = mysql_result($result, $i, 4); + $url = "XSLT/$module"; + if ($id != "") { + $url = $url + "#$id"; + } + $results["$name xslthtml $number _ $i "] = + array($relevance, "XSLT docs", + $module, $desc, $name, $url); + } + mysql_free_result($result); + } + } + if (($scope == 'any') || ($scope == 'XML') || + ($scope == 'LISTS') || ($scope == 'XMLLIST')) { + list($result, $j) = queryArchiveWord($word); + if ($j > 0) { + for ($i = 0; $i < $j; $i++) { + $relevance = mysql_result($result, $i, 0); + $name = mysql_result($result, $i, 1); + $type = mysql_result($result, $i, 2); + $url = mysql_result($result, $i, 3); + $desc = mysql_result($result, $i, 4); + if (array_key_exists($url, $results)) { + list($r,$t,$m,$d,$w,$u) = $results[$url]; + $results[$name] = array(($r + $relevance) * 2, + $t,$m,$d,$w,$u); + } else { + $id = $name; + $m = strtolower($module); + $u = str_replace( + "http://mail.gnome.org/archives/xml/", "", $url); + $results[$url] = array($relevance,$type, + $u, $desc, $name, $url); + } + } + mysql_free_result($result); + } + } + if (($scope == 'any') || ($scope == 'XSLT') || + ($scope == 'LISTS') || ($scope == 'XSLTLIST')) { + list($result, $j) = XSLTqueryArchiveWord($word); + if ($j > 0) { + for ($i = 0; $i < $j; $i++) { + $relevance = mysql_result($result, $i, 0); + $name = mysql_result($result, $i, 1); + $type = mysql_result($result, $i, 2); + $url = mysql_result($result, $i, 3); + $desc = mysql_result($result, $i, 4); + if (array_key_exists($url, $results)) { + list($r,$t,$m,$d,$w,$u) = $results[$url]; + $results[$name] = array(($r + $relevance) * 2, + $t,$m,$d,$w,$u); + } else { + $id = $name; + $m = strtolower($module); + $u = str_replace( + "http://mail.gnome.org/archives/xslt/", "", $url); + $results[$url] = array($relevance,$type, + $u, $desc, $name, $url); + } + } + mysql_free_result($result); + } + } + } + mysql_close($link); + $nb = count($results); + echo "

    Found $nb results for query $query

    \n"; + usort($results, "resSort"); + + if ($nb > 0) { + printf("\n"); + printf("\n"); + $i = 0; + while (list ($name, $val) = each ($results)) { + list($r,$t,$m,$d,$s,$u) = $val; + $m = str_replace("<", "<", $m); + $s = str_replace("<", "<", $s); + $d = str_replace("<", "<", $d); + echo ""; + $i = $i + 1; + if ($i > 75) + break; + } + printf("
    QualitySymbolTypemoduleDescription
    $r$s$t$m$d
    \n"); + } + } + } +?> + +
    + + + diff --git a/doc/site.xsl b/doc/site.xsl new file mode 100644 index 0000000..504ddab --- /dev/null +++ b/doc/site.xsl @@ -0,0 +1,730 @@ + + + + + + Main Menu + + + + + + intro.html + + + docs.html + + + bugs.html + + + help.html + + + help.html + + + downloads.html + + + news.html + + + contribs.html + + + xsltproc2.html + + + + + + XSLT.html + + + XMLinfo.html + + + xmldtd.html + + + + + + + + + + + + + + + + + + + + + namespaces.html + + + + + + catalog.html + + + + + + encoding.html + + + + + + + + + + + + FAQ.html + + + + + + unknown.html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xsltproc2.html + + + API.html + + + XSLT.html + + + + + + + + + tree.html + + + library.html + + + interface.html + + + example.html + + + entities.html + + + architecture.html + + + namespaces.html + + + DOM.html + + + + + + upgrade.html + + + + + + xmlio.html + + + xmlmem.html + + + threads.html + + + + + + python.html + + + unknown.html + + + + + + + + + + + intro.html + + + docs.html + + + bugs.html + + + help.html + + + help.html + + + downloads.html + + + news.html + + + contribs.html + + + xsltproc2.html + + + API.html + + + XSLT.html + + + XMLinfo.html + + + xmldtd.html + + + tree.html + + + library.html + + + interface.html + + + example.html + + + entities.html + + + architecture.html + + + namespaces.html + + + DOM.html + + + catalog.html + + + upgrade.html + + + encoding.html + + + xmlio.html + + + xmlmem.html + + + threads.html + + + FAQ.html + + + python.html + + + unknown.html + + + + + + + + + + +
    + + +
    + +
    + +
    + + +
    + +
    + + + + + + + + + + + +
    + + + + + + + +
    +
    + +
    +
    + +
    + + + + + + + +
    +
    + Related links +
    +
    + +
    +
    +
    + + + + + +
    + + + + + + + +
    +
    + Developer Menu +
    +
    + +
    + + + + + + + +
    +
    + API Indexes +
    +
    + +
    + + + + + + + +
    +
    + Related links +
    +
    + +
    +
    +
    + + + <xsl:apply-templates/> + + + + + + + + + + + + + + + + + + +
    + Action against software patents + + Gnome2 Logo + W3C Logo + Red Hat Logo +
    + Made with Libxml2 Logo +
    +
    + + + + +
    + + + + +
    + + + + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + +
    + +

    Daniel Veillard

    +
    +
    +
    +
    +
    + + +
    +
    + + + + + + + + + + + + + + + + + +
    + + + + + +
    + + + + + + +
    + + + + +
    + + + + +
    + + + + + + +

    Daniel Veillard

    +
    +
    +
    +
    +
    + +
    + + + + + + + + Generating the Web pages + + + + +
    diff --git a/doc/smallfootonly.gif b/doc/smallfootonly.gif new file mode 100644 index 0000000..ddbb9ee Binary files /dev/null and b/doc/smallfootonly.gif differ diff --git a/doc/structure.gif b/doc/structure.gif new file mode 100644 index 0000000..4b9a3e6 Binary files /dev/null and b/doc/structure.gif differ diff --git a/doc/threads.html b/doc/threads.html new file mode 100644 index 0000000..3eacf99 --- /dev/null +++ b/doc/threads.html @@ -0,0 +1,27 @@ + + +Thread safety
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    Thread safety

    Developer Menu
    API Indexes
    Related links

    Starting with 2.4.7, libxml2 makes provisions to ensure that concurrent +threads can safely work in parallel parsing different documents. There is +however a couple of things to do to ensure it:

    • configure the library accordingly using the --with-threads options
    • +
    • call xmlInitParser() in the "main" thread before using any of the + libxml2 API (except possibly selecting a different memory allocator)
    • +

    Note that the thread safety cannot be ensured for multiple threads sharing +the same document, the locking must be done at the application level, libxml +exports a basic mutex and reentrant mutexes API in <libxml/threads.h>. +The parts of the library checked for thread safety are:

    • concurrent loading
    • +
    • file access resolution
    • +
    • catalog access
    • +
    • catalog building
    • +
    • entities lookup/accesses
    • +
    • validation
    • +
    • global variables per-thread override
    • +
    • memory handling
    • +

    XPath is supposed to be thread safe now, but this wasn't tested +seriously.

    Daniel Veillard

    diff --git a/doc/tree.html b/doc/tree.html new file mode 100644 index 0000000..f432d6c --- /dev/null +++ b/doc/tree.html @@ -0,0 +1,53 @@ + + +The tree output
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    The tree output

    Developer Menu
    API Indexes
    Related links

    The parser returns a tree built during the document analysis. The value +returned is an xmlDocPtr (i.e., a pointer to an +xmlDoc structure). This structure contains information such +as the file name, the document type, and a children pointer +which is the root of the document (or more exactly the first child under the +root which is the document). The tree is made of xmlNodes, +chained in double-linked lists of siblings and with a children<->parent +relationship. An xmlNode can also carry properties (a chain of xmlAttr +structures). An attribute may have a value which is a list of TEXT or +ENTITY_REF nodes.

    Here is an example (erroneous with respect to the XML spec since there +should be only one ELEMENT under the root):

     structure.gif

    In the source package there is a small program (not installed by default) +called xmllint which parses XML files given as argument and +prints them back as parsed. This is useful for detecting errors both in XML +code and in the XML parser itself. It has an option --debug +which prints the actual in-memory structure of the document; here is the +result with the example given before:

    DOCUMENT
    +version=1.0
    +standalone=true
    +  ELEMENT EXAMPLE
    +    ATTRIBUTE prop1
    +      TEXT
    +      content=gnome is great
    +    ATTRIBUTE prop2
    +      ENTITY_REF
    +      TEXT
    +      content= linux too 
    +    ELEMENT head
    +      ELEMENT title
    +        TEXT
    +        content=Welcome to Gnome
    +    ELEMENT chapter
    +      ELEMENT title
    +        TEXT
    +        content=The Linux adventure
    +      ELEMENT p
    +        TEXT
    +        content=bla bla bla ...
    +      ELEMENT image
    +        ATTRIBUTE href
    +          TEXT
    +          content=linus.gif
    +      ELEMENT p
    +        TEXT
    +        content=...

    This should be useful for learning the internal representation model.

    Daniel Veillard

    diff --git a/doc/tutorial/apa.html b/doc/tutorial/apa.html new file mode 100644 index 0000000..5c4c1c1 --- /dev/null +++ b/doc/tutorial/apa.html @@ -0,0 +1,8 @@ +A. Compilation

    A. Compilation

    + Libxml includes a script, + xml2-config, that can be used to generate + flags for compilation and linking of programs written with the + library. For pre-processor and compiler flags, use xml2-config + --cflags. For library linking flags, use xml2-config + --libs. Other options are available using xml2-config + --help.

    diff --git a/doc/tutorial/apb.html b/doc/tutorial/apb.html new file mode 100644 index 0000000..ef14066 --- /dev/null +++ b/doc/tutorial/apb.html @@ -0,0 +1,14 @@ +B. Sample Document

    B. Sample Document

    +<?xml version="1.0"?>
    +<story>
    +  <storyinfo>
    +    <author>John Fleck</author>
    +    <datewritten>June 2, 2002</datewritten>
    +    <keyword>example keyword</keyword>
    +  </storyinfo>
    +  <body>
    +    <headline>This is the headline</headline>
    +    <para>This is the body text.</para>
    +  </body>
    +</story>
    +
    diff --git a/doc/tutorial/apc.html b/doc/tutorial/apc.html new file mode 100644 index 0000000..f8d9911 --- /dev/null +++ b/doc/tutorial/apc.html @@ -0,0 +1,82 @@ +C. Code for Keyword Example

    C. Code for Keyword Example

    +

    +#include <stdio.h>
    +#include <string.h>
    +#include <stdlib.h>
    +#include <libxml/xmlmemory.h>
    +#include <libxml/parser.h>
    +
    +void
    +parseStory (xmlDocPtr doc, xmlNodePtr cur) {
    +
    +	xmlChar *key;
    +	cur = cur->xmlChildrenNode;
    +	while (cur != NULL) {
    +	    if ((!xmlStrcmp(cur->name, (const xmlChar *)"keyword"))) {
    +		    key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
    +		    printf("keyword: %s\n", key);
    +		    xmlFree(key);
    + 	    }
    +	cur = cur->next;
    +	}
    +    return;
    +}
    +
    +static void
    +parseDoc(char *docname) {
    +
    +	xmlDocPtr doc;
    +	xmlNodePtr cur;
    +
    +	doc = xmlParseFile(docname);
    +	
    +	if (doc == NULL ) {
    +		fprintf(stderr,"Document not parsed successfully. \n");
    +		return;
    +	}
    +	
    +	cur = xmlDocGetRootElement(doc);
    +	
    +	if (cur == NULL) {
    +		fprintf(stderr,"empty document\n");
    +		xmlFreeDoc(doc);
    +		return;
    +	}
    +	
    +	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
    +		fprintf(stderr,"document of the wrong type, root node != story");
    +		xmlFreeDoc(doc);
    +		return;
    +	}
    +	
    +	cur = cur->xmlChildrenNode;
    +	while (cur != NULL) {
    +		if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){
    +			parseStory (doc, cur);
    +		}
    +		 
    +	cur = cur->next;
    +	}
    +	
    +	xmlFreeDoc(doc);
    +	return;
    +}
    +
    +int
    +main(int argc, char **argv) {
    +
    +	char *docname;
    +		
    +	if (argc <= 1) {
    +		printf("Usage: %s docname\n", argv[0]);
    +		return(0);
    +	}
    +
    +	docname = argv[1];
    +	parseDoc (docname);
    +
    +	return (1);
    +}
    +
    +

    +

    diff --git a/doc/tutorial/apd.html b/doc/tutorial/apd.html new file mode 100644 index 0000000..f61470f --- /dev/null +++ b/doc/tutorial/apd.html @@ -0,0 +1,68 @@ +D. Code for XPath Example

    D. Code for XPath Example

    +

    +#include <libxml/parser.h>
    +#include <libxml/xpath.h>
    +
    +xmlDocPtr
    +getdoc (char *docname) {
    +	xmlDocPtr doc;
    +	doc = xmlParseFile(docname);
    +	
    +	if (doc == NULL ) {
    +		fprintf(stderr,"Document not parsed successfully. \n");
    +		return NULL;
    +	}
    +
    +	return doc;
    +}
    +
    +xmlXPathObjectPtr
    +getnodeset (xmlDocPtr doc, xmlChar *xpath){
    +	
    +	xmlXPathContextPtr context;
    +	xmlXPathObjectPtr result;
    +
    +	context = xmlXPathNewContext(doc);
    +	result = xmlXPathEvalExpression(xpath, context);
    +	if(xmlXPathNodeSetIsEmpty(result->nodesetval)){
    +                printf("No result\n");
    +		return NULL;
    +	}
    +	xmlXPathFreeContext(context);
    +	return result;
    +}
    +int
    +main(int argc, char **argv) {
    +
    +	char *docname;
    +	xmlDocPtr doc;
    +	xmlChar *xpath = ("//keyword");
    +	xmlNodeSetPtr nodeset;
    +	xmlXPathObjectPtr result;
    +	int i;
    +	xmlChar *keyword;
    +		
    +	if (argc <= 1) {
    +		printf("Usage: %s docname\n", argv[0]);
    +		return(0);
    +	}
    +
    +	docname = argv[1];
    +	doc = getdoc(docname);
    +	result = getnodeset (doc, xpath);
    +	if (result) {
    +		nodeset = result->nodesetval;
    +		for (i=0; i < nodeset->nodeNr; i++) {
    +			keyword = xmlNodeListGetString(doc, nodeset->nodeTab[i]->xmlChildrenNode, 1);
    +		printf("keyword: %s\n", keyword);
    +		xmlFree(keyword);
    +		}
    +		xmlXPathFreeObject (result);
    +	}
    +	xmlFreeDoc(doc);
    +	xmlCleanupParser();
    +	return (1);
    +}
    +
    +

    +

    diff --git a/doc/tutorial/ape.html b/doc/tutorial/ape.html new file mode 100644 index 0000000..200319a --- /dev/null +++ b/doc/tutorial/ape.html @@ -0,0 +1,78 @@ +E. Code for Add Keyword Example

    E. Code for Add Keyword Example

    +

    +#include <stdio.h>
    +#include <string.h>
    +#include <stdlib.h>
    +#include <libxml/xmlmemory.h>
    +#include <libxml/parser.h>
    +
    +void
    +parseStory (xmlDocPtr doc, xmlNodePtr cur, char *keyword) {
    +
    +	xmlNewTextChild (cur, NULL, "keyword", keyword);
    +    return;
    +}
    +
    +xmlDocPtr
    +parseDoc(char *docname, char *keyword) {
    +
    +	xmlDocPtr doc;
    +	xmlNodePtr cur;
    +
    +	doc = xmlParseFile(docname);
    +	
    +	if (doc == NULL ) {
    +		fprintf(stderr,"Document not parsed successfully. \n");
    +		return (NULL);
    +	}
    +	
    +	cur = xmlDocGetRootElement(doc);
    +	
    +	if (cur == NULL) {
    +		fprintf(stderr,"empty document\n");
    +		xmlFreeDoc(doc);
    +		return (NULL);
    +	}
    +	
    +	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
    +		fprintf(stderr,"document of the wrong type, root node != story");
    +		xmlFreeDoc(doc);
    +		return (NULL);
    +	}
    +	
    +	cur = cur->xmlChildrenNode;
    +	while (cur != NULL) {
    +		if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){
    +			parseStory (doc, cur, keyword);
    +		}
    +		 
    +	cur = cur->next;
    +	}
    +	return(doc);
    +}
    +
    +int
    +main(int argc, char **argv) {
    +
    +	char *docname;
    +	char *keyword;
    +	xmlDocPtr doc;
    +
    +	if (argc <= 2) {
    +		printf("Usage: %s docname, keyword\n", argv[0]);
    +		return(0);
    +	}
    +
    +	docname = argv[1];
    +	keyword = argv[2];
    +	doc = parseDoc (docname, keyword);
    +	if (doc != NULL) {
    +		xmlSaveFormatFile (docname, doc, 0);
    +		xmlFreeDoc(doc);
    +	}
    +	
    +	return (1);
    +}
    +
    +

    +

    diff --git a/doc/tutorial/apf.html b/doc/tutorial/apf.html new file mode 100644 index 0000000..4848cdb --- /dev/null +++ b/doc/tutorial/apf.html @@ -0,0 +1,67 @@ +F. Code for Add Attribute Example

    F. Code for Add Attribute Example

    +

    +#include <stdio.h>
    +#include <string.h>
    +#include <stdlib.h>
    +#include <libxml/xmlmemory.h>
    +#include <libxml/parser.h>
    +
    +
    +xmlDocPtr
    +parseDoc(char *docname, char *uri) {
    +
    +	xmlDocPtr doc;
    +	xmlNodePtr cur;
    +	xmlNodePtr newnode;
    +	xmlAttrPtr newattr;
    +
    +	doc = xmlParseFile(docname);
    +	
    +	if (doc == NULL ) {
    +		fprintf(stderr,"Document not parsed successfully. \n");
    +		return (NULL);
    +	}
    +	
    +	cur = xmlDocGetRootElement(doc);
    +	
    +	if (cur == NULL) {
    +		fprintf(stderr,"empty document\n");
    +		xmlFreeDoc(doc);
    +		return (NULL);
    +	}
    +	
    +	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
    +		fprintf(stderr,"document of the wrong type, root node != story");
    +		xmlFreeDoc(doc);
    +		return (NULL);
    +	}
    +	
    +	newnode = xmlNewTextChild (cur, NULL, "reference", NULL);
    +	newattr = xmlNewProp (newnode, "uri", uri);
    +	return(doc);
    +}
    +
    +int
    +main(int argc, char **argv) {
    +
    +	char *docname;
    +	char *uri;
    +	xmlDocPtr doc;
    +
    +	if (argc <= 2) {
    +		printf("Usage: %s docname, uri\n", argv[0]);
    +		return(0);
    +	}
    +
    +	docname = argv[1];
    +	uri = argv[2];
    +	doc = parseDoc (docname, uri);
    +	if (doc != NULL) {
    +		xmlSaveFormatFile (docname, doc, 1);
    +		xmlFreeDoc(doc);
    +	}
    +	return (1);
    +}
    +
    +

    +

    diff --git a/doc/tutorial/apg.html b/doc/tutorial/apg.html new file mode 100644 index 0000000..fffa0ee --- /dev/null +++ b/doc/tutorial/apg.html @@ -0,0 +1,75 @@ +G. Code for Retrieving Attribute Value Example

    G. Code for Retrieving Attribute Value Example

    +

    +#include <stdio.h>
    +#include <string.h>
    +#include <stdlib.h>
    +#include <libxml/xmlmemory.h>
    +#include <libxml/parser.h>
    +
    +void
    +getReference (xmlDocPtr doc, xmlNodePtr cur) {
    +
    +	xmlChar *uri;
    +	cur = cur->xmlChildrenNode;
    +	while (cur != NULL) {
    +	    if ((!xmlStrcmp(cur->name, (const xmlChar *)"reference"))) {
    +		    uri = xmlGetProp(cur, "uri");
    +		    printf("uri: %s\n", uri);
    +		    xmlFree(uri);
    +	    }
    +	    cur = cur->next;
    +	}
    +	return;
    +}
    +
    +
    +void
    +parseDoc(char *docname) {
    +
    +	xmlDocPtr doc;
    +	xmlNodePtr cur;
    +
    +	doc = xmlParseFile(docname);
    +	
    +	if (doc == NULL ) {
    +		fprintf(stderr,"Document not parsed successfully. \n");
    +		return;
    +	}
    +	
    +	cur = xmlDocGetRootElement(doc);
    +	
    +	if (cur == NULL) {
    +		fprintf(stderr,"empty document\n");
    +		xmlFreeDoc(doc);
    +		return;
    +	}
    +	
    +	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
    +		fprintf(stderr,"document of the wrong type, root node != story");
    +		xmlFreeDoc(doc);
    +		return;
    +	}
    +	
    +	getReference (doc, cur);
    +	xmlFreeDoc(doc);
    +	return;
    +}
    +
    +int
    +main(int argc, char **argv) {
    +
    +	char *docname;
    +
    +	if (argc <= 1) {
    +		printf("Usage: %s docname\n", argv[0]);
    +		return(0);
    +	}
    +
    +	docname = argv[1];
    +	parseDoc (docname);
    +	
    +	return (1);
    +}
    +
    +

    +

    diff --git a/doc/tutorial/aph.html b/doc/tutorial/aph.html new file mode 100644 index 0000000..ef46605 --- /dev/null +++ b/doc/tutorial/aph.html @@ -0,0 +1,76 @@ +H. Code for Encoding Conversion Example

    H. Code for Encoding Conversion Example

    +

    +#include <string.h>
    +#include <libxml/parser.h>
    +
    +
    +unsigned char*
    +convert (unsigned char *in, char *encoding)
    +{
    +	unsigned char *out;
    +        int ret,size,out_size,temp;
    +        xmlCharEncodingHandlerPtr handler;
    +
    +        size = (int)strlen(in)+1; 
    +        out_size = size*2-1; 
    +        out = malloc((size_t)out_size); 
    +
    +        if (out) {
    +                handler = xmlFindCharEncodingHandler(encoding);
    +                
    +                if (!handler) {
    +                        free(out);
    +                        out = NULL;
    +                }
    +        }
    +        if (out) {
    +                temp=size-1;
    +                ret = handler->input(out, &out_size, in, &temp);
    +                if (ret || temp-size+1) {
    +                        if (ret) {
    +                                printf("conversion wasn't successful.\n");
    +                        } else {
    +                                printf("conversion wasn't successful. converted: %i octets.\n",temp);
    +                        }
    +                        free(out);
    +                        out = NULL;
    +                } else {
    +                        out = realloc(out,out_size+1); 
    +                        out[out_size]=0; /*null terminating out*/
    +                        
    +                }
    +        } else {
    +                printf("no mem\n");
    +        }
    +        return (out);
    +}	
    +
    +
    +int
    +main(int argc, char **argv) {
    +
    +	unsigned char *content, *out;
    +	xmlDocPtr doc;
    +	xmlNodePtr rootnode;
    +	char *encoding = "ISO-8859-1";
    +	
    +		
    +	if (argc <= 1) {
    +		printf("Usage: %s content\n", argv[0]);
    +		return(0);
    +	}
    +
    +	content = argv[1];
    +
    +	out = convert(content, encoding);
    +
    +	doc = xmlNewDoc ("1.0");
    +	rootnode = xmlNewDocNode(doc, NULL, (const xmlChar*)"root", out);
    +	xmlDocSetRootElement(doc, rootnode);
    +
    +	xmlSaveFormatFileEnc("-", doc, encoding, 1);
    +	return (1);
    +}
    +
    +

    +

    diff --git a/doc/tutorial/api.html b/doc/tutorial/api.html new file mode 100644 index 0000000..0f54ba9 --- /dev/null +++ b/doc/tutorial/api.html @@ -0,0 +1,4 @@ +I. Acknowledgements

    I. Acknowledgements

    A number of people have generously offered feedback, code and + suggested improvements to this tutorial. In no particular order: + Daniel Veillard, Marcus Labib Iskander, Christopher R. Harris, Igor Zlatkovic, Niraj Tolia, David Turover +

    diff --git a/doc/tutorial/ar01s02.html b/doc/tutorial/ar01s02.html new file mode 100644 index 0000000..4cab38d --- /dev/null +++ b/doc/tutorial/ar01s02.html @@ -0,0 +1,14 @@ +Data Types

    Data Types

    Libxml declares a number of data types we + will encounter repeatedly, hiding the messy stuff so you do not have to deal + with it unless you have some specific need.

    +

    +xmlChar

    A basic replacement for char, a byte in a UTF-8 encoded + string. If your data uses another encoding, it must be converted to + UTF-8 for use with libxml's + functions. More information on encoding is available on the libxml encoding support web page.

    + xmlDoc

    A structure containing the tree created by a parsed doc. xmlDocPtr + is a pointer to the structure.

    +xmlNodePtr + and xmlNode

    A structure containing a single node. xmlNodePtr + is a pointer to the structure, and is used in traversing the document tree.

    +

    diff --git a/doc/tutorial/ar01s03.html b/doc/tutorial/ar01s03.html new file mode 100644 index 0000000..c824213 --- /dev/null +++ b/doc/tutorial/ar01s03.html @@ -0,0 +1,47 @@ +Parsing the file

    Parsing the file

    +Parsing the file requires only the name of the file and a single + function call, plus error checking. Full code: Appendix C, Code for Keyword Example

    +

    +        1 xmlDocPtr doc;
    +	2 xmlNodePtr cur;
    +
    +	3 doc = xmlParseFile(docname);
    +	
    +	4 if (doc == NULL ) {
    +		fprintf(stderr,"Document not parsed successfully. \n");
    +		return;
    +	}
    +
    +	5 cur = xmlDocGetRootElement(doc);
    +	
    +	6 if (cur == NULL) {
    +		fprintf(stderr,"empty document\n");
    +		xmlFreeDoc(doc);
    +		return;
    +	}
    +	
    +	7 if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
    +		fprintf(stderr,"document of the wrong type, root node != story");
    +		xmlFreeDoc(doc);
    +		return;
    +	}
    +
    +    

    +

    1

    Declare the pointer that will point to your parsed document.

    2

    Declare a node pointer (you'll need this in order to + interact with individual nodes).

    4

    Check to see that the document was successfully parsed. If it + was not, libxml will at this point + register an error and stop. +

    [Note]Note

    +One common example of an error at this point is improper + handling of encoding. The XML standard requires + documents stored with an encoding other than UTF-8 or UTF-16 to + contain an explicit declaration of their encoding. If the + declaration is there, libxml will + automatically perform the necessary conversion to UTF-8 for + you. More information on XML's encoding + requirements is contained in the standard.

    +

    5

    Retrieve the document's root element.

    6

    Check to make sure the document actually contains something.

    7

    In our case, we need to make sure the document is the right + type. "story" is the root type of the documents used in this + tutorial.

    + +

    diff --git a/doc/tutorial/ar01s04.html b/doc/tutorial/ar01s04.html new file mode 100644 index 0000000..c14406a --- /dev/null +++ b/doc/tutorial/ar01s04.html @@ -0,0 +1,54 @@ +Retrieving Element Content

    Retrieving Element Content

    +Retrieving the content of an element involves traversing the document + tree until you find what you are looking for. In this case, we are looking + for an element called "keyword" contained within element called "story". The + process to find the node we are interested in involves tediously walking the + tree. We assume you already have an xmlDocPtr called doc + and an xmlNodPtr called cur.

    +

    +	1cur = cur->xmlChildrenNode;
    +	2while (cur != NULL) {
    +		if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){
    +			parseStory (doc, cur);
    +		}
    +		 
    +	cur = cur->next;
    +	}
    +      

    + +

    1

    Get the first child node of cur. At this + point, cur points at the document root, which is + the element "story".

    2

    This loop iterates through the elements that are children of + "story", looking for one called "storyinfo". That + is the element that will contain the "keywords" we are + looking for. It uses the libxml string + comparison + function, xmlStrcmp. If there is a match, it calls the function parseStory.

    +

    +

    +void
    +parseStory (xmlDocPtr doc, xmlNodePtr cur) {
    +
    +	xmlChar *key;
    +	1 cur = cur->xmlChildrenNode;
    +	2 while (cur != NULL) {
    +	    if ((!xmlStrcmp(cur->name, (const xmlChar *)"keyword"))) {
    +	3	    key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
    +		    printf("keyword: %s\n", key);
    +		    xmlFree(key);
    + 	    }
    +	cur = cur->next;
    +	}
    +    return;
    +}
    +      

    +

    1

    Again we get the first child node.

    2

    Like the loop above, we then iterate through the nodes, looking + for one that matches the element we're interested in, in this case + "keyword".

    3

    When we find the "keyword" element, we need to print + its contents. Remember that in XML, the text + contained within an element is a child node of that element, so we + turn to cur->xmlChildrenNode. To retrieve it, we + use the function xmlNodeListGetString, which also takes the doc pointer as an argument. In this case, we just print it out.

    [Note]Note

    Because xmlNodeListGetString allocates + memory for the string it returns, you must use + xmlFree to free it.

    +

    diff --git a/doc/tutorial/ar01s05.html b/doc/tutorial/ar01s05.html new file mode 100644 index 0000000..04acc01 --- /dev/null +++ b/doc/tutorial/ar01s05.html @@ -0,0 +1,56 @@ +Using XPath to Retrieve Element Content

    Using XPath to Retrieve Element Content

    In addition to walking the document tree to find an element, + Libxml2 includes support for + use of XPath expressions to retrieve sets of + nodes that match a specified criteria. Full documentation of the + XPath API is here. +

    XPath allows searching through a document + for nodes that match specified criteria. In the example below we search + through a document for the contents of all keyword + elements. +

    [Note]Note

    A full discussion of XPath is beyond + the scope of this document. For details on its use, see the XPath specification.

    + Full code for this example is at Appendix D, Code for XPath Example. +

    Using XPath requires setting up an + xmlXPathContext and then supplying the XPath + expression and the context to the + xmlXPathEvalExpression function. The function returns + an xmlXPathObjectPtr, which includes the set of nodes satisfying the + XPath expression.

    +

    +	xmlXPathObjectPtr
    +	getnodeset (xmlDocPtr doc, xmlChar *xpath){
    +	
    +	1xmlXPathContextPtr context;
    +	xmlXPathObjectPtr result;
    +
    +	2context = xmlXPathNewContext(doc);
    +	3result = xmlXPathEvalExpression(xpath, context);
    +	4if(xmlXPathNodeSetIsEmpty(result->nodesetval)){
    +                printf("No result\n");
    +                return NULL;
    +	}
    +	xmlXPathFreeContext(context);
    +	return result;
    +      

    +

    1

    First we declare our variables.

    2

    Initialize the context variable.

    3

    Apply the XPath expression.

    4

    Check the result.

    +

    The xmlPathObjectPtr returned by the function contains a set of nodes + and other information needed to iterate through the set and act on the + results. For this example, our functions returns the + xmlXPathObjectPtr. We use it to print the contents of + keyword nodes in our document. The node set object + includes the number of elements in the set (nodeNr) and + an array of nodes (nodeTab): +

    +	1for (i=0; i < nodeset->nodeNr; i++) {
    +	2keyword = xmlNodeListGetString(doc, nodeset->nodeTab[i]->xmlChildrenNode, 1);
    +		printf("keyword: %s\n", keyword);
    +	        xmlFree(keyword);
    +	}
    +      

    +

    1

    The value of nodeset->Nr holds the number of + elements in the node set. Here we use it to iterate through the array.

    2

    Here we print the contents of each of the nodes returned. +

    [Note]Note

    Note that we are printing the child node of the node that is + returned, because the contents of the keyword + element are a child text node.

    +

    +

    diff --git a/doc/tutorial/ar01s06.html b/doc/tutorial/ar01s06.html new file mode 100644 index 0000000..fb8c8a7 --- /dev/null +++ b/doc/tutorial/ar01s06.html @@ -0,0 +1,35 @@ +Writing element content

    Writing element content

    + Writing element content uses many of the same steps we used above + — parsing the document and walking the tree. We parse the document, + then traverse the tree to find the place we want to insert our element. For + this example, we want to again find the "storyinfo" element and + this time insert a keyword. Then we'll write the file to disk. Full code: + Appendix E, Code for Add Keyword Example

    + The main difference in this example is in + parseStory: + +

    +void
    +parseStory (xmlDocPtr doc, xmlNodePtr cur, char *keyword) {
    +
    +	1 xmlNewTextChild (cur, NULL, "keyword", keyword);
    +    return;
    +}
    +      

    +

    1

    The xmlNewTextChild + function adds a new child element at the + current node pointer's location in the + tree, specified by cur.

    +

    + + Once the node has been added, we would like to write the document to + file. Is you want the element to have a namespace, you can add it here as + well. In our case, the namespace is NULL. +

    +	xmlSaveFormatFile (docname, doc, 1);
    +      

    + The first parameter is the name of the file to be written. You'll notice + it is the same as the file we just read. In this case, we just write over + the old file. The second parameter is a pointer to the xmlDoc + structure. Setting the third parameter equal to one ensures indenting on output. +

    diff --git a/doc/tutorial/ar01s07.html b/doc/tutorial/ar01s07.html new file mode 100644 index 0000000..395b780 --- /dev/null +++ b/doc/tutorial/ar01s07.html @@ -0,0 +1,30 @@ +Writing Attribute

    Writing Attribute

    +Writing an attribute is similar to writing text to a new element. In + this case, we'll add a reference URI to our + document. Full code:Appendix F, Code for Add Attribute Example.

    + A reference is a child of the story + element, so finding the place to put our new element and attribute is + simple. As soon as we do the error-checking test in our + parseDoc, we are in the right spot to add our + element. But before we do that, we need to make a declaration using a + data type we have not seen yet: +

    +	xmlAttrPtr newattr;
    +      

    + We also need an extra xmlNodePtr: +

    +	xmlNodePtr newnode;
    +      

    +

    + The rest of parseDoc is the same as before until we + check to see if our root element is story. If it is, + then we know we are at the right spot to add our element: + +

    +	1 newnode = xmlNewTextChild (cur, NULL, "reference", NULL);
    +	2 newattr = xmlNewProp (newnode, "uri", uri);	
    +      

    +

    1

    First we add a new node at the location of the current node + pointer, cur. using the xmlNewTextChild function.

    +

    Once the node is added, the file is written to disk just as in the + previous example in which we added an element with text content.

    diff --git a/doc/tutorial/ar01s08.html b/doc/tutorial/ar01s08.html new file mode 100644 index 0000000..f07f8ef --- /dev/null +++ b/doc/tutorial/ar01s08.html @@ -0,0 +1,38 @@ +Retrieving Attributes

    Retrieving Attributes

    +Retrieving the value of an attribute is similar to the previous + example in which we retrieved a node's text contents. In this case we'll + extract the value of the URI we added in the previous + section. Full code: Appendix G, Code for Retrieving Attribute Value Example.

    + The initial steps for this example are similar to the previous ones: parse + the doc, find the element you are interested in, then enter a function to + carry out the specific task required. In this case, we call + getReference: +

    +void
    +getReference (xmlDocPtr doc, xmlNodePtr cur) {
    +
    +	xmlChar *uri;
    +	cur = cur->xmlChildrenNode;
    +	while (cur != NULL) {
    +	    if ((!xmlStrcmp(cur->name, (const xmlChar *)"reference"))) {
    +		   1 uri = xmlGetProp(cur, "uri");
    +		    printf("uri: %s\n", uri);
    +		    xmlFree(uri);
    +	    }
    +	    cur = cur->next;
    +	}
    +	return;
    +}
    +      

    + +

    1

    + The key function is xmlGetProp, which returns an + xmlChar containing the attribute's value. In this case, + we just print it out. +

    [Note]Note

    + If you are using a DTD that declares a fixed or + default value for the attribute, this function will retrieve it. +

    +

    + +

    diff --git a/doc/tutorial/ar01s09.html b/doc/tutorial/ar01s09.html new file mode 100644 index 0000000..76f52cc --- /dev/null +++ b/doc/tutorial/ar01s09.html @@ -0,0 +1,63 @@ +Encoding Conversion

    Encoding Conversion

    +Data encoding compatibility problems are one of the most common + difficulties encountered by programmers new to XML in + general and libxml in particular. Thinking + through the design of your application in light of this issue will help + avoid difficulties later. Internally, libxml + stores and manipulates data in the UTF-8 format. Data used by your program + in other formats, such as the commonly used ISO-8859-1 encoding, must be + converted to UTF-8 before passing it to libxml + functions. If you want your program's output in an encoding other than + UTF-8, you also must convert it.

    Libxml uses + iconv if it is available to convert + data. Without iconv, only UTF-8, UTF-16 and + ISO-8859-1 can be used as external formats. With + iconv, any format can be used provided + iconv is able to convert it to and from + UTF-8. Currently iconv supports about 150 + different character formats with ability to convert from any to any. While + the actual number of supported formats varies between implementations, every + iconv implementation is almost guaranteed to + support every format anyone has ever heard of.

    [Warning]Warning

    A common mistake is to use different formats for the internal data + in different parts of one's code. The most common case is an application + that assumes ISO-8859-1 to be the internal data format, combined with + libxml, which assumes UTF-8 to be the + internal data format. The result is an application that treats internal + data differently, depending on which code section is executing. The one or + the other part of code will then, naturally, misinterpret the data. +

    This example constructs a simple document, then adds content provided + at the command line to the document's root element and outputs the results + to stdout in the proper encoding. For this example, we + use ISO-8859-1 encoding. The encoding of the string input at the command + line is converted from ISO-8859-1 to UTF-8. Full code: Appendix H, Code for Encoding Conversion Example

    The conversion, encapsulated in the example code in the + convert function, uses + libxml's + xmlFindCharEncodingHandler function: +

    +	1xmlCharEncodingHandlerPtr handler;
    +        2size = (int)strlen(in)+1; 
    +        out_size = size*2-1; 
    +        out = malloc((size_t)out_size); 
    +
    +…
    +	3handler = xmlFindCharEncodingHandler(encoding);
    +…
    +	4handler->input(out, &out_size, in, &temp);
    +…	
    +	5xmlSaveFormatFileEnc("-", doc, encoding, 1);
    +      

    +

    1

    handler is declared as a pointer to an + xmlCharEncodingHandler function.

    2

    The xmlCharEncodingHandler function needs + to be given the size of the input and output strings, which are + calculated here for strings in and + out.

    3

    xmlFindCharEncodingHandler takes as its + argument the data's initial encoding and searches + libxml's built-in set of conversion + handlers, returning a pointer to the function or NULL if none is + found.

    4

    The conversion function identified by handler + requires as its arguments pointers to the input and output strings, + along with the length of each. The lengths must be determined + separately by the application.

    5

    To output in a specified encoding rather than UTF-8, we use + xmlSaveFormatFileEnc, specifying the + encoding.

    +

    diff --git a/doc/tutorial/images/blank.png b/doc/tutorial/images/blank.png new file mode 100644 index 0000000..764bf4f Binary files /dev/null and b/doc/tutorial/images/blank.png differ diff --git a/doc/tutorial/images/callouts/1.png b/doc/tutorial/images/callouts/1.png new file mode 100644 index 0000000..7d47343 Binary files /dev/null and b/doc/tutorial/images/callouts/1.png differ diff --git a/doc/tutorial/images/callouts/10.png b/doc/tutorial/images/callouts/10.png new file mode 100644 index 0000000..997bbc8 Binary files /dev/null and b/doc/tutorial/images/callouts/10.png differ diff --git a/doc/tutorial/images/callouts/2.png b/doc/tutorial/images/callouts/2.png new file mode 100644 index 0000000..5d09341 Binary files /dev/null and b/doc/tutorial/images/callouts/2.png differ diff --git a/doc/tutorial/images/callouts/3.png b/doc/tutorial/images/callouts/3.png new file mode 100644 index 0000000..ef7b700 Binary files /dev/null and b/doc/tutorial/images/callouts/3.png differ diff --git a/doc/tutorial/images/callouts/4.png b/doc/tutorial/images/callouts/4.png new file mode 100644 index 0000000..adb8364 Binary files /dev/null and b/doc/tutorial/images/callouts/4.png differ diff --git a/doc/tutorial/images/callouts/5.png b/doc/tutorial/images/callouts/5.png new file mode 100644 index 0000000..4d7eb46 Binary files /dev/null and b/doc/tutorial/images/callouts/5.png differ diff --git a/doc/tutorial/images/callouts/6.png b/doc/tutorial/images/callouts/6.png new file mode 100644 index 0000000..0ba694a Binary files /dev/null and b/doc/tutorial/images/callouts/6.png differ diff --git a/doc/tutorial/images/callouts/7.png b/doc/tutorial/images/callouts/7.png new file mode 100644 index 0000000..472e96f Binary files /dev/null and b/doc/tutorial/images/callouts/7.png differ diff --git a/doc/tutorial/images/callouts/8.png b/doc/tutorial/images/callouts/8.png new file mode 100644 index 0000000..5e60973 Binary files /dev/null and b/doc/tutorial/images/callouts/8.png differ diff --git a/doc/tutorial/images/callouts/9.png b/doc/tutorial/images/callouts/9.png new file mode 100644 index 0000000..a0676d2 Binary files /dev/null and b/doc/tutorial/images/callouts/9.png differ diff --git a/doc/tutorial/images/caution.png b/doc/tutorial/images/caution.png new file mode 100644 index 0000000..5b7809c Binary files /dev/null and b/doc/tutorial/images/caution.png differ diff --git a/doc/tutorial/images/draft.png b/doc/tutorial/images/draft.png new file mode 100644 index 0000000..0084708 Binary files /dev/null and b/doc/tutorial/images/draft.png differ diff --git a/doc/tutorial/images/home.png b/doc/tutorial/images/home.png new file mode 100644 index 0000000..cbb711d Binary files /dev/null and b/doc/tutorial/images/home.png differ diff --git a/doc/tutorial/images/important.png b/doc/tutorial/images/important.png new file mode 100644 index 0000000..12c90f6 Binary files /dev/null and b/doc/tutorial/images/important.png differ diff --git a/doc/tutorial/images/next.png b/doc/tutorial/images/next.png new file mode 100644 index 0000000..45835bf Binary files /dev/null and b/doc/tutorial/images/next.png differ diff --git a/doc/tutorial/images/note.png b/doc/tutorial/images/note.png new file mode 100644 index 0000000..d0c3c64 Binary files /dev/null and b/doc/tutorial/images/note.png differ diff --git a/doc/tutorial/images/prev.png b/doc/tutorial/images/prev.png new file mode 100644 index 0000000..cf24654 Binary files /dev/null and b/doc/tutorial/images/prev.png differ diff --git a/doc/tutorial/images/tip.png b/doc/tutorial/images/tip.png new file mode 100644 index 0000000..5c4aab3 Binary files /dev/null and b/doc/tutorial/images/tip.png differ diff --git a/doc/tutorial/images/toc-blank.png b/doc/tutorial/images/toc-blank.png new file mode 100644 index 0000000..6ffad17 Binary files /dev/null and b/doc/tutorial/images/toc-blank.png differ diff --git a/doc/tutorial/images/toc-minus.png b/doc/tutorial/images/toc-minus.png new file mode 100644 index 0000000..abbb020 Binary files /dev/null and b/doc/tutorial/images/toc-minus.png differ diff --git a/doc/tutorial/images/toc-plus.png b/doc/tutorial/images/toc-plus.png new file mode 100644 index 0000000..941312c Binary files /dev/null and b/doc/tutorial/images/toc-plus.png differ diff --git a/doc/tutorial/images/up.png b/doc/tutorial/images/up.png new file mode 100644 index 0000000..07634de Binary files /dev/null and b/doc/tutorial/images/up.png differ diff --git a/doc/tutorial/images/warning.png b/doc/tutorial/images/warning.png new file mode 100644 index 0000000..1c33db8 Binary files /dev/null and b/doc/tutorial/images/warning.png differ diff --git a/doc/tutorial/includeaddattribute.c b/doc/tutorial/includeaddattribute.c new file mode 100644 index 0000000..bb6a18b --- /dev/null +++ b/doc/tutorial/includeaddattribute.c @@ -0,0 +1,64 @@ + +#include +#include +#include +#include + + +xmlDocPtr +parseDoc(char *docname, char *uri) { + + xmlDocPtr doc; + xmlNodePtr cur; + xmlNodePtr newnode; + xmlAttrPtr newattr; + + doc = xmlParseFile(docname); + + if (doc == NULL ) { + fprintf(stderr,"Document not parsed successfully. \n"); + return (NULL); + } + + cur = xmlDocGetRootElement(doc); + + if (cur == NULL) { + fprintf(stderr,"empty document\n"); + xmlFreeDoc(doc); + return (NULL); + } + + if (xmlStrcmp(cur->name, (const xmlChar *) "story")) { + fprintf(stderr,"document of the wrong type, root node != story"); + xmlFreeDoc(doc); + return (NULL); + } + + newnode = xmlNewTextChild (cur, NULL, "reference", NULL); + newattr = xmlNewProp (newnode, "uri", uri); + return(doc); +} + +int +main(int argc, char **argv) { + + char *docname; + char *uri; + xmlDocPtr doc; + + if (argc <= 2) { + printf("Usage: %s docname, uri\n", argv[0]); + return(0); + } + + docname = argv[1]; + uri = argv[2]; + doc = parseDoc (docname, uri); + if (doc != NULL) { + xmlSaveFormatFile (docname, doc, 1); + xmlFreeDoc(doc); + } + return (1); +} +]]> diff --git a/doc/tutorial/includeaddkeyword.c b/doc/tutorial/includeaddkeyword.c new file mode 100644 index 0000000..975168d --- /dev/null +++ b/doc/tutorial/includeaddkeyword.c @@ -0,0 +1,75 @@ + +#include +#include +#include +#include + +void +parseStory (xmlDocPtr doc, xmlNodePtr cur, char *keyword) { + + xmlNewTextChild (cur, NULL, "keyword", keyword); + return; +} + +xmlDocPtr +parseDoc(char *docname, char *keyword) { + + xmlDocPtr doc; + xmlNodePtr cur; + + doc = xmlParseFile(docname); + + if (doc == NULL ) { + fprintf(stderr,"Document not parsed successfully. \n"); + return (NULL); + } + + cur = xmlDocGetRootElement(doc); + + if (cur == NULL) { + fprintf(stderr,"empty document\n"); + xmlFreeDoc(doc); + return (NULL); + } + + if (xmlStrcmp(cur->name, (const xmlChar *) "story")) { + fprintf(stderr,"document of the wrong type, root node != story"); + xmlFreeDoc(doc); + return (NULL); + } + + cur = cur->xmlChildrenNode; + while (cur != NULL) { + if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){ + parseStory (doc, cur, keyword); + } + + cur = cur->next; + } + return(doc); +} + +int +main(int argc, char **argv) { + + char *docname; + char *keyword; + xmlDocPtr doc; + + if (argc <= 2) { + printf("Usage: %s docname, keyword\n", argv[0]); + return(0); + } + + docname = argv[1]; + keyword = argv[2]; + doc = parseDoc (docname, keyword); + if (doc != NULL) { + xmlSaveFormatFile (docname, doc, 0); + xmlFreeDoc(doc); + } + + return (1); +} +]]> diff --git a/doc/tutorial/includeconvert.c b/doc/tutorial/includeconvert.c new file mode 100644 index 0000000..482e56f --- /dev/null +++ b/doc/tutorial/includeconvert.c @@ -0,0 +1,73 @@ + +#include + + +unsigned char* +convert (unsigned char *in, char *encoding) +{ + unsigned char *out; + int ret,size,out_size,temp; + xmlCharEncodingHandlerPtr handler; + + size = (int)strlen(in)+1; + out_size = size*2-1; + out = malloc((size_t)out_size); + + if (out) { + handler = xmlFindCharEncodingHandler(encoding); + + if (!handler) { + free(out); + out = NULL; + } + } + if (out) { + temp=size-1; + ret = handler->input(out, &out_size, in, &temp); + if (ret || temp-size+1) { + if (ret) { + printf("conversion wasn't successful.\n"); + } else { + printf("conversion wasn't successful. converted: %i octets.\n",temp); + } + free(out); + out = NULL; + } else { + out = realloc(out,out_size+1); + out[out_size]=0; /*null terminating out*/ + + } + } else { + printf("no mem\n"); + } + return (out); +} + + +int +main(int argc, char **argv) { + + unsigned char *content, *out; + xmlDocPtr doc; + xmlNodePtr rootnode; + char *encoding = "ISO-8859-1"; + + + if (argc <= 1) { + printf("Usage: %s content\n", argv[0]); + return(0); + } + + content = argv[1]; + + out = convert(content, encoding); + + doc = xmlNewDoc ("1.0"); + rootnode = xmlNewDocNode(doc, NULL, (const xmlChar*)"root", out); + xmlDocSetRootElement(doc, rootnode); + + xmlSaveFormatFileEnc("-", doc, encoding, 1); + return (1); +} +]]> diff --git a/doc/tutorial/includegetattribute.c b/doc/tutorial/includegetattribute.c new file mode 100644 index 0000000..b2b7471 --- /dev/null +++ b/doc/tutorial/includegetattribute.c @@ -0,0 +1,72 @@ + +#include +#include +#include +#include + +void +getReference (xmlDocPtr doc, xmlNodePtr cur) { + + xmlChar *uri; + cur = cur->xmlChildrenNode; + while (cur != NULL) { + if ((!xmlStrcmp(cur->name, (const xmlChar *)"reference"))) { + uri = xmlGetProp(cur, "uri"); + printf("uri: %s\n", uri); + xmlFree(uri); + } + cur = cur->next; + } + return; +} + + +void +parseDoc(char *docname) { + + xmlDocPtr doc; + xmlNodePtr cur; + + doc = xmlParseFile(docname); + + if (doc == NULL ) { + fprintf(stderr,"Document not parsed successfully. \n"); + return; + } + + cur = xmlDocGetRootElement(doc); + + if (cur == NULL) { + fprintf(stderr,"empty document\n"); + xmlFreeDoc(doc); + return; + } + + if (xmlStrcmp(cur->name, (const xmlChar *) "story")) { + fprintf(stderr,"document of the wrong type, root node != story"); + xmlFreeDoc(doc); + return; + } + + getReference (doc, cur); + xmlFreeDoc(doc); + return; +} + +int +main(int argc, char **argv) { + + char *docname; + + if (argc <= 1) { + printf("Usage: %s docname\n", argv[0]); + return(0); + } + + docname = argv[1]; + parseDoc (docname); + + return (1); +} +]]> diff --git a/doc/tutorial/includekeyword.c b/doc/tutorial/includekeyword.c new file mode 100644 index 0000000..e9bb467 --- /dev/null +++ b/doc/tutorial/includekeyword.c @@ -0,0 +1,79 @@ + +#include +#include +#include +#include + +void +parseStory (xmlDocPtr doc, xmlNodePtr cur) { + + xmlChar *key; + cur = cur->xmlChildrenNode; + while (cur != NULL) { + if ((!xmlStrcmp(cur->name, (const xmlChar *)"keyword"))) { + key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); + printf("keyword: %s\n", key); + xmlFree(key); + } + cur = cur->next; + } + return; +} + +static void +parseDoc(char *docname) { + + xmlDocPtr doc; + xmlNodePtr cur; + + doc = xmlParseFile(docname); + + if (doc == NULL ) { + fprintf(stderr,"Document not parsed successfully. \n"); + return; + } + + cur = xmlDocGetRootElement(doc); + + if (cur == NULL) { + fprintf(stderr,"empty document\n"); + xmlFreeDoc(doc); + return; + } + + if (xmlStrcmp(cur->name, (const xmlChar *) "story")) { + fprintf(stderr,"document of the wrong type, root node != story"); + xmlFreeDoc(doc); + return; + } + + cur = cur->xmlChildrenNode; + while (cur != NULL) { + if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){ + parseStory (doc, cur); + } + + cur = cur->next; + } + + xmlFreeDoc(doc); + return; +} + +int +main(int argc, char **argv) { + + char *docname; + + if (argc <= 1) { + printf("Usage: %s docname\n", argv[0]); + return(0); + } + + docname = argv[1]; + parseDoc (docname); + + return (1); +} +]]> diff --git a/doc/tutorial/includexpath.c b/doc/tutorial/includexpath.c new file mode 100644 index 0000000..92c0944 --- /dev/null +++ b/doc/tutorial/includexpath.c @@ -0,0 +1,65 @@ + +#include + +xmlDocPtr +getdoc (char *docname) { + xmlDocPtr doc; + doc = xmlParseFile(docname); + + if (doc == NULL ) { + fprintf(stderr,"Document not parsed successfully. \n"); + return NULL; + } + + return doc; +} + +xmlXPathObjectPtr +getnodeset (xmlDocPtr doc, xmlChar *xpath){ + + xmlXPathContextPtr context; + xmlXPathObjectPtr result; + + context = xmlXPathNewContext(doc); + result = xmlXPathEvalExpression(xpath, context); + if(xmlXPathNodeSetIsEmpty(result->nodesetval)){ + printf("No result\n"); + return NULL; + } + xmlXPathFreeContext(context); + return result; +} +int +main(int argc, char **argv) { + + char *docname; + xmlDocPtr doc; + xmlChar *xpath = ("//keyword"); + xmlNodeSetPtr nodeset; + xmlXPathObjectPtr result; + int i; + xmlChar *keyword; + + if (argc <= 1) { + printf("Usage: %s docname\n", argv[0]); + return(0); + } + + docname = argv[1]; + doc = getdoc(docname); + result = getnodeset (doc, xpath); + if (result) { + nodeset = result->nodesetval; + for (i=0; i < nodeset->nodeNr; i++) { + keyword = xmlNodeListGetString(doc, nodeset->nodeTab[i]->xmlChildrenNode, 1); + printf("keyword: %s\n", keyword); + xmlFree(keyword); + } + xmlXPathFreeObject (result); + } + xmlFreeDoc(doc); + xmlCleanupParser(); + return (1); +} +]]> diff --git a/doc/tutorial/index.html b/doc/tutorial/index.html new file mode 100644 index 0000000..7722005 --- /dev/null +++ b/doc/tutorial/index.html @@ -0,0 +1,14 @@ +Libxml Tutorial

    Libxml Tutorial

    John Fleck

    Revision History
    Revision 1June 4, 2002
    Initial draft
    Revision 2June 12, 2002
    retrieving attribute value added
    Revision 3Aug. 31, 2002
    freeing memory fix
    Revision 4Nov. 10, 2002
    encoding discussion added
    Revision 5Dec. 15, 2002
    more memory freeing changes
    Revision 6Jan. 26. 2003
    add index
    Revision 7April 25, 2003
    add compilation appendix
    Revision 8July 24, 2003
    add XPath example
    Revision 9Feb. 14, 2004
    Fix bug in XPath example

    Abstract

    Libxml is a freely licensed C language library for handling + XML, portable across a large number of platforms. This + tutorial provides examples of its basic functions.

    Introduction

    Libxml is a C language library implementing functions for reading, + creating and manipulating XML data. This tutorial + provides example code and explanations of its basic functionality.

    Libxml and more details about its use are available on the project home page. Included there is complete + API documentation. This tutorial is not meant + to substitute for that complete documentation, but to illustrate the + functions needed to use the library to perform basic operations. + +

    The tutorial is based on a simple XML application I + use for articles I write. The format includes metadata and the body + of the article.

    The example code in this tutorial demonstrates how to: +

    • Parse the document.

    • Extract the text within a specified element.

    • Add an element and its content.

    • Add an attribute.

    • Extract the value of an attribute.

    +

    Full code for the examples is included in the appendices.

    diff --git a/doc/tutorial/ix01.html b/doc/tutorial/ix01.html new file mode 100644 index 0000000..8a0687b --- /dev/null +++ b/doc/tutorial/ix01.html @@ -0,0 +1 @@ +Index

    Index

    A

    attribute
    retrieving value, Retrieving Attributes
    writing, Writing Attribute

    C

    compiler flags, Compilation

    E

    element
    retrieving content, Retrieving Element Content
    writing content, Writing element content
    encoding, Parsing the file, Encoding Conversion

    X

    xmlChar, Data Types
    xmlDoc, Data Types
    xmlNodePtr, Data Types
    diff --git a/doc/tutorial/xmltutorial.pdf b/doc/tutorial/xmltutorial.pdf new file mode 100644 index 0000000..345391f --- /dev/null +++ b/doc/tutorial/xmltutorial.pdf @@ -0,0 +1,1342 @@ +%PDF-1.3 +%ª«¬­ +4 0 obj +<< /Type /Info +/Producer (FOP 0.20.5) >> +endobj +5 0 obj +<< /Length 1822 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gb"/*>Edeu'RnB3cso,c'tW.g@2QG"TnU@J&th%rK4?EgBjq>%flmBYnlj9`;PZeI]MV8//%QdUe>pQ>+;/.umddKkMt8p91ge85?B+i50(p+r!XPlU9i%bRl!/2qn]I@hURon_LGcGf_%.A9b2O'8P&easCDGR3nqYlU6NT5**7`>5'@%SD459t\>3.-57T19BV:CN^MSh_h=\T$H2V8WHZ,Ih3J4W+:m5q'U-]pHpkffZ.VH5e+a!JITB<`2OKHG&0K2n8"+qBuQ\CiYf9R$AY)\i5shsXPXSRNu\;[i=Ls%-,W!F'?)#^a?f5p-or<[Pj-q!LjQClG;V#.sh7SM64%;,c$e7:iRXWhiG7JWXceU&%/e`,P=VFB#iO@/1C4o4O0U??C^?=!;EZW0*cib07!2bDi@4Ek['oP)r<]^drH7%RiMci'EJ]/J2KOW*$Ef\6-K=A5MP%F,;$nWsEC[,uT+RNP$]e#sP]ia_]@_)d]MZRgDk-'D)Q)Co=gqRA^STedXN=:8jM&>iFLGkOkF)CZXMsj_]AERp[bR!+*q[[BVR>.4)O!cOsIIcV`FKT;GLtGN-h#E[V@alG&XHI(mIjo6aSn)GI.Y!LbNFL],)ms`Z#?K!^3L]\-9p^_VI/&lhB11(GV3G%a@.&oTjl>?42$$sU-8!_nn=.F_GKNIhRU/Wo0_mhoC56bcj0/%2`NLq/01aJ<#U$$LFUEhJu?'=b5*h`eq[Y8m)PGqOBMGQG1m4k+GmQ"G1s=9qu680,ONs]W(T0@6H4d^a>5Q9cRIUX%6TR[l68LSQD".8?rd]iiSYWp=*ZB,QFDct^$?.ss)U +endstream +endobj +6 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 5 0 R +/Annots 7 0 R +>> +endobj +7 0 obj +[ +8 0 R +10 0 R +12 0 R +14 0 R +16 0 R +18 0 R +20 0 R +22 0 R +24 0 R +26 0 R +28 0 R +30 0 R +32 0 R +34 0 R +36 0 R +38 0 R +40 0 R +42 0 R +] +endobj +8 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 358.611 193.44 348.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 9 0 R +/H /I +>> +endobj +10 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 347.611 189.82 337.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 11 0 R +/H /I +>> +endobj +12 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 336.611 204.55 326.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 13 0 R +/H /I +>> +endobj +14 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 325.611 256.22 315.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 15 0 R +/H /I +>> +endobj +16 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 314.611 312.05 304.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 17 0 R +/H /I +>> +endobj +18 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 303.611 241.21 293.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 19 0 R +/H /I +>> +endobj +20 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 292.611 213.72 282.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 21 0 R +/H /I +>> +endobj +22 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 281.611 228.72 271.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 23 0 R +/H /I +>> +endobj +24 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 270.611 230.94 260.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 25 0 R +/H /I +>> +endobj +26 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 259.611 206.23 249.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 27 0 R +/H /I +>> +endobj +28 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 248.611 229.83 238.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 29 0 R +/H /I +>> +endobj +30 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 237.611 268.7 227.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 31 0 R +/H /I +>> +endobj +32 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 226.611 257.04 216.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 33 0 R +/H /I +>> +endobj +34 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 215.611 287.86 205.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 35 0 R +/H /I +>> +endobj +36 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 204.611 286.21 194.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 37 0 R +/H /I +>> +endobj +38 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 193.611 339.25 183.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 39 0 R +/H /I +>> +endobj +40 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 182.611 318.98 172.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 41 0 R +/H /I +>> +endobj +42 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 171.611 231.76 161.611 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 43 0 R +/H /I +>> +endobj +44 0 obj +<< /Length 2063 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gat=,h/D%;%"HT1Tspj`W`^F0jM&$9$Y4%2%e+uLgE+Yg3PJ4R<9]Xcs8Al@AQ"PqX@%Mg5O+898+LnR\%VY.A)r=o5E-:o]>%NppK)pTK"o+U,lYqZ=-:7T2W"/krI0/rfsWO0gmYg#jo+F\ItI''03H%WfK=$[iYWM(Re^)+j3CG4pN.rnH*>+BnItBFFA+23Dj`.VFl06H/N@@oWqI]k*1KhJF_+9iceNqU3#JeAShr1#(g?3>IR(e;f:(8&#R\iC\X3&.ZHUeo5^W!9K#<)CtMNq+un/UAlNHE9\G91]=PH[d4>?I-[$sg7Ql89[4;Dr8E#]>#Oqg=rg1oaN^J5ZT3Y>U^DC,a@s7OJb0.NGK7>$i:UF<-6Dr.4-WjI_N:V?T@!f0DmFSs!UT!d5-io#Z3LV7\:o6hWS8&"45ulYgj/>t#_6W_JGQ$t&Hr,ENK@3m)-FfGG!^FNN`$,p)HVen.&MXmQ8I042hfesP#\UBWVC_Vi[d$a=AV;a5Zk^E[[)US.cnQ>gh:g/aXL"UjrKX"&HpUgBkM3U?KuEOgLG$#p),rijucF@m.h2[QX"$A_^ZBAmKe5Rkh=7s-8g!V]=JQo-(F%-)7d"k0_+;Y_;I4hou*L]Il:T41Vs<@U<"eU&Mh78]3'9U+(_akRC=g\\+q+S\:uS$J:##1FtoK,igfa(hP?'-5nn^9rkj`M*u-`"2^J`0ZHjlqMf#?/u/9F;P]C(t7Ggei:Ocj$7emHW!jqn7M;e#0ci:l#WAE=b+.#L1>IAVJ,I):;:XN/WkF=-,5oK&3L%N^c,tfJE)DVo+ai*j5P=Zk'KrQbfZY*n1bpCq[]#*jfK2]&ON#&5K$#q:JK!8])-l*(8U:<'o(@k86Ui%%]-KFo1]OG%#HZ31Ib_ZctkC?rb1^##DU[XRMWt[q?UggG5N$,Qp&Qa%4#q+1,/:'O=InA.\Z')aoaq3.MTq%[uT+N,X`!RVCuo&%]10L1@bf,+:hQ6B!Z#S4NnD4seb9S,je+HkA(5/JB6rJY1)19D3#3*)dOmYb*9YhlTa6aX&/72g@Zq[4p5-I'941?`giRj:*ETOet$H"+EGi:[Y6hch"CLdVKQ.02S_`""#5u/=:pR"c;GT?eg&lkIOXT>#u,An[0Uf7^+9',P^P52_6@1[T6dj5@mCkkNnC=@,s8oq/M"^LcdFHnjI!K&Y)"q&V;^*#c*3H*_,du&i*\$@bP_6ZN]Z*db,D!?lYfXB1V@g0Y@NSi^:INq87_Hrk +endstream +endobj +45 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 44 0 R +/Annots 46 0 R +>> +endobj +46 0 obj +[ +47 0 R +48 0 R +49 0 R +50 0 R +51 0 R +52 0 R +53 0 R +54 0 R +55 0 R +56 0 R +57 0 R +58 0 R +] +endobj +47 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 384.46 642.674 473.05 632.674 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.xmlsoft.org/) +/S /URI >> +/H /I +>> +endobj +48 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 253.694 631.674 331.744 621.674 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://xmlsoft.org/html/libxml-lib.html) +/S /URI >> +/H /I +>> +endobj +49 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 293.348 179.0 283.348 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLCHAR) +/S /URI >> +/H /I +>> +endobj +50 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 352.782 249.348 469.722 239.348 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.xmlsoft.org/encoding.html) +/S /URI >> +/H /I +>> +endobj +51 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 264.0 238.348 282.88 228.348 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.xmlsoft.org/encoding.html) +/S /URI >> +/H /I +>> +endobj +52 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 217.348 176.22 207.348 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLDOC) +/S /URI >> +/H /I +>> +endobj +53 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 283.44 206.348 327.33 196.348 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLDOCPTR) +/S /URI >> +/H /I +>> +endobj +54 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 185.348 192.89 175.348 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODEPTR) +/S /URI >> +/H /I +>> +endobj +55 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 212.33 185.348 231.22 175.348 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODE) +/S /URI >> +/H /I +>> +endobj +56 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 174.348 165.66 164.348 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODE) +/S /URI >> +/H /I +>> +endobj +57 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 424.512 185.348 473.402 175.348 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODEPTR) +/S /URI >> +/H /I +>> +endobj +58 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 249.81 88.022 414.8 78.022 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 31 0 R +/H /I +>> +endobj +59 0 obj +<< /Length 2226 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gat$:fl#S'nD.HVnOr3mAgL;%MY82pOhu+eFFt@-qk-PdY@+KBTsWYn7K:%GSg.C\.PP7L7NB^%OSa'HpAJ2[>koH2Ir6P+JS8^d^ZQX0QY(EY\X\[m[3IfDjYM]_:/M"QR@&s+ZNCm,$=&I#DPi?]H4/Il4rhh[F<0mjXQ!FJ4q\iGL0\g>Gh+Vu_W>Li)KhppdLG'gbf*_K"7c(Fb=j?XL1`lW0]Oq*=moBH)iD7juVIl0I6,OEft5Y8%O^"J=Dkr-!eD-&J9?CZY_%m/?amZguB"l?WB+?WtIF6&_WYU@`NNf-C]iG&%>=[XH``]`FISE*6+DTa#='YLtDh]DMoI_kh&YtIL\%#'q.HeONh)Nd#U-J+#E7$?oDlbb\+)-u6J#X?u07lCVXh(pci/nhH_]5^pMnbV/6WG2uH5n8024@CC=tb>OHb$qD[%D14M.Sk_5tpc_bDLWX0FXp\7^$%9cj(:4(.+Wi)JdPODp^;hl9XWs$6G+`AETuj5\6p([S;>#H`dIs&$IV+Ul>^;"hVgB!@?PR\qjk>>3$?6UW7a'r2j$f2A'C7ZMF9I4`aAYf5[YNphKcOfPd>5!^Slq^k?eVs]:tSW$>]:lG`"BNSWGEq/?ii.M=^>&@55_qj&C([BU25'PK%l/i?9I%F]m(oX(E]_K=.]+_d;#@iHJ$V_Zag9g^A@K+2\a/u3I0G7:LYbg2JFdU]"]GZm[4nP08mi+!$g2>J\oaBOqF$9U)Q2Y3/bP[2emfL8*G/pcCj!SB"3UB5[LX/PHpBO?6V+:cn&QJjh;F$pSXK8MW)?2a:'igUU178>qOo*L2YZ\&<,WkJkQ@dIdA!jTWRF*CY(#;+hEW`IIEE:87Qp,3PT3f8%@BF3u%)p)V'mBH5t%'Tg^fu@o_q/LJ_QP#%2]BgTN)i79^tk_>G]-;YN^,bTe]jkJdr5[il9$,57ej\npC&s#dMbrc^H`mOcc%M?pu`l^5#q;t`.V-m$t/&?gMfE=\#AE)]]p0]3!C30+'fus&am=R);R3)Hp'BsgbDdVf?36a)d$(YU>=X4QO/%EfWqL%Q +endstream +endobj +60 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 59 0 R +/Annots 61 0 R +>> +endobj +61 0 obj +[ +62 0 R +] +endobj +62 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 361.83 277.506 395.71 267.506 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.w3.org/TR/REC-xml#charencoding) +/S /URI >> +/H /I +>> +endobj +63 0 obj +<< /Length 2423 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gau0ED/\/e&H88.i1AR,l'@*dj1fhdoR.H(Z;SGY'S+*\^)JQL,*J$V^8p>ZPoo[mm\`R;S0!@-fBt5B,jACK%i6M5@)7mj`]++5ZIrBi(7&'f9hW28lZ0>=A5t;)gj7L$jU[R[BuK!^F4@52*&TO&0FV#:X6mH-EnOW2=-lp20k!]l7k=t]^m$O4@=`3OdR(>'a$L'dC;1K`2p=$h!D\E4f[R;cq_EuXr]%"&@Vn]uTcTtV9o+conV2T"iflT8ds+(42!O0^%9YC*TEe%>Q#>l5B;r0M:#63I]j!GgrcV!R_@kQ-B>+_OVXfI8U_TiEZTC7ISM4jT$OCaE=UO`*-el1.C@@IBIB\j/5)@"cN:&;JH+1M\E%:i8/nbNc+NbA'HCR+!MQSNa_#T+6"MCes/QKri<;?J$u%?5%`4%0Jr:/G6T\j*du6Y:4lB[$:+clF<\FY&T+1obImVg"$m8[',A1EG(H9GGZnVC?jaS=i01:=jhMeWCd:nJ$=mbj7[f\*6a-W9mUDm45At(YpLj3,_oH=Z"#.e#!og[iF)jp/oWA<^$_hS;)2CrVS]9h7i\'f)71p*@^>YWPH^3AruPZDR^"gl.G)V"+Y04XCkRGCW-(mlH#GlO?VcA7nE%KE@(.EGrsA%6C!s6RTfl>JMDLRo-<-s''rleb:luKcGVj>b.peQZ#E\2`W`p^XnNh'7B7C%`-M!s#;9$++ZQQb^/c+K)X^1s,]3&%16m,/`.Pg)/j8B"gC4o\/R3/B#5pV&$$J.a2BAn?X[?8L4llT)f8>I;Ic4Ybd7(7*7#Ei&'#rBlT!=YS#4(6(ll1mG.V@0!Q@Ws]^N)\nCd2f:>)EaM;Y/.Fk-$XkA7LR*YL]47*AAND6BC&3hEN'+X8EDf'7r_u%K=e4jP_OARF-#ZWe4;7I$V.=R&=S0K9,!,kH9(d\BF^a-(_9V"'p$AS#P#4NTI]M$[%1;s*c9.:Pt_(#Ogd_T?`P63;(/%pUSKdgbpZ`a.jcJDBPZ%la/cLL>"U"l,^Sc-91S,R>ZN-RPuZSD.SZ3[nHsr&"JHII1Wt(l`_fqGrM`Sdf\QnA$$_D:&YVEeQiS3,p@Iq\SL4[D"ijLZ%V&\)FXSD_6rm(&A=I8//X]/JRM1W*?@PJX$[C0JLNaEq_hn$p.?XbWBkofM'<'MK%4"n9e]kCa7:G,A0\2Da^nCEu"LICV`(2<&9dr7=;p51&4U;@!96qj-k=8CNmg5;qN,%>aBK(I"I$cn!a'/,rc2N9I$Yt@)Jnm.!W!!uJo/frrW9qVK1Bo!3H8U3kV@L>QWAsM"H\4#[;I1d8jar_r]X_&2%J5N5=iKTo""@r6mV28JkC2L7;XZ\Oohm2Y6e>o(%fkHS4@*?2eD8UYe16+RJ@&YQ656ua.`WbBBKu#RGM/>NL;4$BR(+p06<4p!0d@),gs9NM_HVtrZ%m$[='d.UWcI$i+'U$JSqqYqP*So:T%kBX]M&PV!)W"YXt#D6VnrG#aCMMIo`0V[e8i/9D"]%Md(81$&SYMB[&cJLb[7`fY>,77Calsat"A:ABUKBafE+$j3MkpqhSu&7!(O%cs(jPCs2o%qOI0$F=0`9QXS,Mp\B!A)),t3`56(+##d3<6fIYX=u15d,]P#5I8QE:e)4T"gHSFPATF-:0YNpIr.Y0j*hCmTrb0SMPjf[p&:EK],G.+6q7;tB3I_2QekjbZ:N0"XIt%Dq(R]e~> +endstream +endobj +64 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 63 0 R +/Annots 65 0 R +>> +endobj +65 0 obj +[ +66 0 R +67 0 R +68 0 R +] +endobj +66 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 186.56 574.98 240.56 564.98 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://xmlsoft.org/html/libxml-parser.html#XMLSTRCMP) +/S /URI >> +/H /I +>> +endobj +67 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 262.18 290.36 382.18 280.36 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODELISTGETSTRING) +/S /URI >> +/H /I +>> +endobj +68 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 363.98 122.574 381.19 112.574 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://xmlsoft.org/html/libxml-xpath.html) +/S /URI >> +/H /I +>> +endobj +69 0 obj +<< /Length 2247 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gat=-D/\/e&H88.@14""XGJ9]H>V78D458]Juh=FCd?eeZ:r;D(!2`>-J>X'5/)nE=gHj,5eoJPm[bZl:.P0Rr8bo!Ckd>`T?Yt8rp9=]c$]MGAge'J1I6SIP1fbNp@67;np"M#X4,b"g&+o((\Mg^9U^9i,=>(D7k3)9]i;j+&#A381L_tpE3-uqC.@pM;%dm8q*sAol0KB[Lmrn"m`NsU/(tbEgX<[=]R"G8J%j+Z`fd^:j!AuPX-KO7L010%l7ElTaYlu=W\-?;#G,L4eW'9?i)(1kO&gqqZkSCL8GN3QHD&ukgY-XRg$usc.@"2g'dF4t/m;D0T0&-K]C!%SFO\LL(it:)pJ1@kJJ0[O8%@ZJ9e%T`ZDn5%+GqRnJ7c52XOMTgm@GcdBnBe1N,eddCL1>u?u7#oXd`n+%$i'#C!&7U"l=0SriA)#Mb\67@.Y(K,fmnoB%g.DF_LPCr*A*k'kniq/ia0aag$#JU/r/:ok\fuc#FAV8\Im39[f,c3dHY&H2c0re]`u\#E848U5,WY4J,@XSO>CPPtYf(`Qm^8etE<_?M@rS9Y(M>n6`'4;>'N#gR(RA87Gf5Eu5MJ2Sj5;8uQeHs\ck15j#[K+MG4Ash:Y=FqnnuVl(YY/GQTE2JlG]`^;PQ)TKpaXg^!+F8[\4GrMSHd&LQSiD<8Uj!#!.",JPa+BU-;`MRh+-&j.R?Fa9t[Dr&_Uq,7eF>ke1^:l,."DcNadY?JY,SZt!QO(-7s0Rm^$FNqJ>#:u[?j/SI355o!XeUi>V!0#AI(:b=gcWU"."biX/>)PI9"YeMaoDA`9u@<:#8T?/$VFZ?8F^s,Q3u(1/eA8EE+Qg)Kp\d@CX^SI>ZRQj6b2k5t?()4fJqaDI`OY/2FsV[.];5;[!f"A.!4m(lJ;S(AYi^ab54NAD:i&(C-$Y;qenP[]0M]3>p;#uWd`9;6lC!V^?u9]/l%Sa2F+XnN!"bV*\P!!IN;AoBO%GXlFe$L[\hC`!54RjNV)pMOr$faBk%pU;",JtD/K]pD.",IKLZG.:Z`U;4sHZ2S7==`d']X$hHdTeH?,QDSj#P9&rF;)OIp%:&r*WSD5_*c^u^\DM`nes]:MLE_/pNVDS0rOo'[qjF\_N0f7Q`SfbfdmA@Z&XMl$:A;E!76q6gh=a]/X&0Tn>^c,D^s!W00?m?oGYF*uZ@b)7\Kc*%JT1OY/Jl/5fYt`D?[pAF>:M%g2<:8#UT^Plr>7&gZA]gOQ_FaGLOT"ri(-O'eUN$<^k'hufLI2?2WHTRP!Lr`hqR'F'pL)!Gg*@hc_`W'U5qlT#3b-:S]GO:6n%c)j]?E^T4+[2:-[;:]jH`^)Qoa"Z@6a:d/#;bO`]Qop!4LcjKhac`JM8i6F#cJ\U4.8`5<";UpCZqkcS=od6Y>YJhbRS)6$:Jc$q5PTgAf699p`LZ>6FJWebo,ENn]@W&+;H>A=O`M0@]hCX6;bTD/;'~> +endstream +endobj +70 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 69 0 R +/Annots 71 0 R +>> +endobj +71 0 obj +[ +72 0 R +73 0 R +] +endobj +72 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 263.38 661.866 341.98 651.866 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.w3.org/TR/xpath) +/S /URI >> +/H /I +>> +endobj +73 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 270.38 650.866 424.81 640.866 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 33 0 R +/H /I +>> +endobj +74 0 obj +<< /Length 2413 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gasar99\+"%_g8m;#-9resPF&8LC?T2QlVjQ"8Ke\[LK;HH;Dk*K$ug@fs1TTV&thX4>e9P42UDH8)irRNmEKjYK8o=\EM,5Eh2T&BFQ74Cpj&?.3US5;"31l!c1\C;rUrTaZpjZPgW`AUNh&"MrRE(K>D1iWgJc69nL<)]Zk;2Z]6R^MQUt(-XAp16\mF+DJN`%L*+@3?5ms>D-Z[Mp:ZW0ok/?f^LUHBKOLNKcf.Ag$7qL`])mtd07,G@=R&SqP8nB1bGDkGC.p4nfrepPB?"B&CKo!4MagD>U(>;mgoY:pA9Sjs]*HU9)!JI*P:e>>UZ%$ME!.h_f%*Vc[BhNRaQIu92s3]]#o*[gNa4u14FAt]-X5aD;ms'hLed*%ZgD=#7kP`J?rrT`PN?dj1li-af3Q/@LbbHhmhst(O/C'X0223+D@.NO,(KfFj93S0aWEgC:i"_Y;0nfip_eK(V3@E58$:m,%,'D5p:ROPab*$(5f+BkfG:,H]Be-NHGdF1$bGs/nRm/*7!)-0+_M$_dAn&ic"Ldm)S2?T^8E*&pPBB_,-4K1R/'^DtCGg?c;WAg50i4%:p_(YHsbN3')!N,5]:[suaZs7e1prgN3D_FoMZ^K39"S92.j?7G]e40!abn%;+X8J4eiSW2d:C5!0Hts/4KSbn\;u2*=#TAck4Rp<7EmiJZZt+hjmeRB1#<(Q!5lp4#fn$>p:=]%?n`TEJupm**TN>k44t*&&7J^(b2o^l8BGU<'3TB^EqZKV@JH^&[MleB=oDmCT#$JYLoV:ZZnMQ$hWV$%nQp\\;`,(9-ruf^<(V:-S#r(B8h^`XN^+c=g-[b2di+pb.8,HT)^3I$LZH\W+;H7q2tCq5%dp.jEbaomU9bUtL):rB.ASF'*UgdD:t$G,q\nd\.HJ@sp+)#f3_q4Ha4BQ*5)<.9.qU4oM#?*M]:s1HL61(r0t>b-_?(1eX^nQd*^9pVJ%D<_EgZE)gC6U,[%(uk9Q1^5MN/&`*'hN3I*dh`7soDt4R+!4FH>ojnb@SS\SXU>d9)>O`:Gn0.tmQb?p-#[]'Tcs9<58[BJFn=_EsCP2.&bVn:cE/FGROY5!K-;_?6sG(U@"jD3c$Fb`P:T3fKQf:mAP'!c?sO5+N(!Tu:**Wd0CX$3APg''5*LDJU7'9p(cC^Y6d)d)Jl4;i:)(+kuRl2VbPKl2?+g0VAo'(lo\]//,&$,jOt,;4i'hjGe4^S%KFfT:-]a9cgS.XAJ"bg3.u-`;@pX9Z"_[Ir-Rs]8>RI\X;LG)GJ6+51Bio-9Bt,]Q.M-gcq-aGi>#Y78eitqj7&b?8?mc?rsOcLcE0..nq[lc"$8[5k8ouh/i13s-E-^dG;4$=.FfaB[mA?Qa0rke2(Y+pAoc8%6E6R#^I#o@tkVo%SW.3$==('#GuE'2^m"/q,Rqj(Z3ZiX+4sRgcUE=Wc9RZfER5lW0\Pl"HA?Tl+=S77CS;@(/SgagA+P5!oA-p[E0a9Ef[5G%V=AE1?].npGL`VJ6g^)^H,9DfA*lBJOn&H,nM\0KF2)IEQa*RnjN_isjP6m&[a(%R?O=6tV%GTY$VerHrt5Ab?<`4qZD5K9B%j_ +endstream +endobj +75 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 74 0 R +/Annots 76 0 R +>> +endobj +76 0 obj +[ +77 0 R +78 0 R +79 0 R +80 0 R +] +endobj +77 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 272.33 641.674 455.37 631.674 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 35 0 R +/H /I +>> +endobj +78 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 186.348 500.794 276.348 490.794 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNEWTEXTCHILD) +/S /URI >> +/H /I +>> +endobj +79 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 324.744 287.888 470.014 277.888 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 37 0 R +/H /I +>> +endobj +80 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 276.888 208.16 266.888 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 37 0 R +/H /I +>> +endobj +81 0 obj +<< /Length 2391 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +GatU5=`<@h&:Vs/0M#jj1u%dhZ3"aDTV,kIAO&cp&!!P8e#^U`qUd&[r-,.O]?21A&ddZr^RD=j]"5JqH*oj5jsmSTS(ZA=G@k'gB9$Q@T49mq&&cP/R1i`hKD"CfchW,.m=k5gNI;RHkG#Mkrj(*>J;e$#1%<4?p#,o(W'"c0sE=H]`7:LWt+qeLST,Is^pM^b9K;j#&JFroI\>k2O>n$jpj;,_JD1'+?')?r5Rcoa-8"Y02^V@U)/-k\:(.'kMr\Ejr7fJm@W"5'o[tMPB2f%i43cqjn3)2%tYKa8KHp"%1[ri`9BV5fLTF`F'iVbn%FhaJ>);p6GkYPBua`6(1E[cm-sr0]j9!X'EDoJFMr@JSce*"h)$H[&krRL9JPg<\tm1rS=G`kg(J?7'U]Ksl&%o"JR&I=le5%8MN3)W;E8AK-fCJ''?>60?O864K,L:EOGu?C3HU@Ltk1t]dmgN[e$]9;%`ak>C"?5<_o!G!Y?Tt1p#rJ=c_&aUVdE=q%/g'#R*F**K*ieBu]?*HIO]#H,47]I=4@E?r'Bt5pl+/",pO]V]Bg[ooj3R99+c*8LXJNR?EuuP-gr=]IuN5jf25`)3f^4/ePh!.UHr14]9#7_AXJlZPSB.d]qZ49m,%R]Zq8h?8,HgF-DMU.[r!`/r\H]D[I.?0mr`O^89qmEM28@/O+&h0#HrF:qa6-`1"X)@rV:Y0.(";.PZ2Wg>R8#;mjiYRnr`_mq-T3coRsMdU[-!m`!`70kZo`_<:]2L$de@o[a#B57dF9S#@#/\HDFaCt-6(2p\B_jl1jmY)Is4"Q3"4A;SPSr_20m!5VW+r7j]8bg[6igXPRn^.IE)#E(1%TcdZ)a>bblWNXQNLg*:POA^\(EDCh5@&U!I`%:cFF8*']Hn`AdaP<8ad""X1Gl%P,3'$)^W`%-aHLkSM'\^aS.%kSg+a:m"R,#Xn.VO!baVNgd@T<%iN^:"U7la:K*9kW0A#LA@?)EOWMM9)U/&EAYUGt(,Wj]og61Jk9)I-bQ"MqR%MQZ7o)>T%p&Da*rMZZW\mbpK=i7k01KO^i1X->nUpe;fo5WuBfq*N21kPne%1Rsc1?[&f_kULm!lIEEI`(9:oc"&$hL'oRBZi2Fb]kqe[hJM5Ki-3=K8+<2Fu^-kbR0)iDXNu+/\aI67C9mn4W&!E\loF[]g2O(CrRCBXm"`$#4)Y;Z/aRiE6MSb[X_N?BI\I:(8#m.W3[S6MB+*s?=3]gUojL1jCTb;9tfEnQN(rt6?J:t32D8,3[pE^f]mfkOE-.[.n;*_hQG0gl$o#_O8$Bd/dg1F)XaM'F)-!nbLrpRGp!cd3!&B)LX5neH +endstream +endobj +82 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 81 0 R +/Annots 83 0 R +>> +endobj +83 0 obj +[ +84 0 R +85 0 R +86 0 R +87 0 R +] +endobj +84 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 204.89 616.56 279.89 606.56 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNEWTEXTCHILD) +/S /URI >> +/H /I +>> +endobj +85 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 338.334 508.234 471.934 498.234 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 39 0 R +/H /I +>> +endobj +86 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 144.0 497.234 242.88 487.234 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 39 0 R +/H /I +>> +endobj +87 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 246.998 245.614 306.998 235.614 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLGETPROP) +/S /URI >> +/H /I +>> +endobj +88 0 obj +<< /Length 3206 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gat=.=cXf:&Up?Z+o!4mlY,"#+#XbIhKWE5M]As[IE2NqeY5Nm[(>?_k/a_:aXVHK>:n*90JE>fZ,iqSYukP_&"B&,mZLT.Hi@cd^[YA92o3Xie47qhcdm?`"_#bAR#TbBp?WeT6pE0/n'b'm&Y5F)O@U8PG_,Z(qigCL?7Y;Um$gZJg*IE/dq[@1MBGd6`7iFE($IfAHt[s=PZ[t2`GVJLHVo<CnE&h(V,i/!SA'coU$'T=aOOn-6aL"\Vb+J_FOG`bPC<)`VBbC'g[]9W=SU'6M@a4%$TL>HL\(*\W56/oMpY1i?@T#IPLKBP]`^mRGEY,k8[_;[Kh=*6CEe2D4(;madQqh'.!+2&_.JJY!ei)I^`nDT%gamJ#sbi_?)QC81%AqVph1f;N-Aissj:Dh^O?&WQ-@ZKb;\W2f5U8rCm=n7.d9jZJpiCQX$Y#?uO+`KQonu,S`Quc_2^I[Ik(Y7!Rb*!b)HYSK8fUDGipgI-qcjUPf%)Zci0Beo?<5bFK-nANH&CQmBc!pF)7N]eR^P13;%YLoY%\>*?[pN'Y,Z7No34_N`A<"s%&IZf+NgT5Zm+uQZ.*nd;8,/jD=J+I/7Htc?p,'+F1`tMLl51KO!HtMU:Ec@C&]79>T>AI)g\6V1S=FDEq&!2W/CIlWV6$B729gVI7*Uku:_1`q>K@@8)ucK#E=KSpQkhc2-r9a$1,Qm0ObCH"b*@KD^9$k&"YUdthBDf0h#k[oEOn'/5MBQOF-D1'#Hd(s$NFVaG#&FG/EpIl_u`U,>-*T#_ujE3/SHd6`XA-:hs_F=6sj4tDH*'L*jAb_#-18T6t4RkL]dET&J6,]!e*9OVI.@>eq%f.UpZb*-YGN^`5"%)kY#H;>S8<"06*9rOC).ZOXtMP_ttAN:686B=*J*<8cd#Wc]2:+ogb"4UP;rOBVsg:9m!B.OJ*,/D&m$;UAsD"(o[%*+@/[+&bS+1TV\0YoHjn6-[,a]C4Hoe7[R*-uBEWhhl**H[%>57K&WNe_iT]-o&@i%LYcND)ehpqmdPj0d57WCPZuD`Y;Q.'B=TX'm)$ZP]8Y52'JO%^*WRQae\37@X_KV+dS^R=I?'+3d'W_LrjV964*S2hD9]XBKXXO-HBFN4hVK];%`C.B+gH?]LUPVHIOg7.a#\$m5k@J7MakETKVd!=H^%Dmc5+nMd&-_eKm<'>]ltAmR8)fNXo`"p>'KZ>p@EorF2C'^njlP]^)c")Eij^;C6aC10gWYr[V^>5>h#YQW!Q"<;rk.UVZna56g#iQPFU=JP[%?TZ[&E>oZiDn9&u&Bq-lO)]H@nS.BU=,tM7s/,f*J^F9obN;"F>L4uR)fBAUQb>2I=C03l16=.q7f=gI**,H$9(iVKGn#(6hOt!(3fsLN0;cEhB,;LQiK.1%.9tC5/3Hac_\ua#@5?R))Y%i3:5orfdp+t5U;Z*q8%7U(GP)Qf\A`(eb9gumo`YV#)7#bO0?rQKCp"hJ6*@*+@oq`L%?,no97u"?`L:I88!U^9h+Pmr:Co/gV@?UNBKoIWP"F?,h>kdALihH5]DicGebsDa",i/kpJS"O&OIq'@/=hq(i!)rOp&d2Pc]&J7P7,8;U#<6]%+)-pr)8&Ie>%NHU415``13j8g_rr4*2d-M6CaJ+>$.BQ+Kd4cNW/<_F`$?q"d8Z.WL=FY<3.lXdk.68GZ?8j:"9G6CU34>n-^emU=%<-o)W/!;('B4"f8eB/_1l,L4s&'tdk-JQJ@iG@W6o,n[g)?$QFhM5=C>ZeMabLKg^Gq$;UG_##J;P2?ceO6IU,!R[IN?uM8bHUiISSmKF98ZCCW[]ls0cHD-07c9])M>chn:S.p/k=p?fE?='hPI6=fB>c'F9mj#@,g%PIKm5jM:HZ,W^'ceEiCIQF3:.^n-_H&AX!@WFA0-R)u.RDffFtM8)bZ9&/Hnb:U6LbR:r2bLfHXSs4eb-rnW/^e,NH&mRb"B]RsKR=+`i)FJ31pQIF#;/S?r#;fH*EBoW/',^XD5\%F]"d91&S:1n26EHC_5r21;-#?%X1lQZ9FB]Z9q-Wg27J):+-@FH_GK1,B;qEGRZA2=^4B258!3E1DH?(W;k'X,\6*'^?PrWa@@&p"~> +endstream +endobj +89 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 88 0 R +/Annots 90 0 R +>> +endobj +90 0 obj +[ +91 0 R +] +endobj +91 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 219.0 421.866 435.37 411.866 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 41 0 R +/H /I +>> +endobj +92 0 obj +<< /Length 1620 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gat=+gMZ%0&:O:SBO)=.MjP8O;4#l"7?_TrUqq54\5-*H'T'8PaHDmQF$\3'n*!*%Z7..LN!(=^F(XRY7HE!>1qTFsp(6brj_A=1lOgRApgFOl%^IZF@*!P[[G4r8?2TX.es(D#$5drfMsFia9=(QhMgT"4D(TZ,N*4d;28D8inHe\6DK5*mLR2i^=:QLq[4]licLqPteP;n]b?1RPl;DJL.[e:F^.R#2DRGL_a/KVEJhNp@PPR@)rjuF5TV9,mGBW_*;.RY*8;.qR_TuB&?;i2FoU7sbIM_**pdsS8UMNrMEM./'2D5h]M79W\r"+*eDNET=$Y!YF08A$.SF&Vt;_"eZQ`4RXV6=I;0V=g;1%\cu?(Dgha@HUOjJ_BH\))_qHo/!>oA)@XSN=KMUDJE:iL&F:X&oT>6`ruFufe?[`W2-$Z988rG9'LC84AD5VKCkNk[hJ1DUMECW'@c?Z!0cpq=hnDae:r%!9@'&]YrnuP_C*JWb/8uU"1Lp[Ni!ahTAH4oaSKG1ckkL_bi(l[2`\M?oF\_]^m`"+OGIPU2NJ0Ic)#Zstc++#&&(Cb&H-%b'Di@]i;&6:=@_+@qD>ZPg)Lpb.Dcj[]B6d4"l!;&@;?GFi0q/phoh:://4.hfH_sf@DKdfATTG1*fAO$o4NQ;A*J#K6Zf"p0-K/^3nL1<[]>f<#7C]!Tko0 +endstream +endobj +93 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 92 0 R +>> +endobj +94 0 obj +<< /Length 1178 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gatm;D/\/e&H;*)Tk#!J([6W$P+pHKrQll?:]s4q]"ihG+&n_Q%+p_5bADi?s*[C/N[UC&=((M6;**RWF3hPpm$_r-pU^:/.*CkP?Ko*rLXT^qNdgRMNAuTkd*Y=Ti#lU5O.s9A>#V4[Yr,TBLSt6tk]1J0*Xk@F0g?".'7f:6M-TjUR`T;M!VZ(YSuqWR#K@tFPaqrjHcR1;?arq(Dp#pZ&I,0'Q&1#fp>EObZrL!`?C)264a]1W5'O_(X^1r9dAT4i`RMGDk&=em[m(H[(;Q-+b+2K5,X7h])$u,KZ.qno+Ha^fVFk-ZR`0;^FT.C(mBO\XYU5V',cuDdk3T!=7YVOBmUKB\4Sq@!cPdlV]HG+$'''.HC-=R;H6s$DkerQXl-ULBqNn1Cq&VTp$$.rJp&TE#[J4(rOit7*Ca*91e&ZAun[5I34@1acEK<&gNVmYRqJBZ5!J9M\(Jj+ZG7^"is*\5#HdTm<8KB8:=#p(N,h@X2PCl4p#bu5]tMB%U!/a3EHddjg(2f(pLiNn]/i*at(-n0uIJYkgUDgENcsR5^U/N74LB/c+T(-CDFfT'nb5@P04dcTRnl+43='R%frF0\LSd9Ti0B2;$=d\oc.XPbR2fZs)jZn&"PZ2O4e8b]4GK]?%ok%0huBkC;BXVO\_9IGNQPE0"t3a?WOBKG^/6X'ib=?4K7C]9j[PYL_q7QHNrTqXu(T)a_6HE7-D.OG15]Z[F=f+6stS$*]WiN-O=`^WtIV&Zu8mUZQS,O$p.$@Uh%I"])[!Hn'*sbn74aKqO"4qNUc:AUWM?:UuK;AfgiK7M;E&\gZ@u4*&!='QjM2uL]4TbZ1sH +endstream +endobj +95 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 94 0 R +>> +endobj +96 0 obj +<< /Length 1305 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +GatU3>Ar7S'Roe[&3:6(gZ4`';-]RjC[)>_Jh08p?pKq]`F^*,[cGPNlCd?j+)0-R`MEGd":6X@SF>7Imu[N.mL?@2J.\G^r7"*MXG6nRIrKoad4[lc2r_Yu&`!*gjS^3G#faX0:5g'gLk(_Tds&8i8:cT>@^DI%FdJ?=Im!_4-KSN9\32eTL+A=Q.^ON&BnNJLV"*o_S#),a&&*02A4\(kl.qk<90i!8GY5XP33=Km_1::s/rMP:2=?sg]\CsrcJBP4*"oMHNkYPI@@Fl@6ReKDLR3>qFtXCkWl4:"h.$.!KCrP$U[2P`c3R3-iZ'#L;SMjldre:3bW'?GmFQA_(DWjM-3/lr)j;is0"#jBF%9ik.5V+4n^.SOS\f^$hh*)&1$+H\_/IMN;E?;UQ,$c,:Y9C.0/muSA2.gRJNn+rGgAV[GctipKZC6+V>j^idb=GVoOcA^fHO%\Qj5Jh`MK5K1-AK4,KlJBVq##T_Am]1`1P3cRR4WdBnDtmV"J?mR0=d=s90i:A`2qO_MdUF3&gdYNA!/-;!g0V_5?VQC6&>`q=I+#nAF&>_;QNh0pUsm8!r#qP@b984e!D0`U3!p`?IJl^+Ha42\';1l9&grb7\E*[]sT-+/EgGTVR0Z/_Pj)VSk`M9^[J.+^Dh$Q`H&-TRFGR[3f+EDn&mWZ+4=s\?V_WanAD8rVE$bG3fCur1SVp[NDdFGg.I6tU$([8cWak,^\0a):HeVcN~> +endstream +endobj +97 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 96 0 R +>> +endobj +98 0 obj +<< /Length 1243 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gatm;D/\/e&H;*)TbnX)'^:U\U:@?&d&nED"@]f0T;m:cCcW/?9-,Z422;)(;(n4`R?X&4#[g'MOa$O^GK33l(R+=N1;F/lYZO[tn1_ZZ14M:!N1%X]&r:e:fERs\:O0O_%dntgDaU:UJ<[Ih0%##g=604&*P;kZH13AVIG&Lead4(Wh(>f#j\>J[$pN`&e[&@!Zt6Li9WWHAr_gf">d*/QDXF')E$f`A>Y'F%3k3UrH=!O'`Oj04Za(hB48\O3p==P[2Vt=^=rY8<6apK']&aVCY2*hm*-?@9=(B9!n-7g#h%kZ17,%i>34^Xq"XtuDN,:Z[cJY9?>P/GejcTZ'B7X1gT;>f]M\o:D1#h-IZS>u%2Yici],bg9L%MWDI@b=U4DU+&OAm<8@$=:hl.RbFrpaq'Q!kPjJ4*MMbUEeH,eMpt1b7/ICgX9.ei-M0fjUqeU,sXDXbVd$X%N,Aj\kL?lbd=U"=o9fS"=9F\0i7%[EHqBZ:r8r%H]p0V_BV/-96_gHA43t*@Am8u6J_0U=\g%"Ajn+G#Lg3I70aXM*d2,joJr'bGM8-"r__^6*"-llf]EWI=)Dlno@MC`h6BpFs)eDlSr&5@2k``dZBlKZ?*7B(f.]':o>?%%XZWs^Q)ep18;nb$$);0h%s@XdR/#3cMUrdF7KbaTkt"F,#(&fC_^0FMY%N;.@u<9D"eH^olt6uSIi7VO.RL_1hn0C%8C8\h8$YO"]E%@'2IYdR,<>c)\r-Mh08f+P:2l_houJm\ntM:=+Y4HL]m!^$-6N4Sal.9fgL''4]i"P@u[Pq[=+5?Y(Ob<:L^C*i.Z:/4%@P6^bJ\+R@]0>Kk(SI4"S=>rB`Sj&or?WlD#%5_f^6b]7J3V!R.g4H&"W&>5Kqk/fRhg=,ie8!V_.K:R0G6l3=n[MCX$08pYnDNR6"lWJ`NsNgnO&_$RM0tXPWHkYU8MM;\n+2A4A'RAQm3'9]l%T$&rF5>ArCpBg!l<)%1MFu39e?KO"ma;!PIKX4,]CF@4#bUCrnQl*B'4%-Vf?=C,J8nOEA0a@9f?m=7dX-P]@M\H7n\OFX>qAdm\Kj_qXoJ:~> +endstream +endobj +99 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 98 0 R +>> +endobj +100 0 obj +<< /Length 1217 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gat=+=`<%a&:W67?r[o&"(f]i\D/,+)TO=((l$cp:Ji/IC*aPOTe<=s7a_7m+Xr.=MCYBT+[]MZ2odkt%c8oef*g[P++/";SbV&Z69H@iLdr/u6g7O2`*9+qVqJgdhIgd&q`l>2.4E_;(gS1VG3-CHr(?!c2']0&T8#&F/!sj4=C:UkJpB`c%4bcii\UWILdlgoBS&h_8eCF8DXreT*GffGHiA/oks(N2M8(%Q53hieSaI0ic'OHV^+1Dg5ff(On)Grk%^l7FbWcp*-I1T?h.YG-EhMD3fYlIgM%2L!Fk1XIIrV1d#Jo2/KKc;'\YO3&-75!$As>SUPI9VMu!KglZ]HGKibVEEG[b;D`2m*X]%CONWoOi'1hH3H_AkTp:gfDLbVM+?JFD(1e!o*K1(<#a"<[1=K#:SiP.aJ79P1WpLsUNFr_X$\5\E@Vd(OQgQA=IAg7T`/.gFN]`BpFeb'%^tWP^XZ['gqCMgD+7JVK_)"ZW]K52(!'qRqG)mYBDHAVFIVm;VMCCW_3\)chEpKDOTM>/c*25t?`V,B=049(1b,2'k2YNOG5dh,@3qK@j>kG6S!(G0C<#/"I/V@._Y+/mi^Zk=84>1Ud>m4Ihlnlp4E&jAR^5YEb/n]ek#m#$W6`9hPV:RqSEmE*+,tP)%(.L5'58rAjKD.j6?C)9h"J;5Z#n970A<]4Kn#t/-l+ZL24G<5%g-Vb?daE?0Yc^a5f2#'<>i%T_a_&mZo7"/NO&Mg_g?:*9e+p5E**s9^<-9fnA,D3X%jp2ghAh0P?,.u:2I>9k%bn]!hC%&8:?jp/-j@K0E$HPAKIt)]+^He;<[G[a'o:%HFN$/4<7QJOlX?`-`-U'e9F'I5>E/;l6;*g9@Y^TU.#0_&lYrIQJsT+,fees4Cb0.!dKUk#bVE33q_\b^BBMIs,t<,2JF;es#R&^6!G0EEc,GbK8Yd$V=VPOqSCO2,rIq?dED(48ECW^3Y>B-_!0Y=B7g4.Kgq7`HUuY>-7^s%UaRtOVP'`EI6654_jDS$%-a.h3?m#g?9oce+=_t3$om~> +endstream +endobj +101 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 100 0 R +>> +endobj +102 0 obj +<< /Length 1207 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gat%#>Ar7S'Roe[:gFKcMtTOa78iK\!c&_k(kNsT]Y.9m:i/6*TSl<5=b:)^]gk$I;Gh=?fFVbgn(^,K^"k4lf?,6h\B\^$E1OTEEErDQLFA%L!e5XdC_Gp[`@foB@A6iK/)ccq(Vb-STt,OF6pCX`E]uRSho?j'"f5sq_F/PIC'0P+#Wl0D$#g0p;8;T")710om.O8(Yd,Yh%&g7m7/IQi[sZcUq=1ZSlX88Fru1u;YM9n`JOaJ5a!CX?I*h3',[nEI@QeW^mdsQ@>LON#*Ws\`)V.BEOf/8^hD,;0aiXS3-R])3$+eN0@FDll'=JIu/&_br-&9:&CZZ07e1Z_rGao-JT%hos!DnJ?-#cX6kMfdUdt&op!O6>N:X;7_aF>q_\^*:mI#_>TipNLo,PpmeQSVl\<1#H;<8a3b^([,dmI>oH/:L+`"ckThr["IM+d,1\&DWU;g(4eZ0=Z7-dT17oaW[VM*RPShB'D#lKR+?.@'qh.es=.Pr61NRb,dBJJ[L2H]/NR8#G'b>X>[1ne.P39'9$((QaG5=oRP2Pmt46lFU.Eb0aQ4h\]^bait;Kg!t#Mh!d2/WYmCK7=5WF)PRbL)&1mL?ICAX%M`?0;Se]m5[PSl<\<8_N]^sCUFlc3LYFB'Y@:eK2`h`dk2OT@R>%>p+!(IiF`At<`EjpIr+T!4<@VU58I1Cij4K.$7`H`>q0+)L&R]>fs/XE(TDB"jC1?E>i5dS51T&#Dg=\.Y=M-6C./5_W;q[q'E0MioV?Xc;"pFReo#g8mO_6!Jj(Wp4ZYWOq8HiE:30rO)h;AsM6i%/[B*a1~> +endstream +endobj +103 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 102 0 R +>> +endobj +104 0 obj +<< /Length 1276 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gasap>Ar7S'Roe[:d(nae+c>DM;m+ITj<:[#_lX?V^a)WRs"qePXihu]64.%UdS@M6TIR88#">kqp(2ADs!gq>7mPGib6%I`R/:NU=fC;#RP;WH&R?94)(0W3Y[uN;VFcL$fF'Z>'%g/uq$m:k`U^6sb4Ah^W2g0V^&4u?[IM!.ZM3nTU@=,?@c_=<\F,qmgcpOuVAOu"YaPRIC+4W^QJ'3l*)tl"&8>+NX:AF)au,SY&d"FZErUh>-irH3[?9#.E\4[u9BdhG!:`UL6p?=dN"H-5[k_qQQp>th$)LZ4&J.<'C'c48@)jP%aUQ@f'Slk$>N@8L,[5!k^$.9=Qf<_pqXIhT22kX(+`U%K/=8EL%L>RV)2*Tq]#_bRhHtV`Kq@`97Ms((En^l[&*77FJ*9kH0=tj%1<\2BZ58tMO7E0F5r-XapX5F'ih;ku`.4A[8h(Z'/f"pm#Nbdb'tOpfTd^*#1107nf&B8(f0fj?dNjC2qilJ>'Mti'N3WR?lBAik,n]-e;`d3>`+&fSF]@7NEC#d*"Q:o#]PRjFGH`]An,8e\(9>(h:qi6APe,'HeX-4s$fWHV"ro!"JAlE@Pt03WbWesu*&tiqb'1C"D@ca-HX0[Lc8P02'6Zo+UgdGQS,[27a&SZb4_Q*9JKSUdTZVYWjJq+J(I:J@;P5W8AK@encYM1!f>G-;Se0?3_ffV4GFASKR>6P&jsb7iQC$d<3)nkj`CUCca5/L4?dmnn2rO?"3-,sglf.,K+2)sjD8Q\BIiE5S5!@a!J=JSD*ujZ#o^3Y>i=:s*@-1*c;)a)DR&$ORk1V"I52@ce(LaX1:ZL;u43VYPKKj9t/B/5fEnk.d<=Zn7KL\apiZ-S??P(7U$B18Ve5E^aFDX\0Bn\S3(n&VO+0UhMAJadf9s40oK#Q[XR[;'k`,Q"_4FmuR$u;cb\3i'g]`+-?Q-orB!nE0_5uGf@N5#R2Dc%gGBCZH]fH1:p(?UAr=:5D&fL~> +endstream +endobj +105 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 104 0 R +>> +endobj +106 0 obj +<< /Length 1470 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +GatU3D/\/e&H;*)+W)'YGW$e(e6BP6BU].JOCh_Wm_e$lTOlj9,*09V"Nq5-^!EllAFZe&j8K\8k*]>9.e"<]`Pe>Em$i.\SY7T-gfLdDQfq$:A,J$%;?o;;>rrH*,P_A\bF!Cjm)g?KTs#_=*^m9!8LVBVuPR-FY.F7t<:#7#>?&;\[Fo)<%enA]n4J=]P^Of$B,;40.6']WE`1^Z*'mn_WU!5ea36VTJjnRE!?Y:`ENmRJ+e0'0TVbVGX[Ze`,$1%5Fh@5J#o!^dGhT3GU6pl7O)P.I%j'7ArY603'N;JPf^8s1&&J2KIAld5?'%s@`;n]kOSdcL@:(bN1#Yb1)T!L#HlTn5#QAT]o3M#FZoN)i!4p]EtI*U.JOo2:3XL1S'lp;f4k\,/jf!K!:Khu"^#HS"jN(h>S_,Hq]Fc3_0o8KmAI[Wch+4&nj!*P@CD";!RRg8%82!aT^<-YGB22SRSJ,j^_r$a!tC6-*A2&aXoW((-P$i>;FTr6RZ0/*B7Moa(u44G)!%7#Zi+3dW'mk3rb\Wn4]j.t(heVdXQY5@,M1*bL6`5shdrQP_*Ht$(7rFH9gZ43LkEN-YP>!Ggm2b*Vc"4SqH"JM6Y/-R/`DH4onk"jZaMim.;DE[mo\_kG"Zo,"_?B!;6jG`h'82En0;V\IiqX)=;KLm@B'6l'(mOD/?q$LR3[8=bCrJ)Z*l=,Suo-^U-'9,[=tO9,isrfTlODPgnB/tUED=kkWD&`Xb6_(Bq\n/\o!J_s,U33*X&0Pe;7(dXU7M/Ab@QaNGqkIP<^n7YHMc+eXiQ?[?;#H@H+d_H'V-l0k>)%@ro0trE90AWko0!"MPqOjgV;*,]u#??UjK"em03[Mp^.F&V0$+\m[*P)ssr_V!duNhim92$U'XE_[dc+7VG6f0 +endstream +endobj +107 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 106 0 R +/Annots 108 0 R +>> +endobj +108 0 obj +[ +] +endobj +109 0 obj +<< /Length 453 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +GasJO>u-),(kqGS'tn^GX8RM3mH/S#N7!:d'B98%1.h8.*DV*u*E5'.Oc[okk<.q7%BCbcflBIa(+@9LK(]dF`*F'kKaCX<`f*cZ<9WFY]g/bL\T87;-uiUbj&\s/36Pfg20aDt:1T6'"g>Na#:J5W?A,LWBH8g1>d0;a6>aNmQNmrl"S@e-.jfT>oDHJ(`Z2Yh].2G$W?#'33"S[@Om0HOSVU?o'9VG7l0A]r)J1$t+@uI^ac;4T6s!%NT]u@k[.0S'0.D=m=~> +endstream +endobj +110 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 109 0 R +/Annots 111 0 R +>> +endobj +111 0 obj +[ +] +endobj +114 0 obj +<< + /Title (\376\377\0\114\0\151\0\142\0\170\0\155\0\154\0\40\0\124\0\165\0\164\0\157\0\162\0\151\0\141\0\154) + /Parent 112 0 R + /Next 116 0 R + /A 113 0 R +>> endobj +116 0 obj +<< + /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\40\0\157\0\146\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164\0\163) + /Parent 112 0 R + /Prev 114 0 R + /Next 117 0 R + /A 115 0 R +>> endobj +117 0 obj +<< + /Title (\376\377\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156) + /Parent 112 0 R + /Prev 116 0 R + /Next 118 0 R + /A 9 0 R +>> endobj +118 0 obj +<< + /Title (\376\377\0\104\0\141\0\164\0\141\0\40\0\124\0\171\0\160\0\145\0\163) + /Parent 112 0 R + /Prev 117 0 R + /Next 119 0 R + /A 11 0 R +>> endobj +119 0 obj +<< + /Title (\376\377\0\120\0\141\0\162\0\163\0\151\0\156\0\147\0\40\0\164\0\150\0\145\0\40\0\146\0\151\0\154\0\145) + /Parent 112 0 R + /Prev 118 0 R + /Next 120 0 R + /A 13 0 R +>> endobj +120 0 obj +<< + /Title (\376\377\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\151\0\156\0\147\0\40\0\105\0\154\0\145\0\155\0\145\0\156\0\164\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164) + /Parent 112 0 R + /Prev 119 0 R + /Next 121 0 R + /A 15 0 R +>> endobj +121 0 obj +<< + /Title (\376\377\0\125\0\163\0\151\0\156\0\147\0\40\0\130\0\120\0\141\0\164\0\150\0\40\0\164\0\157\0\40\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\145\0\40\0\105\0\154\0\145\0\155\0\145\0\156\0\164\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164) + /Parent 112 0 R + /Prev 120 0 R + /Next 122 0 R + /A 17 0 R +>> endobj +122 0 obj +<< + /Title (\376\377\0\127\0\162\0\151\0\164\0\151\0\156\0\147\0\40\0\145\0\154\0\145\0\155\0\145\0\156\0\164\0\40\0\143\0\157\0\156\0\164\0\145\0\156\0\164) + /Parent 112 0 R + /Prev 121 0 R + /Next 123 0 R + /A 19 0 R +>> endobj +123 0 obj +<< + /Title (\376\377\0\127\0\162\0\151\0\164\0\151\0\156\0\147\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145) + /Parent 112 0 R + /Prev 122 0 R + /Next 124 0 R + /A 21 0 R +>> endobj +124 0 obj +<< + /Title (\376\377\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\151\0\156\0\147\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145\0\163) + /Parent 112 0 R + /Prev 123 0 R + /Next 125 0 R + /A 23 0 R +>> endobj +125 0 obj +<< + /Title (\376\377\0\105\0\156\0\143\0\157\0\144\0\151\0\156\0\147\0\40\0\103\0\157\0\156\0\166\0\145\0\162\0\163\0\151\0\157\0\156) + /Parent 112 0 R + /Prev 124 0 R + /Next 126 0 R + /A 25 0 R +>> endobj +126 0 obj +<< + /Title (\376\377\0\101\0\56\0\240\0\103\0\157\0\155\0\160\0\151\0\154\0\141\0\164\0\151\0\157\0\156) + /Parent 112 0 R + /Prev 125 0 R + /Next 127 0 R + /A 27 0 R +>> endobj +127 0 obj +<< + /Title (\376\377\0\102\0\56\0\240\0\123\0\141\0\155\0\160\0\154\0\145\0\40\0\104\0\157\0\143\0\165\0\155\0\145\0\156\0\164) + /Parent 112 0 R + /Prev 126 0 R + /Next 128 0 R + /A 29 0 R +>> endobj +128 0 obj +<< + /Title (\376\377\0\103\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\113\0\145\0\171\0\167\0\157\0\162\0\144\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145) + /Parent 112 0 R + /Prev 127 0 R + /Next 129 0 R + /A 31 0 R +>> endobj +129 0 obj +<< + /Title (\376\377\0\104\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\130\0\120\0\141\0\164\0\150\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145) + /Parent 112 0 R + /Prev 128 0 R + /Next 130 0 R + /A 33 0 R +>> endobj +130 0 obj +<< + /Title (\376\377\0\105\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\101\0\144\0\144\0\40\0\113\0\145\0\171\0\167\0\157\0\162\0\144\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145) + /Parent 112 0 R + /Prev 129 0 R + /Next 131 0 R + /A 35 0 R +>> endobj +131 0 obj +<< + /Title (\376\377\0\106\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\101\0\144\0\144\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145) + /Parent 112 0 R + /Prev 130 0 R + /Next 132 0 R + /A 37 0 R +>> endobj +132 0 obj +<< + /Title (\376\377\0\107\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\151\0\156\0\147\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145\0\40\0\126\0\141\0\154\0\165\0\145\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145) + /Parent 112 0 R + /Prev 131 0 R + /Next 133 0 R + /A 39 0 R +>> endobj +133 0 obj +<< + /Title (\376\377\0\110\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\105\0\156\0\143\0\157\0\144\0\151\0\156\0\147\0\40\0\103\0\157\0\156\0\166\0\145\0\162\0\163\0\151\0\157\0\156\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145) + /Parent 112 0 R + /Prev 132 0 R + /Next 134 0 R + /A 41 0 R +>> endobj +134 0 obj +<< + /Title (\376\377\0\111\0\56\0\240\0\101\0\143\0\153\0\156\0\157\0\167\0\154\0\145\0\144\0\147\0\145\0\155\0\145\0\156\0\164\0\163) + /Parent 112 0 R + /Prev 133 0 R + /Next 136 0 R + /A 43 0 R +>> endobj +136 0 obj +<< + /Title (\376\377\0\111\0\156\0\144\0\145\0\170) + /Parent 112 0 R + /Prev 134 0 R + /A 135 0 R +>> endobj +137 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F3 +/BaseFont /Helvetica-Bold +/Encoding /WinAnsiEncoding >> +endobj +138 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F14 +/BaseFont /ZapfDingbats >> +endobj +139 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F5 +/BaseFont /Times-Roman +/Encoding /WinAnsiEncoding >> +endobj +140 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F6 +/BaseFont /Times-Italic +/Encoding /WinAnsiEncoding >> +endobj +141 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F1 +/BaseFont /Helvetica +/Encoding /WinAnsiEncoding >> +endobj +142 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F9 +/BaseFont /Courier +/Encoding /WinAnsiEncoding >> +endobj +143 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F7 +/BaseFont /Times-Bold +/Encoding /WinAnsiEncoding >> +endobj +1 0 obj +<< /Type /Pages +/Count 17 +/Kids [6 0 R 45 0 R 60 0 R 64 0 R 70 0 R 75 0 R 82 0 R 89 0 R 93 0 R 95 0 R 97 0 R 99 0 R 101 0 R 103 0 R 105 0 R 107 0 R 110 0 R ] >> +endobj +2 0 obj +<< /Type /Catalog +/Pages 1 0 R + /Outlines 112 0 R + /PageMode /UseOutlines + >> +endobj +3 0 obj +<< +/Font << /F3 137 0 R /F5 139 0 R /F14 138 0 R /F1 141 0 R /F6 140 0 R /F9 142 0 R /F7 143 0 R >> +/ProcSet [ /PDF /ImageC /Text ] >> +endobj +9 0 obj +<< +/S /GoTo +/D [45 0 R /XYZ 139.0 725.0 null] +>> +endobj +11 0 obj +<< +/S /GoTo +/D [45 0 R /XYZ 139.0 405.674 null] +>> +endobj +13 0 obj +<< +/S /GoTo +/D [45 0 R /XYZ 139.0 148.348 null] +>> +endobj +15 0 obj +<< +/S /GoTo +/D [60 0 R /XYZ 139.0 228.506 null] +>> +endobj +17 0 obj +<< +/S /GoTo +/D [64 0 R /XYZ 139.0 217.226 null] +>> +endobj +19 0 obj +<< +/S /GoTo +/D [75 0 R /XYZ 139.0 725.0 null] +>> +endobj +21 0 obj +<< +/S /GoTo +/D [75 0 R /XYZ 139.0 348.214 null] +>> +endobj +23 0 obj +<< +/S /GoTo +/D [82 0 R /XYZ 139.0 579.56 null] +>> +endobj +25 0 obj +<< +/S /GoTo +/D [82 0 R /XYZ 139.0 172.48 null] +>> +endobj +27 0 obj +<< +/S /GoTo +/D [93 0 R /XYZ 139.0 725.0 null] +>> +endobj +29 0 obj +<< +/S /GoTo +/D [93 0 R /XYZ 139.0 641.561 null] +>> +endobj +31 0 obj +<< +/S /GoTo +/D [93 0 R /XYZ 139.0 463.942 null] +>> +endobj +33 0 obj +<< +/S /GoTo +/D [95 0 R /XYZ 139.0 261.3 null] +>> +endobj +35 0 obj +<< +/S /GoTo +/D [97 0 R /XYZ 139.0 192.28 null] +>> +endobj +37 0 obj +<< +/S /GoTo +/D [101 0 R /XYZ 139.0 655.7 null] +>> +endobj +39 0 obj +<< +/S /GoTo +/D [103 0 R /XYZ 139.0 596.54 null] +>> +endobj +41 0 obj +<< +/S /GoTo +/D [105 0 R /XYZ 139.0 438.78 null] +>> +endobj +43 0 obj +<< +/S /GoTo +/D [107 0 R /XYZ 139.0 271.16 null] +>> +endobj +112 0 obj +<< + /First 114 0 R + /Last 136 0 R +>> endobj +113 0 obj +<< +/S /GoTo +/D [6 0 R /XYZ 139.0 725.0 null] +>> +endobj +115 0 obj +<< +/S /GoTo +/D [6 0 R /XYZ 139.0 418.61 null] +>> +endobj +135 0 obj +<< +/S /GoTo +/D [107 0 R /XYZ 139.0 198.721 null] +>> +endobj +xref +0 144 +0000000000 65535 f +0000046813 00000 n +0000046989 00000 n +0000047082 00000 n +0000000015 00000 n +0000000071 00000 n +0000001985 00000 n +0000002105 00000 n +0000002249 00000 n +0000047235 00000 n +0000002383 00000 n +0000047299 00000 n +0000002519 00000 n +0000047366 00000 n +0000002655 00000 n +0000047433 00000 n +0000002791 00000 n +0000047500 00000 n +0000002927 00000 n +0000047567 00000 n +0000003063 00000 n +0000047632 00000 n +0000003199 00000 n +0000047699 00000 n +0000003335 00000 n +0000047765 00000 n +0000003471 00000 n +0000047831 00000 n +0000003607 00000 n +0000047896 00000 n +0000003743 00000 n +0000047963 00000 n +0000003878 00000 n +0000048030 00000 n +0000004014 00000 n +0000048095 00000 n +0000004150 00000 n +0000048161 00000 n +0000004286 00000 n +0000048227 00000 n +0000004422 00000 n +0000048294 00000 n +0000004558 00000 n +0000048361 00000 n +0000004694 00000 n +0000006850 00000 n +0000006973 00000 n +0000007077 00000 n +0000007252 00000 n +0000007445 00000 n +0000007643 00000 n +0000007833 00000 n +0000008020 00000 n +0000008218 00000 n +0000008420 00000 n +0000008622 00000 n +0000008822 00000 n +0000009021 00000 n +0000009226 00000 n +0000009360 00000 n +0000011679 00000 n +0000011802 00000 n +0000011829 00000 n +0000012022 00000 n +0000014538 00000 n +0000014661 00000 n +0000014702 00000 n +0000014904 00000 n +0000015115 00000 n +0000015308 00000 n +0000017648 00000 n +0000017771 00000 n +0000017805 00000 n +0000017983 00000 n +0000018120 00000 n +0000020626 00000 n +0000020749 00000 n +0000020797 00000 n +0000020934 00000 n +0000021144 00000 n +0000021283 00000 n +0000021419 00000 n +0000023903 00000 n +0000024026 00000 n +0000024074 00000 n +0000024280 00000 n +0000024419 00000 n +0000024555 00000 n +0000024760 00000 n +0000028059 00000 n +0000028182 00000 n +0000028209 00000 n +0000028345 00000 n +0000030058 00000 n +0000030166 00000 n +0000031437 00000 n +0000031545 00000 n +0000032943 00000 n +0000033051 00000 n +0000034387 00000 n +0000034495 00000 n +0000035806 00000 n +0000035916 00000 n +0000037217 00000 n +0000037327 00000 n +0000038697 00000 n +0000038807 00000 n +0000040371 00000 n +0000040497 00000 n +0000040518 00000 n +0000041064 00000 n +0000041190 00000 n +0000048428 00000 n +0000048482 00000 n +0000041211 00000 n +0000048547 00000 n +0000041386 00000 n +0000041587 00000 n +0000041758 00000 n +0000041917 00000 n +0000042111 00000 n +0000042365 00000 n +0000042694 00000 n +0000042930 00000 n +0000043131 00000 n +0000043356 00000 n +0000043569 00000 n +0000043752 00000 n +0000043958 00000 n +0000044216 00000 n +0000044462 00000 n +0000044743 00000 n +0000045036 00000 n +0000045406 00000 n +0000045735 00000 n +0000048613 00000 n +0000045948 00000 n +0000046064 00000 n +0000046178 00000 n +0000046264 00000 n +0000046375 00000 n +0000046487 00000 n +0000046596 00000 n +0000046703 00000 n +trailer +<< +/Size 144 +/Root 2 0 R +/Info 4 0 R +>> +startxref +48682 +%%EOF diff --git a/doc/upgrade.html b/doc/upgrade.html new file mode 100644 index 0000000..a7ea3e3 --- /dev/null +++ b/doc/upgrade.html @@ -0,0 +1,106 @@ + + +Upgrading 1.x code
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    Upgrading 1.x code

    Developer Menu
    API Indexes
    Related links

    Incompatible changes:

    Version 2 of libxml2 is the first version introducing serious backward +incompatible changes. The main goals were:

    • a general cleanup. A number of mistakes inherited from the very early + versions couldn't be changed due to compatibility constraints. Example + the "childs" element in the nodes.
    • +
    • Uniformization of the various nodes, at least for their header and link + parts (doc, parent, children, prev, next), the goal is a simpler + programming model and simplifying the task of the DOM implementors.
    • +
    • better conformances to the XML specification, for example version 1.x + had an heuristic to try to detect ignorable white spaces. As a result the + SAX event generated were ignorableWhitespace() while the spec requires + character() in that case. This also mean that a number of DOM node + containing blank text may populate the DOM tree which were not present + before.
    • +

    How to fix libxml-1.x code:

    So client code of libxml designed to run with version 1.x may have to be +changed to compile against version 2.x of libxml. Here is a list of changes +that I have collected, they may not be sufficient, so in case you find other +change which are required, drop me a +mail:

    1. The package name have changed from libxml to libxml2, the library name + is now -lxml2 . There is a new xml2-config script which should be used to + select the right parameters libxml2
    2. +
    3. Node childs field has been renamed + children so s/childs/children/g should be applied + (probability of having "childs" anywhere else is close to 0+
    4. +
    5. The document don't have anymore a root element it has + been replaced by children and usually you will get a + list of element here. For example a Dtd element for the internal subset + and it's declaration may be found in that list, as well as processing + instructions or comments found before or after the document root element. + Use xmlDocGetRootElement(doc) to get the root element of + a document. Alternatively if you are sure to not reference DTDs nor have + PIs or comments before or after the root element + s/->root/->children/g will probably do it.
    6. +
    7. The white space issue, this one is more complex, unless special case of + validating parsing, the line breaks and spaces usually used for indenting + and formatting the document content becomes significant. So they are + reported by SAX and if your using the DOM tree, corresponding nodes are + generated. Too approach can be taken: +
      1. lazy one, use the compatibility call + xmlKeepBlanksDefault(0) but be aware that you are + relying on a special (and possibly broken) set of heuristics of + libxml to detect ignorable blanks. Don't complain if it breaks or + make your application not 100% clean w.r.t. to it's input.
      2. +
      3. the Right Way: change you code to accept possibly insignificant + blanks characters, or have your tree populated with weird blank text + nodes. You can spot them using the commodity function + xmlIsBlankNode(node) returning 1 for such blank + nodes.
      4. +

      Note also that with the new default the output functions don't add any + extra indentation when saving a tree in order to be able to round trip + (read and save) without inflating the document with extra formatting + chars.

      +
    8. +
    9. The include path has changed to $prefix/libxml/ and the includes + themselves uses this new prefix in includes instructions... If you are + using (as expected) the +
      xml2-config --cflags
      +

      output to generate you compile commands this will probably work out of + the box

      +
    10. +
    11. xmlDetectCharEncoding takes an extra argument indicating the length in + byte of the head of the document available for character detection.
    12. +

    Ensuring both libxml-1.x and libxml-2.x compatibility

    Two new version of libxml (1.8.11) and libxml2 (2.3.4) have been released +to allow smooth upgrade of existing libxml v1code while retaining +compatibility. They offers the following:

    1. similar include naming, one should use + #include<libxml/...> in both cases.
    2. +
    3. similar identifiers defined via macros for the child and root fields: + respectively xmlChildrenNode and + xmlRootNode
    4. +
    5. a new macro LIBXML_TEST_VERSION which should be + inserted once in the client code
    6. +

    So the roadmap to upgrade your existing libxml applications is the +following:

    1. install the libxml-1.8.8 (and libxml-devel-1.8.8) packages
    2. +
    3. find all occurrences where the xmlDoc root field is + used and change it to xmlRootNode
    4. +
    5. similarly find all occurrences where the xmlNode + childs field is used and change it to + xmlChildrenNode
    6. +
    7. add a LIBXML_TEST_VERSION macro somewhere in your + main() or in the library init entry point
    8. +
    9. Recompile, check compatibility, it should still work
    10. +
    11. Change your configure script to look first for xml2-config and fall + back using xml-config . Use the --cflags and --libs output of the command + as the Include and Linking parameters needed to use libxml.
    12. +
    13. install libxml2-2.3.x and libxml2-devel-2.3.x (libxml-1.8.y and + libxml-devel-1.8.y can be kept simultaneously)
    14. +
    15. remove your config.cache, relaunch your configuration mechanism, and + recompile, if steps 2 and 3 were done right it should compile as-is
    16. +
    17. Test that your application is still running correctly, if not this may + be due to extra empty nodes due to formating spaces being kept in libxml2 + contrary to libxml1, in that case insert xmlKeepBlanksDefault(1) in your + code before calling the parser (next to + LIBXML_TEST_VERSION is a fine place).
    18. +

    Following those steps should work. It worked for some of my own code.

    Let me put some emphasis on the fact that there is far more changes from +libxml 1.x to 2.x than the ones you may have to patch for. The overall code +has been considerably cleaned up and the conformance to the XML specification +has been drastically improved too. Don't take those changes as an excuse to +not upgrade, it may cost a lot on the long term ...

    Daniel Veillard

    diff --git a/doc/w3c.png b/doc/w3c.png new file mode 100644 index 0000000..c541c20 Binary files /dev/null and b/doc/w3c.png differ diff --git a/doc/xml.html b/doc/xml.html new file mode 100644 index 0000000..909f76a --- /dev/null +++ b/doc/xml.html @@ -0,0 +1,4452 @@ + + + + The XML C parser and toolkit of Gnome + + + + + +

    The XML C parser and toolkit of Gnome

    + +

    Note: this is the flat content of the web +site

    + +

    libxml, a.k.a. gnome-xml

    + +

    + +

    "Programming +with libxml2 is like the thrilling embrace of an exotic stranger." Mark +Pilgrim

    + +

    Libxml2 is the XML C parser and toolkit developed for the Gnome project +(but usable outside of the Gnome platform), it is free software available +under the MIT +License. XML itself is a metalanguage to design markup languages, i.e. +text language where semantic and structure are added to the content using +extra "markup" information enclosed between angle brackets. HTML is the most +well-known markup language. Though the library is written in C a variety of language bindings make it available in +other environments.

    + +

    Libxml2 is known to be very portable, the library should build and work +without serious troubles on a variety of systems (Linux, Unix, Windows, +CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, ...)

    + +

    Libxml2 implements a number of existing standards related to markup +languages:

    + + +

    In most cases libxml2 tries to implement the specifications in a +relatively strictly compliant way. As of release 2.4.16, libxml2 passes all +1800+ tests from the OASIS XML Tests +Suite.

    + +

    To some extent libxml2 provides support for the following additional +specifications but doesn't claim to implement them completely:

    +
      +
    • Document Object Model (DOM) http://www.w3.org/TR/DOM-Level-2-Core/ + it doesn't implement the API itself, gdome2 does this on top of + libxml2
    • +
    • RFC 959 : + libxml2 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 + XML
    • +
    + +

    A partial implementation of XML Schemas Part +1: Structure is being worked on but it would be far too early to make any +conformance statement about it at the moment.

    + +

    Separate documents:

    + + + + +

    Logo designed by Marc Liyanage.

    + +

    Introduction

    + +

    This document describes libxml, the XML C parser and toolkit developed for the +Gnome project. XML is a standard for building tag-based +structured documents/data.

    + +

    Here are some key points about libxml:

    +
      +
    • Libxml2 exports Push (progressive) and Pull (blocking) type parser + interfaces for both XML and HTML.
    • +
    • Libxml2 can do DTD validation at parse time, using a parsed document + instance, or with an arbitrary DTD.
    • +
    • Libxml2 includes complete XPath, XPointer and XInclude implementations.
    • +
    • It is written in plain C, making as few assumptions as possible, and + sticking closely to ANSI C/POSIX for easy embedding. Works on + Linux/Unix/Windows, ported to a number of other platforms.
    • +
    • Basic support for HTTP and FTP client allowing applications to fetch + remote resources.
    • +
    • The design is modular, most of the extensions can be compiled out.
    • +
    • The internal document representation is as close as possible to the DOM interfaces.
    • +
    • Libxml2 also has a SAX like interface; + the interface is designed to be compatible with Expat.
    • +
    • This library is released under the MIT + License. See the Copyright file in the distribution for the precise + wording.
    • +
    + +

    Warning: unless you are forced to because your application links with a +Gnome-1.X library requiring it, Do Not Use libxml1, use +libxml2

    + +

    FAQ

    + +

    Table of Contents:

    + + +

    License(s)

    +
      +
    1. Licensing Terms for libxml +

      libxml2 is released under the MIT + License; see the file Copyright in the distribution for the precise + wording

      +
    2. +
    3. Can I embed libxml2 in a proprietary application ? +

      Yes. The MIT License allows you to keep proprietary the changes you + made to libxml, but it would be graceful to send-back bug fixes and + improvements as patches for possible incorporation in the main + development tree.

      +
    4. +
    + +

    Installation

    +
      +
    1. Do Not Use + libxml1, use libxml2
    2. +
    3. Where can I get libxml ? +

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

      +

      Most Linux and BSD distributions include libxml, this is probably the + safer way for end-users to use libxml.

      +

      David Doolin provides precompiled Windows versions at http://www.ce.berkeley.edu/~doolin/code/libxmlwin32/

      +
    4. +
    5. I see libxml and libxml2 releases, which one should I install ? +
        +
      • If you are not constrained by backward compatibility issues with + existing applications, install libxml2 only
      • +
      • If you are not doing development, you can safely install both. + Usually the packages libxml and libxml2 are + compatible (this is not the case for development packages).
      • +
      • If you are a developer and your system provides separate packaging + for shared libraries and the development components, it is possible + to install libxml and libxml2, and also libxml-devel + and libxml2-devel + too for libxml2 >= 2.3.0
      • +
      • If you are developing a new application, please develop against + libxml2(-devel)
      • +
      +
    6. +
    7. I can't install the libxml package, it conflicts with libxml0 +

      You probably have an old libxml0 package used to provide the shared + library for libxml.so.0, you can probably safely remove it. The libxml + packages provided on rpmfind.net provide + libxml.so.0

      +
    8. +
    9. I can't install the libxml(2) RPM package due to failed + dependencies +

      The most generic solution is to re-fetch the latest src.rpm , and + rebuild it locally with

      +

      rpm --rebuild libxml(2)-xxx.src.rpm.

      +

      If everything goes well it will generate two binary rpm packages (one + providing the shared libs and xmllint, and the other one, the -devel + package, providing includes, static libraries and scripts needed to build + applications with libxml(2)) that you can install locally.

      +
    10. +
    + +

    Compilation

    +
      +
    1. What is the process to compile libxml2 ? +

      As most UNIX libraries libxml2 follows the "standard":

      +

      gunzip -c xxx.tar.gz | tar xvf -

      +

      cd libxml-xxxx

      +

      ./configure --help

      +

      to see the options, then the compilation/installation proper

      +

      ./configure [possible options]

      +

      make

      +

      make install

      +

      At that point you may have to rerun ldconfig or a similar utility to + update your list of installed shared libs.

      +
    2. +
    3. What other libraries are needed to compile/install libxml2 ? +

      Libxml2 does not require any other library, the normal C ANSI API + should be sufficient (please report any violation to this rule you may + find).

      +

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

      +
        +
      • libz : a + highly portable and available widely compression library.
      • +
      • iconv: a powerful character encoding conversion library. It is + included by default in recent glibc libraries, so it doesn't need to + be installed specifically on Linux. It now seems a part + of the official UNIX specification. Here is one implementation of the + library which source can be found here.
      • +
      +
    4. +
    5. Make check fails on some platforms +

      Sometimes the regression tests' results don't completely match the + value produced by the parser, and the makefile uses diff to print the + delta. On some platforms the diff return breaks the compilation process; + if the diff is small this is probably not a serious problem.

      +

      Sometimes (especially on Solaris) make checks fail due to limitations + in make. Try using GNU-make instead.

      +
    6. +
    7. I use the CVS version and there is no configure script +

      The configure script (and other Makefiles) are generated. Use the + autogen.sh script to regenerate the configure script and Makefiles, + like:

      +

      ./autogen.sh --prefix=/usr --disable-shared

      +
    8. +
    9. I have troubles when running make tests with gcc-3.0 +

      It seems the initial release of gcc-3.0 has a problem with the + optimizer which miscompiles the URI module. Please use another + compiler.

      +
    10. +
    + +

    Developer corner

    +
      +
    1. Troubles compiling or linking programs using libxml2 +

      Usually the problem comes from the fact that the compiler doesn't get + the right compilation or linking flags. There is a small shell script + xml2-config which is installed as part of libxml2 usual + install process which provides those flags. Use

      +

      xml2-config --cflags

      +

      to get the compilation flags and

      +

      xml2-config --libs

      +

      to get the linker flags. Usually this is done directly from the + Makefile as:

      +

      CFLAGS=`xml2-config --cflags`

      +

      LIBS=`xml2-config --libs`

      +
    2. +
    3. xmlDocDump() generates output on one line. +

      Libxml2 will not invent spaces in the content of a + document since all spaces in the content of a document are + significant. If you build a tree from the API and want + indentation:

      +
        +
      1. the correct way is to generate those yourself too.
      2. +
      3. the dangerous way is to ask libxml2 to add those blanks to your + content modifying the content of your document in the + process. The result may not be what you expect. There is + NO way to guarantee that such a modification won't + affect other parts of the content of your document. See xmlKeepBlanksDefault + () and xmlSaveFormatFile + ()
      4. +
      +
    4. +
    5. Extra nodes in the document: +

      For a XML file as below:

      +
      <?xml version="1.0"?>
      +<PLAN xmlns="http://www.argus.ca/autotest/1.0/">
      +<NODE CommFlag="0"/>
      +<NODE CommFlag="1"/>
      +</PLAN>
      +

      after parsing it with the function + pxmlDoc=xmlParseFile(...);

      +

      I want to the get the content of the first node (node with the + CommFlag="0")

      +

      so I did it as following;

      +
      xmlNodePtr pnode;
      +pnode=pxmlDoc->children->children;
      +

      but it does not work. If I change it to

      +
      pnode=pxmlDoc->children->children->next;
      +

      then it works. Can someone explain it to me.

      +

      +

      In XML all characters in the content of the document are significant + including blanks and formatting line breaks.

      +

      The extra nodes you are wondering about are just that, text nodes with + the formatting spaces which are part of the document but that people tend + to forget. There is a function xmlKeepBlanksDefault + () to remove those at parse time, but that's an heuristic, and its + use should be limited to cases where you are certain there is no + mixed-content in the document.

      +
    6. +
    7. I get compilation errors of existing code like when accessing + root or child fields of nodes. +

      You are compiling code developed for libxml version 1 and using a + libxml2 development environment. Either switch back to libxml v1 devel or + even better fix the code to compile with libxml2 (or both) by following the instructions.

      +
    8. +
    9. I get compilation errors about non existing + xmlRootNode or xmlChildrenNode + fields. +

      The source code you are using has been upgraded to be able to compile with both libxml + and libxml2, but you need to install a more recent version: + libxml(-devel) >= 1.8.8 or libxml2(-devel) >= 2.1.0

      +
    10. +
    11. XPath implementation looks seriously broken +

      XPath implementation prior to 2.3.0 was really incomplete. Upgrade to + a recent version, there are no known bugs in the current version.

      +
    12. +
    13. The example provided in the web page does not compile. +

      It's hard to maintain the documentation in sync with the code + <grin/> ...

      +

      Check the previous points 1/ and 2/ raised before, and please send + patches.

      +
    14. +
    15. Where can I get more examples and information than provided on the + web page? +

      Ideally a libxml2 book would be nice. I have no such plan ... But you + can:

      +
        +
      • check more deeply the existing + generated doc
      • +
      • have a look at the set of + examples.
      • +
      • look for examples of use for libxml2 function using the Gnome code. + For example the following will query the full Gnome CVS base for the + use of the xmlAddChild() function: +

        http://cvs.gnome.org/lxr/search?string=xmlAddChild

        +

        This may be slow, a large hardware donation to the gnome project + could cure this :-)

        +
      • +
      • Browse + the libxml2 source , I try to write code as clean and documented + as possible, so looking at it may be helpful. In particular the code + of xmllint.c and of the various testXXX.c test programs should + provide good examples of how to do things with the library.
      • +
      +
    16. +
    17. What about C++ ? +

      libxml2 is written in pure C in order to allow easy reuse on a number + of platforms, including embedded systems. I don't intend to convert to + C++.

      +

      There is however a C++ wrapper which may fulfill your needs:

      + +
    18. +
    19. How to validate a document a posteriori ? +

      It is possible to validate documents which had not been validated at + initial parsing time or documents which have been built from scratch + using the API. Use the xmlValidateDtd() + function. It is also possible to simply add a DTD to an existing + document:

      +
      xmlDocPtr doc; /* your existing document */
      +xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */
      +
      +        dtd->name = xmlStrDup((xmlChar*)"root_name"); /* use the given root */
      +
      +        doc->intSubset = dtd;
      +        if (doc->children == NULL) xmlAddChild((xmlNodePtr)doc, (xmlNodePtr)dtd);
      +        else xmlAddPrevSibling(doc->children, (xmlNodePtr)dtd);
      +          
      +
    20. +
    21. So what is this funky "xmlChar" used all the time? +

      It is a null terminated sequence of utf-8 characters. And only utf-8! + You need to convert strings encoded in different ways to utf-8 before + passing them to the API. This can be accomplished with the iconv library + for instance.

      +
    22. +
    23. etc ...
    24. +
    + +

    + +

    Developer Menu

    + +

    There are several on-line resources related to using libxml:

    +
      +
    1. Use the search engine to look up + information.
    2. +
    3. Check the FAQ.
    4. +
    5. Check the extensive + documentation automatically extracted from code comments.
    6. +
    7. Look at the documentation about libxml + internationalization support.
    8. +
    9. This page provides a global overview and some + examples on how to use libxml.
    10. +
    11. Code examples
    12. +
    13. John Fleck's libxml2 tutorial: html + or pdf.
    14. +
    15. If you need to parse large files, check the xmlReader API tutorial
    16. +
    17. James Henstridge wrote some nice + documentation explaining how to use the libxml SAX interface.
    18. +
    19. George Lebl wrote an article + for IBM developerWorks about using libxml.
    20. +
    21. Check the TODO + file.
    22. +
    23. Read the 1.x to 2.x upgrade path + description. If you are starting a new project using libxml you should + really use the 2.x version.
    24. +
    25. And don't forget to look at the mailing-list archive.
    26. +
    + +

    Reporting bugs and getting help

    + +

    Well, bugs or missing features are always possible, and I will make a +point of fixing them in a timely fashion. The best way to report a bug is to +use the Gnome +bug tracking database (make sure to use the "libxml2" module name). I +look at reports there regularly and it's good to have a reminder when a bug +is still open. Be sure to specify that the bug is for the package libxml2.

    + +

    For small problems you can try to get help on IRC, the #xml channel on +irc.gnome.org (port 6667) usually have a few person subscribed which may help +(but there is no garantee and if a real issue is raised it should go on the +mailing-list for archival).

    + +

    There is also a mailing-list xml@gnome.org for libxml, with an on-line archive (old). To subscribe to this list, +please visit the associated Web page and +follow the instructions. Do not send code, I won't debug it +(but patches are really appreciated!).

    + +

    Check the following before +posting:

    +
      +
    • Read the FAQ and use the + search engine to get information related to your problem.
    • +
    • Make sure you are using a recent + version, and that the problem still shows up in a recent version.
    • +
    • Check the list + archives to see if the problem was reported already. In this case + there is probably a fix available, similarly check the registered + open bugs.
    • +
    • Make sure you can reproduce the bug with xmllint or one of the test + programs found in source in the distribution.
    • +
    • Please send the command showing the error as well as the input (as an + attachment)
    • +
    + +

    Then send the bug with associated information to reproduce it to the xml@gnome.org list; if it's really libxml +related I will approve it. Please do not send mail to me directly, it makes +things really hard to track and in some cases I am not the best person to +answer a given question, ask on the list.

    + +

    To be really clear about support:

    +
      +
    • Support or help requests MUST be sent to + the list or on bugzilla in case of problems, so that the Question + and Answers can be shared publicly. Failing to do so carries the implicit + message "I want free support but I don't want to share the benefits with + others" and is not welcome. I will automatically Carbon-Copy the + xml@gnome.org mailing list for any technical reply made about libxml2 or + libxslt.
    • +
    • There is no garantee of support, if + your question remains unanswered after a week, repost it, making sure you + gave all the detail needed and the information requested.
    • +
    • Failing to provide information as requested or double checking first + for prior feedback also carries the implicit message "the time of the + library maintainers is less valuable than my time" and might not be + welcome.
    • +
    + +

    Of course, bugs reported with a suggested patch for fixing them will +probably be processed faster than those without.

    + +

    If you're looking for help, a quick look at the list archive may actually +provide the answer. I usually send source samples when answering libxml2 +usage questions. The auto-generated documentation is +not as polished as I would like (i need to learn more about DocBook), but +it's a good starting point.

    + +

    How to help

    + +

    You can help the project in various ways, the best thing to do first is to +subscribe to the mailing-list as explained before, check the archives and the Gnome bug +database:

    +
      +
    1. Provide patches when you find problems.
    2. +
    3. Provide the diffs when you port libxml2 to a new platform. They may not + be integrated in all cases but help pinpointing portability problems + and
    4. +
    5. Provide documentation fixes (either as patches to the code comments or + as HTML diffs).
    6. +
    7. Provide new documentations pieces (translations, examples, etc + ...).
    8. +
    9. Check the TODO file and try to close one of the items.
    10. +
    11. Take one of the points raised in the archive or the bug database and + provide a fix. Get in touch with me + before to avoid synchronization problems and check that the suggested + fix will fit in nicely :-)
    12. +
    + +

    Downloads

    + +

    The latest versions of libxml2 can be found on xmlsoft.org (Seattle, France) or on the Gnome FTP server either +as a source +archive + , Antonin Sprinzl also provide a +mirror in Austria. (NOTE that you need both the libxml(2) and libxml(2)-devel +packages installed to compile applications using libxml.)

    + +

    Binary ports:

    + + +

    If you know other supported binary ports, please contact me.

    + +

    Snapshot:

    + + +

    Contributions:

    + +

    I do accept external contributions, especially if compiling on another +platform, get in touch with me to upload the package, wrappers for various +languages have been provided, and can be found in the contrib section

    + +

    Libxml2 is also available from CVS:

    + + +

    News

    + +

    CVS only : check the Changelog file +for a really accurate description

    + +

    Items not finished and worked on, get in touch with the list if you want +to test those

    + + +

    2.6.8: Mar 23 2004

    +
      +
    • First step of the cleanup of the serialization code and APIs
    • +
    • XML Schemas: mixed content (Adam Dickmeiss), QName handling fixes (Adam + Dickmeiss), anyURI for "" (John Belmonte)
    • +
    • Python: Canonicalization C14N support added (Anthony Carrico)
    • +
    • xmlDocCopyNode() extension (William)
    • +
    • Relax-NG: fix when processing XInclude results (William), external + reference in interleave (William), missing error on <choice> + failure (William), memory leak in schemas datatype facets.
    • +
    • xmlWriter: patch for better DTD support (Alfred Mickautsch)
    • +
    • bug fixes: xmlXPathLangFunction memory leak (Mike Hommey and William + Brack), no ID errors if using HTML_PARSE_NOERROR, xmlcatalog fallbacks to + URI on SYSTEM lookup failure, XInclude parse flags inheritance (William), + XInclude and XPointer fixes for entities (William), XML parser bug + reported by Holger Rauch, nanohttp fd leak (William), regexps char + groups '-' handling (William), dictionnary reference counting problems, + do not close stderr.
    • +
    • performance patches from Petr Pajas
    • +
    • Documentation fixes: XML_CATALOG_FILES in man pages (Mike Hommey)
    • +
    • compilation and portability fixes: --without-valid, catalog cleanups + (Peter Breitenlohner), MingW patch (Roland Schwingel), cross-compilation + to Windows (Christophe de Vienne), --with-html-dir fixup (Julio Merino + Vidal), Windows build (Eric Zurcher)
    • +
    + +

    2.6.7: Feb 23 2004

    +
      +
    • documentation: tutorial updates (John Fleck), benchmark results
    • +
    • xmlWriter: updates and fixes (Alfred Mickautsch, Lucas Brasilino)
    • +
    • XPath optimization (Petr Pajas)
    • +
    • DTD ID handling optimization
    • +
    • bugfixes: xpath number with > 19 fractional (William Brack), push + mode with unescaped '>' characters, fix xmllint --stream --timing, fix + xmllint --memory --stream memory usage, xmlAttrSerializeTxtContent + handling NULL, trying to fix Relax-NG/Perl interface.
    • +
    • python: 2.3 compatibility, whitespace fixes (Malcolm Tredinnick)
    • +
    • Added relaxng option to xmllint --shell
    • +
    + +

    2.6.6: Feb 12 2004

    +
      +
    • nanohttp and nanoftp: buffer overflow error on URI parsing (Igor and + William) reported by Yuuichi Teranishi
    • +
    • bugfixes: make test and path issues, xmlWriter attribute serialization + (William Brack), xmlWriter indentation (William), schemas validation + (Eric Haszlakiewicz), XInclude dictionnaries issues (William and Oleg + Paraschenko), XInclude empty fallback (William), HTML warnings (William), + XPointer in XInclude (William), Python namespace serialization, + isolat1ToUTF8 bound error (Alfred Mickautsch), output of parameter + entities in internal subset (William), internal subset bug in push mode, + <xs:all> fix (Alexey Sarytchev)
    • +
    • Build: fix for automake-1.8 (Alexander Winston), warnings removal + (Philip Ludlam), SOCKLEN_T detection fixes (Daniel Richard), fix + --with-minimum configuration.
    • +
    • XInclude: allow the 2001 namespace without warning.
    • +
    • Documentation: missing example/index.html (John Fleck), version + dependancies (John Fleck)
    • +
    • reader API: structured error reporting (Steve Ball)
    • +
    • Windows compilation: mingw, msys (Mikhail Grushinskiy), function + prototype (Cameron Johnson), MSVC6 compiler warnings, _WINSOCKAPI_ + patch
    • +
    • Parsers: added xmlByteConsumed(ctxt) API to get the byte offest in + input.
    • +
    + +

    2.6.5: Jan 25 2004

    +
      +
    • Bugfixes: dictionnaries for schemas (William Brack), regexp segfault + (William), xs:all problem (William), a number of XPointer bugfixes + (William), xmllint error go to stderr, DTD validation problem with + namespace, memory leak (William), SAX1 cleanup and minimal options fixes + (Mark Vadoc), parser context reset on error (Shaun McCance), XPath union + evaluation problem (William) , xmlReallocLoc with NULL (Aleksey Sanin), + XML Schemas double free (Steve Ball), XInclude with no href, argument + callbacks order for XPath callbacks (Frederic Peters)
    • +
    • Documentation: python scripts (William Brack), xslt stylesheets (John + Fleck), doc (Sven Zimmerman), I/O example.
    • +
    • Python bindings: fixes (William), enum support (Stéphane Bidoul), + structured error reporting (Stéphane Bidoul)
    • +
    • XInclude: various fixes for conformance, problem related to dictionnary + references (William & me), recursion (William)
    • +
    • xmlWriter: indentation (Lucas Brasilino), memory leaks (Alfred + Mickautsch),
    • +
    • xmlSchemas: normalizedString datatype (John Belmonte)
    • +
    • code cleanup for strings functions (William)
    • +
    • Windows: compiler patches (Mark Vakoc)
    • +
    • Parser optimizations, a few new XPath and dictionnary APIs for future + XSLT optimizations.
    • +
    + +

    2.6.4: Dec 24 2003

    +
      +
    • Windows build fixes (Igor Zlatkovic)
    • +
    • Some serious XInclude problems reported by Oleg Paraschenko and
    • +
    • Unix and Makefile packaging fixes (me, William Brack,
    • +
    • Documentation improvements (John Fleck, William Brack), example fix + (Lucas Brasilino)
    • +
    • bugfixes: xmlTextReaderExpand() with xmlReaderWalker, XPath handling of + NULL strings (William Brack) , API building reader or parser from + filedescriptor should not close it, changed XPath sorting to be stable + again (William Brack), xmlGetNodePath() generating '(null)' (William + Brack), DTD validation and namespace bug (William Brack), XML Schemas + double inclusion behaviour
    • +
    + +

    2.6.3: Dec 10 2003

    +
      +
    • documentation updates and cleanup (DV, William Brack, John Fleck)
    • +
    • added a repository of examples, examples from Aleksey Sanin, Dodji + Seketeli, Alfred Mickautsch
    • +
    • Windows updates: Mark Vakoc, Igor Zlatkovic, Eric Zurcher, Mingw + (Kenneth Haley)
    • +
    • Unicode range checking (William Brack)
    • +
    • code cleanup (William Brack)
    • +
    • Python bindings: doc (John Fleck), bug fixes
    • +
    • UTF-16 cleanup and BOM issues (William Brack)
    • +
    • bug fixes: ID and xmlReader validation, XPath (William Brack), + xmlWriter (Alfred Mickautsch), hash.h inclusion problem, HTML parser + (James Bursa), attribute defaulting and validation, some serialization + cleanups, XML_GET_LINE macro, memory debug when using threads (William + Brack), serialization of attributes and entities content, xmlWriter + (Daniel Schulman)
    • +
    • XInclude bugfix, new APIs and update to the last version including the + namespace change.
    • +
    • XML Schemas improvements: include (Robert Stepanek), import and + namespace handling, fixed the regression tests troubles, added examples + based on Eric van der Vlist book, regexp fixes
    • +
    • preliminary pattern support for streaming (needed for schemas + constraints), added xmlTextReaderPreservePattern() to collect subdocument + when streaming.
    • +
    • various fixes in the structured error handling
    • +
    + +

    2.6.2: Nov 4 2003

    +
      +
    • XPath context unregistration fixes
    • +
    • text node coalescing fixes (Mark Lilback)
    • +
    • API to screate a W3C Schemas from an existing document (Steve Ball)
    • +
    • BeOS patches (Marcin 'Shard' Konicki)
    • +
    • xmlStrVPrintf function added (Aleksey Sanin)
    • +
    • compilation fixes (Mark Vakoc)
    • +
    • stdin parsing fix (William Brack)
    • +
    • a posteriori DTD validation fixes
    • +
    • xmlReader bug fixes: Walker fixes, python bindings
    • +
    • fixed xmlStopParser() to really stop the parser and errors
    • +
    • always generate line numbers when using the new xmlReadxxx + functions
    • +
    • added XInclude support to the xmlReader interface
    • +
    • implemented XML_PARSE_NONET parser option
    • +
    • DocBook XSLT processing bug fixed
    • +
    • HTML serialization for <p> elements (William Brack and me)
    • +
    • XPointer failure in XInclude are now handled as resource errors
    • +
    • fixed xmllint --html to use the HTML serializer on output (added + --xmlout to implement the previous behaviour of saving it using the XML + serializer)
    • +
    + +

    2.6.1: Oct 28 2003

    +
      +
    • Mostly bugfixes after the big 2.6.0 changes
    • +
    • Unix compilation patches: libxml.m4 (Patrick Welche), warnings cleanup + (William Brack)
    • +
    • Windows compilation patches (Joachim Bauch, Stephane Bidoul, Igor + Zlatkovic)
    • +
    • xmlWriter bugfix (Alfred Mickautsch)
    • +
    • chvalid.[ch]: couple of fixes from Stephane Bidoul
    • +
    • context reset: error state reset, push parser reset (Graham + Bennett)
    • +
    • context reuse: generate errors if file is not readable
    • +
    • defaulted attributes for element coming from internal entities + (Stephane Bidoul)
    • +
    • Python: tab and spaces mix (William Brack)
    • +
    • Error handler could crash in DTD validation in 2.6.0
    • +
    • xmlReader: do not use the document or element _private field
    • +
    • testSAX.c: avoid a problem with some PIs (Massimo Morara)
    • +
    • general bug fixes: mandatory encoding in text decl, serializing + Document Fragment nodes, xmlSearchNs 2.6.0 problem (Kasimier Buchcik), + XPath errors not reported, slow HTML parsing of large documents.
    • +
    + +

    2.6.0: Oct 20 2003

    +
      +
    • Major revision release: should be API and ABI compatible but got a lot + of change
    • +
    • Increased the library modularity, far more options can be stripped out, + a --with-minimum configuration will weight around 160KBytes
    • +
    • Use per parser and per document dictionnary, allocate names and small + text nodes from the dictionnary
    • +
    • Switch to a SAX2 like parser rewrote most of the XML parser core, + provides namespace resolution and defaulted attributes, minimize memory + allocations and copies, namespace checking and specific error handling, + immutable buffers, make predefined entities static structures, etc...
    • +
    • rewrote all the error handling in the library, all errors can be + intercepted at a structured level, with precise information + available.
    • +
    • New simpler and more generic XML and HTML parser APIs, allowing to + easilly modify the parsing options and reuse parser context for multiple + consecutive documents.
    • +
    • Similar new APIs for the xmlReader, for options and reuse, provided new + functions to access content as const strings, use them for Python + bindings
    • +
    • a lot of other smaller API improvements: xmlStrPrintf (Aleksey Sanin), + Walker i.e. reader on a document tree based on Alfred Mickautsch code, + make room in nodes for line numbers, reference counting and future PSVI + extensions, generation of character ranges to be checked with faster + algorithm (William), xmlParserMaxDepth (Crutcher Dunnavant), buffer + access
    • +
    • New xmlWriter API provided by Alfred Mickautsch
    • +
    • Schemas: base64 support by Anthony Carrico
    • +
    • Parser<->HTTP integration fix, proper processing of the Mime-Type + and charset informations if available.
    • +
    • Relax-NG: bug fixes including the one reported by Martijn Faassen and + zeroOrMore, better error reporting.
    • +
    • Python bindings (Stéphane Bidoul), never use stdout for errors + output
    • +
    • Portability: all the headers have macros for export and calling + convention definitions (Igor Zlatkovic), VMS update (Craig A. Berry), + Windows: threads (Jesse Pelton), Borland compiler (Eric Zurcher, Igor), + Mingw (Igor), typos (Mark Vakoc), beta version (Stephane Bidoul), + warning cleanups on AIX and MIPS compilers (William Brack), BeOS (Marcin + 'Shard' Konicki)
    • +
    • Documentation fixes and README (William Brack), search fix (William), + tutorial updates (John Fleck), namespace docs (Stefan Kost)
    • +
    • Bug fixes: xmlCleanupParser (Dave Beckett), threading uninitialized + mutexes, HTML doctype lowercase, SAX/IO (William), compression detection + and restore (William), attribute declaration in DTDs (William), namespace + on attribute in HTML output (William), input filename (Rob Richards), + namespace DTD validation, xmlReplaceNode (Chris Ryland), I/O callbacks + (Markus Keim), CDATA serialization (Shaun McCance), xmlReader (Peter + Derr), high codepoint charref like &#x10FFFF;, buffer access in push + mode (Justin Fletcher), TLS threads on Windows (Jesse Pelton), XPath bug + (William), xmlCleanupParser (Marc Liyanage), CDATA output (William), HTTP + error handling.
    • +
    • xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat + testing, --nodict for building without tree dictionnary, --nocdata to + replace CDATA by text, --nsclean to remove surperfluous namespace + declarations
    • +
    • added xml2-config --libtool-libs option from Kevin P. Fleming
    • +
    • a lot of profiling and tuning of the code, speedup patch for + xmlSearchNs() by Luca Padovani. The xmlReader should do far less + allocation and it speed should get closer to SAX. Chris Anderson worked + on speeding and cleaning up repetitive checking code.
    • +
    • cleanup of "make tests"
    • +
    • libxml-2.0-uninstalled.pc from Malcolm Tredinnick
    • +
    • deactivated the broken docBook SGML parser code and plugged the XML + parser instead.
    • +
    + +

    2.5.11: Sep 9 2003

    + +

    A bugfix only release:

    +
      +
    • risk of crash in Relax-NG
    • +
    • risk of crash when using multithreaded programs
    • +
    + +

    2.5.10: Aug 15 2003

    + +

    A bugfixes only release

    +
      +
    • Windows Makefiles (William Brack)
    • +
    • UTF-16 support fixes (Mark Itzcovitz)
    • +
    • Makefile and portability (William Brack) automake, Linux alpha, Mingw + on Windows (Mikhail Grushinskiy)
    • +
    • HTML parser (Oliver Stoeneberg)
    • +
    • XInclude performance problem reported by Kevin Ruscoe
    • +
    • XML parser performance problem reported by Grant Goodale
    • +
    • xmlSAXParseDTD() bug fix from Malcolm Tredinnick
    • +
    • and a couple other cleanup
    • +
    + +

    2.5.9: Aug 9 2003

    +
      +
    • bugfixes: IPv6 portability, xmlHasNsProp (Markus Keim), Windows build + (Wiliam Brake, Jesse Pelton, Igor), Schemas (Peter Sobisch), threading + (Rob Richards), hexBinary type (), UTF-16 BOM (Dodji Seketeli), + xmlReader, Relax-NG schemas compilation, namespace handling, EXSLT (Sean + Griffin), HTML parsing problem (William Brack), DTD validation for mixed + content + namespaces, HTML serialization, library initialization, + progressive HTML parser
    • +
    • better interfaces for Relax-NG error handling (Joachim Bauch, )
    • +
    • adding xmlXIncludeProcessTree() for XInclud'ing in a subtree
    • +
    • doc fixes and improvements (John Fleck)
    • +
    • configure flag for -with-fexceptions when embedding in C++
    • +
    • couple of new UTF-8 helper functions (William Brack)
    • +
    • general encoding cleanup + ISO-8859-x without iconv (Peter Jacobi)
    • +
    • xmlTextReader cleanup + enum for node types (Bjorn Reese)
    • +
    • general compilation/warning cleanup Solaris/HP-UX/... (William + Brack)
    • +
    + +

    2.5.8: Jul 6 2003

    +
      +
    • bugfixes: XPath, XInclude, file/URI mapping, UTF-16 save (Mark + Itzcovitz), UTF-8 checking, URI saving, error printing (William Brack), + PI related memleak, compilation without schemas or without xpath (Joerg + Schmitz-Linneweber/Garry Pennington), xmlUnlinkNode problem with DTDs, + rpm problem on , i86_64, removed a few compilation problems from 2.5.7, + xmlIOParseDTD, and xmlSAXParseDTD (Malcolm Tredinnick)
    • +
    • portability: DJGPP (MsDos) , OpenVMS (Craig A. Berry)
    • +
    • William Brack fixed multithreading lock problems
    • +
    • IPv6 patch for FTP and HTTP accesses (Archana Shah/Wipro)
    • +
    • Windows fixes (Igor Zlatkovic, Eric Zurcher), threading (Stéphane + Bidoul)
    • +
    • A few W3C Schemas Structure improvements
    • +
    • W3C Schemas Datatype improvements (Charlie Bozeman)
    • +
    • Python bindings for thread globals (Stéphane Bidoul), and method/class + generator
    • +
    • added --nonet option to xmllint
    • +
    • documentation improvements (John Fleck)
    • +
    + +

    2.5.7: Apr 25 2003

    +
      +
    • Relax-NG: Compiling to regexp and streaming validation on top of the + xmlReader interface, added to xmllint --stream
    • +
    • xmlReader: Expand(), Next() and DOM access glue, bug fixes
    • +
    • Support for large files: RGN validated a 4.5GB instance
    • +
    • Thread support is now configured in by default
    • +
    • Fixes: update of the Trio code (Bjorn), WXS Date and Duration fixes + (Charles Bozeman), DTD and namespaces (Brent Hendricks), HTML push parser + and zero bytes handling, some missing Windows file path conversions, + behaviour of the parser and validator in the presence of "out of memory" + error conditions
    • +
    • extended the API to be able to plug a garbage collecting memory + allocator, added xmlMallocAtomic() and modified the allocations + accordingly.
    • +
    • Performances: removed excessive malloc() calls, speedup of the push and + xmlReader interfaces, removed excessive thread locking
    • +
    • Documentation: man page (John Fleck), xmlReader documentation
    • +
    • Python: adding binding for xmlCatalogAddLocal (Brent M Hendricks)
    • +
    + +

    2.5.6: Apr 1 2003

    +
      +
    • Fixed W3C XML Schemas datatype, should be compliant now except for + binHex and base64 which are not supported yet.
    • +
    • bug fixes: non-ASCII IDs, HTML output, XInclude on large docs and + XInclude entities handling, encoding detection on external subsets, XML + Schemas bugs and memory leaks, HTML parser (James Bursa)
    • +
    • portability: python/trio (Albert Chin), Sun compiler warnings
    • +
    • documentation: added --relaxng option to xmllint man page (John)
    • +
    • improved error reporting: xml:space, start/end tag mismatches, Relax NG + errors
    • +
    + +

    2.5.5: Mar 24 2003

    +
      +
    • Lot of fixes on the Relax NG implementation. More testing including + DocBook and TEI examples.
    • +
    • Increased the support for W3C XML Schemas datatype
    • +
    • Several bug fixes in the URI handling layer
    • +
    • Bug fixes: HTML parser, xmlReader, DTD validation, XPath, encoding + conversion, line counting in the parser.
    • +
    • Added support for $XMLLINT_INDENT environment variable, FTP delete
    • +
    • Fixed the RPM spec file name
    • +
    + +

    2.5.4: Feb 20 2003

    +
      +
    • Conformance testing and lot of fixes on Relax NG and XInclude + implementation
    • +
    • Implementation of XPointer element() scheme
    • +
    • Bug fixes: XML parser, XInclude entities merge, validity checking on + namespaces, +

      2 serialization bugs, node info generation problems, a DTD regexp + generation problem.

      +
    • +
    • Portability: windows updates and path canonicalization (Igor)
    • +
    • A few typo fixes (Kjartan Maraas)
    • +
    • Python bindings generator fixes (Stephane Bidoul)
    • +
    + +

    2.5.3: Feb 10 2003

    +
      +
    • RelaxNG and XML Schemas datatypes improvements, and added a first + version of RelaxNG Python bindings
    • +
    • Fixes: XLink (Sean Chittenden), XInclude (Sean Chittenden), API fix for + serializing namespace nodes, encoding conversion bug, XHTML1 + serialization
    • +
    • Portability fixes: Windows (Igor), AMD 64bits RPM spec file
    • +
    + +

    2.5.2: Feb 5 2003

    +
      +
    • First implementation of RelaxNG, added --relaxng flag to xmllint
    • +
    • Schemas support now compiled in by default.
    • +
    • Bug fixes: DTD validation, namespace checking, XInclude and entities, + delegateURI in XML Catalogs, HTML parser, XML reader (Stéphane Bidoul), + XPath parser and evaluation, UTF8ToUTF8 serialization, XML reader memory + consumption, HTML parser, HTML serialization in the presence of + namespaces
    • +
    • added an HTML API to check elements and attributes.
    • +
    • Documentation improvement, PDF for the tutorial (John Fleck), doc + patches (Stefan Kost)
    • +
    • Portability fixes: NetBSD (Julio Merino), Windows (Igor Zlatkovic)
    • +
    • Added python bindings for XPointer, contextual error reporting + (Stéphane Bidoul)
    • +
    • URI/file escaping problems (Stefano Zacchiroli)
    • +
    + +

    2.5.1: Jan 8 2003

    +
      +
    • Fixes a memory leak and configuration/compilation problems in 2.5.0
    • +
    • documentation updates (John)
    • +
    • a couple of XmlTextReader fixes
    • +
    + +

    2.5.0: Jan 6 2003

    +
      +
    • New XmltextReader interface based on C# + API (with help of Stéphane Bidoul)
    • +
    • Windows: more exports, including the new API (Igor)
    • +
    • XInclude fallback fix
    • +
    • Python: bindings for the new API, packaging (Stéphane Bidoul), + drv_libxml2.py Python xml.sax driver (Stéphane Bidoul), fixes, speedup + and iterators for Python-2.2 (Hannu Krosing)
    • +
    • Tutorial fixes (john Fleck and Niraj Tolia) xmllint man update + (John)
    • +
    • Fix an XML parser bug raised by Vyacheslav Pindyura
    • +
    • Fix for VMS serialization (Nigel Hall) and config (Craig A. Berry)
    • +
    • Entities handling fixes
    • +
    • new API to optionally track node creation and deletion (Lukas + Schroeder)
    • +
    • Added documentation for the XmltextReader interface and some XML guidelines
    • +
    + +

    2.4.30: Dec 12 2002

    +
      +
    • 2.4.29 broke the python bindings, rereleasing
    • +
    • Improvement/fixes of the XML API generator, and couple of minor code + fixes.
    • +
    + +

    2.4.29: Dec 11 2002

    +
      +
    • Windows fixes (Igor): Windows CE port, pthread linking, python bindings + (Stéphane Bidoul), Mingw (Magnus Henoch), and export list updates
    • +
    • Fix for prev in python bindings (ERDI Gergo)
    • +
    • Fix for entities handling (Marcus Clarke)
    • +
    • Refactored the XML and HTML dumps to a single code path, fixed XHTML1 + dump
    • +
    • Fix for URI parsing when handling URNs with fragment identifiers
    • +
    • Fix for HTTP URL escaping problem
    • +
    • added an TextXmlReader (C#) like API (work in progress)
    • +
    • Rewrote the API in XML generation script, includes a C parser and saves + more informations needed for C# bindings
    • +
    + +

    2.4.28: Nov 22 2002

    +
      +
    • a couple of python binding fixes
    • +
    • 2 bug fixes in the XML push parser
    • +
    • potential memory leak removed (Martin Stoilov)
    • +
    • fix to the configure script for Unix (Dimitri Papadopoulos)
    • +
    • added encoding support for XInclude parse="text"
    • +
    • autodetection of XHTML1 and specific serialization rules added
    • +
    • nasty threading bug fixed (William Brack)
    • +
    + +

    2.4.27: Nov 17 2002

    +
      +
    • fixes for the Python bindings
    • +
    • a number of bug fixes: SGML catalogs, xmlParseBalancedChunkMemory(), + HTML parser, Schemas (Charles Bozeman), document fragment support + (Christian Glahn), xmlReconciliateNs (Brian Stafford), XPointer, + xmlFreeNode(), xmlSAXParseMemory (Peter Jones), xmlGetNodePath (Petr + Pajas), entities processing
    • +
    • added grep to xmllint --shell
    • +
    • VMS update patch from Craig A. Berry
    • +
    • cleanup of the Windows build with support for more compilers (Igor), + better thread support on Windows
    • +
    • cleanup of Unix Makefiles and spec file
    • +
    • Improvements to the documentation (John Fleck)
    • +
    + +

    2.4.26: Oct 18 2002

    +
      +
    • Patches for Windows CE port, improvements on Windows paths handling
    • +
    • Fixes to the validation code (DTD and Schemas), xmlNodeGetPath() , + HTML serialization, Namespace compliance, and a number of small + problems
    • +
    + +

    2.4.25: Sep 26 2002

    +
      +
    • A number of bug fixes: XPath, validation, Python bindings, DOM and + tree, xmlI/O, Html
    • +
    • Serious rewrite of XInclude
    • +
    • Made XML Schemas regexp part of the default build and APIs, small fix + and improvement of the regexp core
    • +
    • Changed the validation code to reuse XML Schemas regexp APIs
    • +
    • Better handling of Windows file paths, improvement of Makefiles (Igor, + Daniel Gehriger, Mark Vakoc)
    • +
    • Improved the python I/O bindings, the tests, added resolver and regexp + APIs
    • +
    • New logos from Marc Liyanage
    • +
    • Tutorial improvements: John Fleck, Christopher Harris
    • +
    • Makefile: Fixes for AMD x86_64 (Mandrake), DESTDIR (Christophe + Merlet)
    • +
    • removal of all stderr/perror use for error reporting
    • +
    • Better error reporting: XPath and DTD validation
    • +
    • update of the trio portability layer (Bjorn Reese)
    • +
    + +

    2.4.24: Aug 22 2002

    +
      +
    • XPath fixes (William), xf:escape-uri() (Wesley Terpstra)
    • +
    • Python binding fixes: makefiles (William), generator, rpm build, x86-64 + (fcrozat)
    • +
    • HTML <style> and boolean attributes serializer fixes
    • +
    • C14N improvements by Aleksey
    • +
    • doc cleanups: Rick Jones
    • +
    • Windows compiler makefile updates: Igor and Elizabeth Barham
    • +
    • XInclude: implementation of fallback and xml:base fixup added
    • +
    + +

    2.4.23: July 6 2002

    +
      +
    • performances patches: Peter Jacobi
    • +
    • c14n fixes, testsuite and performances: Aleksey Sanin
    • +
    • added xmlDocFormatDump: Chema Celorio
    • +
    • new tutorial: John Fleck
    • +
    • new hash functions and performances: Sander Vesik, portability fix from + Peter Jacobi
    • +
    • a number of bug fixes: XPath (William Brack, Richard Jinks), XML and + HTML parsers, ID lookup function
    • +
    • removal of all remaining sprintf: Aleksey Sanin
    • +
    + +

    2.4.22: May 27 2002

    +
      +
    • a number of bug fixes: configure scripts, base handling, parser, memory + usage, HTML parser, XPath, documentation (Christian Cornelssen), + indentation, URI parsing
    • +
    • Optimizations for XMLSec, fixing and making public some of the network + protocol handlers (Aleksey)
    • +
    • performance patch from Gary Pennington
    • +
    • Charles Bozeman provided date and time support for XML Schemas + datatypes
    • +
    + +

    2.4.21: Apr 29 2002

    + +

    This release is both a bug fix release and also contains the early XML +Schemas structures and datatypes code, beware, all +interfaces are likely to change, there is huge holes, it is clearly a work in +progress and don't even think of putting this code in a production system, +it's actually not compiled in by default. The real fixes are:

    +
      +
    • a couple of bugs or limitations introduced in 2.4.20
    • +
    • patches for Borland C++ and MSC by Igor
    • +
    • some fixes on XPath strings and conformance patches by Richard + Jinks
    • +
    • patch from Aleksey for the ExcC14N specification
    • +
    • OSF/1 bug fix by Bjorn
    • +
    + +

    2.4.20: Apr 15 2002

    +
      +
    • bug fixes: file descriptor leak, XPath, HTML output, DTD validation
    • +
    • XPath conformance testing by Richard Jinks
    • +
    • Portability fixes: Solaris, MPE/iX, Windows, OSF/1, python bindings, + libxml.m4
    • +
    + +

    2.4.19: Mar 25 2002

    +
      +
    • bug fixes: half a dozen XPath bugs, Validation, ISO-Latin to UTF8 + encoder
    • +
    • portability fixes in the HTTP code
    • +
    • memory allocation checks using valgrind, and profiling tests
    • +
    • revamp of the Windows build and Makefiles
    • +
    + +

    2.4.18: Mar 18 2002

    +
      +
    • bug fixes: tree, SAX, canonicalization, validation, portability, + XPath
    • +
    • removed the --with-buffer option it was becoming unmaintainable
    • +
    • serious cleanup of the Python makefiles
    • +
    • speedup patch to XPath very effective for DocBook stylesheets
    • +
    • Fixes for Windows build, cleanup of the documentation
    • +
    + +

    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 Canonicalization support from Aleksey Sanin
    • +
    + +

    2.4.16: Feb 20 2002

    +
      +
    • a lot of bug fixes, most of them were triggered by the XML Testsuite + from OASIS and W3C. Compliance has been significantly improved.
    • +
    • a couple of portability fixes too.
    • +
    + +

    2.4.15: Feb 11 2002

    +
      +
    • Fixed the Makefiles, especially the python module ones
    • +
    • A few bug fixes and cleanup
    • +
    • Includes cleanup
    • +
    + +

    2.4.14: Feb 8 2002

    +
      +
    • Change of License to the MIT + License basically for integration in XFree86 codebase, and removing + confusion around the previous dual-licensing
    • +
    • added Python bindings, beta software but should already be quite + complete
    • +
    • a large number of fixes and cleanups, especially for all tree + manipulations
    • +
    • cleanup of the headers, generation of a reference API definition in + XML
    • +
    + +

    2.4.13: Jan 14 2002

    +
      +
    • update of the documentation: John Fleck and Charlie Bozeman
    • +
    • cleanup of timing code from Justin Fletcher
    • +
    • fixes for Windows and initial thread support on Win32: Igor and Serguei + Narojnyi
    • +
    • Cygwin patch from Robert Collins
    • +
    • added xmlSetEntityReferenceFunc() for Keith Isdale work on xsldbg
    • +
    + +

    2.4.12: Dec 7 2001

    +
      +
    • a few bug fixes: thread (Gary Pennington), xmllint (Geert Kloosterman), + XML parser (Robin Berjon), XPointer (Danny Jamshy), I/O cleanups + (robert)
    • +
    • Eric Lavigne contributed project files for MacOS
    • +
    • some makefiles cleanups
    • +
    + +

    2.4.11: Nov 26 2001

    +
      +
    • fixed a couple of errors in the includes, fixed a few bugs, some code + cleanups
    • +
    • xmllint man pages improvement by Heiko Rupp
    • +
    • updated VMS build instructions from John A Fotheringham
    • +
    • Windows Makefiles updates from Igor
    • +
    + +

    2.4.10: Nov 10 2001

    +
      +
    • URI escaping fix (Joel Young)
    • +
    • added xmlGetNodePath() (for paths or XPointers generation)
    • +
    • Fixes namespace handling problems when using DTD and validation
    • +
    • improvements on xmllint: Morus Walter patches for --format and + --encode, Stefan Kost and Heiko Rupp improvements on the --shell
    • +
    • fixes for xmlcatalog linking pointed by Weiqi Gao
    • +
    • fixes to the HTML parser
    • +
    + +

    2.4.9: Nov 6 2001

    +
      +
    • fixes more catalog bugs
    • +
    • avoid a compilation problem, improve xmlGetLineNo()
    • +
    + +

    2.4.8: Nov 4 2001

    +
      +
    • fixed SGML catalogs broken in previous release, updated xmlcatalog + tool
    • +
    • fixed a compile errors and some includes troubles.
    • +
    + +

    2.4.7: Oct 30 2001

    +
      +
    • exported some debugging interfaces
    • +
    • serious rewrite of the catalog code
    • +
    • integrated Gary Pennington thread safety patch, added configure option + and regression tests
    • +
    • removed an HTML parser bug
    • +
    • fixed a couple of potentially serious validation bugs
    • +
    • integrated the SGML DocBook support in xmllint
    • +
    • changed the nanoftp anonymous login passwd
    • +
    • some I/O cleanup and a couple of interfaces for Perl wrapper
    • +
    • general bug fixes
    • +
    • updated xmllint man page by John Fleck
    • +
    • some VMS and Windows updates
    • +
    + +

    2.4.6: Oct 10 2001

    +
      +
    • added an updated man pages by John Fleck
    • +
    • portability and configure fixes
    • +
    • an infinite loop on the HTML parser was removed (William)
    • +
    • Windows makefile patches from Igor
    • +
    • fixed half a dozen bugs reported for libxml or libxslt
    • +
    • updated xmlcatalog to be able to modify SGML super catalogs
    • +
    + +

    2.4.5: Sep 14 2001

    +
      +
    • Remove a few annoying bugs in 2.4.4
    • +
    • forces the HTML serializer to output decimal charrefs since some + version of Netscape can't handle hexadecimal ones
    • +
    + +

    1.8.16: Sep 14 2001

    +
      +
    • maintenance release of the old libxml1 branch, couple of bug and + portability fixes
    • +
    + +

    2.4.4: Sep 12 2001

    +
      +
    • added --convert to xmlcatalog, bug fixes and cleanups of XML + Catalog
    • +
    • a few bug fixes and some portability changes
    • +
    • some documentation cleanups
    • +
    + +

    2.4.3: Aug 23 2001

    +
      +
    • XML Catalog support see the doc
    • +
    • New NaN/Infinity floating point code
    • +
    • A few bug fixes
    • +
    + +

    2.4.2: Aug 15 2001

    +
      +
    • adds xmlLineNumbersDefault() to control line number generation
    • +
    • lot of bug fixes
    • +
    • the Microsoft MSC projects files should now be up to date
    • +
    • inheritance of namespaces from DTD defaulted attributes
    • +
    • fixes a serious potential security bug
    • +
    • added a --format option to xmllint
    • +
    + +

    2.4.1: July 24 2001

    +
      +
    • possibility to keep line numbers in the tree
    • +
    • some computation NaN fixes
    • +
    • extension of the XPath API
    • +
    • cleanup for alpha and ia64 targets
    • +
    • patch to allow saving through HTTP PUT or POST
    • +
    + +

    2.4.0: July 10 2001

    +
      +
    • Fixed a few bugs in XPath, validation, and tree handling.
    • +
    • Fixed XML Base implementation, added a couple of examples to the + regression tests
    • +
    • A bit of cleanup
    • +
    + +

    2.3.14: July 5 2001

    +
      +
    • fixed some entities problems and reduce memory requirement when + substituting them
    • +
    • lots of improvements in the XPath queries interpreter can be + substantially faster
    • +
    • Makefiles and configure cleanups
    • +
    • Fixes to XPath variable eval, and compare on empty node set
    • +
    • HTML tag closing bug fixed
    • +
    • Fixed an URI reference computation problem when validating
    • +
    + +

    2.3.13: June 28 2001

    +
      +
    • 2.3.12 configure.in was broken as well as the push mode XML parser
    • +
    • a few more fixes for compilation on Windows MSC by Yon Derek
    • +
    + +

    1.8.14: June 28 2001

    +
      +
    • Zbigniew Chyla gave a patch to use the old XML parser in push mode
    • +
    • Small Makefile fix
    • +
    + +

    2.3.12: June 26 2001

    +
      +
    • lots of cleanup
    • +
    • a couple of validation fix
    • +
    • fixed line number counting
    • +
    • fixed serious problems in the XInclude processing
    • +
    • added support for UTF8 BOM at beginning of entities
    • +
    • fixed a strange gcc optimizer bugs in xpath handling of float, gcc-3.0 + miscompile uri.c (William), Thomas Leitner provided a fix for the + optimizer on Tru64
    • +
    • incorporated Yon Derek and Igor Zlatkovic fixes and improvements for + compilation on Windows MSC
    • +
    • update of libxml-doc.el (Felix Natter)
    • +
    • fixed 2 bugs in URI normalization code
    • +
    + +

    2.3.11: June 17 2001

    +
      +
    • updates to trio, Makefiles and configure should fix some portability + problems (alpha)
    • +
    • fixed some HTML serialization problems (pre, script, and block/inline + handling), added encoding aware APIs, cleanup of this code
    • +
    • added xmlHasNsProp()
    • +
    • implemented a specific PI for encoding support in the DocBook SGML + parser
    • +
    • some XPath fixes (-Infinity, / as a function parameter and namespaces + node selection)
    • +
    • fixed a performance problem and an error in the validation code
    • +
    • fixed XInclude routine to implement the recursive behaviour
    • +
    • fixed xmlFreeNode problem when libxml is included statically twice
    • +
    • added --version to xmllint for bug reports
    • +
    + +

    2.3.10: June 1 2001

    +
      +
    • fixed the SGML catalog support
    • +
    • a number of reported bugs got fixed, in XPath, iconv detection, + XInclude processing
    • +
    • XPath string function should now handle unicode correctly
    • +
    + +

    2.3.9: May 19 2001

    + +

    Lots of bugfixes, and added a basic SGML catalog support:

    +
      +
    • HTML push bugfix #54891 and another patch from Jonas Borgström
    • +
    • some serious speed optimization again
    • +
    • some documentation cleanups
    • +
    • trying to get better linking on Solaris (-R)
    • +
    • XPath API cleanup from Thomas Broyer
    • +
    • Validation bug fixed #54631, added a patch from Gary Pennington, fixed + xmlValidGetValidElements()
    • +
    • Added an INSTALL file
    • +
    • Attribute removal added to API: #54433
    • +
    • added a basic support for SGML catalogs
    • +
    • fixed xmlKeepBlanksDefault(0) API
    • +
    • bugfix in xmlNodeGetLang()
    • +
    • fixed a small configure portability problem
    • +
    • fixed an inversion of SYSTEM and PUBLIC identifier in HTML document
    • +
    + +

    1.8.13: May 14 2001

    +
      +
    • bugfixes release of the old libxml1 branch used by Gnome
    • +
    + +

    2.3.8: May 3 2001

    +
      +
    • Integrated an SGML DocBook parser for the Gnome project
    • +
    • Fixed a few things in the HTML parser
    • +
    • Fixed some XPath bugs raised by XSLT use, tried to fix the floating + point portability issue
    • +
    • Speed improvement (8M/s for SAX, 3M/s for DOM, 1.5M/s for + DOM+validation using the XML REC as input and a 700MHz celeron).
    • +
    • incorporated more Windows cleanup
    • +
    • added xmlSaveFormatFile()
    • +
    • fixed problems in copying nodes with entities references (gdome)
    • +
    • removed some troubles surrounding the new validation module
    • +
    + +

    2.3.7: April 22 2001

    +
      +
    • lots of small bug fixes, corrected XPointer
    • +
    • Non deterministic content model validation support
    • +
    • added xmlDocCopyNode for gdome2
    • +
    • revamped the way the HTML parser handles end of tags
    • +
    • XPath: corrections of namespaces support and number formatting
    • +
    • Windows: Igor Zlatkovic patches for MSC compilation
    • +
    • HTML output fixes from P C Chow and William M. Brack
    • +
    • Improved validation speed sensible for DocBook
    • +
    • fixed a big bug with ID declared in external parsed entities
    • +
    • portability fixes, update of Trio from Bjorn Reese
    • +
    + +

    2.3.6: April 8 2001

    +
      +
    • Code cleanup using extreme gcc compiler warning options, found and + cleared half a dozen potential problem
    • +
    • the Eazel team found an XML parser bug
    • +
    • cleaned up the user of some of the string formatting function. used the + trio library code to provide the one needed when the platform is missing + them
    • +
    • xpath: removed a memory leak and fixed the predicate evaluation + problem, extended the testsuite and cleaned up the result. XPointer seems + broken ...
    • +
    + +

    2.3.5: Mar 23 2001

    +
      +
    • Biggest change is separate parsing and evaluation of XPath expressions, + there is some new APIs for this too
    • +
    • included a number of bug fixes(XML push parser, 51876, notations, + 52299)
    • +
    • Fixed some portability issues
    • +
    + +

    2.3.4: Mar 10 2001

    +
      +
    • Fixed bugs #51860 and #51861
    • +
    • Added a global variable xmlDefaultBufferSize to allow default buffer + size to be application tunable.
    • +
    • Some cleanup in the validation code, still a bug left and this part + should probably be rewritten to support ambiguous content model :-\
    • +
    • Fix a couple of serious bugs introduced or raised by changes in 2.3.3 + parser
    • +
    • Fixed another bug in xmlNodeGetContent()
    • +
    • Bjorn fixed XPath node collection and Number formatting
    • +
    • Fixed a loop reported in the HTML parsing
    • +
    • blank space are reported even if the Dtd content model proves that they + are formatting spaces, this is for XML conformance
    • +
    + +

    2.3.3: Mar 1 2001

    +
      +
    • small change in XPath for XSLT
    • +
    • documentation cleanups
    • +
    • fix in validation by Gary Pennington
    • +
    • serious parsing performances improvements
    • +
    + +

    2.3.2: Feb 24 2001

    +
      +
    • chasing XPath bugs, found a bunch, completed some TODO
    • +
    • fixed a Dtd parsing bug
    • +
    • fixed a bug in xmlNodeGetContent
    • +
    • ID/IDREF support partly rewritten by Gary Pennington
    • +
    + +

    2.3.1: Feb 15 2001

    +
      +
    • some XPath and HTML bug fixes for XSLT
    • +
    • small extension of the hash table interfaces for DOM gdome2 + implementation
    • +
    • A few bug fixes
    • +
    + +

    2.3.0: Feb 8 2001 (2.2.12 was on 25 Jan but I didn't kept track)

    +
      +
    • Lots of XPath bug fixes
    • +
    • Add a mode with Dtd lookup but without validation error reporting for + XSLT
    • +
    • Add support for text node without escaping (XSLT)
    • +
    • bug fixes for xmlCheckFilename
    • +
    • validation code bug fixes from Gary Pennington
    • +
    • Patch from Paul D. Smith correcting URI path normalization
    • +
    • Patch to allow simultaneous install of libxml-devel and + libxml2-devel
    • +
    • the example Makefile is now fixed
    • +
    • added HTML to the RPM packages
    • +
    • tree copying bugfixes
    • +
    • updates to Windows makefiles
    • +
    • optimization patch from Bjorn Reese
    • +
    + +

    2.2.11: Jan 4 2001

    +
      +
    • bunch of bug fixes (memory I/O, xpath, ftp/http, ...)
    • +
    • added htmlHandleOmittedElem()
    • +
    • Applied Bjorn Reese's IPV6 first patch
    • +
    • Applied Paul D. Smith patches for validation of XInclude results
    • +
    • added XPointer xmlns() new scheme support
    • +
    + +

    2.2.10: Nov 25 2000

    +
      +
    • Fix the Windows problems of 2.2.8
    • +
    • integrate OpenVMS patches
    • +
    • better handling of some nasty HTML input
    • +
    • Improved the XPointer implementation
    • +
    • integrate a number of provided patches
    • +
    + +

    2.2.9: Nov 25 2000

    +
      +
    • erroneous release :-(
    • +
    + +

    2.2.8: Nov 13 2000

    +
      +
    • First version of XInclude + support
    • +
    • Patch in conditional section handling
    • +
    • updated MS compiler project
    • +
    • fixed some XPath problems
    • +
    • added an URI escaping function
    • +
    • some other bug fixes
    • +
    + +

    2.2.7: Oct 31 2000

    +
      +
    • added message redirection
    • +
    • XPath improvements (thanks TOM !)
    • +
    • xmlIOParseDTD() added
    • +
    • various small fixes in the HTML, URI, HTTP and XPointer support
    • +
    • some cleanup of the Makefile, autoconf and the distribution content
    • +
    + +

    2.2.6: Oct 25 2000:

    +
      +
    • Added an hash table module, migrated a number of internal structure to + those
    • +
    • Fixed a posteriori validation problems
    • +
    • HTTP module cleanups
    • +
    • HTML parser improvements (tag errors, script/style handling, attribute + normalization)
    • +
    • coalescing of adjacent text nodes
    • +
    • couple of XPath bug fixes, exported the internal API
    • +
    + +

    2.2.5: Oct 15 2000:

    +
      +
    • XPointer implementation and testsuite
    • +
    • Lot of XPath fixes, added variable and functions registration, more + tests
    • +
    • Portability fixes, lots of enhancements toward an easy Windows build + and release
    • +
    • Late validation fixes
    • +
    • Integrated a lot of contributed patches
    • +
    • added memory management docs
    • +
    • a performance problem when using large buffer seems fixed
    • +
    + +

    2.2.4: Oct 1 2000:

    +
      +
    • main XPath problem fixed
    • +
    • Integrated portability patches for Windows
    • +
    • Serious bug fixes on the URI and HTML code
    • +
    + +

    2.2.3: Sep 17 2000

    +
      +
    • bug fixes
    • +
    • cleanup of entity handling code
    • +
    • overall review of all loops in the parsers, all sprintf usage has been + checked too
    • +
    • Far better handling of larges Dtd. Validating against DocBook XML Dtd + works smoothly now.
    • +
    + +

    1.8.10: Sep 6 2000

    +
      +
    • bug fix release for some Gnome projects
    • +
    + +

    2.2.2: August 12 2000

    +
      +
    • mostly bug fixes
    • +
    • started adding routines to access xml parser context options
    • +
    + +

    2.2.1: July 21 2000

    +
      +
    • a purely bug fixes release
    • +
    • fixed an encoding support problem when parsing from a memory block
    • +
    • fixed a DOCTYPE parsing problem
    • +
    • removed a bug in the function allowing to override the memory + allocation routines
    • +
    + +

    2.2.0: July 14 2000

    +
      +
    • applied a lot of portability fixes
    • +
    • better encoding support/cleanup and saving (content is now always + encoded in UTF-8)
    • +
    • the HTML parser now correctly handles encodings
    • +
    • added xmlHasProp()
    • +
    • fixed a serious problem with &#38;
    • +
    • propagated the fix to FTP client
    • +
    • cleanup, bugfixes, etc ...
    • +
    • Added a page about libxml Internationalization + support
    • +
    + +

    1.8.9: July 9 2000

    +
      +
    • fixed the spec the RPMs should be better
    • +
    • fixed a serious bug in the FTP implementation, released 1.8.9 to solve + rpmfind users problem
    • +
    + +

    2.1.1: July 1 2000

    +
      +
    • fixes a couple of bugs in the 2.1.0 packaging
    • +
    • improvements on the HTML parser
    • +
    + +

    2.1.0 and 1.8.8: June 29 2000

    +
      +
    • 1.8.8 is mostly a commodity package for upgrading to libxml2 according + to new instructions. It fixes a nasty problem + about &#38; charref parsing
    • +
    • 2.1.0 also ease the upgrade from libxml v1 to the recent version. it + also contains numerous fixes and enhancements: +
        +
      • added xmlStopParser() to stop parsing
      • +
      • improved a lot parsing speed when there is large CDATA blocs
      • +
      • includes XPath patches provided by Picdar Technology
      • +
      • tried to fix as much as possible DTD validation and namespace + related problems
      • +
      • output to a given encoding has been added/tested
      • +
      • lot of various fixes
      • +
      +
    • +
    + +

    2.0.0: Apr 12 2000

    +
      +
    • First public release of libxml2. If you are using libxml, it's a good + idea to check the 1.x to 2.x upgrade instructions. NOTE: while initially + scheduled for Apr 3 the release occurred only on Apr 12 due to massive + workload.
    • +
    • The include are now located under $prefix/include/libxml (instead of + $prefix/include/gnome-xml), they also are referenced by +
      #include <libxml/xxx.h>
      +

      instead of

      +
      #include "xxx.h"
      +
    • +
    • a new URI module for parsing URIs and following strictly RFC 2396
    • +
    • the memory allocation routines used by libxml can now be overloaded + dynamically by using xmlMemSetup()
    • +
    • The previously CVS only tool tester has been renamed + xmllint and is now installed as part of the libxml2 + package
    • +
    • The I/O interface has been revamped. There is now ways to plug in + specific I/O modules, either at the URI scheme detection level using + xmlRegisterInputCallbacks() or by passing I/O functions when creating a + parser context using xmlCreateIOParserCtxt()
    • +
    • there is a C preprocessor macro LIBXML_VERSION providing the version + number of the libxml module in use
    • +
    • a number of optional features of libxml can now be excluded at + configure time (FTP/HTTP/HTML/XPath/Debug)
    • +
    + +

    2.0.0beta: Mar 14 2000

    +
      +
    • This is a first Beta release of libxml version 2
    • +
    • It's available only fromxmlsoft.org + FTP, it's packaged as libxml2-2.0.0beta and available as tar and + RPMs
    • +
    • This version is now the head in the Gnome CVS base, the old one is + available under the tag LIB_XML_1_X
    • +
    • This includes a very large set of changes. From a programmatic point + of view applications should not have to be modified too much, check the + upgrade page
    • +
    • Some interfaces may changes (especially a bit about encoding).
    • +
    • the updates includes: +
        +
      • fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly + handled now
      • +
      • Better handling of entities, especially well-formedness checking + and proper PEref extensions in external subsets
      • +
      • DTD conditional sections
      • +
      • Validation now correctly handle entities content
      • +
      • change + structures to accommodate DOM
      • +
      +
    • +
    • Serious progress were made toward compliance, here are the result of the test against the + OASIS testsuite (except the Japanese tests since I don't support that + encoding yet). This URL is rebuilt every couple of hours using the CVS + head version.
    • +
    + +

    1.8.7: Mar 6 2000

    +
      +
    • This is a bug fix release:
    • +
    • It is possible to disable the ignorable blanks heuristic used by + libxml-1.x, a new function xmlKeepBlanksDefault(0) will allow this. Note + that for adherence to XML spec, this behaviour will be disabled by + default in 2.x . The same function will allow to keep compatibility for + old code.
    • +
    • Blanks in <a> </a> constructs are not ignored anymore, + avoiding heuristic is really the Right Way :-\
    • +
    • The unchecked use of snprintf which was breaking libxml-1.8.6 + compilation on some platforms has been fixed
    • +
    • nanoftp.c nanohttp.c: Fixed '#' and '?' stripping when processing + URIs
    • +
    + +

    1.8.6: Jan 31 2000

    +
      +
    • added a nanoFTP transport module, debugged until the new version of rpmfind can use + it without troubles
    • +
    + +

    1.8.5: Jan 21 2000

    +
      +
    • adding APIs to parse a well balanced chunk of XML (production [43] content of the + XML spec)
    • +
    • fixed a hideous bug in xmlGetProp pointed by Rune.Djurhuus@fast.no
    • +
    • Jody Goldberg <jgoldberg@home.com> provided another patch trying + to solve the zlib checks problems
    • +
    • The current state in gnome CVS base is expected to ship as 1.8.5 with + gnumeric soon
    • +
    + +

    1.8.4: Jan 13 2000

    +
      +
    • bug fixes, reintroduced xmlNewGlobalNs(), fixed xmlNewNs()
    • +
    • all exit() call should have been removed from libxml
    • +
    • fixed a problem with INCLUDE_WINSOCK on WIN32 platform
    • +
    • added newDocFragment()
    • +
    + +

    1.8.3: Jan 5 2000

    +
      +
    • a Push interface for the XML and HTML parsers
    • +
    • a shell-like interface to the document tree (try tester --shell :-)
    • +
    • lots of bug fixes and improvement added over XMas holidays
    • +
    • fixed the DTD parsing code to work with the xhtml DTD
    • +
    • added xmlRemoveProp(), xmlRemoveID() and xmlRemoveRef()
    • +
    • Fixed bugs in xmlNewNs()
    • +
    • External entity loading code has been revamped, now it uses + xmlLoadExternalEntity(), some fix on entities processing were added
    • +
    • cleaned up WIN32 includes of socket stuff
    • +
    + +

    1.8.2: Dec 21 1999

    +
      +
    • I got another problem with includes and C++, I hope this issue is fixed + for good this time
    • +
    • Added a few tree modification functions: xmlReplaceNode, + xmlAddPrevSibling, xmlAddNextSibling, xmlNodeSetName and + xmlDocSetRootElement
    • +
    • Tried to improve the HTML output with help from Chris Lahey
    • +
    + +

    1.8.1: Dec 18 1999

    +
      +
    • various patches to avoid troubles when using libxml with C++ compilers + the "namespace" keyword and C escaping in include files
    • +
    • a problem in one of the core macros IS_CHAR was corrected
    • +
    • fixed a bug introduced in 1.8.0 breaking default namespace processing, + and more specifically the Dia application
    • +
    • fixed a posteriori validation (validation after parsing, or by using a + Dtd not specified in the original document)
    • +
    • fixed a bug in
    • +
    + +

    1.8.0: Dec 12 1999

    +
      +
    • cleanup, especially memory wise
    • +
    • the parser should be more reliable, especially the HTML one, it should + not crash, whatever the input !
    • +
    • Integrated various patches, especially a speedup improvement for large + dataset from Carl Nygard, + configure with --with-buffers to enable them.
    • +
    • attribute normalization, oops should have been added long ago !
    • +
    • attributes defaulted from DTDs should be available, xmlSetProp() now + does entities escaping by default.
    • +
    + +

    1.7.4: Oct 25 1999

    +
      +
    • Lots of HTML improvement
    • +
    • Fixed some errors when saving both XML and HTML
    • +
    • More examples, the regression tests should now look clean
    • +
    • Fixed a bug with contiguous charref
    • +
    + +

    1.7.3: Sep 29 1999

    +
      +
    • portability problems fixed
    • +
    • snprintf was used unconditionally, leading to link problems on system + were it's not available, fixed
    • +
    + +

    1.7.1: Sep 24 1999

    +
      +
    • The basic type for strings manipulated by libxml has been renamed in + 1.7.1 from CHAR to xmlChar. The reason + is that CHAR was conflicting with a predefined type on Windows. However + on non WIN32 environment, compatibility is provided by the way of a + #define .
    • +
    • Changed another error : the use of a structure field called errno, and + leading to troubles on platforms where it's a macro
    • +
    + +

    1.7.0: Sep 23 1999

    +
      +
    • Added the ability to fetch remote DTD or parsed entities, see the nanohttp module.
    • +
    • Added an errno to report errors by another mean than a simple printf + like callback
    • +
    • Finished ID/IDREF support and checking when validation
    • +
    • Serious memory leaks fixed (there is now a memory wrapper module)
    • +
    • Improvement of XPath + implementation
    • +
    • Added an HTML parser front-end
    • +
    + +

    XML

    + +

    XML is a standard for +markup-based structured documents. Here is an example XML +document:

    +
    <?xml version="1.0"?>
    +<EXAMPLE prop1="gnome is great" prop2="&amp; linux too">
    +  <head>
    +   <title>Welcome to Gnome</title>
    +  </head>
    +  <chapter>
    +   <title>The Linux adventure</title>
    +   <p>bla bla bla ...</p>
    +   <image href="linus.gif"/>
    +   <p>...</p>
    +  </chapter>
    +</EXAMPLE>
    + +

    The first line specifies that it is an XML document and gives useful +information about its encoding. Then the rest of the document is a text +format whose structure is specified by tags between brackets. Each +tag opened has to be closed. XML is pedantic about this. However, if +a tag is empty (no content), a single tag can serve as both the opening and +closing tag if it ends with /> rather than with +>. Note that, for example, the image tag has no content (just +an attribute) and is closed by ending the tag with />.

    + +

    XML can be applied successfully to a wide range of tasks, ranging from +long term structured document maintenance (where it follows the steps of +SGML) to simple data encoding mechanisms like configuration file formatting +(glade), spreadsheets (gnumeric), or even shorter lived documents such as +WebDAV where it is used to encode remote calls between a client and a +server.

    + +

    XSLT

    + +

    Check the separate libxslt page

    + +

    XSL Transformations, is a +language for transforming XML documents into other XML documents (or +HTML/textual output).

    + +

    A separate library called libxslt is available implementing XSLT-1.0 for +libxml2. This module "libxslt" too can be found in the Gnome CVS base.

    + +

    You can check the features +supported and the progresses on the Changelog.

    + +

    Python and bindings

    + +

    There are a number of language bindings and wrappers available for +libxml2, the list below is not exhaustive. Please contact the xml-bindings@gnome.org +(archives) in +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 guaranteed +to be maintained as part of the library in the future, though the Python +interface have not yet reached the completeness of the C API.

    + +

    Stéphane Bidoul +maintains a Windows port +of the Python bindings.

    + +

    Note to people interested in building bindings, the API is formalized as +an XML API description file which allows to +automate a large part of the Python bindings, this includes function +descriptions, enums, structures, typedefs, etc... The Python script used to +build the bindings is python/generator.py in the source distribution.

    + +

    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.
    • +
    + +

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

    + +

    tst.py:

    + +

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

    +
    import libxml2, sys
    +
    +doc = libxml2.parseFile("tst.xml")
    +if doc.name != "tst.xml":
    +    print "doc.name failed"
    +    sys.exit(1)
    +root = doc.children
    +if root.name != "doc":
    +    print "root.name failed"
    +    sys.exit(1)
    +child = root.children
    +if child.name != "foo":
    +    print "child.name failed"
    +    sys.exit(1)
    +doc.freeDoc()
    + +

    The Python module is called libxml2; parseFile is the equivalent of +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 accessors:

    +
      +
    • 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 explicitly deallocate documents with freeDoc() . +Reference counting for libxml2 trees would need quite a lot of work to +function properly, and rather than risk memory leaks if not implemented +correctly it sounds safer to have an explicit function to free a tree. The +wrapper python objects like doc, root or child are them automatically garbage +collected.

    + +

    validate.py:

    + +

    This test check the validation interfaces and redirection of error +messages:

    +
    import libxml2
    +
    +#deactivate error messages from the validation
    +def noerr(ctx, str):
    +    pass
    +
    +libxml2.registerErrorHandler(noerr, None)
    +
    +ctxt = libxml2.createFileParserCtxt("invalid.xml")
    +ctxt.validate(1)
    +ctxt.parseDocument()
    +doc = ctxt.doc()
    +valid = ctxt.isValid()
    +doc.freeDoc()
    +if valid != 0:
    +    print "validity check failed"
    + +

    The first thing to notice is the call to registerErrorHandler(), it +defines a new error handler global to the library. It is used to avoid seeing +the error messages when trying to validate the invalid document.

    + +

    The main interest of that test is the creation of a parser context with +createFileParserCtxt() and how the behaviour can be changed before calling +parseDocument() . Similarly the informations resulting from the parsing phase +are also available using context methods.

    + +

    Contexts like nodes are defined as class and the libxml2 wrappers maps the +C function interfaces in terms of objects method as much as possible. The +best to get a complete view of what methods are supported is to look at the +libxml2.py module containing all the wrappers.

    + +

    push.py:

    + +

    This test show how to activate the push parser interface:

    +
    import libxml2
    +
    +ctxt = libxml2.createPushParser(None, "<foo", 4, "test.xml")
    +ctxt.parseChunk("/>", 2, 1)
    +doc = ctxt.doc()
    +
    +doc.freeDoc()
    + +

    The context is created with a special call based on the +xmlCreatePushParser() from the C library. The first argument is an optional +SAX callback object, then the initial set of data, the length and the name of +the resource in case URI-References need to be computed by the parser.

    + +

    Then the data are pushed using the parseChunk() method, the last call +setting the third argument terminate to 1.

    + +

    pushSAX.py:

    + +

    this test show the use of the event based parsing interfaces. In this case +the parser does not build a document, but provides callback information as +the parser makes progresses analyzing the data being provided:

    +
    import libxml2
    +log = ""
    +
    +class callback:
    +    def startDocument(self):
    +        global log
    +        log = log + "startDocument:"
    +
    +    def endDocument(self):
    +        global log
    +        log = log + "endDocument:"
    +
    +    def startElement(self, tag, attrs):
    +        global log
    +        log = log + "startElement %s %s:" % (tag, attrs)
    +
    +    def endElement(self, tag):
    +        global log
    +        log = log + "endElement %s:" % (tag)
    +
    +    def characters(self, data):
    +        global log
    +        log = log + "characters: %s:" % (data)
    +
    +    def warning(self, msg):
    +        global log
    +        log = log + "warning: %s:" % (msg)
    +
    +    def error(self, msg):
    +        global log
    +        log = log + "error: %s:" % (msg)
    +
    +    def fatalError(self, msg):
    +        global log
    +        log = log + "fatalError: %s:" % (msg)
    +
    +handler = callback()
    +
    +ctxt = libxml2.createPushParser(handler, "<foo", 4, "test.xml")
    +chunk = " url='tst'>b"
    +ctxt.parseChunk(chunk, len(chunk), 0)
    +chunk = "ar</foo>"
    +ctxt.parseChunk(chunk, len(chunk), 1)
    +
    +reference = "startDocument:startElement foo {'url': 'tst'}:" + \ 
    +            "characters: bar:endElement foo:endDocument:"
    +if log != reference:
    +    print "Error got: %s" % log
    +    print "Expected: %s" % reference
    + +

    The key object in that test is the handler, it provides a number of entry +points which can be called by the parser as it makes progresses to indicate +the information set obtained. The full set of callback is larger than what +the callback class in that specific example implements (see the SAX +definition for a complete list). The wrapper will only call those supplied by +the object when activated. The startElement receives the names of the element +and a dictionary containing the attributes carried by this element.

    + +

    Also note that the reference string generated from the callback shows a +single character call even though the string "bar" is passed to the parser +from 2 different call to parseChunk()

    + +

    xpath.py:

    + +

    This is a basic test of XPath wrappers support

    +
    import libxml2
    +
    +doc = libxml2.parseFile("tst.xml")
    +ctxt = doc.xpathNewContext()
    +res = ctxt.xpathEval("//*")
    +if len(res) != 2:
    +    print "xpath query: wrong node set size"
    +    sys.exit(1)
    +if res[0].name != "doc" or res[1].name != "foo":
    +    print "xpath query: wrong node set value"
    +    sys.exit(1)
    +doc.freeDoc()
    +ctxt.xpathFreeContext()
    + +

    This test parses a file, then create an XPath context to evaluate XPath +expression on it. The xpathEval() method execute an XPath query and returns +the result mapped in a Python way. String and numbers are natively converted, +and node sets are returned as a tuple of libxml2 Python nodes wrappers. Like +the document, the XPath context need to be freed explicitly, also not that +the result of the XPath query may point back to the document tree and hence +the document must be freed after the result of the query is used.

    + +

    xpathext.py:

    + +

    This test shows how to extend the XPath engine with functions written in +python:

    +
    import libxml2
    +
    +def foo(ctx, x):
    +    return x + 1
    +
    +doc = libxml2.parseFile("tst.xml")
    +ctxt = doc.xpathNewContext()
    +libxml2.registerXPathFunction(ctxt._o, "foo", None, foo)
    +res = ctxt.xpathEval("foo(1)")
    +if res != 2:
    +    print "xpath extension failure"
    +doc.freeDoc()
    +ctxt.xpathFreeContext()
    + +

    Note how the extension function is registered with the context (but that +part is not yet finalized, this may change slightly in the future).

    + +

    tstxpath.py:

    + +

    This test is similar to the previous one but shows how the extension +function can access the XPath evaluation context:

    +
    def foo(ctx, x):
    +    global called
    +
    +    #
    +    # test that access to the XPath evaluation contexts
    +    #
    +    pctxt = libxml2.xpathParserContext(_obj=ctx)
    +    ctxt = pctxt.context()
    +    called = ctxt.function()
    +    return x + 1
    + +

    All the interfaces around the XPath parser(or rather evaluation) context +are not finalized, but it should be sufficient to do contextual work at the +evaluation point.

    + +

    Memory debugging:

    + +

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

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

    and ends with the following epilogue:

    +
    #memory debug specific
    +libxml2.cleanupParser()
    +if libxml2.debugMemory(1) == 0:
    +    print "OK"
    +else:
    +    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
    +    libxml2.dumpMemory()
    + +

    Those activate the memory debugging interface of libxml2 where all +allocated block in the library are tracked. The prologue then cleans up the +library state and checks that all allocated memory has been freed. If not it +calls dumpMemory() which saves that list in a .memdump file.

    + +

    libxml2 architecture

    + +

    Libxml2 is made of multiple components; some of them are optional, and +most of the block interfaces are public. The main components are:

    +
      +
    • an Input/Output layer
    • +
    • FTP and HTTP client layers (optional)
    • +
    • an Internationalization layer managing the encodings support
    • +
    • a URI module
    • +
    • the XML parser and its basic SAX interface
    • +
    • an HTML parser using the same SAX interface (optional)
    • +
    • a SAX tree module to build an in-memory DOM representation
    • +
    • a tree module to manipulate the DOM representation
    • +
    • a validation module using the DOM representation (optional)
    • +
    • an XPath module for global lookup in a DOM representation + (optional)
    • +
    • a debug module (optional)
    • +
    + +

    Graphically this gives the following:

    + +

    a graphical view of the various

    + +

    + +

    The tree output

    + +

    The parser returns a tree built during the document analysis. The value +returned is an xmlDocPtr (i.e., a pointer to an +xmlDoc structure). This structure contains information such +as the file name, the document type, and a children pointer +which is the root of the document (or more exactly the first child under the +root which is the document). The tree is made of xmlNodes, +chained in double-linked lists of siblings and with a children<->parent +relationship. An xmlNode can also carry properties (a chain of xmlAttr +structures). An attribute may have a value which is a list of TEXT or +ENTITY_REF nodes.

    + +

    Here is an example (erroneous with respect to the XML spec since there +should be only one ELEMENT under the root):

    + +

     structure.gif

    + +

    In the source package there is a small program (not installed by default) +called xmllint which parses XML files given as argument and +prints them back as parsed. This is useful for detecting errors both in XML +code and in the XML parser itself. It has an option --debug +which prints the actual in-memory structure of the document; here is the +result with the example given before:

    +
    DOCUMENT
    +version=1.0
    +standalone=true
    +  ELEMENT EXAMPLE
    +    ATTRIBUTE prop1
    +      TEXT
    +      content=gnome is great
    +    ATTRIBUTE prop2
    +      ENTITY_REF
    +      TEXT
    +      content= linux too 
    +    ELEMENT head
    +      ELEMENT title
    +        TEXT
    +        content=Welcome to Gnome
    +    ELEMENT chapter
    +      ELEMENT title
    +        TEXT
    +        content=The Linux adventure
    +      ELEMENT p
    +        TEXT
    +        content=bla bla bla ...
    +      ELEMENT image
    +        ATTRIBUTE href
    +          TEXT
    +          content=linus.gif
    +      ELEMENT p
    +        TEXT
    +        content=...
    + +

    This should be useful for learning the internal representation model.

    + +

    The SAX interface

    + +

    Sometimes the DOM tree output is just too large to fit reasonably into +memory. In that case (and if you don't expect to save back the XML document +loaded using libxml), it's better to use the SAX interface of libxml. SAX is +a callback-based interface to the parser. Before parsing, +the application layer registers a customized set of callbacks which are +called by the library as it progresses through the XML input.

    + +

    To get more detailed step-by-step guidance on using the SAX interface of +libxml, see the nice +documentation.written by James +Henstridge.

    + +

    You can debug the SAX behaviour by using the testSAX +program located in the gnome-xml module (it's usually not shipped in the +binary packages of libxml, but you can find it in the tar source +distribution). Here is the sequence of callbacks that would be reported by +testSAX when parsing the example XML document shown earlier:

    +
    SAX.setDocumentLocator()
    +SAX.startDocument()
    +SAX.getEntity(amp)
    +SAX.startElement(EXAMPLE, prop1='gnome is great', prop2='&amp; linux too')
    +SAX.characters(   , 3)
    +SAX.startElement(head)
    +SAX.characters(    , 4)
    +SAX.startElement(title)
    +SAX.characters(Welcome to Gnome, 16)
    +SAX.endElement(title)
    +SAX.characters(   , 3)
    +SAX.endElement(head)
    +SAX.characters(   , 3)
    +SAX.startElement(chapter)
    +SAX.characters(    , 4)
    +SAX.startElement(title)
    +SAX.characters(The Linux adventure, 19)
    +SAX.endElement(title)
    +SAX.characters(    , 4)
    +SAX.startElement(p)
    +SAX.characters(bla bla bla ..., 15)
    +SAX.endElement(p)
    +SAX.characters(    , 4)
    +SAX.startElement(image, href='linus.gif')
    +SAX.endElement(image)
    +SAX.characters(    , 4)
    +SAX.startElement(p)
    +SAX.characters(..., 3)
    +SAX.endElement(p)
    +SAX.characters(   , 3)
    +SAX.endElement(chapter)
    +SAX.characters( , 1)
    +SAX.endElement(EXAMPLE)
    +SAX.endDocument()
    + +

    Most of the other interfaces of libxml2 are based on the DOM tree-building +facility, so nearly everything up to the end of this document presupposes the +use of the standard DOM tree build. Note that the DOM tree itself is built by +a set of registered default callbacks, without internal specific +interface.

    + +

    Validation & DTDs

    + +

    Table of Content:

    +
      +
    1. General overview
    2. +
    3. The definition
    4. +
    5. Simple rules +
        +
      1. How to reference a DTD from a document
      2. +
      3. Declaring elements
      4. +
      5. Declaring attributes
      6. +
      +
    6. +
    7. Some examples
    8. +
    9. How to validate
    10. +
    11. Other resources
    12. +
    + +

    General overview

    + +

    Well what is validation and what is a DTD ?

    + +

    DTD is the acronym for Document Type Definition. This is a description of +the content for a family of XML files. This is part of the XML 1.0 +specification, and allows one to describe and verify that a given document +instance conforms to the set of rules detailing its structure and content.

    + +

    Validation is the process of checking a document against a DTD (more +generally against a set of construction rules).

    + +

    The validation process and building DTDs are the two most difficult parts +of the XML life cycle. Briefly a DTD defines all the possible elements to be +found within your document, what is the formal shape of your document tree +(by defining the allowed content of an element; either text, a regular +expression for the allowed list of children, or mixed content i.e. both text +and children). The DTD also defines the valid attributes for all elements and +the types of those attributes.

    + +

    The definition

    + +

    The W3C XML Recommendation (Tim Bray's annotated version of +Rev1):

    + + +

    (unfortunately) all this is inherited from the SGML world, the syntax is +ancient...

    + +

    Simple rules

    + +

    Writing DTDs can be done in many ways. The rules to build them if you need +something permanent or something which can evolve over time can be radically +different. Really complex DTDs like DocBook ones are flexible but quite +harder to design. I will just focus on DTDs for a formats with a fixed simple +structure. It is just a set of basic rules, and definitely not exhaustive nor +usable for complex DTD design.

    + +

    How to reference a DTD from a document:

    + +

    Assuming the top element of the document is spec and the dtd +is placed in the file mydtd in the subdirectory +dtds of the directory from where the document were loaded:

    + +

    <!DOCTYPE spec SYSTEM "dtds/mydtd">

    + +

    Notes:

    +
      +
    • The system string is actually an URI-Reference (as defined in RFC 2396) so you can use a + full URL string indicating the location of your DTD on the Web. This is a + really good thing to do if you want others to validate your document.
    • +
    • It is also possible to associate a PUBLIC identifier (a + magic string) so that the DTD is looked up in catalogs on the client side + without having to locate it on the web.
    • +
    • A DTD contains a set of element and attribute declarations, but they + don't define what the root of the document should be. This is explicitly + told to the parser/validator as the first element of the + DOCTYPE declaration.
    • +
    + +

    Declaring elements:

    + +

    The following declares an element spec:

    + +

    <!ELEMENT spec (front, body, back?)>

    + +

    It also expresses that the spec element contains one front, +one body and one optional back children elements in +this order. The declaration of one element of the structure and its content +are done in a single declaration. Similarly the following declares +div1 elements:

    + +

    <!ELEMENT div1 (head, (p | list | note)*, div2?)>

    + +

    which means div1 contains one head then a series of optional +p, lists and notes and then an +optional div2. And last but not least an element can contain +text:

    + +

    <!ELEMENT b (#PCDATA)>

    + +

    b contains text or being of mixed content (text and elements +in no particular order):

    + +

    <!ELEMENT p (#PCDATA|a|ul|b|i|em)*>

    + +

    p can contain text or a, ul, +b, i or em elements in no particular +order.

    + +

    Declaring attributes:

    + +

    Again the attributes declaration includes their content definition:

    + +

    <!ATTLIST termdef name CDATA #IMPLIED>

    + +

    means that the element termdef can have a name +attribute containing text (CDATA) and which is optional +(#IMPLIED). The attribute value can also be defined within a +set:

    + +

    <!ATTLIST list type (bullets|ordered|glossary) +"ordered">

    + +

    means list element have a type attribute with 3 +allowed values "bullets", "ordered" or "glossary" and which default to +"ordered" if the attribute is not explicitly specified.

    + +

    The content type of an attribute can be text (CDATA), +anchor/reference/references +(ID/IDREF/IDREFS), entity(ies) +(ENTITY/ENTITIES) or name(s) +(NMTOKEN/NMTOKENS). The following defines that a +chapter element can have an optional id attribute +of type ID, usable for reference from attribute of type +IDREF:

    + +

    <!ATTLIST chapter id ID #IMPLIED>

    + +

    The last value of an attribute definition can be #REQUIRED +meaning that the attribute has to be given, #IMPLIED +meaning that it is optional, or the default value (possibly prefixed by +#FIXED if it is the only allowed).

    + +

    Notes:

    +
      +
    • Usually the attributes pertaining to a given element are declared in a + single expression, but it is just a convention adopted by a lot of DTD + writers: +
      <!ATTLIST termdef
      +          id      ID      #REQUIRED
      +          name    CDATA   #IMPLIED>
      +

      The previous construct defines both id and + name attributes for the element termdef.

      +
    • +
    + +

    Some examples

    + +

    The directory test/valid/dtds/ in the libxml2 distribution +contains some complex DTD examples. The example in the file +test/valid/dia.xml shows an XML file where the simple DTD is +directly included within the document.

    + +

    How to validate

    + +

    The simplest way is to use the xmllint program included with libxml. The +--valid option turns-on validation of the files given as input. +For example the following validates a copy of the first revision of the XML +1.0 specification:

    + +

    xmllint --valid --noout test/valid/REC-xml-19980210.xml

    + +

    the -- noout is used to disable output of the resulting tree.

    + +

    The --dtdvalid dtd allows validation of the document(s) +against a given DTD.

    + +

    Libxml2 exports an API to handle DTDs and validation, check the associated +description.

    + +

    Other resources

    + +

    DTDs are as old as SGML. So there may be a number of examples on-line, I +will just list one for now, others pointers welcome:

    + + +

    I suggest looking at the examples found under test/valid/dtd and any of +the large number of books available on XML. The dia example in test/valid +should be both simple and complete enough to allow you to build your own.

    + +

    + +

    Memory Management

    + +

    Table of Content:

    +
      +
    1. General overview
    2. +
    3. Setting libxml2 set of memory routines
    4. +
    5. Cleaning up after parsing
    6. +
    7. Debugging routines
    8. +
    9. General memory requirements
    10. +
    + +

    General overview

    + +

    The module xmlmemory.h +provides the interfaces to the libxml2 memory system:

    +
      +
    • libxml2 does not use the libc memory allocator directly but xmlFree(), + xmlMalloc() and xmlRealloc()
    • +
    • those routines can be reallocated to a specific set of routine, by + default the libc ones i.e. free(), malloc() and realloc()
    • +
    • the xmlmemory.c module includes a set of debugging routine
    • +
    + +

    Setting libxml2 set of memory routines

    + +

    It is sometimes useful to not use the default memory allocator, either for +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
    • +
    • xmlMemSetup() + 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 libxml2 routines (unless you are sure your allocations routines are +compatibles).

    + +

    Cleaning up after parsing

    + +

    Libxml2 is not stateless, there is a few set of memory structures needing +allocation before the parser is fully functional (some encoding structures +for example). This also mean that once parsing is finished there is a tiny +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).
    • +
    • xmlInitParser + () is the dual routine allowing to preallocate the parsing state + which can be useful for example to avoid initialization reentrancy + problems when using libxml2 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 +in multithreaded applications.

    + +

    Debugging routines

    + +

    When configured using --with-mem-debug flag (off by default), libxml2 uses +a set of memory allocation debugging routines keeping track of all allocated +blocks and the location in the code where the routine was called. A couple of +other debugging routines allow to dump the memory allocated infos to a file +or call a specific routine when a given block number is allocated:

    + + +

    When developing libxml2 memory debug is enabled, the tests programs call +xmlMemoryDump () and the "make test" regression tests will check for any +memory leak during the full regression test sequence, this helps a lot +ensuring that libxml2 does not leak memory and bullet proof memory +allocations use (some libc implementations are known to be far too permissive +resulting in major portability problems!).

    + +

    If the .memdump reports a leak, it displays the allocation function and +also tries to give some informations about the content and structure of the +allocated blocks left. This is sufficient in most cases to find the culprit, +but not always. Assuming the allocation problem is reproducible, it is +possible to find more easily:

    +
      +
    1. write down the block number xxxx not allocated
    2. +
    3. export the environment variable XML_MEM_BREAKPOINT=xxxx , the easiest + when using GDB is to simply give the command +

      set environment XML_MEM_BREAKPOINT xxxx

      +

      before running the program.

      +
    4. +
    5. run the program under a debugger and set a breakpoint on + xmlMallocBreakpoint() a specific function called when this precise block + is allocated
    6. +
    7. when the breakpoint is reached you can then do a fine analysis of the + allocation an step to see the condition resulting in the missing + deallocation.
    8. +
    + +

    I used to use a commercial tool to debug libxml2 memory problems but after +noticing that it was not detecting memory leaks that simple mechanism was +used and proved extremely efficient until now. Lately I have also used valgrind with quite some +success, it is tied to the i386 architecture since it works by emulating the +processor and instruction set, it is slow but extremely efficient, i.e. it +spot memory usage errors in a very precise way.

    + +

    General memory requirements

    + +

    How much libxml2 memory require ? It's hard to tell in average it depends +of a number of things:

    +
      +
    • the parser itself should work in a fixed amount of memory, except for + information maintained about the stacks of names and entities locations. + The I/O and encoding handlers will probably account for a few KBytes. + This is true for both the XML and HTML parser (though the HTML parser + need more state).
    • +
    • If you are generating the DOM tree then memory requirements will grow + nearly linear with the size of the data. In general for a balanced + textual document the internal memory requirement is about 4 times the + size of the UTF8 serialization of this document (example the XML-1.0 + recommendation is a bit more of 150KBytes and takes 650KBytes of main + memory when parsed). Validation will add a amount of memory required for + maintaining the external Dtd state which should be linear with the + complexity of the content model defined by the Dtd
    • +
    • If you need to work with fixed memory requirements or don't need the + full DOM tree then using the xmlReader + interface is probably the best way to proceed, it still allows to + validate or operate on subset of the tree if needed.
    • +
    • If you don't care about the advanced features of libxml2 like + validation, DOM, XPath or XPointer, don't use entities, need to work with + fixed memory requirements, and try to get the fastest parsing possible + then the SAX interface should be used, but it has known restrictions.
    • +
    + +

    + +

    Encodings support

    + +

    Table of Content:

    +
      +
    1. What does internationalization support + mean ?
    2. +
    3. The internal encoding, how and + why
    4. +
    5. How is it implemented ?
    6. +
    7. Default supported encodings
    8. +
    9. How to extend the existing + support
    10. +
    + +

    What does internationalization support mean ?

    + +

    If you are not really familiar with Internationalization (usual shortcut +is I18N) , Unicode, characters and glyphs, I suggest you read a presentation +by Tim Bray on Unicode and why you should care about it.

    + +

    XML was designed from the start to allow the support of any character set +by using Unicode. Any conformant XML parser has to support the UTF-8 and +UTF-16 default encodings which can both express the full unicode ranges. UTF8 +is a variable length encoding whose greatest points are to reuse the same +encoding for ASCII and to save space for Western encodings, but it is a bit +more complex to handle in practice. UTF-16 use 2 bytes per character (and +sometimes combines two pairs), it makes implementation easier, but looks a +bit overkill for Western languages encoding. Moreover the XML specification +allows the document to be encoded in other encodings at the condition that +they are clearly labeled as such. For example the following is a wellformed +XML document encoded in ISO-8859-1 and using accentuated letters that we +French like for both markup and content:

    +
    <?xml version="1.0" encoding="ISO-8859-1"?>
    +<très>là</très>
    + +

    Having internationalization support in libxml2 means the following:

    +
      +
    • the document is properly parsed
    • +
    • informations about it's encoding are saved
    • +
    • it can be modified
    • +
    • it can be saved in its original encoding
    • +
    • it can also be saved in another encoding supported by libxml2 (for + example straight UTF8 or even an ASCII form)
    • +
    + +

    Another very important point is that the whole libxml2 API, with the +exception of a few routines to read with a specific encoding or save to a +specific encoding, is completely agnostic about the original encoding of the +document.

    + +

    It should be noted too that the HTML parser embedded in libxml2 now obey +the same rules too, the following document will be (as of 2.2.2) handled in +an internationalized fashion by libxml2 too:

    +
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
    +                      "http://www.w3.org/TR/REC-html40/loose.dtd">
    +<html lang="fr">
    +<head>
    +  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
    +</head>
    +<body>
    +<p>W3C crée des standards pour le Web.</body>
    +</html>
    + +

    The internal encoding, how and why

    + +

    One of the core decisions was to force all documents to be converted to a +default internal encoding, and that encoding to be UTF-8, here are the +rationales for those choices:

    +
      +
    • keeping the native encoding in the internal form would force the libxml + users (or the code associated) to be fully aware of the encoding of the + original document, for examples when adding a text node to a document, + the content would have to be provided in the document encoding, i.e. the + client code would have to check it before hand, make sure it's conformant + to the encoding, etc ... Very hard in practice, though in some specific + cases this may make sense.
    • +
    • the second decision was which encoding. From the XML spec only UTF8 and + UTF16 really makes sense as being the two only encodings for which there + is mandatory support. UCS-4 (32 bits fixed size encoding) could be + considered an intelligent choice too since it's a direct Unicode mapping + support. I selected UTF-8 on the basis of efficiency and compatibility + with surrounding software: +
        +
      • UTF-8 while a bit more complex to convert from/to (i.e. slightly + more costly to import and export CPU wise) is also far more compact + than UTF-16 (and UCS-4) for a majority of the documents I see it used + for right now (RPM RDF catalogs, advogato data, various configuration + file formats, etc.) and the key point for today's computer + architecture is efficient uses of caches. If one nearly double the + memory requirement to store the same amount of data, this will trash + caches (main memory/external caches/internal caches) and my take is + that this harms the system far more than the CPU requirements needed + for the conversion to UTF-8
      • +
      • Most of libxml2 version 1 users were using it with straight ASCII + most of the time, doing the conversion with an internal encoding + requiring all their code to be rewritten was a serious show-stopper + for using UTF-16 or UCS-4.
      • +
      • UTF-8 is being used as the de-facto internal encoding standard for + related code like the pango + upcoming Gnome text widget, and a lot of Unix code (yet another place + where Unix programmer base takes a different approach from Microsoft + - they are using UTF-16)
      • +
      +
    • +
    + +

    What does this mean in practice for the libxml2 user:

    +
      +
    • xmlChar, the libxml2 data type is a byte, those bytes must be assembled + as UTF-8 valid strings. The proper way to terminate an xmlChar * string + is simply to append 0 byte, as usual.
    • +
    • One just need to make sure that when using chars outside the ASCII set, + the values has been properly converted to UTF-8
    • +
    + +

    How is it implemented ?

    + +

    Let's describe how all this works within libxml, basically the I18N +(internationalization) support get triggered only during I/O operation, i.e. +when reading a document or saving one. Let's look first at the reading +sequence:

    +
      +
    1. when a document is processed, we usually don't know the encoding, a + simple heuristic allows to detect UTF-16 and UCS-4 from encodings where + the ASCII range (0-0x7F) maps with ASCII
    2. +
    3. the xml declaration if available is parsed, including the encoding + declaration. At that point, if the autodetected encoding is different + from the one declared a call to xmlSwitchEncoding() is issued.
    4. +
    5. If there is no encoding declaration, then the input has to be in either + UTF-8 or UTF-16, if it is not then at some point when processing the + input, the converter/checker of UTF-8 form will raise an encoding error. + You may end-up with a garbled document, or no document at all ! Example: +
      ~/XML -> ./xmllint err.xml 
      +err.xml:1: error: Input is not proper UTF-8, indicate encoding !
      +<très>là</très>
      +   ^
      +err.xml:1: error: Bytes: 0xE8 0x73 0x3E 0x6C
      +<très>là</très>
      +   ^
      +
    6. +
    7. xmlSwitchEncoding() does an encoding name lookup, canonicalize it, and + then search the default registered encoding converters for that encoding. + If it's not within the default set and iconv() support has been compiled + it, it will ask iconv for such an encoder. If this fails then the parser + will report an error and stops processing: +
      ~/XML -> ./xmllint err2.xml 
      +err2.xml:1: error: Unsupported encoding UnsupportedEnc
      +<?xml version="1.0" encoding="UnsupportedEnc"?>
      +                                             ^
      +
    8. +
    9. From that point the encoder processes progressively the input (it is + plugged as a front-end to the I/O module) for that entity. It captures + and converts on-the-fly the document to be parsed to UTF-8. The parser + itself just does UTF-8 checking of this input and process it + transparently. The only difference is that the encoding information has + been added to the parsing context (more precisely to the input + corresponding to this entity).
    10. +
    11. The result (when using DOM) is an internal form completely in UTF-8 + with just an encoding information on the document node.
    12. +
    + +

    Ok then what happens when saving the document (assuming you +collected/built an xmlDoc DOM like structure) ? It depends on the function +called, xmlSaveFile() will just try to save in the original encoding, while +xmlSaveFileTo() and xmlSaveFileEnc() can optionally save to a given +encoding:

    +
      +
    1. if no encoding is given, libxml2 will look for an encoding value + associated to the document and if it exists will try to save to that + encoding, +

      otherwise everything is written in the internal form, i.e. UTF-8

      +
    2. +
    3. so if an encoding was specified, either at the API level or on the + document, libxml2 will again canonicalize the encoding name, lookup for a + converter in the registered set or through iconv. If not found the + function will return an error code
    4. +
    5. the converter is placed before the I/O buffer layer, as another kind of + buffer, then libxml2 will simply push the UTF-8 serialization to through + that buffer, which will then progressively be converted and pushed onto + the I/O layer.
    6. +
    7. It is possible that the converter code fails on some input, for example + trying to push an UTF-8 encoded Chinese character through the UTF-8 to + ISO-8859-1 converter won't work. Since the encoders are progressive they + will just report the error and the number of bytes converted, at that + point libxml2 will decode the offending character, remove it from the + buffer and replace it with the associated charRef encoding &#123; and + resume the conversion. This guarantees that any document will be saved + without losses (except for markup names where this is not legal, this is + a problem in the current version, in practice avoid using non-ascii + characters for tag or attribute names). A special "ascii" encoding name + is used to save documents to a pure ascii form can be used when + portability is really crucial
    8. +
    + +

    Here are a few examples based on the same test document:

    +
    ~/XML -> ./xmllint isolat1 
    +<?xml version="1.0" encoding="ISO-8859-1"?>
    +<très>là</très>
    +~/XML -> ./xmllint --encode UTF-8 isolat1 
    +<?xml version="1.0" encoding="UTF-8"?>
    +<très>là  </très>
    +~/XML -> 
    + +

    The same processing is applied (and reuse most of the code) for HTML I18N +processing. Looking up and modifying the content encoding is a bit more +difficult since it is located in a <meta> tag under the <head>, +so a couple of functions htmlGetMetaEncoding() and htmlSetMetaEncoding() have +been provided. The parser also attempts to switch encoding on the fly when +detecting such a tag on input. Except for that the processing is the same +(and again reuses the same code).

    + +

    Default supported encodings

    + +

    libxml2 has a set of default converters for the following encodings +(located in encoding.c):

    +
      +
    1. UTF-8 is supported by default (null handlers)
    2. +
    3. UTF-16, both little and big endian
    4. +
    5. ISO-Latin-1 (ISO-8859-1) covering most western languages
    6. +
    7. ASCII, useful mostly for saving
    8. +
    9. HTML, a specific handler for the conversion of UTF-8 to ASCII with HTML + predefined entities like &copy; for the Copyright sign.
    10. +
    + +

    More over when compiled on an Unix platform with iconv support the full +set of encodings supported by iconv can be instantly be used by libxml. On a +linux machine with glibc-2.1 the list of supported encodings and aliases fill +3 full pages, and include UCS-4, the full set of ISO-Latin encodings, and the +various Japanese ones.

    + +

    Encoding aliases

    + +

    From 2.2.3, libxml2 has support to register encoding names aliases. The +goal is to be able to parse document whose encoding is supported but where +the name differs (for example from the default set of names accepted by +iconv). The following functions allow to register and handle new aliases for +existing encodings. Once registered libxml2 will automatically lookup the +aliases when handling a document:

    +
      +
    • int xmlAddEncodingAlias(const char *name, const char *alias);
    • +
    • int xmlDelEncodingAlias(const char *alias);
    • +
    • const char * xmlGetEncodingAlias(const char *alias);
    • +
    • void xmlCleanupEncodingAliases(void);
    • +
    + +

    How to extend the existing support

    + +

    Well adding support for new encoding, or overriding one of the encoders +(assuming it is buggy) should not be hard, just write input and output +conversion routines to/from UTF-8, and register them using +xmlNewCharEncodingHandler(name, xxxToUTF8, UTF8Toxxx), and they will be +called automatically if the parser(s) encounter such an encoding name +(register it uppercase, this will help). The description of the encoders, +their arguments and expected return values are described in the encoding.h +header.

    + +

    A quick note on the topic of subverting the parser to use a different +internal encoding than UTF-8, in some case people will absolutely want to +keep the internal encoding different, I think it's still possible (but the +encoding must be compliant with ASCII on the same subrange) though I didn't +tried it. The key is to override the default conversion routines (by +registering null encoders/decoders for your charsets), and bypass the UTF-8 +checking of the parser by setting the parser context charset +(ctxt->charset) to something different than XML_CHAR_ENCODING_UTF8, but +there is no guarantee that this will work. You may also have some troubles +saving back.

    + +

    Basically proper I18N support is important, this requires at least +libxml-2.0.0, but a lot of features and corrections are really available only +starting 2.2.

    + +

    I/O Interfaces

    + +

    Table of Content:

    +
      +
    1. General overview
    2. +
    3. The basic buffer type
    4. +
    5. Input I/O handlers
    6. +
    7. Output I/O handlers
    8. +
    9. The entities loader
    10. +
    11. Example of customized I/O
    12. +
    + +

    General overview

    + +

    The module xmlIO.h provides +the interfaces to the libxml2 I/O system. This consists of 4 main parts:

    +
      +
    • Entities loader, this is a routine which tries to fetch the entities + (files) based on their PUBLIC and SYSTEM identifiers. The default loader + don't look at the public identifier since libxml2 do not maintain a + catalog. You can redefine you own entity loader by using + xmlGetExternalEntityLoader() and + xmlSetExternalEntityLoader(). Check the + example.
    • +
    • Input I/O buffers which are a commodity structure used by the parser(s) + input layer to handle fetching the informations to feed the parser. This + provides buffering and is also a placeholder where the encoding + converters to UTF8 are piggy-backed.
    • +
    • Output I/O buffers are similar to the Input ones and fulfill similar + task but when generating a serialization from a tree.
    • +
    • A mechanism to register sets of I/O callbacks and associate them with + specific naming schemes like the protocol part of the URIs. +

      This affect the default I/O operations and allows to use specific I/O + handlers for certain names.

      +
    • +
    + +

    The general mechanism used when loading http://rpmfind.net/xml.html for +example in the HTML parser is the following:

    +
      +
    1. The default entity loader calls xmlNewInputFromFile() with + the parsing context and the URI string.
    2. +
    3. the URI string is checked against the existing registered handlers + using their match() callback function, if the HTTP module was compiled + in, it is registered and its match() function will succeeds
    4. +
    5. the open() function of the handler is called and if successful will + return an I/O Input buffer
    6. +
    7. the parser will the start reading from this buffer and progressively + fetch information from the resource, calling the read() function of the + handler until the resource is exhausted
    8. +
    9. if an encoding change is detected it will be installed on the input + buffer, providing buffering and efficient use of the conversion + routines
    10. +
    11. once the parser has finished, the close() function of the handler is + called once and the Input buffer and associated resources are + deallocated.
    12. +
    + +

    The user defined callbacks are checked first to allow overriding of the +default libxml2 I/O routines.

    + +

    The basic buffer type

    + +

    All the buffer manipulation handling is done using the +xmlBuffer type define in tree.h which is a +resizable memory buffer. The buffer allocation strategy can be selected to be +either best-fit or use an exponential doubling one (CPU vs. memory use +trade-off). The values are XML_BUFFER_ALLOC_EXACT and +XML_BUFFER_ALLOC_DOUBLEIT, and can be set individually or on a +system wide basis using xmlBufferSetAllocationScheme(). A number +of functions allows to manipulate buffers with names starting with the +xmlBuffer... prefix.

    + +

    Input I/O handlers

    + +

    An Input I/O handler is a simple structure +xmlParserInputBuffer containing a context associated to the +resource (file descriptor, or pointer to a protocol handler), the read() and +close() callbacks to use and an xmlBuffer. And extra xmlBuffer and a charset +encoding handler are also present to support charset conversion when +needed.

    + +

    Output I/O handlers

    + +

    An Output handler xmlOutputBuffer is completely similar to an +Input one except the callbacks are write() and close().

    + +

    The entities loader

    + +

    The entity loader resolves requests for new entities and create inputs for +the parser. Creating an input from a filename or an URI string is done +through the xmlNewInputFromFile() routine. The default entity loader do not +handle the PUBLIC identifier associated with an entity (if any). So it just +calls xmlNewInputFromFile() with the SYSTEM identifier (which is mandatory in +XML).

    + +

    If you want to hook up a catalog mechanism then you simply need to +override the default entity loader, here is an example:

    +
    #include <libxml/xmlIO.h>
    +
    +xmlExternalEntityLoader defaultLoader = NULL;
    +
    +xmlParserInputPtr
    +xmlMyExternalEntityLoader(const char *URL, const char *ID,
    +                               xmlParserCtxtPtr ctxt) {
    +    xmlParserInputPtr ret;
    +    const char *fileID = NULL;
    +    /* lookup for the fileID depending on ID */
    +
    +    ret = xmlNewInputFromFile(ctxt, fileID);
    +    if (ret != NULL)
    +        return(ret);
    +    if (defaultLoader != NULL)
    +        ret = defaultLoader(URL, ID, ctxt);
    +    return(ret);
    +}
    +
    +int main(..) {
    +    ...
    +
    +    /*
    +     * Install our own entity loader
    +     */
    +    defaultLoader = xmlGetExternalEntityLoader();
    +    xmlSetExternalEntityLoader(xmlMyExternalEntityLoader);
    +
    +    ...
    +}
    + +

    Example of customized I/O

    + +

    This example come from a +real use case, xmlDocDump() closes the FILE * passed by the application +and this was a problem. The solution was to redefine a +new output handler with the closing call deactivated:

    +
      +
    1. First define a new I/O output allocator where the output don't close + the file: +
      xmlOutputBufferPtr
      +xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) {
      +    xmlOutputBufferPtr ret;
      +    
      +    if (xmlOutputCallbackInitialized == 0)
      +        xmlRegisterDefaultOutputCallbacks();
      +
      +    if (file == NULL) return(NULL);
      +    ret = xmlAllocOutputBuffer(encoder);
      +    if (ret != NULL) {
      +        ret->context = file;
      +        ret->writecallback = xmlFileWrite;
      +        ret->closecallback = NULL;  /* No close callback */
      +    }
      +    return(ret);
      +} 
      +
    2. +
    3. And then use it to save the document: +
      FILE *f;
      +xmlOutputBufferPtr output;
      +xmlDocPtr doc;
      +int res;
      +
      +f = ...
      +doc = ....
      +
      +output = xmlOutputBufferCreateOwn(f, NULL);
      +res = xmlSaveFileTo(output, doc, NULL);
      +    
      +
    4. +
    + +

    Catalog support

    + +

    Table of Content:

    +
      +
    1. General overview
    2. +
    3. The definition
    4. +
    5. Using catalogs
    6. +
    7. Some examples
    8. +
    9. How to tune catalog usage
    10. +
    11. How to debug catalog processing
    12. +
    13. How to create and maintain catalogs
    14. +
    15. The implementor corner quick review of the + API
    16. +
    17. Other resources
    18. +
    + +

    General overview

    + +

    What is a catalog? Basically it's a lookup mechanism used when an entity +(a file or a remote resource) references another entity. The catalog lookup +is inserted between the moment the reference is recognized by the software +(XML parser, stylesheet processing, or even images referenced for inclusion +in a rendering) and the time where loading that resource is actually +started.

    + +

    It is basically used for 3 things:

    +
      +
    • mapping from "logical" names, the public identifiers and a more + concrete name usable for download (and URI). For example it can associate + the logical name +

      "-//OASIS//DTD DocBook XML V4.1.2//EN"

      +

      of the DocBook 4.1.2 XML DTD with the actual URL where it can be + downloaded

      +

      http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd

      +
    • +
    • remapping from a given URL to another one, like an HTTP indirection + saying that +

      "http://www.oasis-open.org/committes/tr.xsl"

      +

      should really be looked at

      +

      "http://www.oasis-open.org/committes/entity/stylesheets/base/tr.xsl"

      +
    • +
    • providing a local cache mechanism allowing to load the entities + associated to public identifiers or remote resources, this is a really + important feature for any significant deployment of XML or SGML since it + allows to avoid the aleas and delays associated to fetching remote + resources.
    • +
    + +

    The definitions

    + +

    Libxml, as of 2.4.3 implements 2 kind of catalogs:

    +
      +
    • the older SGML catalogs, the official spec is SGML Open Technical + Resolution TR9401:1997, but is better understood by reading the SP Catalog page from + 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.
    • +
    + +

    + +

    Using catalog

    + +

    In a normal environment libxml2 will by default check the presence of a +catalog in /etc/xml/catalog, and assuming it has been correctly populated, +the processing is completely transparent to the document user. To take a +concrete example, suppose you are authoring a DocBook document, this one +starts with the following DOCTYPE definition:

    +
    <?xml version='1.0'?>
    +<!DOCTYPE book PUBLIC "-//Norman Walsh//DTD DocBk XML V3.1.4//EN"
    +          "http://nwalsh.com/docbook/xml/3.1.4/db3xml.dtd">
    + +

    When validating the document with libxml, the catalog will be +automatically consulted to lookup the public identifier "-//Norman Walsh//DTD +DocBk XML V3.1.4//EN" and the system identifier +"http://nwalsh.com/docbook/xml/3.1.4/db3xml.dtd", and if these entities have +been installed on your system and the catalogs actually point to them, libxml +will fetch them from the local disk.

    + +

    Note: Really don't use this +DOCTYPE example it's a really old version, but is fine as an example.

    + +

    Libxml2 will check the catalog each time that it is requested to load an +entity, this includes DTD, external parsed entities, stylesheets, etc ... If +your system is correctly configured all the authoring phase and processing +should use only local files, even if your document stays portable because it +uses the canonical public and system ID, referencing the remote document.

    + +

    Some examples:

    + +

    Here is a couple of fragments from XML Catalogs used in libxml2 early +regression tests in test/catalogs :

    +
    <?xml version="1.0"?>
    +<!DOCTYPE catalog PUBLIC 
    +   "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
    +   "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
    +<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
    +  <public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
    +   uri="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/>
    +...
    + +

    This is the beginning of a catalog for DocBook 4.1.2, XML Catalogs are +written in XML, there is a specific namespace for catalog elements +"urn:oasis:names:tc:entity:xmlns:xml:catalog". The first entry in this +catalog is a public mapping it allows to associate a Public +Identifier with an URI.

    +
    ...
    +    <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/"
    +                   rewritePrefix="file:///usr/share/xml/docbook/"/>
    +...
    + +

    A rewriteSystem is a very powerful instruction, it says that +any URI starting with a given prefix should be looked at another URI +constructed by replacing the prefix with an new one. In effect this acts like +a cache system for a full area of the Web. In practice it is extremely useful +with a file prefix if you have installed a copy of those resources on your +local system.

    +
    ...
    +<delegatePublic publicIdStartString="-//OASIS//DTD XML Catalog //"
    +                catalog="file:///usr/share/xml/docbook.xml"/>
    +<delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook XML"
    +                catalog="file:///usr/share/xml/docbook.xml"/>
    +<delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML"
    +                catalog="file:///usr/share/xml/docbook.xml"/>
    +<delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/"
    +                catalog="file:///usr/share/xml/docbook.xml"/>
    +<delegateURI uriStartString="http://www.oasis-open.org/docbook/"
    +                catalog="file:///usr/share/xml/docbook.xml"/>
    +...
    + +

    Delegation is the core features which allows to build a tree of catalogs, +easier to maintain than a single catalog, based on Public Identifier, System +Identifier or URI prefixes it instructs the catalog software to look up +entries in another resource. This feature allow to build hierarchies of +catalogs, the set of entries presented should be sufficient to redirect the +resolution of all DocBook references to the specific catalog in +/usr/share/xml/docbook.xml this one in turn could delegate all +references for DocBook 4.2.1 to a specific catalog installed at the same time +as the DocBook resources on the local machine.

    + +

    How to tune catalog usage:

    + +

    The user can change the default catalog behaviour by redirecting queries +to its own set of catalogs, this can be done by setting the +XML_CATALOG_FILES environment variable to a list of catalogs, an +empty one should deactivate loading the default /etc/xml/catalog +default catalog

    + +

    How to debug catalog processing:

    + +

    Setting up the XML_DEBUG_CATALOG environment variable will +make libxml2 output debugging informations for each catalog operations, for +example:

    +
    orchis:~/XML -> xmllint --memory --noout test/ent2
    +warning: failed to load external entity "title.xml"
    +orchis:~/XML -> export XML_DEBUG_CATALOG=
    +orchis:~/XML -> xmllint --memory --noout test/ent2
    +Failed to parse catalog /etc/xml/catalog
    +Failed to parse catalog /etc/xml/catalog
    +warning: failed to load external entity "title.xml"
    +Catalogs cleanup
    +orchis:~/XML -> 
    + +

    The test/ent2 references an entity, running the parser from memory makes +the base URI unavailable and the the "title.xml" entity cannot be loaded. +Setting up the debug environment variable allows to detect that an attempt is +made to load the /etc/xml/catalog but since it's not present the +resolution fails.

    + +

    But the most advanced way to debug XML catalog processing is to use the +xmlcatalog command shipped with libxml2, it allows to load +catalogs and make resolution queries to see what is going on. This is also +used for the regression tests:

    +
    orchis:~/XML -> ./xmlcatalog test/catalogs/docbook.xml \
    +                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
    +http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
    +orchis:~/XML -> 
    + +

    For debugging what is going on, adding one -v flags increase the verbosity +level to indicate the processing done (adding a second flag also indicate +what elements are recognized at parsing):

    +
    orchis:~/XML -> ./xmlcatalog -v test/catalogs/docbook.xml \
    +                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
    +Parsing catalog test/catalogs/docbook.xml's content
    +Found public match -//OASIS//DTD DocBook XML V4.1.2//EN
    +http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
    +Catalogs cleanup
    +orchis:~/XML -> 
    + +

    A shell interface is also available to debug and process multiple queries +(and for regression tests):

    +
    orchis:~/XML -> ./xmlcatalog -shell test/catalogs/docbook.xml \
    +                   "-//OASIS//DTD DocBook XML V4.1.2//EN"
    +> help   
    +Commands available:
    +public PublicID: make a PUBLIC identifier lookup
    +system SystemID: make a SYSTEM identifier lookup
    +resolve PublicID SystemID: do a full resolver lookup
    +add 'type' 'orig' 'replace' : add an entry
    +del 'values' : remove values
    +dump: print the current catalog state
    +debug: increase the verbosity level
    +quiet: decrease the verbosity level
    +exit:  quit the shell
    +> public "-//OASIS//DTD DocBook XML V4.1.2//EN"
    +http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
    +> quit
    +orchis:~/XML -> 
    + +

    This should be sufficient for most debugging purpose, this was actually +used heavily to debug the XML Catalog implementation itself.

    + +

    How to create and maintain catalogs:

    + +

    Basically XML Catalogs are XML files, you can either use XML tools to +manage them or use xmlcatalog for this. The basic step is +to create a catalog the -create option provide this facility:

    +
    orchis:~/XML -> ./xmlcatalog --create tst.xml
    +<?xml version="1.0"?>
    +<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
    +         "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
    +<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"/>
    +orchis:~/XML -> 
    + +

    By default xmlcatalog does not overwrite the original catalog and save the +result on the standard output, this can be overridden using the -noout +option. The -add command allows to add entries in the +catalog:

    +
    orchis:~/XML -> ./xmlcatalog --noout --create --add "public" \
    +  "-//OASIS//DTD DocBook XML V4.1.2//EN" \
    +  http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd tst.xml
    +orchis:~/XML -> cat tst.xml
    +<?xml version="1.0"?>
    +<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" \
    +  "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
    +<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
    +<public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
    +        uri="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/>
    +</catalog>
    +orchis:~/XML -> 
    + +

    The -add option will always take 3 parameters even if some of +the XML Catalog constructs (like nextCatalog) will have only a single +argument, just pass a third empty string, it will be ignored.

    + +

    Similarly the -del option remove matching entries from the +catalog:

    +
    orchis:~/XML -> ./xmlcatalog --del \
    +  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" tst.xml
    +<?xml version="1.0"?>
    +<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
    +    "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
    +<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"/>
    +orchis:~/XML -> 
    + +

    The catalog is now empty. Note that the matching of -del is +exact and would have worked in a similar fashion with the Public ID +string.

    + +

    This is rudimentary but should be sufficient to manage a not too complex +catalog tree of resources.

    + +

    The implementor corner quick review of the +API:

    + +

    First, and like for every other module of libxml, there is an +automatically generated API page for +catalog support.

    + +

    The header for the catalog interfaces should be included as:

    +
    #include <libxml/catalog.h>
    + +

    The API is voluntarily kept very simple. First it is not obvious that +applications really need access to it since it is the default behaviour of +libxml2 (Note: it is possible to completely override libxml2 default catalog +by using xmlSetExternalEntityLoader to +plug an application specific resolver).

    + +

    Basically libxml2 support 2 catalog lists:

    +
      +
    • the default one, global shared by all the application
    • +
    • a per-document catalog, this one is built if the document uses the + oasis-xml-catalog PIs to specify its own catalog list, it is + associated to the parser context and destroyed when the parsing context + is destroyed.
    • +
    + +

    the document one will be used first if it exists.

    + +

    Initialization routines:

    + +

    xmlInitializeCatalog(), xmlLoadCatalog() and xmlLoadCatalogs() should be +used at startup to initialize the catalog, if the catalog should be +initialized with specific values xmlLoadCatalog() or xmlLoadCatalogs() +should be called before xmlInitializeCatalog() which would otherwise do a +default initialization first.

    + +

    The xmlCatalogAddLocal() call is used by the parser to grow the document +own catalog list if needed.

    + +

    Preferences setup:

    + +

    The XML Catalog spec requires the possibility to select default +preferences between public and system delegation, +xmlCatalogSetDefaultPrefer() allows this, xmlCatalogSetDefaults() and +xmlCatalogGetDefaults() allow to control if XML Catalogs resolution should +be forbidden, allowed for global catalog, for document catalog or both, the +default is to allow both.

    + +

    And of course xmlCatalogSetDebug() allows to generate debug messages +(through the xmlGenericError() mechanism).

    + +

    Querying routines:

    + +

    xmlCatalogResolve(), xmlCatalogResolveSystem(), xmlCatalogResolvePublic() +and xmlCatalogResolveURI() are relatively explicit if you read the XML +Catalog specification they correspond to section 7 algorithms, they should +also work if you have loaded an SGML catalog with a simplified semantic.

    + +

    xmlCatalogLocalResolve() and xmlCatalogLocalResolveURI() are the same but +operate on the document catalog list

    + +

    Cleanup and Miscellaneous:

    + +

    xmlCatalogCleanup() free-up the global catalog, xmlCatalogFreeLocal() is +the per-document equivalent.

    + +

    xmlCatalogAdd() and xmlCatalogRemove() are used to dynamically modify the +first catalog in the global list, and xmlCatalogDump() allows to dump a +catalog state, those routines are primarily designed for xmlcatalog, I'm not +sure that exposing more complex interfaces (like navigation ones) would be +really useful.

    + +

    The xmlParseCatalogFile() is a function used to load XML Catalog files, +it's similar as xmlParseFile() except it bypass all catalog lookups, it's +provided because this functionality may be useful for client tools.

    + +

    threaded environments:

    + +

    Since the catalog tree is built progressively, some care has been taken to +try to avoid troubles in multithreaded environments. The code is now thread +safe assuming that the libxml2 library has been compiled with threads +support.

    + +

    + +

    Other resources

    + +

    The XML Catalog specification is relatively recent so there isn't much +literature to point at:

    +
      +
    • You can find a good rant from Norm Walsh about the + need for catalogs, it provides a lot of context informations even if + I don't agree with everything presented. Norm also wrote a more recent + article XML + entities and URI resolvers describing them.
    • +
    • An old XML + catalog proposal from John Cowan
    • +
    • The Resource Directory Description + Language (RDDL) another catalog system but more oriented toward + providing metadata for XML namespaces.
    • +
    • the page from the OASIS Technical Committee on Entity + Resolution who maintains XML Catalog, you will find pointers to the + specification update, some background and pointers to others tools + providing XML Catalog support
    • +
    • There is a shell script to generate + XML Catalogs for DocBook 4.1.2 . If it can write to the /etc/xml/ + directory, it will set-up /etc/xml/catalog and /etc/xml/docbook based on + the resources found on the system. Otherwise it will just create + ~/xmlcatalog and ~/dbkxmlcatalog and doing: +

      export XML_CATALOG_FILES=$HOME/xmlcatalog

      +

      should allow to process DocBook documentations without requiring + network accesses for the DTD or stylesheets

      +
    • +
    • I have uploaded a + small tarball containing XML Catalogs for DocBook 4.1.2 which seems + to work fine for me too
    • +
    • The xmlcatalog + manual page
    • +
    + +

    If you have suggestions for corrections or additions, simply contact +me:

    + +

    The parser interfaces

    + +

    This section is directly intended to help programmers getting bootstrapped +using the XML tollkit from the C language. It is not intended to be +extensive. I hope the automatically generated documents will provide the +completeness required, but as a separate set of documents. The interfaces of +the XML parser are by principle low level, Those interested in a higher level +API should look at DOM.

    + +

    The parser interfaces for XML are +separated from the HTML parser +interfaces. Let's have a look at how the XML parser can be called:

    + +

    Invoking the parser : the pull method

    + +

    Usually, the first thing to do is to read an XML input. The parser accepts +documents either from in-memory strings or from files. The functions are +defined in "parser.h":

    +
    +
    xmlDocPtr xmlParseMemory(char *buffer, int size);
    +

    Parse a null-terminated string containing the document.

    +
    +
    +
    +
    xmlDocPtr xmlParseFile(const char *filename);
    +

    Parse an XML document contained in a (possibly compressed) + file.

    +
    +
    + +

    The parser returns a pointer to the document structure (or NULL in case of +failure).

    + +

    Invoking the parser: the push method

    + +

    In order for the application to keep the control when the document is +being fetched (which is common for GUI based programs) libxml2 provides a +push interface, too, as of version 1.8.3. Here are the interface +functions:

    +
    xmlParserCtxtPtr xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
    +                                         void *user_data,
    +                                         const char *chunk,
    +                                         int size,
    +                                         const char *filename);
    +int              xmlParseChunk          (xmlParserCtxtPtr ctxt,
    +                                         const char *chunk,
    +                                         int size,
    +                                         int terminate);
    + +

    and here is a simple example showing how to use the interface:

    +
                FILE *f;
    +
    +            f = fopen(filename, "r");
    +            if (f != NULL) {
    +                int res, size = 1024;
    +                char chars[1024];
    +                xmlParserCtxtPtr ctxt;
    +
    +                res = fread(chars, 1, 4, f);
    +                if (res > 0) {
    +                    ctxt = xmlCreatePushParserCtxt(NULL, NULL,
    +                                chars, res, filename);
    +                    while ((res = fread(chars, 1, size, f)) > 0) {
    +                        xmlParseChunk(ctxt, chars, res, 0);
    +                    }
    +                    xmlParseChunk(ctxt, chars, 0, 1);
    +                    doc = ctxt->myDoc;
    +                    xmlFreeParserCtxt(ctxt);
    +                }
    +            }
    + +

    The HTML parser embedded into libxml2 also has a push interface; the +functions are just prefixed by "html" rather than "xml".

    + +

    Invoking the parser: the SAX interface

    + +

    The tree-building interface makes the parser memory-hungry, first loading +the document in memory and then building the tree itself. Reading a document +without building the tree is possible using the SAX interfaces (see SAX.h and +James +Henstridge's documentation). Note also that the push interface can be +limited to SAX: just use the two first arguments of +xmlCreatePushParserCtxt().

    + +

    Building a tree from scratch

    + +

    The other way to get an XML tree in memory is by building it. Basically +there is a set of functions dedicated to building new elements. (These are +also described in <libxml/tree.h>.) For example, here is a piece of +code that produces the XML document used in the previous examples:

    +
        #include <libxml/tree.h>
    +    xmlDocPtr doc;
    +    xmlNodePtr tree, subtree;
    +
    +    doc = xmlNewDoc("1.0");
    +    doc->children = xmlNewDocNode(doc, NULL, "EXAMPLE", NULL);
    +    xmlSetProp(doc->children, "prop1", "gnome is great");
    +    xmlSetProp(doc->children, "prop2", "& linux too");
    +    tree = xmlNewChild(doc->children, NULL, "head", NULL);
    +    subtree = xmlNewChild(tree, NULL, "title", "Welcome to Gnome");
    +    tree = xmlNewChild(doc->children, NULL, "chapter", NULL);
    +    subtree = xmlNewChild(tree, NULL, "title", "The Linux adventure");
    +    subtree = xmlNewChild(tree, NULL, "p", "bla bla bla ...");
    +    subtree = xmlNewChild(tree, NULL, "image", NULL);
    +    xmlSetProp(subtree, "href", "linus.gif");
    + +

    Not really rocket science ...

    + +

    Traversing the tree

    + +

    Basically by including "tree.h" your +code has access to the internal structure of all the elements of the tree. +The names should be somewhat simple like parent, +children, next, prev, +properties, etc... For example, still with the previous +example:

    +
    doc->children->children->children
    + +

    points to the title element,

    +
    doc->children->children->next->children->children
    + +

    points to the text node containing the chapter title "The Linux +adventure".

    + +

    NOTE: XML allows PIs and comments to be +present before the document root, so doc->children may point +to an element which is not the document Root Element; a function +xmlDocGetRootElement() was added for this purpose.

    + +

    Modifying the tree

    + +

    Functions are provided for reading and writing the document content. Here +is an excerpt from the tree API:

    +
    +
    xmlAttrPtr xmlSetProp(xmlNodePtr node, const xmlChar *name, const + xmlChar *value);
    +

    This sets (or changes) an attribute carried by an ELEMENT node. + The value can be NULL.

    +
    +
    +
    +
    const xmlChar *xmlGetProp(xmlNodePtr node, const xmlChar + *name);
    +

    This function returns a pointer to new copy of the property + content. Note that the user must deallocate the result.

    +
    +
    + +

    Two functions are provided for reading and writing the text associated +with elements:

    +
    +
    xmlNodePtr xmlStringGetNodeList(xmlDocPtr doc, const xmlChar + *value);
    +

    This function takes an "external" string and converts it to one + text node or possibly to a list of entity and text nodes. All + non-predefined entity references like &Gnome; will be stored + internally as entity nodes, hence the result of the function may not be + a single node.

    +
    +
    +
    +
    xmlChar *xmlNodeListGetString(xmlDocPtr doc, xmlNodePtr list, int + inLine);
    +

    This function is the inverse of + xmlStringGetNodeList(). It generates a new string + containing the content of the text and entity nodes. Note the extra + argument inLine. If this argument is set to 1, the function will expand + entity references. For example, instead of returning the &Gnome; + XML encoding in the string, it will substitute it with its value (say, + "GNU Network Object Model Environment").

    +
    +
    + +

    Saving a tree

    + +

    Basically 3 options are possible:

    +
    +
    void xmlDocDumpMemory(xmlDocPtr cur, xmlChar**mem, int + *size);
    +

    Returns a buffer into which the document has been saved.

    +
    +
    +
    +
    extern void xmlDocDump(FILE *f, xmlDocPtr doc);
    +

    Dumps a document to an open file descriptor.

    +
    +
    +
    +
    int xmlSaveFile(const char *filename, xmlDocPtr cur);
    +

    Saves the document to a file. In this case, the compression + interface is triggered if it has been turned on.

    +
    +
    + +

    Compression

    + +

    The library transparently handles compression when doing file-based +accesses. The level of compression on saves can be turned on either globally +or individually for one file:

    +
    +
    int xmlGetDocCompressMode (xmlDocPtr doc);
    +

    Gets the document compression ratio (0-9).

    +
    +
    +
    +
    void xmlSetDocCompressMode (xmlDocPtr doc, int mode);
    +

    Sets the document compression ratio.

    +
    +
    +
    +
    int xmlGetCompressMode(void);
    +

    Gets the default compression ratio.

    +
    +
    +
    +
    void xmlSetCompressMode(int mode);
    +

    Sets the default compression ratio.

    +
    +
    + +

    Entities or no entities

    + +

    Entities in principle are similar to simple C macros. An entity defines an +abbreviation for a given string that you can reuse many times throughout the +content of your document. Entities are especially useful when a given string +may occur frequently within a document, or to confine the change needed to a +document to a restricted area in the internal subset of the document (at the +beginning). Example:

    +
    1 <?xml version="1.0"?>
    +2 <!DOCTYPE EXAMPLE SYSTEM "example.dtd" [
    +3 <!ENTITY xml "Extensible Markup Language">
    +4 ]>
    +5 <EXAMPLE>
    +6    &xml;
    +7 </EXAMPLE>
    + +

    Line 3 declares the xml entity. Line 6 uses the xml entity, by prefixing +its name with '&' and following it by ';' without any spaces added. There +are 5 predefined entities in libxml2 allowing you to escape characters with +predefined meaning in some parts of the xml document content: +&lt; for the character '<', &gt; +for the character '>', &apos; for the character ''', +&quot; for the character '"', and +&amp; for the character '&'.

    + +

    One of the problems related to entities is that you may want the parser to +substitute an entity's content so that you can see the replacement text in +your application. Or you may prefer to keep entity references as such in the +content to be able to save the document back without losing this usually +precious information (if the user went through the pain of explicitly +defining entities, he may have a a rather negative attitude if you blindly +substitute them as saving time). The xmlSubstituteEntitiesDefault() +function allows you to check and change the behaviour, which is to not +substitute entities by default.

    + +

    Here is the DOM tree built by libxml2 for the previous document in the +default case:

    +
    /gnome/src/gnome-xml -> ./xmllint --debug test/ent1
    +DOCUMENT
    +version=1.0
    +   ELEMENT EXAMPLE
    +     TEXT
    +     content=
    +     ENTITY_REF
    +       INTERNAL_GENERAL_ENTITY xml
    +       content=Extensible Markup Language
    +     TEXT
    +     content=
    + +

    And here is the result when substituting entities:

    +
    /gnome/src/gnome-xml -> ./tester --debug --noent test/ent1
    +DOCUMENT
    +version=1.0
    +   ELEMENT EXAMPLE
    +     TEXT
    +     content=     Extensible Markup Language
    + +

    So, entities or no entities? Basically, it depends on your use case. I +suggest that you keep the non-substituting default behaviour and avoid using +entities in your XML document or data if you are not willing to handle the +entity references elements in the DOM tree.

    + +

    Note that at save time libxml2 enforces the conversion of the predefined +entities where necessary to prevent well-formedness problems, and will also +transparently replace those with chars (i.e. it will not generate entity +reference elements in the DOM tree or call the reference() SAX callback when +finding them in the input).

    + +

    WARNING: handling entities +on top of the libxml2 SAX interface is difficult!!! If you plan to use +non-predefined entities in your documents, then the learning curve to handle +then using the SAX API may be long. If you plan to use complex documents, I +strongly suggest you consider using the DOM interface instead and let libxml +deal with the complexity rather than trying to do it yourself.

    + +

    Namespaces

    + +

    The libxml2 library implements XML namespaces support by +recognizing namespace constructs in the input, and does namespace lookup +automatically when building the DOM tree. A namespace declaration is +associated with an in-memory structure and all elements or attributes within +that namespace point to it. Hence testing the namespace is a simple and fast +equality operation at the user level.

    + +

    I suggest that people using libxml2 use a namespace, and declare it in the +root element of their document as the default namespace. Then they don't need +to use the prefix in the content but we will have a basis for future semantic +refinement and merging of data from different sources. This doesn't increase +the size of the XML output significantly, but significantly increases its +value in the long-term. Example:

    +
    <mydoc xmlns="http://mydoc.example.org/schemas/">
    +   <elem1>...</elem1>
    +   <elem2>...</elem2>
    +</mydoc>
    + +

    The namespace value has to be an absolute URL, but the URL doesn't have to +point to any existing resource on the Web. It will bind all the element and +attributes with that URL. I suggest to use an URL within a domain you +control, and that the URL should contain some kind of version information if +possible. For example, "http://www.gnome.org/gnumeric/1.0/" is a +good namespace scheme.

    + +

    Then when you load a file, make sure that a namespace carrying the +version-independent prefix is installed on the root element of your document, +and if the version information don't match something you know, warn the user +and be liberal in what you accept as the input. Also do *not* try to base +namespace checking on the prefix value. <foo:text> may be exactly the +same as <bar:text> in another document. What really matters is the URI +associated with the element or the attribute, not the prefix string (which is +just a shortcut for the full URI). In libxml, element and attributes have an +ns field pointing to an xmlNs structure detailing the namespace +prefix and its URI.

    + +

    @@Interfaces@@

    +
    xmlNodePtr node;
    +if(!strncmp(node->name,"mytag",5)
    +  && node->ns
    +  && !strcmp(node->ns->href,"http://www.mysite.com/myns/1.0")) {
    +  ...
    +}
    + +

    Usually people object to using namespaces together with validity checking. +I will try to make sure that using namespaces won't break validity checking, +so even if you plan to use or currently are using validation I strongly +suggest adding namespaces to your document. A default namespace scheme +xmlns="http://...." should not break validity even on less +flexible parsers. Using namespaces to mix and differentiate content coming +from multiple DTDs will certainly break current validation schemes. To check +such documents one needs to use schema-validation, which is supported in +libxml2 as well. See relagx-ng and w3c-schema.

    + +

    Upgrading 1.x code

    + +

    Incompatible changes:

    + +

    Version 2 of libxml2 is the first version introducing serious backward +incompatible changes. The main goals were:

    +
      +
    • a general cleanup. A number of mistakes inherited from the very early + versions couldn't be changed due to compatibility constraints. Example + the "childs" element in the nodes.
    • +
    • Uniformization of the various nodes, at least for their header and link + parts (doc, parent, children, prev, next), the goal is a simpler + programming model and simplifying the task of the DOM implementors.
    • +
    • better conformances to the XML specification, for example version 1.x + had an heuristic to try to detect ignorable white spaces. As a result the + SAX event generated were ignorableWhitespace() while the spec requires + character() in that case. This also mean that a number of DOM node + containing blank text may populate the DOM tree which were not present + before.
    • +
    + +

    How to fix libxml-1.x code:

    + +

    So client code of libxml designed to run with version 1.x may have to be +changed to compile against version 2.x of libxml. Here is a list of changes +that I have collected, they may not be sufficient, so in case you find other +change which are required, drop me a +mail:

    +
      +
    1. The package name have changed from libxml to libxml2, the library name + is now -lxml2 . There is a new xml2-config script which should be used to + select the right parameters libxml2
    2. +
    3. Node childs field has been renamed + children so s/childs/children/g should be applied + (probability of having "childs" anywhere else is close to 0+
    4. +
    5. The document don't have anymore a root element it has + been replaced by children and usually you will get a + list of element here. For example a Dtd element for the internal subset + and it's declaration may be found in that list, as well as processing + instructions or comments found before or after the document root element. + Use xmlDocGetRootElement(doc) to get the root element of + a document. Alternatively if you are sure to not reference DTDs nor have + PIs or comments before or after the root element + s/->root/->children/g will probably do it.
    6. +
    7. The white space issue, this one is more complex, unless special case of + validating parsing, the line breaks and spaces usually used for indenting + and formatting the document content becomes significant. So they are + reported by SAX and if your using the DOM tree, corresponding nodes are + generated. Too approach can be taken: +
        +
      1. lazy one, use the compatibility call + xmlKeepBlanksDefault(0) but be aware that you are + relying on a special (and possibly broken) set of heuristics of + libxml to detect ignorable blanks. Don't complain if it breaks or + make your application not 100% clean w.r.t. to it's input.
      2. +
      3. the Right Way: change you code to accept possibly insignificant + blanks characters, or have your tree populated with weird blank text + nodes. You can spot them using the commodity function + xmlIsBlankNode(node) returning 1 for such blank + nodes.
      4. +
      +

      Note also that with the new default the output functions don't add any + extra indentation when saving a tree in order to be able to round trip + (read and save) without inflating the document with extra formatting + chars.

      +
    8. +
    9. The include path has changed to $prefix/libxml/ and the includes + themselves uses this new prefix in includes instructions... If you are + using (as expected) the +
      xml2-config --cflags
      +

      output to generate you compile commands this will probably work out of + the box

      +
    10. +
    11. xmlDetectCharEncoding takes an extra argument indicating the length in + byte of the head of the document available for character detection.
    12. +
    + +

    Ensuring both libxml-1.x and libxml-2.x compatibility

    + +

    Two new version of libxml (1.8.11) and libxml2 (2.3.4) have been released +to allow smooth upgrade of existing libxml v1code while retaining +compatibility. They offers the following:

    +
      +
    1. similar include naming, one should use + #include<libxml/...> in both cases.
    2. +
    3. similar identifiers defined via macros for the child and root fields: + respectively xmlChildrenNode and + xmlRootNode
    4. +
    5. a new macro LIBXML_TEST_VERSION which should be + inserted once in the client code
    6. +
    + +

    So the roadmap to upgrade your existing libxml applications is the +following:

    +
      +
    1. install the libxml-1.8.8 (and libxml-devel-1.8.8) packages
    2. +
    3. find all occurrences where the xmlDoc root field is + used and change it to xmlRootNode
    4. +
    5. similarly find all occurrences where the xmlNode + childs field is used and change it to + xmlChildrenNode
    6. +
    7. add a LIBXML_TEST_VERSION macro somewhere in your + main() or in the library init entry point
    8. +
    9. Recompile, check compatibility, it should still work
    10. +
    11. Change your configure script to look first for xml2-config and fall + back using xml-config . Use the --cflags and --libs output of the command + as the Include and Linking parameters needed to use libxml.
    12. +
    13. install libxml2-2.3.x and libxml2-devel-2.3.x (libxml-1.8.y and + libxml-devel-1.8.y can be kept simultaneously)
    14. +
    15. remove your config.cache, relaunch your configuration mechanism, and + recompile, if steps 2 and 3 were done right it should compile as-is
    16. +
    17. Test that your application is still running correctly, if not this may + be due to extra empty nodes due to formating spaces being kept in libxml2 + contrary to libxml1, in that case insert xmlKeepBlanksDefault(1) in your + code before calling the parser (next to + LIBXML_TEST_VERSION is a fine place).
    18. +
    + +

    Following those steps should work. It worked for some of my own code.

    + +

    Let me put some emphasis on the fact that there is far more changes from +libxml 1.x to 2.x than the ones you may have to patch for. The overall code +has been considerably cleaned up and the conformance to the XML specification +has been drastically improved too. Don't take those changes as an excuse to +not upgrade, it may cost a lot on the long term ...

    + +

    Thread safety

    + +

    Starting with 2.4.7, libxml2 makes provisions to ensure that concurrent +threads can safely work in parallel parsing different documents. There is +however a couple of things to do to ensure it:

    +
      +
    • configure the library accordingly using the --with-threads options
    • +
    • call xmlInitParser() in the "main" thread before using any of the + libxml2 API (except possibly selecting a different memory allocator)
    • +
    + +

    Note that the thread safety cannot be ensured for multiple threads sharing +the same document, the locking must be done at the application level, libxml +exports a basic mutex and reentrant mutexes API in <libxml/threads.h>. +The parts of the library checked for thread safety are:

    +
      +
    • concurrent loading
    • +
    • file access resolution
    • +
    • catalog access
    • +
    • catalog building
    • +
    • entities lookup/accesses
    • +
    • validation
    • +
    • global variables per-thread override
    • +
    • memory handling
    • +
    + +

    XPath is supposed to be thread safe now, but this wasn't tested +seriously.

    + +

    DOM Principles

    + +

    DOM stands for the Document +Object Model; this is an API for accessing XML or HTML structured +documents. Native support for DOM in Gnome is on the way (module gnome-dom), +and will be based on gnome-xml. This will be a far cleaner interface to +manipulate XML files within Gnome since it won't expose the internal +structure.

    + +

    The current DOM implementation on top of libxml2 is the gdome2 Gnome module, this +is a full DOM interface, thanks to Paolo Casarini, check the Gdome2 homepage for more +informations.

    + +

    A real example

    + +

    Here is a real size example, where the actual content of the application +data is not kept in the DOM tree but uses internal structures. It is based on +a proposal to keep a database of jobs related to Gnome, with an XML based +storage structure. Here is an XML encoded jobs +base:

    +
    <?xml version="1.0"?>
    +<gjob:Helping xmlns:gjob="http://www.gnome.org/some-location">
    +  <gjob:Jobs>
    +
    +    <gjob:Job>
    +      <gjob:Project ID="3"/>
    +      <gjob:Application>GBackup</gjob:Application>
    +      <gjob:Category>Development</gjob:Category>
    +
    +      <gjob:Update>
    +        <gjob:Status>Open</gjob:Status>
    +        <gjob:Modified>Mon, 07 Jun 1999 20:27:45 -0400 MET DST</gjob:Modified>
    +        <gjob:Salary>USD 0.00</gjob:Salary>
    +      </gjob:Update>
    +
    +      <gjob:Developers>
    +        <gjob:Developer>
    +        </gjob:Developer>
    +      </gjob:Developers>
    +
    +      <gjob:Contact>
    +        <gjob:Person>Nathan Clemons</gjob:Person>
    +        <gjob:Email>nathan@windsofstorm.net</gjob:Email>
    +        <gjob:Company>
    +        </gjob:Company>
    +        <gjob:Organisation>
    +        </gjob:Organisation>
    +        <gjob:Webpage>
    +        </gjob:Webpage>
    +        <gjob:Snailmail>
    +        </gjob:Snailmail>
    +        <gjob:Phone>
    +        </gjob:Phone>
    +      </gjob:Contact>
    +
    +      <gjob:Requirements>
    +      The program should be released as free software, under the GPL.
    +      </gjob:Requirements>
    +
    +      <gjob:Skills>
    +      </gjob:Skills>
    +
    +      <gjob:Details>
    +      A GNOME based system that will allow a superuser to configure 
    +      compressed and uncompressed files and/or file systems to be backed 
    +      up with a supported media in the system.  This should be able to 
    +      perform via find commands generating a list of files that are passed 
    +      to tar, dd, cpio, cp, gzip, etc., to be directed to the tape machine 
    +      or via operations performed on the filesystem itself. Email 
    +      notification and GUI status display very important.
    +      </gjob:Details>
    +
    +    </gjob:Job>
    +
    +  </gjob:Jobs>
    +</gjob:Helping>
    + +

    While loading the XML file into an internal DOM tree is a matter of +calling only a couple of functions, browsing the tree to gather the data and +generate the internal structures is harder, and more error prone.

    + +

    The suggested principle is to be tolerant with respect to the input +structure. For example, the ordering of the attributes is not significant, +the XML specification is clear about it. It's also usually a good idea not to +depend on the order of the children of a given node, unless it really makes +things harder. Here is some code to parse the information for a person:

    +
    /*
    + * A person record
    + */
    +typedef struct person {
    +    char *name;
    +    char *email;
    +    char *company;
    +    char *organisation;
    +    char *smail;
    +    char *webPage;
    +    char *phone;
    +} person, *personPtr;
    +
    +/*
    + * And the code needed to parse it
    + */
    +personPtr parsePerson(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur) {
    +    personPtr ret = NULL;
    +
    +DEBUG("parsePerson\n");
    +    /*
    +     * allocate the struct
    +     */
    +    ret = (personPtr) malloc(sizeof(person));
    +    if (ret == NULL) {
    +        fprintf(stderr,"out of memory\n");
    +        return(NULL);
    +    }
    +    memset(ret, 0, sizeof(person));
    +
    +    /* We don't care what the top level element name is */
    +    cur = cur->xmlChildrenNode;
    +    while (cur != NULL) {
    +        if ((!strcmp(cur->name, "Person")) && (cur->ns == ns))
    +            ret->name = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
    +        if ((!strcmp(cur->name, "Email")) && (cur->ns == ns))
    +            ret->email = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
    +        cur = cur->next;
    +    }
    +
    +    return(ret);
    +}
    + +

    Here are a couple of things to notice:

    +
      +
    • Usually a recursive parsing style is the more convenient one: XML data + is by nature subject to repetitive constructs and usually exhibits highly + structured patterns.
    • +
    • The two arguments of type xmlDocPtr and xmlNsPtr, + i.e. the pointer to the global XML document and the namespace reserved to + the application. Document wide information are needed for example to + decode entities and it's a good coding practice to define a namespace for + your application set of data and test that the element and attributes + you're analyzing actually pertains to your application space. This is + done by a simple equality test (cur->ns == ns).
    • +
    • To retrieve text and attributes value, you can use the function + xmlNodeListGetString to gather all the text and entity reference + nodes generated by the DOM output and produce an single text string.
    • +
    + +

    Here is another piece of code used to parse another level of the +structure:

    +
    #include <libxml/tree.h>
    +/*
    + * a Description for a Job
    + */
    +typedef struct job {
    +    char *projectID;
    +    char *application;
    +    char *category;
    +    personPtr contact;
    +    int nbDevelopers;
    +    personPtr developers[100]; /* using dynamic alloc is left as an exercise */
    +} job, *jobPtr;
    +
    +/*
    + * And the code needed to parse it
    + */
    +jobPtr parseJob(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur) {
    +    jobPtr ret = NULL;
    +
    +DEBUG("parseJob\n");
    +    /*
    +     * allocate the struct
    +     */
    +    ret = (jobPtr) malloc(sizeof(job));
    +    if (ret == NULL) {
    +        fprintf(stderr,"out of memory\n");
    +        return(NULL);
    +    }
    +    memset(ret, 0, sizeof(job));
    +
    +    /* We don't care what the top level element name is */
    +    cur = cur->xmlChildrenNode;
    +    while (cur != NULL) {
    +        
    +        if ((!strcmp(cur->name, "Project")) && (cur->ns == ns)) {
    +            ret->projectID = xmlGetProp(cur, "ID");
    +            if (ret->projectID == NULL) {
    +                fprintf(stderr, "Project has no ID\n");
    +            }
    +        }
    +        if ((!strcmp(cur->name, "Application")) && (cur->ns == ns))
    +            ret->application = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
    +        if ((!strcmp(cur->name, "Category")) && (cur->ns == ns))
    +            ret->category = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
    +        if ((!strcmp(cur->name, "Contact")) && (cur->ns == ns))
    +            ret->contact = parsePerson(doc, ns, cur);
    +        cur = cur->next;
    +    }
    +
    +    return(ret);
    +}
    + +

    Once you are used to it, writing this kind of code is quite simple, but +boring. Ultimately, it could be possible to write stubbers taking either C +data structure definitions, a set of XML examples or an XML DTD and produce +the code needed to import and export the content between C data and XML +storage. This is left as an exercise to the reader :-)

    + +

    Feel free to use the code for the full C +parsing example as a template, it is also available with Makefile in the +Gnome CVS base under gnome-xml/example

    + +

    Contributions

    + + +

    + + diff --git a/doc/xmlcatalog.1 b/doc/xmlcatalog.1 new file mode 100644 index 0000000..0f3af71 --- /dev/null +++ b/doc/xmlcatalog.1 @@ -0,0 +1,148 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "XMLCATALOG" 1 "" "" "xmlcatalog Manual" +.SH NAME +xmlcatalog \- Command line tool to parse and manipulate XML or SGML catalog files. +.SH "SYNOPSIS" +.ad l +.hy 0 +.HP 11 +\fBxmlcatalog\fR [\fB\-\-shell\fR | \fB\-\-create\fR | \fB\-\-add\ \fItype\fR\ \fIorig\fR\ \fIreplace\fR\fR | \fB\-\-del\ \fIvalues\fR\fR | \fB\-\-noout\fR | \fB\-\-verbose\fR] [\fB\fIcatalogfile\fR\fR] [\fB\fIentities\fR\fR] +.ad +.hy + +.SH "INTRODUCTION" + +.PP + xmlcatalog is a command line application allowing users to monitor and manipulate XML and SGML catalogs\&. It is included in libxml2\&. + +.PP +Its functions can be invoked from a single command from the command line, or it can perform multiple functions in interactive mode\&. It can operate on both XML and SGML files\&. + +.SH "COMMAND LINE OPTIONS" + +.TP +\fB\-\-shell\fR \fIfilename\fR +Run a shell allowing interactive queries on catalog file \fIfilename\fR\&. + +.TP +\fB\-\-create\fR \fIfilename\fR +Create a new XML catalog\&. Outputs to stdout, ignoring \fIfilename\fR unless \fB\-\-noout\fR is used, in which case it creates a new catalog file \fIfilename\fR\&. + +.TP +\fB\-\-add\fR \fI'type'\fR \fI'orig'\fR \fI'replace'\fR \fIfilename\fR +Add an entry to catalog file \fIfilename\fR\&. \fItype\fR indicates the type of entry\&. Possible types are 'public', 'system', 'rewriteSystem', 'delegatePublic', 'delegateSystem'amd 'rewriteURI'\&. \fI'orig'\fR is the original reference to be replaced, and \fI'replace'\fR is the URI of the replacement entity to be used\&. The \fB\-\-add\fR option will not overwrite \fIfilename\fR, outputing to stdout, unless \fB\-\-noout\fR is used\&. The \fB\-\-add\fR will always take three parameters even if some of the XML catalog constructs will have only a single argument\&. + +If the \fB\-\-add\fR option is used following the \fB\-\-sgml\fR option, only a single argument, a \fIfilename\fR, is used\&. This is used to add the name of a catalog file to an SGML supercatalog, a file that contains references to other included SGML catalog files\&. + +.TP +\fB\-\-del\fR \fI'values'\fR \fIfilename\fR +Remove entries from the catalog file \fIfilename\fR matching \fI'values'\fR\&. The \fB\-\-del\fR option will not overwrite \fIfilename\fR, outputing to stdout, unless \fB\-\-noout\fR is used\&. + +.TP +\fB\-\-noout\fR +Save output to the named file rather than outputing to stdout\&. + +.TP +\fB\-\-sgml\fR +Uses SGML Super catalogs for \-\-add and \-\-del options + +.TP +\fB\-v\fR or \fB\-\-verbose\fR +output debugging information\&. + +.SH "SHELL COMMANDS" + +.PP +Invoking xmlcatalog with the \fB\-\-shell\fR \fIfilename\fR option opens a command line shell allowing interactive access to the catalog file identified by \fIfilename\fR\&. Invoking the shell provides a command line prompt after which commands can be entered\&. + +.TP +\fBpublic\fR \fI'PublicID'\fR +Execute a public identifier lookup of the catalog entry for \fI'PublicID'\fR\&. The corresponding entry will be output to the command line\&. + +.TP +\fBsystem\fR \fI'SystemID'\fR +Execute a public identifier lookup of the catalog entry for \fI'SystemID'\fR\&. The corresponding entry will be output to the command line\&. + +.TP +\fBadd \fR \fI'type'\fR \fI'orig'\fR \fI'replace'\fR +Add an entry to the catalog file\&. \fItype\fR indicates the type of entry\&. Possible types are 'public', 'system', 'rewriteSystem', 'delegatePublic' and 'delegateSystem'\&. \fI'orig'\fR is the original reference to be replaced, and \fI'replace'\fR is the URI of the replacement entity to be used\&. + +.TP +\fBdel\fR \fI'values'\fR +Remove the catalog entry corresponding to \fI'values'\fR\&. + +.TP +\fBdump\fR +Print the current catalog\&. + +.TP +\fBdebug\fR +Print debugging statements showing the steps xmlcatalog is executing\&. + +.TP +\fBquiet\fR +Stop printing debugging statements\&. + +.TP +\fBexit\fR +Quit the shell\&. + +.SH "RETURN VALUES" + +.PP +xmlcatalog's return codes provide information that can be used when calling it from scripts\&. + +.PP +0: normal + +.PP +1: Failed to remove an entry from the catalog + +.PP +2: Failed to save to the catalog, check file permissions + +.PP +3: Failed to add an entry to the catalog + +.PP +4: Failed to lookup and entry in the catalog + +.SH "CATALOGS" + +.PP +Catalog behavior can be changed by redirecting queries to the user's own set of catalogs\&. This can be done by setting the \fIXML_CATALOG_FILES\fR environment variable to a list of catalogs\&. An empty one should deactivate loading the default \fI/etc/xml/catalog\fR default catalog\&. + +.SH "REFERENCES" + +.PP +libxml web page: \fIhttp://www.xmlsoft.org/\fR + +.PP +libxml catalog support web page:: \fIhttp://www.xmlsoft.org/catalog.html\fR + +.PP +James Clark's SGML catalog page:: \fIhttp://www.jclark.com/sp/catalog.htm\fR + +.PP +OASIS XML catalog specification: : \fIhttp://www.oasis-open.org/committees/entity/spec.html\fR + +.SH AUTHOR +John Fleck. diff --git a/doc/xmlcatalog_man.html b/doc/xmlcatalog_man.html new file mode 100644 index 0000000..c27c1ef --- /dev/null +++ b/doc/xmlcatalog_man.html @@ -0,0 +1,101 @@ +xmlcatalog

    Name

    xmlcatalog — Command line tool to parse and manipulate XML or + SGML catalog files.

    Synopsis

    xmlcatalog [[--shell] | [--create] | [--add type + orig replace] | [--del values] | [--noout] | [--verbose]] [catalogfile] [entities]

    Introduction

    + xmlcatalog is a command line application + allowing users to monitor and manipulate XML and + SGML catalogs. It is included in + libxml2. +

    + Its functions can be invoked from a single command from the command line, + or it can perform multiple functions in interactive mode. It can operate + on both XML and SGML files. +

    Command Line Options

    --shell filename
    + Run a shell + allowing interactive queries on catalog file + filename. +
    --create filename
    + Create a new + XML catalog. Outputs to stdout, ignoring + filename unless --noout is + used, in which case it creates a new catalog file + filename. +
    --add 'type' 'orig' 'replace' filename

    + Add an entry to catalog file + filename. type + indicates the type of entry. Possible types are 'public', 'system', + 'rewriteSystem', 'delegatePublic', 'delegateSystem'amd + 'rewriteURI'. 'orig' is the original + reference to be replaced, and 'replace' + is the URI of the replacement entity to be + used. The --add option will not overwrite + filename, outputing to stdout, unless + --noout is used. The --add will + always take three parameters even if some of the + XML catalog constructs will have only a single + argument. + +

    + If the --add option is used following the + --sgml option, only a single argument, a + filename, is used. This is used to add + the name of a catalog file to an SGML + supercatalog, a file that contains references to other included + SGML catalog files. +

    --del 'values' filename
    + Remove entries from the catalog file + filename matching + 'values'. The --del option + will not overwrite filename, outputing to + stdout, unless --noout is used. +
    --noout
    + Save output to the named file rather than + outputing to stdout. +
    --sgml
    + Uses SGML Super catalogs for --add and --del options +
    -v or --verbose
    + output debugging + information. +

    Shell Commands

    Invoking xmlcatalog with the + --shell filename option opens + a command line shell allowing interactive access to the catalog file + identified by filename. Invoking the shell + provides a command line prompt after which commands can be entered. +

    public 'PublicID'
    + Execute a + public identifier lookup of the catalog entry for + 'PublicID'. The corresponding entry will be + output to the command line. +
    system 'SystemID'
    + Execute a + public identifier lookup of the catalog entry for + 'SystemID'. The corresponding entry will be + output to the command line. +
    add 'type' 'orig' 'replace'
    + Add an entry to the catalog + file. type indicates the type of + entry. Possible types are 'public', 'system', 'rewriteSystem', + 'delegatePublic' and 'delegateSystem'. 'orig' + is the original reference to be replaced, and + 'replace' is the URI of the + replacement entity to be used. +
    del 'values'
    + Remove the + catalog entry corresponding to 'values'. +
    dump
    + Print the current catalog. +
    debug
    + Print debugging statements showing the steps + xmlcatalog is executing. +
    quiet
    + Stop printing debugging statements. +
    exit
    + Quit the shell. +

    Return values

    xmlcatalog's return codes provide + information that can be used when calling it from scripts.

    0: normal

    1: Failed to remove an entry from the catalog

    2: Failed to save to the catalog, check file permissions

    3: Failed to add an entry to the catalog

    4: Failed to lookup and entry in the catalog

    Catalogs

    Catalog behavior can be changed by redirecting + queries to the user's own set of catalogs. This can be done by setting the + XML_CATALOG_FILES environment variable to a list of + catalogs. An empty one should deactivate loading the default + /etc/xml/catalog default catalog.

    diff --git a/doc/xmlcatalog_man.xml b/doc/xmlcatalog_man.xml new file mode 100644 index 0000000..47ef084 --- /dev/null +++ b/doc/xmlcatalog_man.xml @@ -0,0 +1,298 @@ + + + + + + xmlcatalog Manual + + 2001 + + + 2004 + + + John + Fleck + +
    jfleck@inkstain.net
    + + This is release 0.3 of the xmlcatalog Manual. +
    + + + xmlcatalog + 1 + + + xmlcatalog + Command line tool to parse and manipulate XML or + SGML catalog files. + + + + + xmlcatalog + + --shell + --create + --add type + orig replace + --del values + --noout + --verbose + + + + + + + + Introduction + + xmlcatalog is a command line application + allowing users to monitor and manipulate XML and + SGML catalogs. It is included in + libxml2. + + + + Its functions can be invoked from a single command from the command line, + or it can perform multiple functions in interactive mode. It can operate + on both XML and SGML files. + + + + + Command Line Options + + + filename + + + Run a shell + allowing interactive queries on catalog file + filename. + + + + + filename + + + Create a new + XML catalog. Outputs to stdout, ignoring + filename unless is + used, in which case it creates a new catalog file + filename. + + + + + + 'type' 'orig' 'replace' filename + + + Add an entry to catalog file + filename. type + indicates the type of entry. Possible types are 'public', 'system', + 'rewriteSystem', 'delegatePublic', 'delegateSystem'amd + 'rewriteURI'. 'orig' is the original + reference to be replaced, and 'replace' + is the URI of the replacement entity to be + used. The option will not overwrite + filename, outputing to stdout, unless + is used. The will + always take three parameters even if some of the + XML catalog constructs will have only a single + argument. + + + + If the option is used following the + option, only a single argument, a + filename, is used. This is used to add + the name of a catalog file to an SGML + supercatalog, a file that contains references to other included + SGML catalog files. + + + + + 'values' filename + + + Remove entries from the catalog file + filename matching + 'values'. The option + will not overwrite filename, outputing to + stdout, unless is used. + + + + + + + + Save output to the named file rather than + outputing to stdout. + + + + + + + + Uses SGML Super catalogs for --add and --del options + + + + + or + + + output debugging + information. + + + + + + + + Shell Commands + Invoking xmlcatalog with the + filename option opens + a command line shell allowing interactive access to the catalog file + identified by filename. Invoking the shell + provides a command line prompt after which commands can be entered. + + + + + 'PublicID' + + + Execute a + public identifier lookup of the catalog entry for + 'PublicID'. The corresponding entry will be + output to the command line. + + + + + + 'SystemID' + + + Execute a + public identifier lookup of the catalog entry for + 'SystemID'. The corresponding entry will be + output to the command line. + + + + + 'type' 'orig' 'replace' + + + Add an entry to the catalog + file. type indicates the type of + entry. Possible types are 'public', 'system', 'rewriteSystem', + 'delegatePublic' and 'delegateSystem'. 'orig' + is the original reference to be replaced, and + 'replace' is the URI of the + replacement entity to be used. + + + + + 'values' + + + Remove the + catalog entry corresponding to 'values'. + + + + + + + + + Print the current catalog. + + + + + + + + + Print debugging statements showing the steps + xmlcatalog is executing. + + + + + + + + + Stop printing debugging statements. + + + + + + + + + Quit the shell. + + + + + + + + + Return values + xmlcatalog's return codes provide + information that can be used when calling it from scripts. + + 0: normal + 1: Failed to remove an entry from the catalog + 2: Failed to save to the catalog, check file permissions + 3: Failed to add an entry to the catalog + 4: Failed to lookup and entry in the catalog + + + Catalogs + Catalog behavior can be changed by redirecting + queries to the user's own set of catalogs. This can be done by setting the + XML_CATALOG_FILES environment variable to a list of + catalogs. An empty one should deactivate loading the default + /etc/xml/catalog default catalog. + + + References + libxml web page + + libxml + catalog support web page: + + James Clark's + SGML catalog page: + + OASIS + XML catalog specification: + + + +
    diff --git a/doc/xmldtd.html b/doc/xmldtd.html new file mode 100644 index 0000000..5287148 --- /dev/null +++ b/doc/xmldtd.html @@ -0,0 +1,100 @@ + + +Validation & DTDs
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    Validation & DTDs

    Main Menu
    Related links

    Table of Content:

    1. General overview
    2. +
    3. The definition
    4. +
    5. Simple rules +
      1. How to reference a DTD from a document
      2. +
      3. Declaring elements
      4. +
      5. Declaring attributes
      6. +
    6. +
    7. Some examples
    8. +
    9. How to validate
    10. +
    11. Other resources
    12. +

    General overview

    Well what is validation and what is a DTD ?

    DTD is the acronym for Document Type Definition. This is a description of +the content for a family of XML files. This is part of the XML 1.0 +specification, and allows one to describe and verify that a given document +instance conforms to the set of rules detailing its structure and content.

    Validation is the process of checking a document against a DTD (more +generally against a set of construction rules).

    The validation process and building DTDs are the two most difficult parts +of the XML life cycle. Briefly a DTD defines all the possible elements to be +found within your document, what is the formal shape of your document tree +(by defining the allowed content of an element; either text, a regular +expression for the allowed list of children, or mixed content i.e. both text +and children). The DTD also defines the valid attributes for all elements and +the types of those attributes.

    The definition

    The W3C XML Recommendation (Tim Bray's annotated version of +Rev1):

    (unfortunately) all this is inherited from the SGML world, the syntax is +ancient...

    Simple rules

    Writing DTDs can be done in many ways. The rules to build them if you need +something permanent or something which can evolve over time can be radically +different. Really complex DTDs like DocBook ones are flexible but quite +harder to design. I will just focus on DTDs for a formats with a fixed simple +structure. It is just a set of basic rules, and definitely not exhaustive nor +usable for complex DTD design.

    How to reference a DTD from a document:

    Assuming the top element of the document is spec and the dtd +is placed in the file mydtd in the subdirectory +dtds of the directory from where the document were loaded:

    <!DOCTYPE spec SYSTEM "dtds/mydtd">

    Notes:

    • The system string is actually an URI-Reference (as defined in RFC 2396) so you can use a + full URL string indicating the location of your DTD on the Web. This is a + really good thing to do if you want others to validate your document.
    • +
    • It is also possible to associate a PUBLIC identifier (a + magic string) so that the DTD is looked up in catalogs on the client side + without having to locate it on the web.
    • +
    • A DTD contains a set of element and attribute declarations, but they + don't define what the root of the document should be. This is explicitly + told to the parser/validator as the first element of the + DOCTYPE declaration.
    • +

    Declaring elements:

    The following declares an element spec:

    <!ELEMENT spec (front, body, back?)>

    It also expresses that the spec element contains one front, +one body and one optional back children elements in +this order. The declaration of one element of the structure and its content +are done in a single declaration. Similarly the following declares +div1 elements:

    <!ELEMENT div1 (head, (p | list | note)*, div2?)>

    which means div1 contains one head then a series of optional +p, lists and notes and then an +optional div2. And last but not least an element can contain +text:

    <!ELEMENT b (#PCDATA)>

    b contains text or being of mixed content (text and elements +in no particular order):

    <!ELEMENT p (#PCDATA|a|ul|b|i|em)*>

    p can contain text or a, ul, +b, i or em elements in no particular +order.

    Declaring attributes:

    Again the attributes declaration includes their content definition:

    <!ATTLIST termdef name CDATA #IMPLIED>

    means that the element termdef can have a name +attribute containing text (CDATA) and which is optional +(#IMPLIED). The attribute value can also be defined within a +set:

    <!ATTLIST list type (bullets|ordered|glossary) +"ordered">

    means list element have a type attribute with 3 +allowed values "bullets", "ordered" or "glossary" and which default to +"ordered" if the attribute is not explicitly specified.

    The content type of an attribute can be text (CDATA), +anchor/reference/references +(ID/IDREF/IDREFS), entity(ies) +(ENTITY/ENTITIES) or name(s) +(NMTOKEN/NMTOKENS). The following defines that a +chapter element can have an optional id attribute +of type ID, usable for reference from attribute of type +IDREF:

    <!ATTLIST chapter id ID #IMPLIED>

    The last value of an attribute definition can be #REQUIRED +meaning that the attribute has to be given, #IMPLIED +meaning that it is optional, or the default value (possibly prefixed by +#FIXED if it is the only allowed).

    Notes:

    • Usually the attributes pertaining to a given element are declared in a + single expression, but it is just a convention adopted by a lot of DTD + writers: +
      <!ATTLIST termdef
      +          id      ID      #REQUIRED
      +          name    CDATA   #IMPLIED>
      +

      The previous construct defines both id and + name attributes for the element termdef.

      +
    • +

    Some examples

    The directory test/valid/dtds/ in the libxml2 distribution +contains some complex DTD examples. The example in the file +test/valid/dia.xml shows an XML file where the simple DTD is +directly included within the document.

    How to validate

    The simplest way is to use the xmllint program included with libxml. The +--valid option turns-on validation of the files given as input. +For example the following validates a copy of the first revision of the XML +1.0 specification:

    xmllint --valid --noout test/valid/REC-xml-19980210.xml

    the -- noout is used to disable output of the resulting tree.

    The --dtdvalid dtd allows validation of the document(s) +against a given DTD.

    Libxml2 exports an API to handle DTDs and validation, check the associated +description.

    Other resources

    DTDs are as old as SGML. So there may be a number of examples on-line, I +will just list one for now, others pointers welcome:

    I suggest looking at the examples found under test/valid/dtd and any of +the large number of books available on XML. The dia example in test/valid +should be both simple and complete enough to allow you to build your own.

    Daniel Veillard

    diff --git a/doc/xmlio.html b/doc/xmlio.html new file mode 100644 index 0000000..21621b0 --- /dev/null +++ b/doc/xmlio.html @@ -0,0 +1,137 @@ + + +I/O Interfaces
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    I/O Interfaces

    Developer Menu
    API Indexes
    Related links

    Table of Content:

    1. General overview
    2. +
    3. The basic buffer type
    4. +
    5. Input I/O handlers
    6. +
    7. Output I/O handlers
    8. +
    9. The entities loader
    10. +
    11. Example of customized I/O
    12. +

    General overview

    The module xmlIO.h provides +the interfaces to the libxml2 I/O system. This consists of 4 main parts:

    • Entities loader, this is a routine which tries to fetch the entities + (files) based on their PUBLIC and SYSTEM identifiers. The default loader + don't look at the public identifier since libxml2 do not maintain a + catalog. You can redefine you own entity loader by using + xmlGetExternalEntityLoader() and + xmlSetExternalEntityLoader(). Check the + example.
    • +
    • Input I/O buffers which are a commodity structure used by the parser(s) + input layer to handle fetching the informations to feed the parser. This + provides buffering and is also a placeholder where the encoding + converters to UTF8 are piggy-backed.
    • +
    • Output I/O buffers are similar to the Input ones and fulfill similar + task but when generating a serialization from a tree.
    • +
    • A mechanism to register sets of I/O callbacks and associate them with + specific naming schemes like the protocol part of the URIs. +

      This affect the default I/O operations and allows to use specific I/O + handlers for certain names.

      +
    • +

    The general mechanism used when loading http://rpmfind.net/xml.html for +example in the HTML parser is the following:

    1. The default entity loader calls xmlNewInputFromFile() with + the parsing context and the URI string.
    2. +
    3. the URI string is checked against the existing registered handlers + using their match() callback function, if the HTTP module was compiled + in, it is registered and its match() function will succeeds
    4. +
    5. the open() function of the handler is called and if successful will + return an I/O Input buffer
    6. +
    7. the parser will the start reading from this buffer and progressively + fetch information from the resource, calling the read() function of the + handler until the resource is exhausted
    8. +
    9. if an encoding change is detected it will be installed on the input + buffer, providing buffering and efficient use of the conversion + routines
    10. +
    11. once the parser has finished, the close() function of the handler is + called once and the Input buffer and associated resources are + deallocated.
    12. +

    The user defined callbacks are checked first to allow overriding of the +default libxml2 I/O routines.

    The basic buffer type

    All the buffer manipulation handling is done using the +xmlBuffer type define in tree.h which is a +resizable memory buffer. The buffer allocation strategy can be selected to be +either best-fit or use an exponential doubling one (CPU vs. memory use +trade-off). The values are XML_BUFFER_ALLOC_EXACT and +XML_BUFFER_ALLOC_DOUBLEIT, and can be set individually or on a +system wide basis using xmlBufferSetAllocationScheme(). A number +of functions allows to manipulate buffers with names starting with the +xmlBuffer... prefix.

    Input I/O handlers

    An Input I/O handler is a simple structure +xmlParserInputBuffer containing a context associated to the +resource (file descriptor, or pointer to a protocol handler), the read() and +close() callbacks to use and an xmlBuffer. And extra xmlBuffer and a charset +encoding handler are also present to support charset conversion when +needed.

    Output I/O handlers

    An Output handler xmlOutputBuffer is completely similar to an +Input one except the callbacks are write() and close().

    The entities loader

    The entity loader resolves requests for new entities and create inputs for +the parser. Creating an input from a filename or an URI string is done +through the xmlNewInputFromFile() routine. The default entity loader do not +handle the PUBLIC identifier associated with an entity (if any). So it just +calls xmlNewInputFromFile() with the SYSTEM identifier (which is mandatory in +XML).

    If you want to hook up a catalog mechanism then you simply need to +override the default entity loader, here is an example:

    #include <libxml/xmlIO.h>
    +
    +xmlExternalEntityLoader defaultLoader = NULL;
    +
    +xmlParserInputPtr
    +xmlMyExternalEntityLoader(const char *URL, const char *ID,
    +                               xmlParserCtxtPtr ctxt) {
    +    xmlParserInputPtr ret;
    +    const char *fileID = NULL;
    +    /* lookup for the fileID depending on ID */
    +
    +    ret = xmlNewInputFromFile(ctxt, fileID);
    +    if (ret != NULL)
    +        return(ret);
    +    if (defaultLoader != NULL)
    +        ret = defaultLoader(URL, ID, ctxt);
    +    return(ret);
    +}
    +
    +int main(..) {
    +    ...
    +
    +    /*
    +     * Install our own entity loader
    +     */
    +    defaultLoader = xmlGetExternalEntityLoader();
    +    xmlSetExternalEntityLoader(xmlMyExternalEntityLoader);
    +
    +    ...
    +}

    Example of customized I/O

    This example come from a +real use case, xmlDocDump() closes the FILE * passed by the application +and this was a problem. The solution was to redefine a +new output handler with the closing call deactivated:

    1. First define a new I/O output allocator where the output don't close + the file: +
      xmlOutputBufferPtr
      +xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) {
      +    xmlOutputBufferPtr ret;
      +    
      +    if (xmlOutputCallbackInitialized == 0)
      +        xmlRegisterDefaultOutputCallbacks();
      +
      +    if (file == NULL) return(NULL);
      +    ret = xmlAllocOutputBuffer(encoder);
      +    if (ret != NULL) {
      +        ret->context = file;
      +        ret->writecallback = xmlFileWrite;
      +        ret->closecallback = NULL;  /* No close callback */
      +    }
      +    return(ret);
      +} 
      +
    2. +
    3. And then use it to save the document: +
      FILE *f;
      +xmlOutputBufferPtr output;
      +xmlDocPtr doc;
      +int res;
      +
      +f = ...
      +doc = ....
      +
      +output = xmlOutputBufferCreateOwn(f, NULL);
      +res = xmlSaveFileTo(output, doc, NULL);
      +    
      +
    4. +

    Daniel Veillard

    diff --git a/doc/xmllint.1 b/doc/xmllint.1 new file mode 100644 index 0000000..feff3df --- /dev/null +++ b/doc/xmllint.1 @@ -0,0 +1,281 @@ +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "XMLLINT" 1 "" "" "xmllint Manual" +.SH NAME +xmllint \- command line XML tool +.SH "SYNOPSIS" +.ad l +.hy 0 +.HP 8 +\fBxmllint\fR [\fB\-\-version\fR | \fB\-\-debug\fR | \fB\-\-shell\fR | \fB\-\-debugent\fR | \fB\-\-copy\fR | \fB\-\-recover\fR | \fB\-\-noent\fR | \fB\-\-nocdata\fR | \fB\-\-nsclean\fR | \fB\-\-noout\fR | \fB\-\-htmlout\fR | \fB\-\-nowrap\fR | \fB\-\-valid\fR | \fB\-\-postvalid\fR | \fB\-\-dtdvalid\ \fIURL\fR\fR | \fB\-\-dtdvalidfpi\ \fIFPI\fR\fR | \fB\-\-timing\fR | \fB\-\-repeat\fR | \fB\-\-insert\fR | \fB\-\-compress\fR | \fB\-\-html\fR | \fB\-\-push\fR | \fB\-\-memory\fR | \fB\-\-nowarning\fR | \fB\-\-noblanks\fR | \fB\-\-format\fR | \fB\-\-testIO\fR | \fB\-\-encode\ \fIencoding\fR\fR | \fB\-\-catalogs\fR | \fB\-\-nocatalogs\fR | \fB\-\-auto\fR | \fB\-\-xinclude\fR | \fB\-\-loaddtd\fR | \fB\-\-dtdattr\fR | \fB\-\-dropdtd\fR | \fB\-\-stream\fR | \fB\-\-chkregister\fR | \fB\-\-relaxng\fR | \fB\-\-schema\fR | \fB\-\-nonet\fR] [\fB\fIxmlfile\fR\fR] +.ad +.hy + +.SH "INTRODUCTION" + +.PP +The xmllint program parses one or more XML files, specified on the command line as \fIxmlfile\fR\&. It prints various types of output, depending upon the options selected\&. It is useful for detecting errors both in XML code and in the XML parser itself\&. + +.PP +It is included in libxml2\&. + +.SH "OPTIONS" + +.TP +\fB\-\-version\fR +Display the version of libxml2 used\&. + +.TP +\fB\-\-debug\fR +Parse a file and output an annotated tree of the in\-memory version of the document\&. + +.TP +\fB\-\-shell\fR +Run a navigating shell\&. Details on available commands in shell mode are below\&. + +.TP +\fB\-\-debugent\fR +Debug the entities defined in the document\&. + +.TP +\fB\-\-copy\fR +Test the internal copy implementation\&. + +.TP +\fB\-\-recover\fR +Output any parsable portions of an invalid document\&. + +.TP +\fB\-\-noent\fR +Substitute entity values for entity references\&. By default, xmllint leaves entity references in place\&. + +.TP +\fB\-\-nocdata\fR +Substitute CDATA section by equivalent text nodes\&. + +.TP +\fB\-\-nsclean\fR +Remove redundant namespace declarations\&. + +.TP +\fB\-\-noout\fR +Suppress output\&. By default, xmllint outputs the result tree\&. + +.TP +\fB\-\-htmlout\fR +Output results as an HTML file\&. This causes xmllint to output the necessary HTML tags surrounding the result tree output so the results can be displayed in a browser\&. + +.TP +\fB\-\-nowrap \fR +Do not output HTML doc wrapper\&. + +.TP +\fB\-\-valid \fR +Determine if the document is a valid instance of the included Document Type Definition (DTD)\&. A DTD to be validated against also can be specified at the command line using the \fB\-\-dtdvalid\fR option\&. By default, xmllint also checks to determine if the document is well\-formed\&. + +.TP +\fB\-\-postvalid\fR +Validate after parsing is completed\&. + +.TP +\fB\-\-dtdvalid\fR \fIURL\fR +Use the DTD specified by \fIURL\fR for validation\&. + +.TP +\fB\-\-dtdvalidfpi\fR \fIFPI\fR +Use the DTD specified by the Public Identifier \fIFPI\fR for validation, note that this will require a Catalog exporting that Public Identifier to work\&. + +.TP +\fB\-\-timing\fR +Output information about the time it takes xmllint to perform the various steps\&. + +.TP +\fB\-\-repeat\fR +Repeat 100 times, for timing or profiling\&. + +.TP +\fB\-\-insert\fR +Test for valid insertions\&. + +.TP +\fB\-\-compress\fR +Turn on gzip compression of output\&. + +.TP +\fB\-\-html\fR +Use the HTML parser\&. + +.TP +\fB\-\-push\fR +Use the push mode of the parser\&. + +.TP +\fB\-\-memory\fR +Parse from memory\&. + +.TP +\fB\-\-nowarning\fR +Do not emit warnings from the parser and/or validator\&. + +.TP +\fB\-\-noblanks\fR +Drop ignorable blank spaces\&. + +.TP +\fB\-\-format\fR +Reformat and reindent the output\&. The $XMLLINT_INDENT environment variable controls the indentation (default value is two spaces " ")\&. + +.TP +\fB\-\-testIO\fR +Test user input/output support\&. + +.TP +\fB\-\-encode\fR \fIencoding\fR +Output in the given encoding\&. + +.TP +\fB\-\-catalogs\fR +Use the catalogs from $SGML_CATALOG_FILES\&. Otherwise /etc/xml/catalog is used by default\&. + +.TP +\fB\-\-nocatalogs\fR +Do not use any catalogs\&. + +.TP +\fB\-\-auto\fR +Generate a small document for testing purposes\&. + +.TP +\fB\-\-xinclude\fR +Do XInclude processing\&. + +.TP +\fB\-\-loaddtd\fR +Fetch external DTD\&. + +.TP +\fB\-\-dtdattr\fR +Fetch external DTD and populate the tree with inherited attributes\&. + +.TP +\fB\-\-dropdtd\fR +Remove DTD from output\&. + +.TP +\fB\-\-stream\fR +Use streaming API \- useful when used in combination with \-\-relaxng or \-\-valid options for validation of files that are too large to be held in memory\&. + +.TP +\fB\-\-chkregister\fR +Turn on node registration\&. Useful for developeres testing libxml2 node tracking code\&. + +.TP +\fB\-\-relaxng\fR \fIschema\fR +Use RelaxNG file named \fIschema\fR for validation\&. + +.TP +\fB\-\-schema\fR \fIschema\fR +Use a W3C XML Schema file named \fIschema\fR for validation\&. + +.TP +\fB\-\-nonet\fR +Do not use the Internet to fetch DTD's or entities\&. + +.SH "SHELL" + +.PP + xmllint offers an interactive shell mode invoked with the \fB\-\-shell\fR command\&. Available commands in shell mode include: + +.TP +\fBbase\fR +display XML base of the node + +.TP +\fBbye\fR +leave shell + +.TP +\fBcat \fInode\fR\fR +Display node if given or current node\&. + +.TP +\fBcd \fIpath\fR\fR +Change the current node to \fIpath\fR (if given and unique) or root if no argument given\&. + +.TP +\fBdir \fIpath\fR\fR +Dumps information about the node (namespace, attributes, content)\&. + +.TP +\fBdu \fIpath\fR\fR +Show the structure of the subtree under path or the current node\&. + +.TP +\fBexit\fR +Leave the shell\&. + +.TP +\fBhelp\fR +Show this help\&. + +.TP +\fBfree\fR +Display memory usage\&. + +.TP +\fBload \fIname\fR\fR +Load a new document with the given name\&. + +.TP +\fBls \fIpath\fR\fR +List contents of \fIpath\fR (if given) or the current directory\&. + +.TP +\fBpwd\fR +Display the path to the current node\&. + +.TP +\fBquit\fR +Leave the shell\&. + +.TP +\fBsave \fIname\fR\fR +Saves the current document to \fIname\fR if given or to the original name\&. + +.TP +\fBvalidate\fR +Check the document for error\&. + +.TP +\fBwrite \fIname\fR\fR +Write the current node to the given filename\&. + +.SH "CATALOGS" + +.PP +Catalog behavior can be changed by redirecting queries to the user's own set of catalogs\&. This can be done by setting the \fIXML_CATALOG_FILES\fR environment variable to a list of catalogs\&. An empty one should deactivate loading the default \fI/etc/xml/catalog\fR default catalog\&. + +.SH "DEBUGGING CATALOGS" + +.PP +Setting the environment variable \fIXML_DEBUG_CATALOG\fR using the command \fB"export XML_DEBUG_CATALOG="\fR outputs debugging information related to catalog operations\&. + +.SH AUTHORS +John Fleck, Ziying Sherwin, Heiko Rupp. diff --git a/doc/xmllint.html b/doc/xmllint.html new file mode 100644 index 0000000..855eaf7 --- /dev/null +++ b/doc/xmllint.html @@ -0,0 +1,153 @@ +xmllint

    Name

    xmllint — command line XML tool

    Synopsis

    xmllint [[--version] | [--debug] | [--shell] | [--debugent] | [--copy] | [--recover] | [--noent] | [--nocdata] | [--nsclean] | [--noout] | [--htmlout] | [--nowrap] | [--valid] | [--postvalid] | [--dtdvalid URL] | [--dtdvalidfpi FPI] | [--timing] | [--repeat] | [--insert] | [--compress] | [--html] | [--push] | [--memory] | [--nowarning] | [--noblanks] | [--format] | [--testIO] | [--encode encoding] | [--catalogs] | [--nocatalogs] | [--auto] | [--xinclude] | [--loaddtd] | [--dtdattr] | [--dropdtd] | [--stream] | [--chkregister] | [--relaxng] | [--schema] | [--nonet]] [xmlfile]

    Introduction

    + The xmllint program parses one or more XML files, specified on the + command line as xmlfile. It prints various + types of output, depending upon the options selected. It is useful for + detecting errors both in XML code and in the + XML parser itself. +

    + It is included in libxml2. +

    Options

    --version
    + Display the version of + libxml2 used. +
    --debug
    + Parse a file and output an annotated tree of the + in-memory version of the document. +
    --shell
    + Run a navigating shell. Details on available commands in shell mode + are below. +
    --debugent
    + Debug the entities defined in the document. +
    --copy
    + Test the internal copy implementation. +
    --recover
    + Output any parsable portions of an invalid + document. +
    --noent
    + Substitute entity values for entity + references. By default, xmllint leaves entity + references in place. +
    --nocdata
    + Substitute CDATA section by equivalent text nodes. +
    --nsclean
    + Remove redundant namespace declarations. +
    --noout
    + Suppress output. By default, + xmllint outputs the result tree. +
    --htmlout
    + Output results as an HTML + file. This causes xmllint to output + the necessary HTML tags surrounding the result tree + output so the results can be displayed in a browser. +
    --nowrap
    + Do not output HTML doc wrapper. +
    --valid
    + Determine if the document is a valid instance + of the included Document Type Definition (DTD). A + DTD to be validated against also can be specified at + the command line using the --dtdvalid option. By default, + xmllint also checks to determine if the + document is well-formed. +
    --postvalid
    + Validate after parsing is completed. +
    --dtdvalid URL
    + Use the + DTD specified by URL for + validation. +
    --dtdvalidfpi FPI
    + Use the + DTD specified by the Public Identifier + FPI for validation, note that this + will require a Catalog exporting that Public Identifier to work. +
    --timing
    + Output information about the time it takes + xmllint to perform the various steps. +
    --repeat
    + Repeat 100 times, for timing or profiling. +
    --insert
    + Test for valid insertions. +
    --compress
    + Turn on gzip compression of output. +
    --html
    + Use the HTML parser. +
    --push
    + Use the push mode of the parser. +
    --memory
    + Parse from memory. +
    --nowarning
    + Do not emit warnings from the parser and/or validator. +
    --noblanks
    + Drop ignorable blank spaces. +
    --format
    + Reformat and reindent the output. The $XMLLINT_INDENT + environment variable controls the indentation (default + value is two spaces " "). +
    --testIO
    + Test user input/output support. +
    --encode encoding
    + Output in the given encoding. +
    --catalogs
    + Use the catalogs from $SGML_CATALOG_FILES. Otherwise /etc/xml/catalog + is used by default. +
    --nocatalogs
    + Do not use any catalogs. +
    --auto
    + Generate a small document for testing purposes. +
    --xinclude
    + Do XInclude processing. +
    --loaddtd
    + Fetch external DTD. +
    --dtdattr
    + Fetch external DTD and populate the tree with inherited attributes. +
    --dropdtd
    + Remove DTD from output. +
    --stream
    Use streaming API - useful when used in combination with + --relaxng or --valid options for validation of files that are + too large to be held in memory.
    --chkregister
    Turn on node registration. Useful for developeres testing + libxml2 node tracking code.
    --relaxng schema
    Use RelaxNG file named schema for + validation.
    --schema schema
    Use a W3C XML Schema file named schema for validation.
    + --nonet
    Do not use the Internet to fetch DTD's or entities.

    Shell

    + xmllint offers an interactive shell mode + invoked with the --shell command. Available commands in + shell mode include: +

    base
    + display XML base of the node +
    bye
    + leave shell +
    cat node
    + Display node if given or current node. +
    cd path
    + Change the current node to path (if given + and unique) or root if no argument given. +
    dir path
    + Dumps information about the node (namespace, attributes, content). +
    du path
    + Show the structure of the subtree under path or the current node. +
    exit
    + Leave the shell. +
    help
    + Show this help. +
    free
    + Display memory usage. +
    load name
    + Load a new document with the given name. +
    ls path
    + List contents of path (if given) or the + current directory. +
    pwd
    + Display the path to the current node. +
    quit
    + Leave the shell. +
    save name
    + Saves the current document to name if + given or to the original name. +
    validate
    + Check the document for error. +
    write name
    + Write the current node to the given filename. +

    Catalogs

    Catalog behavior can be changed by redirecting + queries to the user's own set of catalogs. This can be done by setting the + XML_CATALOG_FILES environment variable to a list of + catalogs. An empty one should deactivate loading the default + /etc/xml/catalog default catalog.

    Debugging Catalogs

    Setting the environment variable XML_DEBUG_CATALOG + using the command "export XML_DEBUG_CATALOG=" + outputs debugging information related to catalog operations.

    diff --git a/doc/xmllint.xml b/doc/xmllint.xml new file mode 100644 index 0000000..ea881c7 --- /dev/null +++ b/doc/xmllint.xml @@ -0,0 +1,643 @@ + + + + + + xmllint Manual + + 2001 + + + 2004 + + + John + Fleck + +
    jfleck@inkstain.net
    + + Ziying + Sherwin + +
    sherwin@nlm.nih.gov
    + + Heiko + Rupp + +
    hwr@pilhuhn.de
    + + This is release 0.3 of the xmllint Manual. +
    + + + xmllint + 1 + + + + xmllint + command line XML tool + + + + + xmllint + + --version + --debug + --shell + --debugent + --copy + --recover + --noent + --nocdata + --nsclean + --noout + --htmlout + --nowrap + --valid + --postvalid + --dtdvalid URL + --dtdvalidfpi FPI + --timing + --repeat + --insert + --compress + --html + --push + --memory + --nowarning + --noblanks + --format + --testIO + --encode encoding + --catalogs + --nocatalogs + --auto + --xinclude + --loaddtd + --dtdattr + --dropdtd + --stream + --chkregister + --relaxng + --schema + --nonet + + + + + + + Introduction + + The xmllint program parses one or more XML files, specified on the + command line as xmlfile. It prints various + types of output, depending upon the options selected. It is useful for + detecting errors both in XML code and in the + XML parser itself. + + + + It is included in libxml2. + + + + Options + + + + + + Display the version of + libxml2 used. + + + + + + + + + Parse a file and output an annotated tree of the + in-memory version of the document. + + + + + + + + + Run a navigating shell. Details on available commands in shell mode + are below. + + + + + + + + + Debug the entities defined in the document. + + + + + + + + + Test the internal copy implementation. + + + + + + + + + + Output any parsable portions of an invalid + document. + + + + + + + + + Substitute entity values for entity + references. By default, xmllint leaves entity + references in place. + + + + + + + + + Substitute CDATA section by equivalent text nodes. + + + + + + + + + Remove redundant namespace declarations. + + + + + + + + + Suppress output. By default, + xmllint outputs the result tree. + + + + + + + + + Output results as an HTML + file. This causes xmllint to output + the necessary HTML tags surrounding the result tree + output so the results can be displayed in a browser. + + + + + + + + + Do not output HTML doc wrapper. + + + + + + + + + Determine if the document is a valid instance + of the included Document Type Definition (DTD). A + DTD to be validated against also can be specified at + the command line using the option. By default, + xmllint also checks to determine if the + document is well-formed. + + + + + + + + + Validate after parsing is completed. + + + + + + URL + + + Use the + DTD specified by URL for + validation. + + + + + + FPI + + + Use the + DTD specified by the Public Identifier + FPI for validation, note that this + will require a Catalog exporting that Public Identifier to work. + + + + + + + + + Output information about the time it takes + xmllint to perform the various steps. + + + + + + + + + Repeat 100 times, for timing or profiling. + + + + + + + + + Test for valid insertions. + + + + + + + + + Turn on gzip compression of output. + + + + + + + + + Use the HTML parser. + + + + + + + + + Use the push mode of the parser. + + + + + + + + + + Parse from memory. + + + + + + + + + Do not emit warnings from the parser and/or validator. + + + + + + + + + Drop ignorable blank spaces. + + + + + + + + + Reformat and reindent the output. The $XMLLINT_INDENT + environment variable controls the indentation (default + value is two spaces " "). + + + + + + + + + Test user input/output support. + + + + + + encoding + + + Output in the given encoding. + + + + + + + + + Use the catalogs from $SGML_CATALOG_FILES. Otherwise /etc/xml/catalog + is used by default. + + + + + + + + + Do not use any catalogs. + + + + + + + + + Generate a small document for testing purposes. + + + + + + + + + Do XInclude processing. + + + + + + + + Fetch external DTD. + + + + + + + + + Fetch external DTD and populate the tree with inherited attributes. + + + + + + + + Remove DTD from output. + + + + + + + Use streaming API - useful when used in combination with + --relaxng or --valid options for validation of files that are + too large to be held in memory. + + + + + + Turn on node registration. Useful for developeres testing + libxml2 node tracking code. + + + + schema + + Use RelaxNG file named schema for + validation. + + + + schema + + Use a W3C XML Schema file named schema for validation. + + + + + + + Do not use the Internet to fetch DTD's or entities. + + + + + + + Shell + + xmllint offers an interactive shell mode + invoked with the command. Available commands in + shell mode include: + + + + + + + display XML base of the node + + + + + + + + leave shell + + + + + + + + Display node if given or current node. + + + + + + + + Change the current node to path (if given + and unique) or root if no argument given. + + + + + + + + Dumps information about the node (namespace, attributes, content). + + + + + + + + Show the structure of the subtree under path or the current node. + + + + + + + + Leave the shell. + + + + + + + + Show this help. + + + + + + + + Display memory usage. + + + + + + + + Load a new document with the given name. + + + + + + + + List contents of path (if given) or the + current directory. + + + + + + + + Display the path to the current node. + + + + + + + + Leave the shell. + + + + + + + + Saves the current document to name if + given or to the original name. + + + + + + + + Check the document for error. + + + + + + + + Write the current node to the given filename. + + + + + + + + Catalogs + Catalog behavior can be changed by redirecting + queries to the user's own set of catalogs. This can be done by setting the + XML_CATALOG_FILES environment variable to a list of + catalogs. An empty one should deactivate loading the default + /etc/xml/catalog default catalog. + + + Debugging Catalogs + Setting the environment variable XML_DEBUG_CATALOG + using the command "export XML_DEBUG_CATALOG=" + outputs debugging information related to catalog operations. + +
    diff --git a/doc/xmlmem.html b/doc/xmlmem.html new file mode 100644 index 0000000..ba85307 --- /dev/null +++ b/doc/xmlmem.html @@ -0,0 +1,102 @@ + + +Memory Management
    Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
    Made with Libxml2 Logo

    The XML C parser and toolkit of Gnome

    Memory Management

    Developer Menu
    API Indexes
    Related links

    Table of Content:

    1. General overview
    2. +
    3. Setting libxml2 set of memory routines
    4. +
    5. Cleaning up after parsing
    6. +
    7. Debugging routines
    8. +
    9. General memory requirements
    10. +

    General overview

    The module xmlmemory.h +provides the interfaces to the libxml2 memory system:

    • libxml2 does not use the libc memory allocator directly but xmlFree(), + xmlMalloc() and xmlRealloc()
    • +
    • those routines can be reallocated to a specific set of routine, by + default the libc ones i.e. free(), malloc() and realloc()
    • +
    • the xmlmemory.c module includes a set of debugging routine
    • +

    Setting libxml2 set of memory routines

    It is sometimes useful to not use the default memory allocator, either for +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
    • +
    • xmlMemSetup() + 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 libxml2 routines (unless you are sure your allocations routines are +compatibles).

    Cleaning up after parsing

    Libxml2 is not stateless, there is a few set of memory structures needing +allocation before the parser is fully functional (some encoding structures +for example). This also mean that once parsing is finished there is a tiny +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).
    • +
    • xmlInitParser + () is the dual routine allowing to preallocate the parsing state + which can be useful for example to avoid initialization reentrancy + problems when using libxml2 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 +in multithreaded applications.

    Debugging routines

    When configured using --with-mem-debug flag (off by default), libxml2 uses +a set of memory allocation debugging routines keeping track of all allocated +blocks and the location in the code where the routine was called. A couple of +other debugging routines allow to dump the memory allocated infos to a file +or call a specific routine when a given block number is allocated:

    When developing libxml2 memory debug is enabled, the tests programs call +xmlMemoryDump () and the "make test" regression tests will check for any +memory leak during the full regression test sequence, this helps a lot +ensuring that libxml2 does not leak memory and bullet proof memory +allocations use (some libc implementations are known to be far too permissive +resulting in major portability problems!).

    If the .memdump reports a leak, it displays the allocation function and +also tries to give some informations about the content and structure of the +allocated blocks left. This is sufficient in most cases to find the culprit, +but not always. Assuming the allocation problem is reproducible, it is +possible to find more easily:

    1. write down the block number xxxx not allocated
    2. +
    3. export the environment variable XML_MEM_BREAKPOINT=xxxx , the easiest + when using GDB is to simply give the command +

      set environment XML_MEM_BREAKPOINT xxxx

      +

      before running the program.

      +
    4. +
    5. run the program under a debugger and set a breakpoint on + xmlMallocBreakpoint() a specific function called when this precise block + is allocated
    6. +
    7. when the breakpoint is reached you can then do a fine analysis of the + allocation an step to see the condition resulting in the missing + deallocation.
    8. +

    I used to use a commercial tool to debug libxml2 memory problems but after +noticing that it was not detecting memory leaks that simple mechanism was +used and proved extremely efficient until now. Lately I have also used valgrind with quite some +success, it is tied to the i386 architecture since it works by emulating the +processor and instruction set, it is slow but extremely efficient, i.e. it +spot memory usage errors in a very precise way.

    General memory requirements

    How much libxml2 memory require ? It's hard to tell in average it depends +of a number of things:

    • the parser itself should work in a fixed amount of memory, except for + information maintained about the stacks of names and entities locations. + The I/O and encoding handlers will probably account for a few KBytes. + This is true for both the XML and HTML parser (though the HTML parser + need more state).
    • +
    • If you are generating the DOM tree then memory requirements will grow + nearly linear with the size of the data. In general for a balanced + textual document the internal memory requirement is about 4 times the + size of the UTF8 serialization of this document (example the XML-1.0 + recommendation is a bit more of 150KBytes and takes 650KBytes of main + memory when parsed). Validation will add a amount of memory required for + maintaining the external Dtd state which should be linear with the + complexity of the content model defined by the Dtd
    • +
    • If you need to work with fixed memory requirements or don't need the + full DOM tree then using the xmlReader + interface is probably the best way to proceed, it still allows to + validate or operate on subset of the tree if needed.
    • +
    • If you don't care about the advanced features of libxml2 like + validation, DOM, XPath or XPointer, don't use entities, need to work with + fixed memory requirements, and try to get the fastest parsing possible + then the SAX interface should be used, but it has known restrictions.
    • +

    Daniel Veillard

    diff --git a/doc/xmlreader.html b/doc/xmlreader.html new file mode 100644 index 0000000..db711b8 --- /dev/null +++ b/doc/xmlreader.html @@ -0,0 +1,475 @@ + + + + + + + Libxml2 XmlTextReader Interface tutorial + + + +

    Libxml2 XmlTextReader Interface tutorial

    + +

    + +

    This document describes the use of the XmlTextReader streaming API added +to libxml2 in version 2.5.0 . This API is closely modeled after the XmlTextReader +and XmlReader +classes of the C# language.

    + +

    This tutorial will present the key points of this API, and working +examples using both C and the Python bindings:

    + +

    Table of content:

    + + +

    + +

    Introduction: why a new API

    + +

    Libxml2 main API is +tree based, where the parsing operation results in a document loaded +completely in memory, and expose it as a tree of nodes all availble at the +same time. This is very simple and quite powerful, but has the major +limitation that the size of the document that can be hamdled is limited by +the size of the memory available. Libxml2 also provide a SAX based API, but that version was +designed upon one of the early expat version of SAX, SAX is +also not formally defined for C. SAX basically work by registering callbacks +which are called directly by the parser as it progresses through the document +streams. The problem is that this programming model is relatively complex, +not well standardized, cannot provide validation directly, makes entity, +namespace and base processing relatively hard.

    + +

    The XmlTextReader +API from C# provides a far simpler programming model. The API acts as a +cursor going forward on the document stream and stopping at each node in the +way. The user's code keeps control of the progress and simply calls a +Read() function repeatedly to progress to each node in sequence in document +order. There is direct support for namespaces, xml:base, entity handling and +adding DTD validation on top of it was relatively simple. This API is really +close to the DOM Core +specification This provides a far more standard, easy to use and powerful +API than the existing SAX. Moreover integrating extension features based on +the tree seems relatively easy.

    + +

    In a nutshell the XmlTextReader API provides a simpler, more standard and +more extensible interface to handle large documents than the existing SAX +version.

    + +

    Walking a simple tree

    + +

    Basically the XmlTextReader API is a forward only tree walking interface. +The basic steps are:

    +
      +
    1. prepare a reader context operating on some input
    2. +
    3. run a loop iterating over all nodes in the document
    4. +
    5. free up the reader context
    6. +
    + +

    Here is a basic C sample doing this:

    +
    #include <libxml/xmlreader.h>
    +
    +void processNode(xmlTextReaderPtr reader) {
    +    /* handling of a node in the tree */
    +}
    +
    +int streamFile(char *filename) {
    +    xmlTextReaderPtr reader;
    +    int ret;
    +
    +    reader = xmlNewTextReaderFilename(filename);
    +    if (reader != NULL) {
    +        ret = xmlTextReaderRead(reader);
    +        while (ret == 1) {
    +            processNode(reader);
    +            ret = xmlTextReaderRead(reader);
    +        }
    +        xmlFreeTextReader(reader);
    +        if (ret != 0) {
    +            printf("%s : failed to parse\n", filename);
    +        }
    +    } else {
    +        printf("Unable to open %s\n", filename);
    +    }
    +}
    + +

    A few things to notice:

    +
      +
    • the include file needed : libxml/xmlreader.h
    • +
    • the creation of the reader using a filename
    • +
    • the repeated call to xmlTextReaderRead() and how any return value + different from 1 should stop the loop
    • +
    • that a negative return means a parsing error
    • +
    • how xmlFreeTextReader() should be used to free up the resources used by + the reader.
    • +
    + +

    Here is similar code in python for exactly the same processing:

    +
    import libxml2
    +
    +def processNode(reader):
    +    pass
    +
    +def streamFile(filename):
    +    try:
    +        reader = libxml2.newTextReaderFilename(filename)
    +    except:
    +        print "unable to open %s" % (filename)
    +        return
    +
    +    ret = reader.Read()
    +    while ret == 1:
    +        processNode(reader)
    +        ret = reader.Read()
    +
    +    if ret != 0:
    +        print "%s : failed to parse" % (filename)
    + +

    The only things worth adding are that the xmlTextReader +is abstracted as a class like in C# with the same method names (but the +properties are currently accessed with methods) and that one doesn't need to +free the reader at the end of the processing. It will get garbage collected +once all references have disapeared.

    + +

    Extracting information for the current node

    + +

    So far the example code did not indicate how information was extracted +from the reader. It was abstrated as a call to the processNode() routine, +with the reader as the argument. At each invocation, the parser is stopped on +a given node and the reader can be used to query those node properties. Each +Property is available at the C level as a function taking a single +xmlTextReaderPtr argument whose name is +xmlTextReaderProperty , if the return type is an +xmlChar * string then it must be deallocated with +xmlFree() to avoid leaks. For the Python interface, there is a +Property method to the reader class that can be called on the +instance. The list of the properties is based on the C# +XmlTextReader class set of properties and methods:

    +
      +
    • NodeType: The node type, 1 for start element, 15 for end of + element, 2 for attributes, 3 for text nodes, 4 for CData sections, 5 for + entity references, 6 for entity declarations, 7 for PIs, 8 for comments, + 9 for the document nodes, 10 for DTD/Doctype nodes, 11 for document + fragment and 12 for notation nodes.
    • +
    • Name: the qualified + name of the node, equal to (Prefix:)LocalName.
    • +
    • LocalName: the local name of + the node.
    • +
    • Prefix: a shorthand reference to the namespace associated with + the node.
    • +
    • NamespaceUri: the URI defining the namespace associated with + the node.
    • +
    • BaseUri: the base URI of the node. See the XML Base W3C specification.
    • +
    • Depth: the depth of the node in the tree, starts at 0 for the + root node.
    • +
    • HasAttributes: whether the node has attributes.
    • +
    • HasValue: whether the node can have a text value.
    • +
    • Value: provides the text value of the node if present.
    • +
    • IsDefault: whether an Attribute node was generated from the + default value defined in the DTD or schema (unsupported + yet).
    • +
    • XmlLang: the xml:lang scope + within which the node resides.
    • +
    • IsEmptyElement: check if the current node is empty, this is a + bit bizarre in the sense that <a/> will be considered + empty while <a></a> will not.
    • +
    • AttributeCount: provides the number of attributes of the + current node.
    • +
    + +

    Let's look first at a small example to get this in practice by redefining +the processNode() function in the Python example:

    +
    def processNode(reader):
    +    print "%d %d %s %d" % (reader.Depth(), reader.NodeType(),
    +                           reader.Name(), reader.IsEmptyElement())
    + +

    and look at the result of calling streamFile("tst.xml") for various +content of the XML test file.

    + +

    For the minimal document "<doc/>" we get:

    +
    0 1 doc 1
    + +

    Only one node is found, its depth is 0, type 1 indicate an element start, +of name "doc" and it is empty. Trying now with +"<doc></doc>" instead leads to:

    +
    0 1 doc 0
    +0 15 doc 0
    + +

    The document root node is not flagged as empty anymore and both a start +and an end of element are detected. The following document shows how +character data are reported:

    +
    <doc><a/><b>some text</b>
    +<c/></doc>
    + +

    We modifying the processNode() function to also report the node Value:

    +
    def processNode(reader):
    +    print "%d %d %s %d %s" % (reader.Depth(), reader.NodeType(),
    +                              reader.Name(), reader.IsEmptyElement(),
    +                              reader.Value())
    + +

    The result of the test is:

    +
    0 1 doc 0 None
    +1 1 a 1 None
    +1 1 b 0 None
    +2 3 #text 0 some text
    +1 15 b 0 None
    +1 3 #text 0
    +
    +1 1 c 1 None
    +0 15 doc 0 None
    + +

    There are a few things to note:

    +
      +
    • the increase of the depth value (first row) as children nodes are + explored
    • +
    • the text node child of the b element, of type 3 and its content
    • +
    • the text node containing the line return between elements b and c
    • +
    • that elements have the Value None (or NULL in C)
    • +
    + +

    The equivalent routine for processNode() as used by +xmllint --stream --debug is the following and can be found in +the xmllint.c module in the source distribution:

    +
    static void processNode(xmlTextReaderPtr reader) {
    +    xmlChar *name, *value;
    +
    +    name = xmlTextReaderName(reader);
    +    if (name == NULL)
    +        name = xmlStrdup(BAD_CAST "--");
    +    value = xmlTextReaderValue(reader);
    +
    +    printf("%d %d %s %d",
    +            xmlTextReaderDepth(reader),
    +            xmlTextReaderNodeType(reader),
    +            name,
    +            xmlTextReaderIsEmptyElement(reader));
    +    xmlFree(name);
    +    if (value == NULL)
    +        printf("\n");
    +    else {
    +        printf(" %s\n", value);
    +        xmlFree(value);
    +    }
    +}
    + +

    Extracting information for the attributes

    + +

    The previous examples don't indicate how attributes are processed. The +simple test "<doc a="b"/>" provides the following +result:

    +
    0 1 doc 1 None
    + +

    This proves that attribute nodes are not traversed by default. The +HasAttributes property allow to detect their presence. To check +their content the API has special instructions. Basically two kinds of operations +are possible:

    +
      +
    1. to move the reader to the attribute nodes of the current element, in + that case the cursor is positionned on the attribute node
    2. +
    3. to directly query the element node for the attribute value
    4. +
    + +

    In both case the attribute can be designed either by its position in the +list of attribute (MoveToAttributeNo or GetAttributeNo) or +by their name (and namespace):

    +
      +
    • GetAttributeNo(no): provides the value of the attribute with + the specified index no relative to the containing element.
    • +
    • GetAttribute(name): provides the value of the attribute with + the specified qualified name.
    • +
    • GetAttributeNs(localName, namespaceURI): provides the value of the + attribute with the specified local name and namespace URI.
    • +
    • MoveToAttributeNo(no): moves the position of the current + instance to the attribute with the specified index relative to the + containing element.
    • +
    • MoveToAttribute(name): moves the position of the current + instance to the attribute with the specified qualified name.
    • +
    • MoveToAttributeNs(localName, namespaceURI): moves the position + of the current instance to the attribute with the specified local name + and namespace URI.
    • +
    • MoveToFirstAttribute: moves the position of the current + instance to the first attribute associated with the current node.
    • +
    • MoveToNextAttribute: moves the position of the current + instance to the next attribute associated with the current node.
    • +
    • MoveToElement: moves the position of the current instance to + the node that contains the current Attribute node.
    • +
    + +

    After modifying the processNode() function to show attributes:

    +
    def processNode(reader):
    +    print "%d %d %s %d %s" % (reader.Depth(), reader.NodeType(),
    +                              reader.Name(), reader.IsEmptyElement(),
    +                              reader.Value())
    +    if reader.NodeType() == 1: # Element
    +        while reader.MoveToNextAttribute():
    +            print "-- %d %d (%s) [%s]" % (reader.Depth(), reader.NodeType(),
    +                                          reader.Name(),reader.Value())
    + +

    The output for the same input document reflects the attribute:

    +
    0 1 doc 1 None
    +-- 1 2 (a) [b]
    + +

    There are a couple of things to note on the attribute processing:

    +
      +
    • Their depth is the one of the carrying element plus one.
    • +
    • Namespace declarations are seen as attributes, as in DOM.
    • +
    + +

    Validating a document

    + +

    Libxml2 implementation adds some extra features on top of the XmlTextReader +API. The main one is the ability to DTD validate the parsed document +progressively. This is simply the activation of the associated feature of the +parser used by the reader structure. There are a few options available +defined as the enum xmlParserProperties in the libxml/xmlreader.h header +file:

    +
      +
    • XML_PARSER_LOADDTD: force loading the DTD (without validating)
    • +
    • XML_PARSER_DEFAULTATTRS: force attribute defaulting (this also imply + loading the DTD)
    • +
    • XML_PARSER_VALIDATE: activate DTD validation (this also imply loading + the DTD)
    • +
    • XML_PARSER_SUBST_ENTITIES: substitute entities on the fly, entity + reference nodes are not generated and are replaced by their expanded + content.
    • +
    • more settings might be added, those were the one available at the 2.5.0 + release...
    • +
    + +

    The GetParserProp() and SetParserProp() methods can then be used to get +and set the values of those parser properties of the reader. For example

    +
    def parseAndValidate(file):
    +    reader = libxml2.newTextReaderFilename(file)
    +    reader.SetParserProp(libxml2.PARSER_VALIDATE, 1)
    +    ret = reader.Read()
    +    while ret == 1:
    +        ret = reader.Read()
    +    if ret != 0:
    +        print "Error parsing and validating %s" % (file)
    + +

    This routine will parse and validate the file. Error messages can be +captured by registering an error handler. See python/tests/reader2.py for +more complete Python examples. At the C level the equivalent call to cativate +the validation feature is just:

    +
    ret = xmlTextReaderSetParserProp(reader, XML_PARSER_VALIDATE, 1)
    + +

    and a return value of 0 indicates success.

    + +

    Entities substitution

    + +

    By default the xmlReader will report entities as such and not replace them +with their content. This default behaviour can however be overriden using:

    + +

    reader.SetParserProp(libxml2.PARSER_SUBST_ENTITIES,1)

    + +

    Relax-NG Validation

    + +

    Introduced in version 2.5.7

    + +

    Libxml2 can now validate the document being read using the xmlReader using +Relax-NG schemas. While the Relax NG validator can't always work in a +streamable mode, only subsets which cannot be reduced to regular expressions +need to have their subtree expanded for validation. In practice it means +that, unless the schemas for the top level element content is not expressable +as a regexp, only chunk of the document needs to be parsed while +validating.

    + +

    The steps to do so are:

    +
      +
    • create a reader working on a document as usual
    • +
    • before any call to read associate it to a Relax NG schemas, either the + preparsed schemas or the URL to the schemas to use
    • +
    • errors will be reported the usual way, and the validity status can be + obtained using the IsValid() interface of the reader like for DTDs.
    • +
    + +

    Example, assuming the reader has already being created and that the schema +string contains the Relax-NG schemas:

    +
    rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
    +rngs = rngp.relaxNGParse()
    +reader.RelaxNGSetSchema(rngs)
    +ret = reader.Read()
    +while ret == 1:
    + ret = reader.Read()
    +if ret != 0:
    + print "Error parsing the document"
    +if reader.IsValid() != 1:
    + print "Document failed to validate"

    +
    + +

    See reader6.py in the sources or documentation for a complete +example.

    + +

    Mixing the reader and tree or XPath operations

    + +

    Introduced in version 2.5.7

    + +

    While the reader is a streaming interface, its underlying implementation +is based on the DOM builder of libxml2. As a result it is relatively simple +to mix operations based on both models under some constraints. To do so the +reader has an Expand() operation allowing to grow the subtree under the +current node. It returns a pointer to a standard node which can be +manipulated in the usual ways. The node will get all its ancestors and the +full subtree available. Usual operations like XPath queries can be used on +that reduced view of the document. Here is an example extracted from +reader5.py in the sources which extract and prints the bibliography for the +"Dragon" compiler book from the XML 1.0 recommendation:

    +
    f = open('../../test/valid/REC-xml-19980210.xml')
    +input = libxml2.inputBuffer(f)
    +reader = input.newTextReader("REC")
    +res=""
    +while reader.Read():
    +    while reader.Name() == 'bibl':
    +        node = reader.Expand()            # expand the subtree
    +        if node.xpathEval("@id = 'Aho'"): # use XPath on it
    +            res = res + node.serialize()
    +        if reader.Next() != 1:            # skip the subtree
    +            break;
    + +

    Note, however that the node instance returned by the Expand() call is only +valid until the next Read() operation. The Expand() operation does not +affects the Read() ones, however usually once processed the full subtree is +not useful anymore, and the Next() operation allows to skip it completely and +process to the successor or return 0 if the document end is reached.

    + +

    Daniel Veillard

    + +

    $Id: xmlreader.html,v 1.8 2003/11/05 04:15:16 jfleck Exp $

    + +

    + + diff --git a/doc/xsa.xsl b/doc/xsa.xsl new file mode 100644 index 0000000..30151d4 --- /dev/null +++ b/doc/xsa.xsl @@ -0,0 +1,54 @@ + + + + + + + + + Daniel Veillard + daniel@veillard.com + http://veillard.com/ + + + libxml2 + + + http://xmlsoft.org/ + + + + + + + + + + + + + + + - + + + + + + + at + + + + + + + -- cgit v1.2.3