315993c2a00973c576eaf2475a819c5ca028c96b
[cascardo/atompub.git] / src / atom.c
1 /*
2  *  Copyright (C) 2008  Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
3  *
4  *  This program is free software; you can redistribute it and/or modify
5  *  it under the terms of the GNU General Public License as published by
6  *  the Free Software Foundation; either version 2 of the License, or
7  *  (at your option) any later version.
8  *
9  *  This program is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  *  GNU General Public License for more details.
13  *
14  *  You should have received a copy of the GNU General Public License along
15  *  with this program; if not, write to the Free Software Foundation, Inc.,
16  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18
19
20 #include <libxml/tree.h>
21
22 #define ATOM_NAMESPACE "http://www.w3.org/2005/Atom"
23
24 typedef xmlDocPtr AtomEntry;
25
26 AtomEntry
27 atom_entry_new_with_prefix (char *prefix)
28 {
29   xmlDocPtr doc;
30   xmlNsPtr ns;
31   xmlNodePtr node;
32   doc = xmlNewDoc ("1.0");
33   node = xmlNewNode (ns, "entry");
34   xmlNewNs (node, ATOM_NAMESPACE, prefix);
35   xmlDocSetRootElement (doc, node);
36   return doc;
37 }
38
39 AtomEntry
40 atom_entry_new (void)
41 {
42   return atom_entry_new_with_prefix (NULL);
43 }
44
45 void
46 atom_entry_delete (AtomEntry entry)
47 {
48   xmlFreeDoc (entry);
49 }