Hash :
2fdbd32d
Author :
Date :
2003-08-18T12:15:38
new dictionary module to keep a single instance of the names used by the * dict.c include/libxml/dict.h Makefile.am include/libxml/Makefile.am: new dictionary module to keep a single instance of the names used by the parser * DOCBparser.c HTMLparser.c parser.c parserInternals.c valid.c: switched all parsers to use the dictionary internally * include/libxml/HTMLparser.h include/libxml/parser.h include/libxml/parserInternals.h include/libxml/valid.h: Some of the interfaces changed as a result to receive or return "const xmlChar *" instead of "xmlChar *", this is either insignificant from an user point of view or when the returning value changed, those function are really parser internal methods that no user code should really change * doc/libxml2-api.xml doc/html/*: the API interface changed and the docs were regenerated Daniel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>DOCBparser</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css">
.synopsis, .classsynopsis {
background: #eeeeee;
border: solid 1px #aaaaaa;
padding: 0.5em;
}
.programlisting {
background: #eeeeff;
border: solid 1px #aaaaff;
padding: 0.5em;
}
.variablelist {
padding: 4px;
margin-left: 3em;
}
.navigation {
background: #ffeeee;
border: solid 1px #ffaaaa;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.navigation a {
color: #770000;
}
.navigation a:visited {
color: #550000;
}
.navigation .title {
font-size: 200%;
}
</style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="libxml-lib.html" title="Libxml Library Reference"><link rel="previous" href="libxml-globals.html" title="globals"><link rel="next" href="libxml-parserInternals.html" title="parserInternals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-globals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td><td><a accesskey="u" href="libxml-lib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-parserInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td></tr></table><div class="refentry" lang="en"><a name="libxml-DOCBparser"></a><div class="titlepage"></div><div class="refnamediv"><h2>DOCBparser</h2><p>DOCBparser — </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
typedef <a href="libxml-DOCBparser.html#docbParserCtxt">docbParserCtxt</a>;
typedef <a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a>;
typedef <a href="libxml-DOCBparser.html#docbParserNodeInfo">docbParserNodeInfo</a>;
typedef <a href="libxml-DOCBparser.html#docbSAXHandler">docbSAXHandler</a>;
typedef <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a>;
typedef <a href="libxml-DOCBparser.html#docbParserInput">docbParserInput</a>;
typedef <a href="libxml-DOCBparser.html#docbParserInputPtr">docbParserInputPtr</a>;
typedef <a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>;
typedef <a href="libxml-DOCBparser.html#docbNodePtr">docbNodePtr</a>;
int <a href="libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a> (unsigned char *out,
int *outlen,
unsigned char *in,
int *inlen,
int quoteChar);
<a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> <a href="libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
const char *encoding,
<a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax,
void *userData);
<a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> <a href="libxml-DOCBparser.html#docbParseDoc">docbParseDoc</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
const char *encoding);
<a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> <a href="libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a> (const char *filename,
const char *encoding,
<a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax,
void *userData);
<a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> <a href="libxml-DOCBparser.html#docbParseFile">docbParseFile</a> (const char *filename,
const char *encoding);
void <a href="libxml-DOCBparser.html#docbFreeParserCtxt">docbFreeParserCtxt</a> (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt);
<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> <a href="libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a> (<a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax,
void *user_data,
const char *chunk,
int size,
const char *filename,
<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
int <a href="libxml-DOCBparser.html#docbParseChunk">docbParseChunk</a> (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt,
const char *chunk,
int size,
int terminate);
<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> <a href="libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a> (const char *filename,
const char *encoding);
int <a href="libxml-DOCBparser.html#docbParseDocument">docbParseDocument</a> (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt);
</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
</p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="docbParserCtxt"></a>docbParserCtxt</h3><pre class="programlisting">typedef xmlParserCtxt docbParserCtxt;
</pre><p>
</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbParserCtxtPtr"></a>docbParserCtxtPtr</h3><pre class="programlisting">typedef xmlParserCtxtPtr docbParserCtxtPtr;
</pre><p>
</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbParserNodeInfo"></a>docbParserNodeInfo</h3><pre class="programlisting">typedef xmlParserNodeInfo docbParserNodeInfo;
</pre><p>
</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbSAXHandler"></a>docbSAXHandler</h3><pre class="programlisting">typedef xmlSAXHandler docbSAXHandler;
</pre><p>
</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbSAXHandlerPtr"></a>docbSAXHandlerPtr</h3><pre class="programlisting">typedef xmlSAXHandlerPtr docbSAXHandlerPtr;
</pre><p>
</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbParserInput"></a>docbParserInput</h3><pre class="programlisting">typedef xmlParserInput docbParserInput;
</pre><p>
</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbParserInputPtr"></a>docbParserInputPtr</h3><pre class="programlisting">typedef xmlParserInputPtr docbParserInputPtr;
</pre><p>
</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbDocPtr"></a>docbDocPtr</h3><pre class="programlisting">typedef xmlDocPtr docbDocPtr;
</pre><p>
</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbNodePtr"></a>docbNodePtr</h3><pre class="programlisting">typedef xmlNodePtr docbNodePtr;
</pre><p>
</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbEncodeEntities"></a>docbEncodeEntities ()</h3><pre class="programlisting">int docbEncodeEntities (unsigned char *out,
int *outlen,
unsigned char *in,
int *inlen,
int quoteChar);</pre><p>
Take a block of UTF-8 chars in and try to convert it to an ASCII
plus SGML entities block of chars out.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>out</tt></i> :</span></td><td> a pointer to an array of bytes to store the result
</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i> :</span></td><td> the length of <i><tt>out</tt></i>
</td></tr><tr><td><span class="term"><i><tt>in</tt></i> :</span></td><td> a pointer to an array of UTF-8 chars
</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i> :</span></td><td> the length of <i><tt>in</tt></i>
</td></tr><tr><td><span class="term"><i><tt>quoteChar</tt></i> :</span></td><td> the quote character to escape (' or ") or zero.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if success, -2 if the transcoding fails, or -1 otherwise
The value of <i><tt>inlen</tt></i> after return is the number of octets consumed
as the return value is positive, else unpredictable.
The value of <i><tt>outlen</tt></i> after return is the number of octets consumed.
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbSAXParseDoc"></a>docbSAXParseDoc ()</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> docbSAXParseDoc (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
const char *encoding,
<a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax,
void *userData);</pre><p>
parse an SGML in-memory document and build a tree.
It use the given SAX function block to handle the parsing callback.
If sax is NULL, fallback to the default DOM tree building routines.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> a pointer to an array of xmlChar
</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i> :</span></td><td> a free form C string describing the SGML document encoding, or NULL
</td></tr><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td> the SAX handler block
</td></tr><tr><td><span class="term"><i><tt>userData</tt></i> :</span></td><td> if using SAX, this pointer will be provided on callbacks.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbParseDoc"></a>docbParseDoc ()</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> docbParseDoc (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
const char *encoding);</pre><p>
parse an SGML in-memory document and build a tree.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> a pointer to an array of xmlChar
</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i> :</span></td><td> a free form C string describing the SGML document encoding, or NULL
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbSAXParseFile"></a>docbSAXParseFile ()</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> docbSAXParseFile (const char *filename,
const char *encoding,
<a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax,
void *userData);</pre><p>
parse an SGML file and build a tree. Automatic support for ZLIB/Compress
compressed document is provided by default if found at compile-time.
It use the given SAX function block to handle the parsing callback.
If sax is NULL, fallback to the default DOM tree building routines.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> the filename
</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i> :</span></td><td> a free form C string describing the SGML document encoding, or NULL
</td></tr><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td> the SAX handler block
</td></tr><tr><td><span class="term"><i><tt>userData</tt></i> :</span></td><td> if using SAX, this pointer will be provided on callbacks.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbParseFile"></a>docbParseFile ()</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> docbParseFile (const char *filename,
const char *encoding);</pre><p>
parse a Docbook SGML file and build a tree. Automatic support for
ZLIB/Compress compressed document is provided by default if found
at compile-time.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> the filename
</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i> :</span></td><td> a free form C string describing document encoding, or NULL
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbFreeParserCtxt"></a>docbFreeParserCtxt ()</h3><pre class="programlisting">void docbFreeParserCtxt (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt);</pre><p>
Free all the memory used by a parser context. However the parsed
document in ctxt->myDoc is not freed.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td> an SGML parser context
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbCreatePushParserCtxt"></a>docbCreatePushParserCtxt ()</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> docbCreatePushParserCtxt (<a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax,
void *user_data,
const char *chunk,
int size,
const char *filename,
<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
Create a parser context for using the DocBook SGML parser in push mode
To allow content encoding detection, <i><tt>size</tt></i> should be >= 4
The value of <i><tt>filename</tt></i> is used for fetching external entities
and error/warning reports.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td> a SAX handler
</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td> The user data returned on SAX callbacks
</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i> :</span></td><td> a pointer to an array of chars
</td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> number of chars in the array
</td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> an optional file name or URI
</td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td> an optional encoding
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser context or NULL
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbParseChunk"></a>docbParseChunk ()</h3><pre class="programlisting">int docbParseChunk (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt,
const char *chunk,
int size,
int terminate);</pre><p>
Parse a Chunk of memory</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td> an XML parser context
</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i> :</span></td><td> an char array
</td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the size in byte of the chunk
</td></tr><tr><td><span class="term"><i><tt>terminate</tt></i> :</span></td><td> last chunk indicator
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>zero if no error, the xmlParserErrors otherwise.
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbCreateFileParserCtxt"></a>docbCreateFileParserCtxt ()</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> docbCreateFileParserCtxt (const char *filename,
const char *encoding);</pre><p>
Create a parser context for a file content.
Automatic support for ZLIB/Compress compressed document is provided
by default if found at compile-time.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> the filename
</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i> :</span></td><td> the SGML document encoding, or NULL
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser context or NULL
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbParseDocument"></a>docbParseDocument ()</h3><pre class="programlisting">int docbParseDocument (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt);</pre><p>
parse an SGML document (and build a tree if using the standard SAX
interface).</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td> an SGML parser context
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0, -1 in case of error. the parser context is augmented
as a result of the parsing.
</td></tr></tbody></table></div></div></div></div><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-globals.html"><b><< globals</b></a></td><td align="right"><a accesskey="n" href="libxml-parserInternals.html"><b>parserInternals >></b></a></td></tr></table></body></html>