gmarkup.h   gmarkup.h 
skipping to change at line 35 skipping to change at line 35
#ifndef __G_MARKUP_H__ #ifndef __G_MARKUP_H__
#define __G_MARKUP_H__ #define __G_MARKUP_H__
#include <stdarg.h> #include <stdarg.h>
#include <glib/gerror.h> #include <glib/gerror.h>
#include <glib/gslist.h> #include <glib/gslist.h>
G_BEGIN_DECLS G_BEGIN_DECLS
/**
* GMarkupError:
* @G_MARKUP_ERROR_BAD_UTF8: text being parsed was not valid UTF-8
* @G_MARKUP_ERROR_EMPTY: document contained nothing, or only whitespace
* @G_MARKUP_ERROR_PARSE: document was ill-formed
* @G_MARKUP_ERROR_UNKNOWN_ELEMENT: error should be set by #GMarkupParser
* functions; element wasn't known
* @G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE: error should be set by #GMarkupParser
* functions; attribute wasn't known
* @G_MARKUP_ERROR_INVALID_CONTENT: error should be set by #GMarkupParser
* functions; content was invalid
* @G_MARKUP_ERROR_MISSING_ATTRIBUTE: error should be set by #GMarkupParser
* functions; a required attribute was missing
*
* Error codes returned by markup parsing.
*/
typedef enum typedef enum
{ {
G_MARKUP_ERROR_BAD_UTF8, G_MARKUP_ERROR_BAD_UTF8,
G_MARKUP_ERROR_EMPTY, G_MARKUP_ERROR_EMPTY,
G_MARKUP_ERROR_PARSE, G_MARKUP_ERROR_PARSE,
/* The following are primarily intended for specific GMarkupParser /* The following are primarily intended for specific GMarkupParser
* implementations to set. * implementations to set.
*/ */
G_MARKUP_ERROR_UNKNOWN_ELEMENT, G_MARKUP_ERROR_UNKNOWN_ELEMENT,
G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE,
G_MARKUP_ERROR_INVALID_CONTENT, G_MARKUP_ERROR_INVALID_CONTENT,
G_MARKUP_ERROR_MISSING_ATTRIBUTE G_MARKUP_ERROR_MISSING_ATTRIBUTE
} GMarkupError; } GMarkupError;
/**
* G_MARKUP_ERROR:
*
* Error domain for markup parsing.
* Errors in this domain will be from the #GMarkupError enumeration.
* See #GError for information on error domains.
*/
#define G_MARKUP_ERROR g_markup_error_quark () #define G_MARKUP_ERROR g_markup_error_quark ()
GQuark g_markup_error_quark (void); GQuark g_markup_error_quark (void);
/**
* GMarkupParseFlags:
* @G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG: flag you should not use
* @G_MARKUP_TREAT_CDATA_AS_TEXT: When this flag is set, CDATA marked
* sections are not passed literally to the @passthrough function of
* the parser. Instead, the content of the section (without the
* <literal>&lt;![CDATA[</literal> and <literal>]]&gt;</literal>) is
* passed to the @text function. This flag was added in GLib 2.12
* @G_MARKUP_PREFIX_ERROR_POSITION: Normally errors caught by GMarkup
* itself have line/column information prefixed to them to let the
* caller know the location of the error. When this flag is set the
* location information is also prefixed to errors generated by the
* #GMarkupParser implementation functions
*
* Flags that affect the behaviour of the parser.
*/
typedef enum typedef enum
{ {
G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 << 0, G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 << 0,
G_MARKUP_TREAT_CDATA_AS_TEXT = 1 << 1, G_MARKUP_TREAT_CDATA_AS_TEXT = 1 << 1,
G_MARKUP_PREFIX_ERROR_POSITION = 1 << 2 G_MARKUP_PREFIX_ERROR_POSITION = 1 << 2
} GMarkupParseFlags; } GMarkupParseFlags;
/**
* GMarkupParseContext:
*
* A parse context is used to parse a stream of bytes that
* you expect to contain marked-up text.
*
* See g_markup_parse_context_new(), #GMarkupParser, and so
* on for more details.
*/
typedef struct _GMarkupParseContext GMarkupParseContext; typedef struct _GMarkupParseContext GMarkupParseContext;
typedef struct _GMarkupParser GMarkupParser; typedef struct _GMarkupParser GMarkupParser;
/**
* GMarkupParser:
* @start_element: Callback to invoke when the opening tag of an element
* is seen.
* @end_element: Callback to invoke when the closing tag of an element
* is seen. Note that this is also called for empty tags like
* <literal>&lt;empty/&gt;</literal>.
* @text: Callback to invoke when some text is seen (text is always
* inside an element). Note that the text of an element may be spread
* over multiple calls of this function. If the
* %G_MARKUP_TREAT_CDATA_AS_TEXT flag is set, this function is also
* called for the content of CDATA marked sections.
* @passthrough: Callback to invoke for comments, processing instructions
* and doctype declarations; if you're re-writing the parsed document,
* write the passthrough text back out in the same position. If the
* %G_MARKUP_TREAT_CDATA_AS_TEXT flag is not set, this function is also
* called for CDATA marked sections.
* @error: Callback to invoke when an error occurs.
*
* Any of the fields in #GMarkupParser can be %NULL, in which case they
* will be ignored. Except for the @error function, any of these callbacks
* can set an error; in particular the %G_MARKUP_ERROR_UNKNOWN_ELEMENT,
* %G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, and %G_MARKUP_ERROR_INVALID_CONTENT
* errors are intended to be set from these callbacks. If you set an error
* from a callback, g_markup_parse_context_parse() will report that error
* back to its caller.
*/
struct _GMarkupParser struct _GMarkupParser
{ {
/* Called for open tags <foo bar="baz"> */ /* Called for open tags <foo bar="baz"> */
void (*start_element) (GMarkupParseContext *context, void (*start_element) (GMarkupParseContext *context,
const gchar *element_name, const gchar *element_name,
const gchar **attribute_names, const gchar **attribute_names,
const gchar **attribute_values, const gchar **attribute_values,
gpointer user_data, gpointer user_data,
GError **error); GError **error);
skipping to change at line 116 skipping to change at line 191
GMarkupParseContext *g_markup_parse_context_new (const GMarkupParser *par ser, GMarkupParseContext *g_markup_parse_context_new (const GMarkupParser *par ser,
GMarkupParseFlags fla gs, GMarkupParseFlags fla gs,
gpointer use r_data, gpointer use r_data,
GDestroyNotify use r_data_dnotify); GDestroyNotify use r_data_dnotify);
void g_markup_parse_context_free (GMarkupParseContext *con text); void g_markup_parse_context_free (GMarkupParseContext *con text);
gboolean g_markup_parse_context_parse (GMarkupParseContext *con text, gboolean g_markup_parse_context_parse (GMarkupParseContext *con text,
const gchar *tex t, const gchar *tex t,
gssize tex t_len, gssize tex t_len,
GError **err or); GError **err or);
void g_markup_parse_context_push (GMarkupParseContext *con text, void g_markup_parse_context_push (GMarkupParseContext *con text,
GMarkupParser *par ser, const GMarkupParser *par ser,
gpointer use r_data); gpointer use r_data);
gpointer g_markup_parse_context_pop (GMarkupParseContext *con text); gpointer g_markup_parse_context_pop (GMarkupParseContext *con text);
gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context, gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context,
GError * *error); GError * *error);
G_CONST_RETURN gchar *g_markup_parse_context_get_element (GMarkupParseConte xt *context); G_CONST_RETURN gchar *g_markup_parse_context_get_element (GMarkupParseConte xt *context);
G_CONST_RETURN GSList *g_markup_parse_context_get_element_stack (GMarkupPar seContext *context); G_CONST_RETURN GSList *g_markup_parse_context_get_element_stack (GMarkupPar seContext *context);
/* For user-constructed error messages, has no precise semantics */ /* For user-constructed error messages, has no precise semantics */
void g_markup_parse_context_get_position (GMarkupParseConte xt *context, void g_markup_parse_context_get_position (GMarkupParseConte xt *context,
 End of changes. 6 change blocks. 
1 lines changed or deleted 76 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/