summaryrefslogtreecommitdiffstats
path: root/branches/1.0/tinySAK/src/tsk_xml.h
diff options
context:
space:
mode:
Diffstat (limited to 'branches/1.0/tinySAK/src/tsk_xml.h')
-rw-r--r--branches/1.0/tinySAK/src/tsk_xml.h175
1 files changed, 0 insertions, 175 deletions
diff --git a/branches/1.0/tinySAK/src/tsk_xml.h b/branches/1.0/tinySAK/src/tsk_xml.h
deleted file mode 100644
index 9dc9e63..0000000
--- a/branches/1.0/tinySAK/src/tsk_xml.h
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
-* Copyright (C) 2009-2010 Mamadou Diop.
-*
-* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
-* This file is part of Open Source Doubango Framework.
-*
-* DOUBANGO is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* DOUBANGO is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with DOUBANGO.
-*
-*/
-
-/**@file tsk_xml.h
- * @brief Useful functions to manipulate xml document.
- *
- * @author Mamadou Diop <diopmamadou(at)doubango.org>
- *
- * @date Created: Sat Nov 8 16:54:58 2009 mdiop
- */
-#ifndef _TINYSAK_XML_H_
-#define _TINYSAK_XML_H_
-
-#include "tinysak_config.h"
-#include "tsk_list.h"
-
-#if HAVE_LIBXML2_H
-#include <libxml/tree.h>
-
-#define TSK_XML_NODE_IS_TEXTVALUE(node) (node && node->type==XML_TEXT_NODE)
-#define TSK_XML_NODE_SAFE_GET_TEXTVALUE(node) (const char*)(TSK_XML_NODE_IS_TEXTVALUE(node)?(node->content):0)
-#define TSK_XML_NODE_SKIP_COMMENTS(node) while(node && (node->type==XML_COMMENT_NODE)) node = tsk_xml_find_node(node, 0, nft_next);
-
-
-#define TSK_XML_NODE_SELECT_BY_NAME(qname) nst_by_name, qname
-#define TSK_XML_NODE_SELECT_BY_ATT(qname, att_name, att_value) nst_by_att, qname, att_name, att_value
-#define TSK_XML_NODE_SELECT_ATT_VALUE(qname, att_name) nst_att_value, qname, att_name
-#define TSK_XML_NODE_SELECT_CONTENT() nst_content
-#define TSK_XML_NODE_SELECT_END() nst_end
-
-#define TSK_XML_NAMESPACE_CREATE() tsk_object_new(tsk_xml_namespace_def_t)
-#define TSK_XML_NAMESPACE_FREE(self) tsk_object_unref(self), self = 0
-
-#define TSK_XML_ELEMENT_CREATE(element) tsk_object_new(tsk_xml_element_def_t)
-#define TSK_XML_ELEMENT_FREE(self) tsk_object_unref(self), self = 0
-
-#define TSK_XML_ATTRIBUTE_CREATE(attribute) tsk_object_new(tsk_xml_attribute_def_t)
-#define TSK_XML_ATTRIBUTE_FREE(self) tsk_object_unref(self), self = 0
-
-#define TSK_XML_SERIALIZE(result, element, strValue)\
- if(strValue) tsk_sprintf(&result, "<"##element##">%s</"##element##">", strValue); \
- else tsk_strupdate(&result, "");
-
-/** C and XML Schema mapping */
-typedef enum tsk_xml_type_e
-{
- xt_none,
- xt_string, /* xsd:string */
- xt_byte, /* xsd:byte */
- xt_unsignedByte, /* xsd:unsignedByte */
- xt_short, /* xsd:short */
- xt_unsignedShort, /* xsd:unsignedShort */
- xt_int, /* xsd:int */
- xt_unsignedInt, /* xsd:unsignedInt */
- xt_long, /* xsd:long */
- xt_boolean, /* xsd:boolean */
- xt_float, /* xsd:float */
- xt_double /* xsd:double */
-}
-tsk_xml_type_t;
-
-/** Node finding types */
-typedef enum tsk_xml_node_find_type_s
-{
- nft_none,
- nft_children,
- nft_parent,
- nft_next,
- nft_prev
-}
-tsk_xml_node_find_type_t;
-
-/** Element selection types */
-typedef enum tsk_xml_node_select_type_s
-{
- nst_by_name,
- nst_by_att,
- nst_att_value,
- nst_content,
- nst_end
-}
-tsk_xml_node_select_type_t;
-
-/** XML namespace */
-typedef struct tsk_xml_namespace_s
-{
- TSK_DECLARE_OBJECT;
-
- char* prefix;
- char* value;
-}
-tsk_xml_namespace_t;
-
-/** XML attribute */
-typedef struct tsk_xml_attribute_s
-{
- TSK_DECLARE_OBJECT;
-
- char* name;
- void* value;
- tsk_xml_type_t type;
-}
-tsk_xml_attribute_t;
-
-/** XML element */
-typedef struct tsk_xml_element_s
-{
- TSK_DECLARE_OBJECT;
-
- char* name;
- void* value;
- tsk_list_t* elements;
- tsk_list_t* attributes;
- tsk_list_t* namespaces;
- tsk_xml_type_t type;
-}
-tsk_xml_element_t;
-
-typedef tsk_list_t tsk_xml_elements_t;
-typedef tsk_list_t tsk_xml_attributes_t;
-typedef tsk_list_t tsk_xml_namespaces_t;
-
-#define tsk_xml_elements_init tsk_list_init
-#define tsk_xml_attributes_init tsk_list_init
-#define tsk_xml_namespaces_init tsk_list_init
-
-#define tsk_xml_elements_add tsk_list_add_data
-#define tsk_xml_attributes_add tsk_list_add_data
-#define tsk_xml_namespaces_add tsk_list_add_data
-
-#define tsk_xml_elements_free tsk_list_free
-#define tsk_xml_attributes_free tsk_list_free
-#define tsk_xml_namespaces_free tsk_list_free
-
-//TINYSAK_API void tsk_xml_namespace_init(tsk_xml_namespace_t* _namespace);
-//TINYSAK_API void tsk_xml_namespace_free(tsk_xml_namespace_t** _namespace);
-
-//TINYSAK_API void tsk_xml_element_init(tsk_xml_element_t* element);
-TINYSAK_API void tsk_xml_element_init_set(tsk_xml_element_t** element, const char* name, const char* value, tsk_xml_type_t type);
-//TINYSAK_API void tsk_xml_element_free(void** element);
-
-//TINYSAK_API void tsk_xml_attribute_init(tsk_xml_attribute_t* attribute);
-//TINYSAK_API void tsk_xml_attribute_free(tsk_xml_attribute_t** attribute);
-
-TINYSAK_API xmlNsPtr tsk_xml_get_namespace(xmlDocPtr docPtr, xmlNodePtr node, const char *href);
-TINYSAK_API xmlNodePtr tsk_xml_find_node(const xmlNodePtr curr, const char* name, tsk_xml_node_find_type_t ftype);
-TINYSAK_API xmlNodePtr tsk_xml_select_node(const xmlNodePtr root, ...);
-
-TINYSAK_GEXTERN const void *tsk_xml_namespace_def_t;
-TINYSAK_GEXTERN const void *tsk_xml_attribute_def_t;
-TINYSAK_GEXTERN const void *tsk_xml_element_def_t;
-
-#endif /* HAVE_LIBXML2_H */
-
-#endif /* _TINYSAK_XML_H_ */
-
OpenPOWER on IntegriCloud