Annotation of embedaddon/libxml2/doc/examples/parse3.c, revision 1.1

1.1     ! misho       1: /**
        !             2:  * section: Parsing
        !             3:  * synopsis: Parse an XML document in memory to a tree and free it
        !             4:  * purpose: Demonstrate the use of xmlReadMemory() to read an XML file
        !             5:  *          into a tree and and xmlFreeDoc() to free the resulting tree
        !             6:  * usage: parse3
        !             7:  * test: parse3
        !             8:  * author: Daniel Veillard
        !             9:  * copy: see Copyright for the status of this software.
        !            10:  */
        !            11: 
        !            12: #include <stdio.h>
        !            13: #include <libxml/parser.h>
        !            14: #include <libxml/tree.h>
        !            15: 
        !            16: static const char *document = "<doc/>";
        !            17: 
        !            18: /**
        !            19:  * example3Func:
        !            20:  * @content: the content of the document
        !            21:  * @length: the length in bytes
        !            22:  *
        !            23:  * Parse the in memory document and free the resulting tree
        !            24:  */
        !            25: static void
        !            26: example3Func(const char *content, int length) {
        !            27:     xmlDocPtr doc; /* the resulting document tree */
        !            28: 
        !            29:     /*
        !            30:      * The document being in memory, it have no base per RFC 2396,
        !            31:      * and the "noname.xml" argument will serve as its base.
        !            32:      */
        !            33:     doc = xmlReadMemory(content, length, "noname.xml", NULL, 0);
        !            34:     if (doc == NULL) {
        !            35:         fprintf(stderr, "Failed to parse document\n");
        !            36:        return;
        !            37:     }
        !            38:     xmlFreeDoc(doc);
        !            39: }
        !            40: 
        !            41: int main(void) {
        !            42:     /*
        !            43:      * this initialize the library and check potential ABI mismatches
        !            44:      * between the version it was compiled for and the actual shared
        !            45:      * library used.
        !            46:      */
        !            47:     LIBXML_TEST_VERSION
        !            48: 
        !            49:     example3Func(document, 6);
        !            50: 
        !            51:     /*
        !            52:      * Cleanup function for the XML library.
        !            53:      */
        !            54:     xmlCleanupParser();
        !            55:     /*
        !            56:      * this is to debug memory for regression tests
        !            57:      */
        !            58:     xmlMemoryDump();
        !            59:     return(0);
        !            60: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>