2007-02-03 05:05:30 -08:00
|
|
|
#ifndef EFREET_XML_H
|
|
|
|
#define EFREET_XML_H
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @internal
|
|
|
|
* @file efreet_xml.h
|
|
|
|
* @brief A simple and fast XML parser
|
2012-12-29 15:04:40 -08:00
|
|
|
* @addtogroup Efreet_Xml Efreet_Xml: An XML parser (private)
|
|
|
|
* @ingroup Efreet
|
|
|
|
*
|
|
|
|
* Consider using @ref Eina_Simple_XML_Group instead.
|
|
|
|
*
|
|
|
|
* @private
|
2007-02-03 05:05:30 -08:00
|
|
|
*
|
|
|
|
* @{
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
2007-09-06 09:15:10 -07:00
|
|
|
* Efreet_Xml_Attributes
|
2007-02-03 05:05:30 -08:00
|
|
|
*/
|
|
|
|
typedef struct Efreet_Xml_Attribute Efreet_Xml_Attribute;
|
|
|
|
|
|
|
|
/**
|
2007-09-06 09:15:10 -07:00
|
|
|
* Efreet_Xml_Attributes
|
2007-02-03 05:05:30 -08:00
|
|
|
* @brief Contains information about a given XML attribute
|
|
|
|
*/
|
|
|
|
struct Efreet_Xml_Attribute
|
|
|
|
{
|
|
|
|
const char *key; /**< The attribute key */
|
|
|
|
const char *value; /**< The attribute value */
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Efreet_Xml
|
|
|
|
*/
|
|
|
|
typedef struct Efreet_Xml Efreet_Xml;
|
|
|
|
|
|
|
|
/**
|
2007-09-06 09:15:10 -07:00
|
|
|
* Efreet_Xml
|
2007-02-03 05:05:30 -08:00
|
|
|
* @brief Contains the XML tree for a given XML document
|
|
|
|
*/
|
|
|
|
struct Efreet_Xml
|
|
|
|
{
|
2010-03-30 05:21:44 -07:00
|
|
|
const char *text; /**< The XML text for this node */
|
2007-02-03 05:05:30 -08:00
|
|
|
const char *tag; /**< The tag for this node */
|
|
|
|
|
|
|
|
Efreet_Xml_Attribute **attributes; /**< The attributes for this node */
|
|
|
|
|
2009-03-26 10:54:50 -07:00
|
|
|
Eina_List *children; /**< Child nodes */
|
2007-02-03 05:05:30 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
int efreet_xml_init(void);
|
2009-10-09 23:19:13 -07:00
|
|
|
void efreet_xml_shutdown(void);
|
2007-02-03 05:05:30 -08:00
|
|
|
|
|
|
|
Efreet_Xml *efreet_xml_new(const char *file);
|
|
|
|
void efreet_xml_del(Efreet_Xml *xml);
|
|
|
|
|
|
|
|
const char *efreet_xml_attribute_get(Efreet_Xml *xml, const char *key);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @}
|
|
|
|
*/
|
|
|
|
|
|
|
|
#endif
|