5 #include <libxml/xmlmemory.h>
6 #include <libxml/parser.h>
9 parseStory (xmlDocPtr doc, xmlNodePtr cur, char *keyword) {
11 xmlNewTextChild (cur, NULL, "keyword", keyword);
16 parseDoc(char *docname, char *keyword) {
21 doc = xmlParseFile(docname);
24 fprintf(stderr,"Document not parsed successfully. \n");
28 cur = xmlDocGetRootElement(doc);
31 fprintf(stderr,"empty document\n");
36 if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
37 fprintf(stderr,"document of the wrong type, root node != story");
42 cur = cur->xmlChildrenNode;
44 if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){
45 parseStory (doc, cur, keyword);
54 main(int argc, char **argv) {
61 printf("Usage: %s docname, keyword\n", argv[0]);
67 doc = parseDoc (docname, keyword);
69 xmlSaveFormatFile (docname, doc, 0);