From 35a201cc8ef0c3f5b2df88d2e528aabee1048348 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Fri, 30 Apr 2021 18:47:09 +0200 Subject: Initial/Final commit --- libxml2-2.9.10/doc/tutorial/includeaddattribute.c | 64 +++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 libxml2-2.9.10/doc/tutorial/includeaddattribute.c (limited to 'libxml2-2.9.10/doc/tutorial/includeaddattribute.c') diff --git a/libxml2-2.9.10/doc/tutorial/includeaddattribute.c b/libxml2-2.9.10/doc/tutorial/includeaddattribute.c new file mode 100644 index 0000000..bb6a18b --- /dev/null +++ b/libxml2-2.9.10/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); +} +]]> -- cgit v1.2.3