<!-- ##### SECTION Title ##### -->
Simple XML Subset Parser

<!-- ##### SECTION Short_Description ##### -->

Parses a subset of XML

<!-- ##### SECTION Long_Description ##### -->
<para>
The "GMarkup" parser is intended to parse a simple markup format
that's a subset of XML format. This is a small, efficient, easy-to-use
parser. It should not be used if you expect to interoperate with other 
applications generating full-scale XML. However, it's very useful for
application data files, config files, etc. where you know your
application will be the only one writing the file. Full-scale XML
parsers should be able to parse the subset used by GMarkup, so you can
easily migrate to full-scale XML at a later time if the need arises.
</para>

<para>
GMarkup is not guaranteed to signal an error on all invalid XML; the
parser may accept documents that an XML parser would not, e.g. the
sequence <literal>&lt;[[</literal> has special meaning in XML and not
in GMarkup. However, invalid XML documents are not considered valid
GMarkup documents. 
</para>

<para>
Simplifications to XML include:
<itemizedlist>
<listitem>
<para>
Only UTF-8 encoding is allowed.
</para>
</listitem>
<listitem>
<para>
No CDATA, no user-defined entities.
</para>
</listitem>
<listitem>
<para>
Processing instructions and comments are "passed through" but are not 
interpreted in any way.
</para>
</listitem>
<listitem>
<para>
No DTD or validation.
</para>
</listitem>
<listitem>
<para>
</para>
</listitem>
</itemizedlist>
</para>

<para>
The markup format does support:
<itemizedlist>
<listitem>
<para>
Elements
</para>
</listitem>
<listitem>
<para>
Attributes
</para>
</listitem>
<listitem>
<para>
5 standard entities: <literal>&amp;amp; &amp;lt; &amp;gt; &amp;quot; &amp;apos;</literal>
</para>
</listitem>
<listitem>
<para>
Character references
</para>
</listitem>
</itemizedlist>
</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

