Top |
GNode * | as_node_new () |
GQuark | as_node_error_quark () |
void | as_node_unref () |
const gchar * | as_node_get_name () |
const gchar * | as_node_get_data () |
const gchar * | as_node_get_attribute () |
GHashTable * | as_node_get_localized () |
const gchar * | as_node_get_localized_best () |
GHashTable * | as_node_get_localized_unwrap () |
GString * | as_node_to_xml () |
GNode * | as_node_from_xml () |
GNode * | as_node_from_file () |
GNode * | as_node_find () |
GNode * | as_node_insert () |
void | as_node_insert_localized () |
void | as_node_insert_hash () |
enum | AsNodeToXmlFlags |
enum | AsNodeFromXmlFlags |
enum | AsNodeInsertFlags |
enum | AsNodeError |
#define | AS_NODE_ERROR |
These helper functions allow parsing to and from AsApp's and the AppStream XML representation. This parser is UTF-8 safe, but not very fast, and parsers like expat should be used if full XML specification adherence is required.
See also: AsApp
GNode *
as_node_new (void
);
Creates a new empty tree whicah can have nodes appended to it.
Since 0.1.0
const gchar *
as_node_get_name (const GNode *node
);
Gets the node name, e.g. "body"
Since 0.1.0
const gchar *
as_node_get_data (const GNode *node
);
Gets the node data, e.g. "paragraph text"
Since 0.1.0
const gchar * as_node_get_attribute (const GNode *node
,const gchar *key
);
Gets a node attribute, e.g. "false"
Since 0.1.0
GHashTable * as_node_get_localized (const GNode *node
,const gchar *key
);
Extracts localized values from the DOM tree
Since 0.1.0
const gchar * as_node_get_localized_best (const GNode *node
,const gchar *key
);
Gets the 'best' locale version of a specific data value.
Since 0.1.0
GHashTable * as_node_get_localized_unwrap (const GNode *node
,GError **error
);
Denormalize AppData data like this:
1 2 3 4 5 6 7 8 |
<description> <p>Hi</p> <p xml:lang="pl">Czesc</p> <ul> <li>First</li> <li xml:lang="pl">Pierwszy</li> </ul> </description> |
into a hash that contains:
1 2 |
"C" -> "<p>Hi</p><ul><li>First</li></ul>" "pl" -> "<p>Czesc</p><ul><li>Pierwszy</li></ul>" |
Since 0.1.0
GString * as_node_to_xml (const GNode *node
,AsNodeToXmlFlags flags
);
Converts a node and it's children to XML.
Since 0.1.0
GNode * as_node_from_xml (const gchar *data
,gssize data_len
,AsNodeFromXmlFlags flags
,GError **error
);
Parses XML data into a DOM tree.
Since 0.1.0
GNode * as_node_from_file (GFile *file
,AsNodeFromXmlFlags flags
,GCancellable *cancellable
,GError **error
);
Parses an XML file into a DOM tree.
Since 0.1.0
GNode * as_node_find (GNode *root
,const gchar *path
);
Gets a node from the DOM tree.
Since 0.1.0
GNode * as_node_insert (GNode *parent
,const gchar *name
,const gchar *cdata
,AsNodeInsertFlags insert_flags
,...
);
Inserts a node into the DOM.
parent |
a parent GNode. |
|
name |
the tag name, e.g. "id". |
|
cdata |
the tag data, or |
|
insert_flags |
any |
|
... |
any attributes to add to the node, terminated by |
Since 0.1.0
void as_node_insert_localized (GNode *parent
,const gchar *name
,GHashTable *localized
,AsNodeInsertFlags insert_flags
);
Inserts a localized key into the DOM.
parent |
a parent GNode. |
|
name |
the tag name, e.g. "id". |
|
localized |
the hash table of data, with the locale as the key. |
|
insert_flags |
any |
Since 0.1.0
void as_node_insert_hash (GNode *parent
,const gchar *name
,const gchar *attr_key
,GHashTable *hash
,AsNodeInsertFlags insert_flags
);
Inserts a hash table of data into the DOM.
parent |
a parent GNode. |
|
name |
the tag name, e.g. "id". |
|
attr_key |
the key to use as the attribute in the XML, e.g. "key". |
|
hash |
the hash table with the key as the key to use in the XML. |
|
insert_flags |
any |
Since 0.1.0