XML Template Functions

XML Template Functions — Functions to create and parse glabels XML template nodes and files

Synopsis

#include <libglabels/lgl-xml-templates.h>

void                lgl_xml_template_read_templates_from_file
                                                        (const gchar *utf8_filename);
void                lgl_xml_template_parse_templates_doc
                                                        (const xmlDocPtr templates_doc);
lglTemplate *       lgl_xml_template_parse_template_node
                                                        (const xmlNodePtr template_node);
gint                lgl_xml_template_write_templates_to_file
                                                        (GList *templates,
                                                         const gchar *utf8_filename);
gint                lgl_xml_template_write_template_to_file
                                                        (const lglTemplate *template,
                                                         const gchar *utf8_filename);
void                lgl_xml_template_create_template_node
                                                        (const lglTemplate *template,
                                                         xmlNodePtr root,
                                                         const xmlNsPtr ns);

Description

This section describes a number of functions for creating and parsing glabels XML template nodes and files. Template nodes are used in both template files and document files.

Details

lgl_xml_template_read_templates_from_file ()

void                lgl_xml_template_read_templates_from_file
                                                        (const gchar *utf8_filename);

Read glabels templates from template file.

utf8_filename :

Filename of papers file (name encoded as UTF-8)

lgl_xml_template_parse_templates_doc ()

void                lgl_xml_template_parse_templates_doc
                                                        (const xmlDocPtr templates_doc);

Read glabels templates from a libxml xmlDocPtr tree.

templates_doc :

libxml xmlDocPtr tree, representing template file.

lgl_xml_template_parse_template_node ()

lglTemplate *       lgl_xml_template_parse_template_node
                                                        (const xmlNodePtr template_node);

Read a single glabels template from a libxml xmlNodePtr node.

template_node :

libxml xmlNodePtr template node from a xmlDocPtr tree.

Returns :

a pointer to a newly created lglTemplate structure.

lgl_xml_template_write_templates_to_file ()

gint                lgl_xml_template_write_templates_to_file
                                                        (GList *templates,
                                                         const gchar *utf8_filename);

Write a list of lglTemplate structures to a glabels XML template file.

templates :

List of lglTemplate structures

utf8_filename :

Filename of templates file (name encoded as UTF-8)

Returns :

the number of bytes written or -1 in case of failure

lgl_xml_template_write_template_to_file ()

gint                lgl_xml_template_write_template_to_file
                                                        (const lglTemplate *template,
                                                         const gchar *utf8_filename);

Write a single lglTemplate structures to a glabels XML template file.

template :

lglTemplate structure to be written

utf8_filename :

Filename of templates file (name encoded as UTF-8)

Returns :

the number of bytes written or -1 in case of failure

lgl_xml_template_create_template_node ()

void                lgl_xml_template_create_template_node
                                                        (const lglTemplate *template,
                                                         xmlNodePtr root,
                                                         const xmlNsPtr ns);

Add a single lglTemplate child node to given xmlNodePtr.

template :

lglTemplate structure to be written

root :

parent node to receive new child node

ns :

a libxml xmlNsPtr