⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 glib-simple-xml-subset-parser.html

📁 最新gtk中文资料集
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>Simple XML Subset Parser</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="GLib Reference Manual"><link rel="up" href="glib-utilities.html" title="GLib Utilities"><link rel="prev" href="glib-Perl-compatible-regular-expressions.html" title="Perl-compatible regular expressions"><link rel="next" href="glib-Key-value-file-parser.html" title="Key-value file parser"><meta name="generator" content="GTK-Doc V1.9 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="chapter" href="glib.html" title="GLib Overview"><link rel="chapter" href="glib-fundamentals.html" title="GLib Fundamentals"><link rel="chapter" href="glib-core.html" title="GLib Core Application Support"><link rel="chapter" href="glib-utilities.html" title="GLib Utilities"><link rel="chapter" href="glib-data-types.html" title="GLib Data Types"><link rel="chapter" href="tools.html" title="GLib Tools"><link rel="index" href="ix01.html" title="Index"><link rel="index" href="ix02.html" title="Index of deprecated symbols"><link rel="index" href="ix03.html" title="Index of new symbols in 2.2"><link rel="index" href="ix04.html" title="Index of new symbols in 2.4"><link rel="index" href="ix05.html" title="Index of new symbols in 2.6"><link rel="index" href="ix06.html" title="Index of new symbols in 2.8"><link rel="index" href="ix07.html" title="Index of new symbols in 2.10"><link rel="index" href="ix08.html" title="Index of new symbols in 2.12"><link rel="index" href="ix09.html" title="Index of new symbols in 2.14"><link rel="index" href="ix10.html" title="Index of new symbols in 2.16"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="glib-Perl-compatible-regular-expressions.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="glib-utilities.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">GLib Reference Manual</th><td><a accesskey="n" href="glib-Key-value-file-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr><tr><td colspan="5" class="shortcuts"><nobr><a href="#id3164138" class="shortcut">Top</a>                  &#160;|&#160;                  <a href="#id3164593" class="shortcut">Description</a></nobr></td></tr></table><div class="refentry" lang="en"><a name="glib-Simple-XML-Subset-Parser"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><a name="id3164138"></a><span class="refentrytitle">Simple XML Subset Parser</span></h2><p>Simple XML Subset Parser &#8212; parses a subset of XML</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">#include &lt;glib.h&gt;enum                <a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupError">GMarkupError</a>;#define             <a class="link" href="glib-Simple-XML-Subset-Parser.html#G-MARKUP-ERROR:CAPS">G_MARKUP_ERROR</a>enum                <a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParseFlags">GMarkupParseFlags</a>;                    <a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParseContext">GMarkupParseContext</a>;                    <a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParser">GMarkupParser</a>;<a class="link" href="glib-Basic-Types.html#gchar">gchar</a>*              <a class="link" href="glib-Simple-XML-Subset-Parser.html#g-markup-escape-text">g_markup_escape_text</a>                (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *text,                                                         <a class="link" href="glib-Basic-Types.html#gssize">gssize</a> length);<a class="link" href="glib-Basic-Types.html#gchar">gchar</a>*              <a class="link" href="glib-Simple-XML-Subset-Parser.html#g-markup-printf-escaped">g_markup_printf_escaped</a>             (const char *format,                                                         ...);<a class="link" href="glib-Basic-Types.html#gchar">gchar</a>*              <a class="link" href="glib-Simple-XML-Subset-Parser.html#g-markup-vprintf-escaped">g_markup_vprintf_escaped</a>            (const char *format,                                                         va_list args);<a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a>            <a class="link" href="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-end-parse">g_markup_parse_context_end_parse</a>    (<a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParseContext">GMarkupParseContext</a> *context,                                                         <a class="link" href="glib-Error-Reporting.html#GError">GError</a> **error);void                <a class="link" href="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-free">g_markup_parse_context_free</a>         (<a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParseContext">GMarkupParseContext</a> *context);void                <a class="link" href="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-get-position">g_markup_parse_context_get_position</a> (<a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParseContext">GMarkupParseContext</a> *context,                                                         <a class="link" href="glib-Basic-Types.html#gint">gint</a> *line_number,                                                         <a class="link" href="glib-Basic-Types.html#gint">gint</a> *char_number);const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a>*        <a class="link" href="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-get-element">g_markup_parse_context_get_element</a>  (<a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParseContext">GMarkupParseContext</a> *context);const <a class="link" href="glib-Singly-Linked-Lists.html#GSList">GSList</a>*       <a class="link" href="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-get-element-stack">g_markup_parse_context_get_element_stack</a>                                                        (<a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParseContext">GMarkupParseContext</a> *context);<a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParseContext">GMarkupParseContext</a>* <a class="link" href="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-new">g_markup_parse_context_new</a>         (const <a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParser">GMarkupParser</a> *parser,                                                         <a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParseFlags">GMarkupParseFlags</a> flags,                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> user_data,                                                         <a class="link" href="glib-Datasets.html#GDestroyNotify">GDestroyNotify</a> user_data_dnotify);<a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a>            <a class="link" href="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-parse">g_markup_parse_context_parse</a>        (<a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParseContext">GMarkupParseContext</a> *context,                                                         const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *text,                                                         <a class="link" href="glib-Basic-Types.html#gssize">gssize</a> text_len,                                                         <a class="link" href="glib-Error-Reporting.html#GError">GError</a> **error);enum                <a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupCollectType">GMarkupCollectType</a>;<a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a>            <a class="link" href="glib-Simple-XML-Subset-Parser.html#g-markup-collect-attributes">g_markup_collect_attributes</a>         (const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *element_name,                                                         const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> **attribute_names,                                                         const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> **attribute_values,                                                         <a class="link" href="glib-Error-Reporting.html#GError">GError</a> **error,                                                         <a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupCollectType">GMarkupCollectType</a> first_type,                                                         const <a class="link" href="glib-Basic-Types.html#gchar">gchar</a> *first_attr,                                                         ...);</pre></div><div class="refsect1" lang="en"><a name="id3164593"></a><h2>Description</h2><p>The "GMarkup" parser is intended to parse a simple markup formatthat's a subset of XML. This is a small, efficient, easy-to-useparser. It should not be used if you expect to interoperate with other applications generating full-scale XML. However, it's very useful forapplication data files, config files, etc. where you know yourapplication will be the only one writing the file. Full-scale XMLparsers should be able to parse the subset used by GMarkup, so you caneasily migrate to full-scale XML at a later time if the need arises.</p><p>GMarkup is not guaranteed to signal an error on all invalid XML; theparser may accept documents that an XML parser would not. However, XML documents which are not well-formed<sup>[<a name="wellformed" href="#ftn.wellformed" class="footnote">5</a>]</sup> are not considered valid GMarkup documents. </p><p>Simplifications to XML include:</p><div class="itemizedlist"><ul type="disc"><li><p>Only UTF-8 encoding is allowed.</p></li><li><p>No user-defined entities.</p></li><li><p>Processing instructions, comments and the doctype declaration are "passed through" but are not interpreted in any way.</p></li><li><p>No DTD or validation.</p></li></ul></div><p></p><p>The markup format does support:</p><div class="itemizedlist"><ul type="disc"><li><p>Elements</p></li><li><p>Attributes</p></li><li><p>5 standard entities: <code class="literal">&amp;amp; &amp;lt; &amp;gt; &amp;quot; &amp;apos;</code></p></li><li><p>Character references</p></li><li><p>Sections marked as CDATA</p></li></ul></div><p></p></div><div class="refsect1" lang="en"><a name="id3164723"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id3164734"></a><h3><a name="GMarkupError"></a>enum GMarkupError</h3><a class="indexterm" name="id3164747"></a><pre class="programlisting">typedef enum{  G_MARKUP_ERROR_BAD_UTF8,  G_MARKUP_ERROR_EMPTY,  G_MARKUP_ERROR_PARSE,  /* The following are primarily intended for specific GMarkupParser   * implementations to set.   */  G_MARKUP_ERROR_UNKNOWN_ELEMENT,  G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE,  G_MARKUP_ERROR_INVALID_CONTENT,  G_MARKUP_ERROR_MISSING_ATTRIBUTE} GMarkupError;</pre><p>Error codes returned by markup parsing.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><a name="G-MARKUP-ERROR-BAD-UTF8:CAPS"></a><code class="literal">G_MARKUP_ERROR_BAD_UTF8</code></span></p></td><td>text being parsed was not valid UTF-8</td></tr><tr><td><p><span class="term"><a name="G-MARKUP-ERROR-EMPTY:CAPS"></a><code class="literal">G_MARKUP_ERROR_EMPTY</code></span></p></td><td>document contained nothing, or only whitespace</td></tr><tr><td><p><span class="term"><a name="G-MARKUP-ERROR-PARSE:CAPS"></a><code class="literal">G_MARKUP_ERROR_PARSE</code></span></p></td><td>document was ill-formed</td></tr><tr><td><p><span class="term"><a name="G-MARKUP-ERROR-UNKNOWN-ELEMENT:CAPS"></a><code class="literal">G_MARKUP_ERROR_UNKNOWN_ELEMENT</code></span></p></td><td>error should be set by <a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParser"><span class="type">GMarkupParser</span></a> functions; element wasn't known</td></tr><tr><td><p><span class="term"><a name="G-MARKUP-ERROR-UNKNOWN-ATTRIBUTE:CAPS"></a><code class="literal">G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE</code></span></p></td><td>error should be set by <a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParser"><span class="type">GMarkupParser</span></a> functions; attribute wasn't known</td></tr><tr><td><p><span class="term"><a name="G-MARKUP-ERROR-INVALID-CONTENT:CAPS"></a><code class="literal">G_MARKUP_ERROR_INVALID_CONTENT</code></span></p></td><td>error should be set by <a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParser"><span class="type">GMarkupParser</span></a> functions; content was invalid</td></tr><tr><td><p><span class="term"><a name="G-MARKUP-ERROR-MISSING-ATTRIBUTE:CAPS"></a><code class="literal">G_MARKUP_ERROR_MISSING_ATTRIBUTE</code></span></p></td><td>error should be set by <a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupParser"><span class="type">GMarkupParser</span></a> functions; a required attribute was missing</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3164972"></a><h3><a name="G-MARKUP-ERROR:CAPS"></a>G_MARKUP_ERROR</h3><a class="indexterm" name="id3164984"></a><pre class="programlisting">#define G_MARKUP_ERROR g_markup_error_quark ()</pre><p>Error domain for markup parsing. Errors in this domain willbe from the <a class="link" href="glib-Simple-XML-Subset-Parser.html#GMarkupError"><span class="type">GMarkupError</span></a> enumeration. See <a class="link" href="glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for information on error domains.</p></div><hr><div class="refsect2" lang="en"><a name="id3165017"></a><h3><a name="GMarkupParseFlags"></a>enum GMarkupParseFlags</h3><a class="indexterm" name="id3165031"></a><pre class="programlisting">typedef enum{  G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 &lt;&lt; 0,  G_MARKUP_TREAT_CDATA_AS_TEXT              = 1 &lt;&lt; 1,  G_MARKUP_PREFIX_ERROR_POSITION            = 1 &lt;&lt; 2} GMarkupParseFlags;</pre><p>Flags that affect the behaviour of the parser. 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -