Annotation of embedaddon/libxml2/doc/tutorial/includeaddattribute.c, revision 1.1

1.1     ! misho       1: <![CDATA[
        !             2: #include <stdio.h>
        !             3: #include <string.h>
        !             4: #include <stdlib.h>
        !             5: #include <libxml/xmlmemory.h>
        !             6: #include <libxml/parser.h>
        !             7: 
        !             8: 
        !             9: xmlDocPtr
        !            10: parseDoc(char *docname, char *uri) {
        !            11: 
        !            12:        xmlDocPtr doc;
        !            13:        xmlNodePtr cur;
        !            14:        xmlNodePtr newnode;
        !            15:        xmlAttrPtr newattr;
        !            16: 
        !            17:        doc = xmlParseFile(docname);
        !            18:        
        !            19:        if (doc == NULL ) {
        !            20:                fprintf(stderr,"Document not parsed successfully. \n");
        !            21:                return (NULL);
        !            22:        }
        !            23:        
        !            24:        cur = xmlDocGetRootElement(doc);
        !            25:        
        !            26:        if (cur == NULL) {
        !            27:                fprintf(stderr,"empty document\n");
        !            28:                xmlFreeDoc(doc);
        !            29:                return (NULL);
        !            30:        }
        !            31:        
        !            32:        if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
        !            33:                fprintf(stderr,"document of the wrong type, root node != story");
        !            34:                xmlFreeDoc(doc);
        !            35:                return (NULL);
        !            36:        }
        !            37:        
        !            38:        newnode = xmlNewTextChild (cur, NULL, "reference", NULL);
        !            39:        newattr = xmlNewProp (newnode, "uri", uri);
        !            40:        return(doc);
        !            41: }
        !            42: 
        !            43: int
        !            44: main(int argc, char **argv) {
        !            45: 
        !            46:        char *docname;
        !            47:        char *uri;
        !            48:        xmlDocPtr doc;
        !            49: 
        !            50:        if (argc <= 2) {
        !            51:                printf("Usage: %s docname, uri\n", argv[0]);
        !            52:                return(0);
        !            53:        }
        !            54: 
        !            55:        docname = argv[1];
        !            56:        uri = argv[2];
        !            57:        doc = parseDoc (docname, uri);
        !            58:        if (doc != NULL) {
        !            59:                xmlSaveFormatFile (docname, doc, 1);
        !            60:                xmlFreeDoc(doc);
        !            61:        }
        !            62:        return (1);
        !            63: }
        !            64: ]]>

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