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);