Removed ancient CVS tag lines
[gromacs.git] / src / kernel / gmx_xml.c
blobdd17ca7e034d41eefcc68c8729675e6790259ac4
1 /* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
2 *
3 * This source code is part of
4 *
5 * G R O M A C S
6 *
7 * GROningen MAchine for Chemical Simulations
8 *
9 * VERSION 4.5
10 * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
11 * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
12 * Copyright (c) 2001-2008, The GROMACS development team,
13 * check out http://www.gromacs.org for more information.
15 * This program is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License
17 * as published by the Free Software Foundation; either version 2
18 * of the License, or (at your option) any later version.
20 * If you want to redistribute modifications, please consider that
21 * scientific software is very special. Version control is crucial -
22 * bugs must be traceable. We will be happy to consider code for
23 * inclusion in the official distribution, but derived work must not
24 * be called official GROMACS. Details are found in the README & COPYING
25 * files - if they are missing, get the official version at www.gromacs.org.
27 * To help us fund GROMACS development, we humbly ask that you cite
28 * the papers on the package - you can find them in the top README file.
30 * For more info, check our website at http://www.gromacs.org
32 * And Hey:
33 * Groningen Machine for Chemical Simulation
35 #ifdef HAVE_CONFIG_H
36 #include <config.h>
37 #endif
39 #include "gmx_fatal.h"
42 #ifdef HAVE_LIBXML2
43 #include <libxml/parser.h>
44 #include <libxml/tree.h>
45 #include "gmx_xml.h"
47 void add_xml_int(xmlNodePtr ptr,xmlChar *name,int val)
49 xmlChar buf[32];
51 sprintf((char *)buf,"%d",val);
52 if (xmlSetProp(ptr,name,buf) == 0)
53 gmx_fatal(FARGS,"Setting %s",(char *)name);
56 void add_xml_double(xmlNodePtr ptr,xmlChar *name,double val)
58 xmlChar buf[32];
60 sprintf((char *)buf,"%g",val);
61 if (xmlSetProp(ptr,name,buf) == 0)
62 gmx_fatal(FARGS,"Setting %s",(char *)name);
65 void add_xml_char(xmlNodePtr ptr,xmlChar *name,char *val)
67 if (xmlSetProp(ptr,name,(xmlChar *)val) == 0)
68 gmx_fatal(FARGS,"Setting %s",(char *)name);
71 xmlNodePtr add_xml_child(xmlNodePtr parent,char *type)
73 xmlNodePtr child;
75 if ((child = xmlNewChild(parent,NULL,(xmlChar *)type,NULL)) == NULL)
76 gmx_fatal(FARGS,"Creating element %s",(char *)type);
78 return child;
81 xmlNodePtr add_xml_comment(xmlDocPtr doc,
82 xmlNodePtr prev,xmlChar *comment)
84 xmlNodePtr comm,ptr;
86 if ((comm = xmlNewComment(comment)) == NULL)
87 gmx_fatal(FARGS,"Creating doc comment element");
88 ptr = prev;
89 while (ptr->next != NULL)
90 ptr=ptr->next;
91 ptr->next = comm;
92 comm->prev = ptr;
93 comm->doc = doc;
95 return comm;
98 #endif