blob: 7882e8dfcb4b69db83f129a2e1498809d08699d6 [file] [log] [blame]
William M. Brack2ad1dff2003-11-15 10:35:20 +00001<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>parserInternals</title><meta name="generator" content="DocBook XSL Stylesheets V1.48"><meta name="generator" content="GTK-Doc V1.1 (XML mode)"><style type="text/css">
Daniel Veillardd4330462003-04-29 12:40:16 +00002 .synopsis, .classsynopsis {
3 background: #eeeeee;
4 border: solid 1px #aaaaaa;
5 padding: 0.5em;
6 }
7 .programlisting {
8 background: #eeeeff;
9 border: solid 1px #aaaaff;
10 padding: 0.5em;
11 }
12 .variablelist {
13 padding: 4px;
14 margin-left: 3em;
15 }
16 .navigation {
17 background: #ffeeee;
18 border: solid 1px #ffaaaa;
19 margin-top: 0.5em;
20 margin-bottom: 0.5em;
21 }
22 .navigation a {
23 color: #770000;
24 }
25 .navigation a:visited {
26 color: #550000;
27 }
28 .navigation .title {
29 font-size: 200%;
30 }
William M. Brack60f394e2003-11-16 06:25:42 +000031 </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-HTMLtree.html" title="HTMLtree"><link rel="next" href="libxml-entities.html" title="entities"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLtree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.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">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-entities.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-parserInternals"></a><div class="titlepage"></div><div class="refnamediv"><h2>parserInternals</h2><p>parserInternals &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2709603"></a>Synopsis</h1></h2><pre class="synopsis">
Daniel Veillardd4330462003-04-29 12:40:16 +000032
33
34
William M. Brack2ad1dff2003-11-15 10:35:20 +000035extern unsigned int <a href="libxml-parserInternals.html#xmlParserMaxDepth">xmlParserMaxDepth</a>;
Daniel Veillardd4330462003-04-29 12:40:16 +000036#define <a href="libxml-parserInternals.html#XML-MAX-NAMELEN-CAPS">XML_MAX_NAMELEN</a>
37#define <a href="libxml-parserInternals.html#INPUT-CHUNK-CAPS">INPUT_CHUNK</a>
William M. Brack2ad1dff2003-11-15 10:35:20 +000038#define <a href="libxml-parserInternals.html#IS-BYTE-CHAR-CAPS">IS_BYTE_CHAR</a> (c)
Daniel Veillardd4330462003-04-29 12:40:16 +000039#define <a href="libxml-parserInternals.html#IS-CHAR-CAPS">IS_CHAR</a> (c)
William M. Brack2ad1dff2003-11-15 10:35:20 +000040#define <a href="libxml-parserInternals.html#IS-CHAR-CH-CAPS">IS_CHAR_CH</a> (c)
Daniel Veillardd4330462003-04-29 12:40:16 +000041#define <a href="libxml-parserInternals.html#IS-BLANK-CAPS">IS_BLANK</a> (c)
William M. Brack2ad1dff2003-11-15 10:35:20 +000042#define <a href="libxml-parserInternals.html#IS-BLANK-CH-CAPS">IS_BLANK_CH</a> (c)
Daniel Veillardd4330462003-04-29 12:40:16 +000043#define <a href="libxml-parserInternals.html#IS-BASECHAR-CAPS">IS_BASECHAR</a> (c)
44#define <a href="libxml-parserInternals.html#IS-DIGIT-CAPS">IS_DIGIT</a> (c)
William M. Brack2ad1dff2003-11-15 10:35:20 +000045#define <a href="libxml-parserInternals.html#IS-DIGIT-CH-CAPS">IS_DIGIT_CH</a> (c)
Daniel Veillardd4330462003-04-29 12:40:16 +000046#define <a href="libxml-parserInternals.html#IS-COMBINING-CAPS">IS_COMBINING</a> (c)
William M. Brack2ad1dff2003-11-15 10:35:20 +000047#define <a href="libxml-parserInternals.html#IS-COMBINING-CH-CAPS">IS_COMBINING_CH</a> (c)
Daniel Veillardd4330462003-04-29 12:40:16 +000048#define <a href="libxml-parserInternals.html#IS-EXTENDER-CAPS">IS_EXTENDER</a> (c)
William M. Brack2ad1dff2003-11-15 10:35:20 +000049#define <a href="libxml-parserInternals.html#IS-EXTENDER-CH-CAPS">IS_EXTENDER_CH</a> (c)
Daniel Veillardd4330462003-04-29 12:40:16 +000050#define <a href="libxml-parserInternals.html#IS-IDEOGRAPHIC-CAPS">IS_IDEOGRAPHIC</a> (c)
51#define <a href="libxml-parserInternals.html#IS-LETTER-CAPS">IS_LETTER</a> (c)
William M. Brack2ad1dff2003-11-15 10:35:20 +000052#define <a href="libxml-parserInternals.html#IS-LETTER-CH-CAPS">IS_LETTER_CH</a> (c)
Daniel Veillardd4330462003-04-29 12:40:16 +000053#define <a href="libxml-parserInternals.html#IS-PUBIDCHAR-CAPS">IS_PUBIDCHAR</a> (c)
William M. Brack2ad1dff2003-11-15 10:35:20 +000054#define <a href="libxml-parserInternals.html#IS-PUBIDCHAR-CH-CAPS">IS_PUBIDCHAR_CH</a> (c)
Daniel Veillardd4330462003-04-29 12:40:16 +000055#define <a href="libxml-parserInternals.html#SKIP-EOL-CAPS">SKIP_EOL</a> (p)
56#define <a href="libxml-parserInternals.html#MOVETO-ENDTAG-CAPS">MOVETO_ENDTAG</a> (p)
57#define <a href="libxml-parserInternals.html#MOVETO-STARTTAG-CAPS">MOVETO_STARTTAG</a> (p)
William M. Brack60f394e2003-11-16 06:25:42 +000058int <a href="libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</a> (int c);
59<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parserInternals.html#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a> (const char *filename);
60<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parserInternals.html#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a> (const char *filename,
61 int options);
62<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parserInternals.html#xmlCreateMemoryParserCtxt">xmlCreateMemoryParserCtxt</a> (const char *buffer,
63 int size);
64<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
65 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
66 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *base);
67int <a href="libxml-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
68 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
69int <a href="libxml-parserInternals.html#xmlSwitchToEncoding">xmlSwitchToEncoding</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
70 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
71int <a href="libxml-parserInternals.html#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
72 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input,
73 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
74void <a href="libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
75 <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);
76<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parserInternals.html#xmlNewStringInputStream">xmlNewStringInputStream</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
77 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *buffer);
78<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parserInternals.html#xmlNewEntityInputStream">xmlNewEntityInputStream</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
79 <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);
80void <a href="libxml-parserInternals.html#xmlPushInput">xmlPushInput</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
81 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
82<a href="libxml-tree.html#xmlChar">xmlChar</a> <a href="libxml-parserInternals.html#xmlPopInput">xmlPopInput</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
83void <a href="libxml-parserInternals.html#xmlFreeInputStream">xmlFreeInputStream</a> (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
84<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parserInternals.html#xmlNewInputFromFile">xmlNewInputFromFile</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
85 const char *filename);
86<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parserInternals.html#xmlNewInputStream">xmlNewInputStream</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
87<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
88 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
89 <a href="libxml-tree.html#xmlChar">xmlChar</a> **prefix);
90<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
91<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
92 <a href="libxml-tree.html#xmlChar">xmlChar</a> **prefix);
93<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
94<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
95void <a href="libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
96<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlScanName">xmlScanName</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
97const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseName">xmlParseName</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
98<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseNmtoken">xmlParseNmtoken</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
99<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
100 <a href="libxml-tree.html#xmlChar">xmlChar</a> **orig);
101<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
102<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseSystemLiteral">xmlParseSystemLiteral</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
103<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParsePubidLiteral">xmlParsePubidLiteral</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
104void <a href="libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
105 int cdata);
106<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
107 <a href="libxml-tree.html#xmlChar">xmlChar</a> **publicID,
108 int strict);
109void <a href="libxml-parserInternals.html#xmlParseComment">xmlParseComment</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
110const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParsePITarget">xmlParsePITarget</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
111void <a href="libxml-parserInternals.html#xmlParsePI">xmlParsePI</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
112void <a href="libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
113void <a href="libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
114int <a href="libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
115 <a href="libxml-tree.html#xmlChar">xmlChar</a> **value);
116<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> <a href="libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
117<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> <a href="libxml-parserInternals.html#xmlParseEnumerationType">xmlParseEnumerationType</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
118int <a href="libxml-parserInternals.html#xmlParseEnumeratedType">xmlParseEnumeratedType</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
119 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> *tree);
120int <a href="libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
121 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> *tree);
122void <a href="libxml-parserInternals.html#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
123int <a href="libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
124 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
125 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> *result);
126int <a href="libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
127void <a href="libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
128int <a href="libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
129<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
130void <a href="libxml-parserInternals.html#xmlParseReference">xmlParseReference</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
131void <a href="libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
132void <a href="libxml-parserInternals.html#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
133const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
134 <a href="libxml-tree.html#xmlChar">xmlChar</a> **value);
135const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
136void <a href="libxml-parserInternals.html#xmlParseEndTag">xmlParseEndTag</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
137void <a href="libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
138void <a href="libxml-parserInternals.html#xmlParseContent">xmlParseContent</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
139void <a href="libxml-parserInternals.html#xmlParseElement">xmlParseElement</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
140<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseVersionNum">xmlParseVersionNum</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
141<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseVersionInfo">xmlParseVersionInfo</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
142<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseEncName">xmlParseEncName</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
143const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseEncodingDecl">xmlParseEncodingDecl</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
144int <a href="libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
145void <a href="libxml-parserInternals.html#xmlParseXMLDecl">xmlParseXMLDecl</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
146void <a href="libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
147void <a href="libxml-parserInternals.html#xmlParseMisc">xmlParseMisc</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
148void <a href="libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
149 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
150 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
Daniel Veillardd4330462003-04-29 12:40:16 +0000151#define <a href="libxml-parserInternals.html#XML-SUBSTITUTE-NONE-CAPS">XML_SUBSTITUTE_NONE</a>
152#define <a href="libxml-parserInternals.html#XML-SUBSTITUTE-REF-CAPS">XML_SUBSTITUTE_REF</a>
153#define <a href="libxml-parserInternals.html#XML-SUBSTITUTE-PEREF-CAPS">XML_SUBSTITUTE_PEREF</a>
154#define <a href="libxml-parserInternals.html#XML-SUBSTITUTE-BOTH-CAPS">XML_SUBSTITUTE_BOTH</a>
William M. Brack60f394e2003-11-16 06:25:42 +0000155<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
156 int len,
157 int what,
158 <a href="libxml-tree.html#xmlChar">xmlChar</a> end,
159 <a href="libxml-tree.html#xmlChar">xmlChar</a> end2,
160 <a href="libxml-tree.html#xmlChar">xmlChar</a> end3);
161<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
162 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
163 int what,
164 <a href="libxml-tree.html#xmlChar">xmlChar</a> end,
165 <a href="libxml-tree.html#xmlChar">xmlChar</a> end2,
166 <a href="libxml-tree.html#xmlChar">xmlChar</a> end3);
167<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
168 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
169 int len,
170 int what,
171 <a href="libxml-tree.html#xmlChar">xmlChar</a> end,
172 <a href="libxml-tree.html#xmlChar">xmlChar</a> end2,
173 <a href="libxml-tree.html#xmlChar">xmlChar</a> end3);
174int <a href="libxml-parserInternals.html#nodePush">nodePush</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
175 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> value);
176<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-parserInternals.html#nodePop">nodePop</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
177int <a href="libxml-parserInternals.html#inputPush">inputPush</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
178 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value);
179<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parserInternals.html#inputPop">inputPop</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
180const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#namePop">namePop</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
181int <a href="libxml-parserInternals.html#namePush">namePush</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
182 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
183int <a href="libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
184int <a href="libxml-parserInternals.html#xmlStringCurrentChar">xmlStringCurrentChar</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
185 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
186 int *len);
187void <a href="libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
188void <a href="libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
189int <a href="libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *lang);
190int <a href="libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
191 int *len);
192int <a href="libxml-parserInternals.html#xmlCopyCharMultiByte">xmlCopyCharMultiByte</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> *out,
193 int val);
194int <a href="libxml-parserInternals.html#xmlCopyChar">xmlCopyChar</a> (int len,
195 <a href="libxml-tree.html#xmlChar">xmlChar</a> *out,
196 int val);
197void <a href="libxml-parserInternals.html#xmlNextChar">xmlNextChar</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
198void <a href="libxml-parserInternals.html#xmlParserInputShrink">xmlParserInputShrink</a> (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in);
199void <a href="libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a> (void);
200<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> <a href="libxml-parserInternals.html#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a> (const char *filename,
201 const char *encoding);
Daniel Veillardd4330462003-04-29 12:40:16 +0000202void (<a href="libxml-parserInternals.html#xmlEntityReferenceFunc">*xmlEntityReferenceFunc</a>) (<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent,
203 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode,
204 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode);
William M. Brack60f394e2003-11-16 06:25:42 +0000205void <a href="libxml-parserInternals.html#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a> (<a href="libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func);
206void <a href="libxml-parserInternals.html#xmlErrMemory">xmlErrMemory</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
207 const char *extra);
William M. Brack2ad1dff2003-11-15 10:35:20 +0000208</pre></div><div class="refsect1"><h2>Description</h2><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000209
William M. Brack2ad1dff2003-11-15 10:35:20 +0000210</p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlParserMaxDepth"></a>xmlParserMaxDepth</h3><pre class="programlisting">extern unsigned int xmlParserMaxDepth;
211</pre><p>
212arbitrary depth limit for the XML documents that we allow to
213process. This is not a limitation of the parser but a safety
214boundary feature.</p><p>
215
216</p></div><hr><div class="refsect2"><h3><a name="XML-MAX-NAMELEN-CAPS"></a>XML_MAX_NAMELEN</h3><pre class="programlisting">#define XML_MAX_NAMELEN 100
Daniel Veillardd7cec922003-06-13 12:30:10 +0000217</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000218Identifiers can be longer, but this will be more costly
219at runtime.</p><p>
220
William M. Brack2ad1dff2003-11-15 10:35:20 +0000221</p></div><hr><div class="refsect2"><h3><a name="INPUT-CHUNK-CAPS"></a>INPUT_CHUNK</h3><pre class="programlisting">#define INPUT_CHUNK 250
Daniel Veillardd7cec922003-06-13 12:30:10 +0000222</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000223The parser tries to always have that amount of input ready.
224One of the point is providing context when reporting errors.</p><p>
225
William M. Brack2ad1dff2003-11-15 10:35:20 +0000226</p></div><hr><div class="refsect2"><h3><a name="IS-BYTE-CHAR-CAPS"></a>IS_BYTE_CHAR()</h3><pre class="programlisting">#define IS_BYTE_CHAR(c) xmlIsChar_ch(c)
227</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000228Macro to check the following production in the XML spec:
229</p><p>
William M. Brack2ad1dff2003-11-15 10:35:20 +0000230[2] Char ::= <GTKDOCLINK HREF="x9">x9</GTKDOCLINK> | <GTKDOCLINK HREF="xA">xA</GTKDOCLINK> | <GTKDOCLINK HREF="xD">xD</GTKDOCLINK> | [<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>...]
231any byte character in the accepted range</p><p>
232
233</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an byte value (int)
234</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-CHAR-CAPS"></a>IS_CHAR()</h3><pre class="programlisting">#define IS_CHAR(c) xmlIsCharQ(c)
235</pre><p>
236Macro to check the following production in the XML spec:
237</p><p>
238[2] Char ::= <GTKDOCLINK HREF="x9">x9</GTKDOCLINK> | <GTKDOCLINK HREF="xA">xA</GTKDOCLINK> | <GTKDOCLINK HREF="xD">xD</GTKDOCLINK> | [<GTKDOCLINK HREF="x20-">x20-</GTKDOCLINK><GTKDOCLINK HREF="xD7FF">xD7FF</GTKDOCLINK>] | [<GTKDOCLINK HREF="xE000-">xE000-</GTKDOCLINK><GTKDOCLINK HREF="xFFFD">xFFFD</GTKDOCLINK>]
239 | [<GTKDOCLINK HREF="x10000-">x10000-</GTKDOCLINK><GTKDOCLINK HREF="x10FFFF">x10FFFF</GTKDOCLINK>]
Daniel Veillardd4330462003-04-29 12:40:16 +0000240any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.</p><p>
241
William M. Brack2ad1dff2003-11-15 10:35:20 +0000242</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an UNICODE value (int)
243</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-CHAR-CH-CAPS"></a>IS_CHAR_CH()</h3><pre class="programlisting">#define IS_CHAR_CH(c) xmlIsChar_ch(c)
244</pre><p>
245Behaves like IS_CHAR on single-byte value</p><p>
246
247</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an xmlChar (usually an unsigned char)
248</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-BLANK-CAPS"></a>IS_BLANK()</h3><pre class="programlisting">#define IS_BLANK(c) xmlIsBlankQ(c)
249</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000250Macro to check the following production in the XML spec:
251</p><p>
William M. Brack2ad1dff2003-11-15 10:35:20 +0000252[3] S ::= (<GTKDOCLINK HREF="x20">x20</GTKDOCLINK> | <GTKDOCLINK HREF="x9">x9</GTKDOCLINK> | <GTKDOCLINK HREF="xD">xD</GTKDOCLINK> | <GTKDOCLINK HREF="xA">xA</GTKDOCLINK>)+</p><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000253
William M. Brack2ad1dff2003-11-15 10:35:20 +0000254</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an UNICODE value (int)
255</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-BLANK-CH-CAPS"></a>IS_BLANK_CH()</h3><pre class="programlisting">#define IS_BLANK_CH(c) xmlIsBlank_ch(c)
256</pre><p>
257Behaviour same as IS_BLANK</p><p>
258
259</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an xmlChar value (normally unsigned char)
260</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-BASECHAR-CAPS"></a>IS_BASECHAR()</h3><pre class="programlisting">#define IS_BASECHAR(c) xmlIsBaseCharQ(c)
Daniel Veillardd7cec922003-06-13 12:30:10 +0000261</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000262Macro to check the following production in the XML spec:
263</p><p>
264[85] BaseChar ::= ... long list see REC ...</p><p>
265
William M. Brack2ad1dff2003-11-15 10:35:20 +0000266</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an UNICODE value (int)
267</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-DIGIT-CAPS"></a>IS_DIGIT()</h3><pre class="programlisting">#define IS_DIGIT(c) xmlIsDigitQ(c)
Daniel Veillardd7cec922003-06-13 12:30:10 +0000268</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000269Macro to check the following production in the XML spec:
270</p><p>
271[88] Digit ::= ... long list see REC ...</p><p>
272
William M. Brack2ad1dff2003-11-15 10:35:20 +0000273</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an UNICODE value (int)
274</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-DIGIT-CH-CAPS"></a>IS_DIGIT_CH()</h3><pre class="programlisting">#define IS_DIGIT_CH(c) xmlIsDigit_ch(c)
275</pre><p>
276Behaves like IS_DIGIT but with a single byte argument</p><p>
277
278</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an xmlChar value (usually an unsigned char)
279</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-COMBINING-CAPS"></a>IS_COMBINING()</h3><pre class="programlisting">#define IS_COMBINING(c) xmlIsCombiningQ(c)
Daniel Veillardd7cec922003-06-13 12:30:10 +0000280</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000281Macro to check the following production in the XML spec:
282</p><p>
283[87] CombiningChar ::= ... long list see REC ...</p><p>
284
William M. Brack2ad1dff2003-11-15 10:35:20 +0000285</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an UNICODE value (int)
286</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-COMBINING-CH-CAPS"></a>IS_COMBINING_CH()</h3><pre class="programlisting">#define IS_COMBINING_CH(c) 0
287</pre><p>
288Always false (all combining chars &gt; 0xff)</p><p>
289
290</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an xmlChar (usually an unsigned char)
291</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-EXTENDER-CAPS"></a>IS_EXTENDER()</h3><pre class="programlisting">#define IS_EXTENDER(c) xmlIsExtenderQ(c)
Daniel Veillardd7cec922003-06-13 12:30:10 +0000292</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000293Macro to check the following production in the XML spec:
294</p><p>
William M. Brack2ad1dff2003-11-15 10:35:20 +0000295[89] Extender ::= <GTKDOCLINK HREF="x00B7">x00B7</GTKDOCLINK> | <GTKDOCLINK HREF="x02D0">x02D0</GTKDOCLINK> | <GTKDOCLINK HREF="x02D1">x02D1</GTKDOCLINK> | <GTKDOCLINK HREF="x0387">x0387</GTKDOCLINK> | <GTKDOCLINK HREF="x0640">x0640</GTKDOCLINK> |
296 <GTKDOCLINK HREF="x0E46">x0E46</GTKDOCLINK> | <GTKDOCLINK HREF="x0EC6">x0EC6</GTKDOCLINK> | <GTKDOCLINK HREF="x3005">x3005</GTKDOCLINK> | [<GTKDOCLINK HREF="x3031-">x3031-</GTKDOCLINK><GTKDOCLINK HREF="x3035">x3035</GTKDOCLINK>] |
297 [<GTKDOCLINK HREF="x309D-">x309D-</GTKDOCLINK><GTKDOCLINK HREF="x309E">x309E</GTKDOCLINK>] | [<GTKDOCLINK HREF="x30FC-">x30FC-</GTKDOCLINK><GTKDOCLINK HREF="x30FE">x30FE</GTKDOCLINK>]</p><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000298
William M. Brack2ad1dff2003-11-15 10:35:20 +0000299</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an UNICODE value (int)
300</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-EXTENDER-CH-CAPS"></a>IS_EXTENDER_CH()</h3><pre class="programlisting">#define IS_EXTENDER_CH(c) xmlIsExtender_ch(c)
301</pre><p>
302Behaves like IS_EXTENDER but with a single-byte argument</p><p>
303
304</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an xmlChar value (usually an unsigned char)
305</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-IDEOGRAPHIC-CAPS"></a>IS_IDEOGRAPHIC()</h3><pre class="programlisting">#define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c)
Daniel Veillardd7cec922003-06-13 12:30:10 +0000306</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000307Macro to check the following production in the XML spec:
308</p><p>
William M. Brack2ad1dff2003-11-15 10:35:20 +0000309[86] Ideographic ::= [<GTKDOCLINK HREF="x4E00-">x4E00-</GTKDOCLINK><GTKDOCLINK HREF="x9FA5">x9FA5</GTKDOCLINK>] | <GTKDOCLINK HREF="x3007">x3007</GTKDOCLINK> | [<GTKDOCLINK HREF="x3021-">x3021-</GTKDOCLINK><GTKDOCLINK HREF="x3029">x3029</GTKDOCLINK>]</p><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000310
William M. Brack2ad1dff2003-11-15 10:35:20 +0000311</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an UNICODE value (int)
312</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-LETTER-CAPS"></a>IS_LETTER()</h3><pre class="programlisting">#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))
Daniel Veillardd7cec922003-06-13 12:30:10 +0000313</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000314Macro to check the following production in the XML spec:
315</p><p>
316[84] Letter ::= BaseChar | Ideographic</p><p>
317
William M. Brack2ad1dff2003-11-15 10:35:20 +0000318</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an UNICODE value (int)
319</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-LETTER-CH-CAPS"></a>IS_LETTER_CH()</h3><pre class="programlisting">#define IS_LETTER_CH(c) xmlIsBaseChar_ch(c)
320</pre><p>
321Macro behaves like IS_LETTER, but only check base chars</p><p>
322
323</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an xmlChar value (normally unsigned char)
324</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-PUBIDCHAR-CAPS"></a>IS_PUBIDCHAR()</h3><pre class="programlisting">#define IS_PUBIDCHAR(c) xmlIsPubidCharQ(c)
Daniel Veillardd7cec922003-06-13 12:30:10 +0000325</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000326Macro to check the following production in the XML spec:
327</p><p>
William M. Brack2ad1dff2003-11-15 10:35:20 +0000328[13] PubidChar ::= <GTKDOCLINK HREF="x20">x20</GTKDOCLINK> | <GTKDOCLINK HREF="xD">xD</GTKDOCLINK> | <GTKDOCLINK HREF="xA">xA</GTKDOCLINK> | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</p><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000329
William M. Brack2ad1dff2003-11-15 10:35:20 +0000330</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an UNICODE value (int)
331</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="IS-PUBIDCHAR-CH-CAPS"></a>IS_PUBIDCHAR_CH()</h3><pre class="programlisting">#define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c)
332</pre><p>
333Same as IS_PUBIDCHAR but for single-byte value</p><p>
334
335</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an xmlChar value (normally unsigned char)
336</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="SKIP-EOL-CAPS"></a>SKIP_EOL()</h3><pre class="programlisting">#define SKIP_EOL(p)</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000337Skips the end of line chars.</p><p>
338
William M. Brack2ad1dff2003-11-15 10:35:20 +0000339</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>p</tt></i>:</span></td><td> and UTF8 string pointer
340</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="MOVETO-ENDTAG-CAPS"></a>MOVETO_ENDTAG()</h3><pre class="programlisting">#define MOVETO_ENDTAG(p)</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000341Skips to the next '&gt;' char.</p><p>
342
William M. Brack2ad1dff2003-11-15 10:35:20 +0000343</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>p</tt></i>:</span></td><td> and UTF8 string pointer
344</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="MOVETO-STARTTAG-CAPS"></a>MOVETO_STARTTAG()</h3><pre class="programlisting">#define MOVETO_STARTTAG(p)</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000345Skips to the next '&lt;' char.</p><p>
346
William M. Brack2ad1dff2003-11-15 10:35:20 +0000347</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>p</tt></i>:</span></td><td> and UTF8 string pointer
William M. Brack60f394e2003-11-16 06:25:42 +0000348</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsLetter"></a>xmlIsLetter ()</h3><pre class="programlisting">int xmlIsLetter (int c);</pre><p>
349Check whether the character is allowed by the production
350[84] Letter ::= BaseChar | Ideographic</p><p>
351
352</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td> an unicode character (int)
353</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if not, non-zero otherwise
354</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCreateFileParserCtxt"></a>xmlCreateFileParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateFileParserCtxt (const char *filename);</pre><p>
355Create a parser context for a file content.
356Automatic support for ZLIB/Compress compressed document is provided
357by default if found at compile-time.</p><p>
358
359</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td> the filename
360</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
361</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCreateURLParserCtxt"></a>xmlCreateURLParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateURLParserCtxt (const char *filename,
362 int options);</pre><p>
363Create a parser context for a file or URL content.
364Automatic support for ZLIB/Compress compressed document is provided
365by default if found at compile-time and for file accesses</p><p>
366
367</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td> the filename or URL
368</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td> a combination of xmlParserOption(s)
369</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
370</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCreateMemoryParserCtxt"></a>xmlCreateMemoryParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateMemoryParserCtxt (const char *buffer,
371 int size);</pre><p>
372Create a parser context for an XML in-memory document.</p><p>
373
374</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td> a pointer to a char array
375</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td> the size of the array
376</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
377</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCreateEntityParserCtxt"></a>xmlCreateEntityParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateEntityParserCtxt (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
378 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
379 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *base);</pre><p>
380Create a parser context for an external entity
381Automatic support for ZLIB/Compress compressed document is provided
382by default if found at compile-time.</p><p>
383
384</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td> the entity URL
385</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td> the entity PUBLIC ID
386</td></tr><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td> a possible base for the target URI
387</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
388</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSwitchEncoding"></a>xmlSwitchEncoding ()</h3><pre class="programlisting">int xmlSwitchEncoding (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
389 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
390change the input functions when discovering the character encoding
391of a given entity.</p><p>
392
393</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> the parser context
394</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td> the encoding value (number)
395</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, -1 otherwise
396</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSwitchToEncoding"></a>xmlSwitchToEncoding ()</h3><pre class="programlisting">int xmlSwitchToEncoding (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
397 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);</pre><p>
398change the input functions when discovering the character encoding
399of a given entity.</p><p>
400
401</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> the parser context
402</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td> the encoding handler
403</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, -1 otherwise
404</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSwitchInputEncoding"></a>xmlSwitchInputEncoding ()</h3><pre class="programlisting">int xmlSwitchInputEncoding (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
405 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input,
406 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);</pre><p>
407change the input functions when discovering the character encoding
408of a given entity.</p><p>
409
410</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> the parser context
411</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td> the input stream
412</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td> the encoding handler
413</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, -1 otherwise
414</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHandleEntity"></a>xmlHandleEntity ()</h3><pre class="programlisting">void xmlHandleEntity (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
415 <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);</pre><p>
416Default handling of defined entities, when should we define a new input
417stream ? When do we just handle that as a set of chars ?
418</p><p>
419OBSOLETE: to be removed at some point.</p><p>
420
421</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
422</td></tr><tr><td><span class="term"><i><tt>entity</tt></i>:</span></td><td> an XML entity pointer.
423</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewStringInputStream"></a>xmlNewStringInputStream ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlNewStringInputStream (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
424 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *buffer);</pre><p>
425Create a new input stream based on a memory buffer.</p><p>
426
427</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
428</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td> an memory buffer
429</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new input stream
430</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewEntityInputStream"></a>xmlNewEntityInputStream ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlNewEntityInputStream (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
431 <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);</pre><p>
432Create a new input stream based on an xmlEntityPtr</p><p>
433
434</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
435</td></tr><tr><td><span class="term"><i><tt>entity</tt></i>:</span></td><td> an Entity pointer
436</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new input stream or NULL
437</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlPushInput"></a>xmlPushInput ()</h3><pre class="programlisting">void xmlPushInput (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
438 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);</pre><p>
439xmlPushInput: switch to a new input stream which is stacked on top
440 of the previous one(s).</p><p>
441
442</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
443</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td> an XML parser input fragment (entity, XML fragment ...).
444</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlPopInput"></a>xmlPopInput ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a> xmlPopInput (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
445xmlPopInput: the current input pointed by ctxt-&gt;input came to an end
446 pop it and return the next char.</p><p>
447
448</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
449</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the current xmlChar in the parser context
450</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeInputStream"></a>xmlFreeInputStream ()</h3><pre class="programlisting">void xmlFreeInputStream (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);</pre><p>
451Free up an input stream.</p><p>
452
453</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td> an xmlParserInputPtr
454</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewInputFromFile"></a>xmlNewInputFromFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlNewInputFromFile (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
455 const char *filename);</pre><p>
456Create a new input stream based on a file or an URL.</p><p>
457
458</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
459</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td> the filename to use as entity
460</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new input stream or NULL in case of error
461</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewInputStream"></a>xmlNewInputStream ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlNewInputStream (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
462Create a new input stream structure</p><p>
463
464</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
465</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new input stream or NULL
466</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSplitQName"></a>xmlSplitQName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlSplitQName (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
467 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
468 <a href="libxml-tree.html#xmlChar">xmlChar</a> **prefix);</pre><p>
469parse an UTF8 encoded XML qualified name string
470</p><p>
471[NS 5] QName ::= (Prefix ':')? LocalPart
472</p><p>
473[NS 6] Prefix ::= NCName
474</p><p>
475[NS 7] LocalPart ::= NCName</p><p>
476
477</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
478</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td> an XML parser context
479</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td> a xmlChar **
480</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the local part, and prefix is updated
481 to get the Prefix if any.
482</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNamespaceParseNCName"></a>xmlNamespaceParseNCName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlNamespaceParseNCName (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
483parse an XML namespace name.
484</p><p>
485TODO: this seems not in use anymore, the namespace handling is done on
486 top of the SAX interfaces, i.e. not on raw input.
487</p><p>
488[NS 3] NCName ::= (Letter | '_') (NCNameChar)*
489</p><p>
490[NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' |
491 CombiningChar | Extender</p><p>
492
493</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
494</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the namespace name or NULL
495</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNamespaceParseQName"></a>xmlNamespaceParseQName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlNamespaceParseQName (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
496 <a href="libxml-tree.html#xmlChar">xmlChar</a> **prefix);</pre><p>
497TODO: this seems not in use anymore, the namespace handling is done on
498 top of the SAX interfaces, i.e. not on raw input.
499</p><p>
500parse an XML qualified name
501</p><p>
502[NS 5] QName ::= (Prefix ':')? LocalPart
503</p><p>
504[NS 6] Prefix ::= NCName
505</p><p>
506[NS 7] LocalPart ::= NCName</p><p>
507
508</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
509</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td> a xmlChar **
510</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the local part, and prefix is updated
511 to get the Prefix if any.
512</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNamespaceParseNSDef"></a>xmlNamespaceParseNSDef ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlNamespaceParseNSDef (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
513parse a namespace prefix declaration
514</p><p>
515TODO: this seems not in use anymore, the namespace handling is done on
516 top of the SAX interfaces, i.e. not on raw input.
517</p><p>
518[NS 1] NSDef ::= PrefixDef Eq SystemLiteral
519</p><p>
520[NS 2] PrefixDef ::= 'xmlns' (':' NCName)?</p><p>
521
522</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
523</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the namespace name
524</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseQuotedString"></a>xmlParseQuotedString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseQuotedString (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
525Parse and return a string between quotes or doublequotes
526</p><p>
527TODO: Deprecated, to be removed at next drop of binary compatibility</p><p>
528
529</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
530</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the string parser or NULL.
531</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseNamespace"></a>xmlParseNamespace ()</h3><pre class="programlisting">void xmlParseNamespace (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
532xmlParseNamespace: parse specific PI '&lt;?namespace ...' constructs.
533</p><p>
534This is what the older xml-name Working Draft specified, a bunch of
535other stuff may still rely on it, so support is still here as
536if it was declared on the root of the Tree:-(
537</p><p>
538TODO: remove from library
539</p><p>
540To be removed at next drop of binary compatibility</p><p>
541
542</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
543</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlScanName"></a>xmlScanName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlScanName (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
544Trickery: parse an XML name but without consuming the input flow
545Needed for rollback cases. Used only when parsing entities references.
546</p><p>
547TODO: seems deprecated now, only used in the default part of
548 xmlParserHandleReference
549</p><p>
550[4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
551 CombiningChar | Extender
552</p><p>
553[5] Name ::= (Letter | '_' | ':') (NameChar)*
554</p><p>
555[6] Names ::= Name (S Name)*</p><p>
556
557</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
558</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the Name parsed or NULL
559</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseName"></a>xmlParseName ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseName (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
560parse an XML name.
561</p><p>
562[4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
563 CombiningChar | Extender
564</p><p>
565[5] Name ::= (Letter | '_' | ':') (NameChar)*
566</p><p>
567[6] Names ::= Name (S Name)*</p><p>
568
569</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
570</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the Name parsed or NULL
571</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseNmtoken"></a>xmlParseNmtoken ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseNmtoken (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
572parse an XML Nmtoken.
573</p><p>
574[7] Nmtoken ::= (NameChar)+
575</p><p>
576[8] Nmtokens ::= Nmtoken (S Nmtoken)*</p><p>
577
578</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
579</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the Nmtoken parsed or NULL
580</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEntityValue"></a>xmlParseEntityValue ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseEntityValue (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
581 <a href="libxml-tree.html#xmlChar">xmlChar</a> **orig);</pre><p>
582parse a value for ENTITY declarations
583</p><p>
584[9] EntityValue ::= '"' ([^%&amp;"] | PEReference | Reference)* '"' |
585 "'" ([^%&amp;'] | PEReference | Reference)* "'"</p><p>
586
587</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
588</td></tr><tr><td><span class="term"><i><tt>orig</tt></i>:</span></td><td> if non-NULL store a copy of the original entity value
589</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the EntityValue parsed with reference substituted or NULL
590</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseAttValue"></a>xmlParseAttValue ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseAttValue (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
591parse a value for an attribute
592Note: the parser won't do substitution of entities here, this
593will be handled later in xmlStringGetNodeList
594</p><p>
595[10] AttValue ::= '"' ([^&lt;&amp;"] | Reference)* '"' |
596 "'" ([^&lt;&amp;'] | Reference)* "'"
597</p><p>
5983.3.3 Attribute-Value Normalization:
599Before the value of an attribute is passed to the application or
600checked for validity, the XML processor must normalize it as follows:
601- a character reference is processed by appending the referenced
602 character to the attribute value
603- an entity reference is processed by recursively processing the
604 replacement text of the entity
605- a whitespace character (<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>, <GTKDOCLINK HREF="xD">xD</GTKDOCLINK>, <GTKDOCLINK HREF="xA">xA</GTKDOCLINK>, <GTKDOCLINK HREF="x9">x9</GTKDOCLINK>) is processed by
606 appending <GTKDOCLINK HREF="x20">x20</GTKDOCLINK> to the normalized value, except that only a single
607 <GTKDOCLINK HREF="x20">x20</GTKDOCLINK> is appended for a "<GTKDOCLINK HREF="xD">xD</GTKDOCLINK><GTKDOCLINK HREF="xA">xA</GTKDOCLINK>" sequence that is part of an external
608 parsed entity or the literal entity value of an internal parsed entity
609- other characters are processed by appending them to the normalized value
610If the declared value is not CDATA, then the XML processor must further
611process the normalized attribute value by discarding any leading and
612trailing space (<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>) characters, and by replacing sequences of space
613(<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>) characters by a single space (<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>) character.
614All attributes for which no declaration has been read should be treated
615by a non-validating parser as if declared CDATA.</p><p>
616
617</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
618</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the AttValue parsed or NULL. The value has to be freed by the caller.
619</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseSystemLiteral"></a>xmlParseSystemLiteral ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseSystemLiteral (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
620parse an XML Literal
621</p><p>
622[11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")</p><p>
623
624</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
625</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the SystemLiteral parsed or NULL
626</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParsePubidLiteral"></a>xmlParsePubidLiteral ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParsePubidLiteral (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
627parse an XML public literal
628</p><p>
629[12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"</p><p>
630
631</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
632</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the PubidLiteral parsed or NULL.
633</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseCharData"></a>xmlParseCharData ()</h3><pre class="programlisting">void xmlParseCharData (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
634 int cdata);</pre><p>
635parse a CharData section.
636if we are within a CDATA section ']]&gt;' marks an end of section.
637</p><p>
638The right angle bracket (&gt;) may be represented using the string "&amp;gt;",
639and must, for compatibility, be escaped using "&amp;gt;" or a character
640reference when it appears in the string "]]&gt;" in content, when that
641string is not marking the end of a CDATA section.
642</p><p>
643[14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</p><p>
644
645</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
646</td></tr><tr><td><span class="term"><i><tt>cdata</tt></i>:</span></td><td> int indicating whether we are within a CDATA section
647</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseExternalID"></a>xmlParseExternalID ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseExternalID (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
648 <a href="libxml-tree.html#xmlChar">xmlChar</a> **publicID,
649 int strict);</pre><p>
650Parse an External ID or a Public ID
651</p><p>
652NOTE: Productions [75] and [83] interact badly since [75] can generate
653 'PUBLIC' S PubidLiteral S SystemLiteral
654</p><p>
655[75] ExternalID ::= 'SYSTEM' S SystemLiteral
656 | 'PUBLIC' S PubidLiteral S SystemLiteral
657</p><p>
658[83] PublicID ::= 'PUBLIC' S PubidLiteral</p><p>
659
660</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
661</td></tr><tr><td><span class="term"><i><tt>publicID</tt></i>:</span></td><td> a xmlChar** receiving PubidLiteral
662</td></tr><tr><td><span class="term"><i><tt>strict</tt></i>:</span></td><td> indicate whether we should restrict parsing to only
663 production [75], see NOTE below
664</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the function returns SystemLiteral and in the second
665 case publicID receives PubidLiteral, is strict is off
666 it is possible to return NULL and have publicID set.
667</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseComment"></a>xmlParseComment ()</h3><pre class="programlisting">void xmlParseComment (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
668Skip an XML (SGML) comment &lt;!-- .... --&gt;
669 The spec says that "For compatibility, the string "--" (double-hyphen)
670 must not occur within comments. "
671</p><p>
672[15] Comment ::= '&lt;!--' ((Char - '-') | ('-' (Char - '-')))* '--&gt;'</p><p>
673
674</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
675</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParsePITarget"></a>xmlParsePITarget ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParsePITarget (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
676parse the name of a PI
677</p><p>
678[17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))</p><p>
679
680</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
681</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the PITarget name or NULL
682</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParsePI"></a>xmlParsePI ()</h3><pre class="programlisting">void xmlParsePI (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
683parse an XML Processing Instruction.
684</p><p>
685[16] PI ::= '&lt;?' PITarget (S (Char* - (Char* '?&gt;' Char*)))? '?&gt;'
686</p><p>
687The processing is transfered to SAX once parsed.</p><p>
688
689</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
690</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseNotationDecl"></a>xmlParseNotationDecl ()</h3><pre class="programlisting">void xmlParseNotationDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
691parse a notation declaration
692</p><p>
693[82] NotationDecl ::= '&lt;!NOTATION' S Name S (ExternalID | PublicID) S? '&gt;'
694</p><p>
695Hence there is actually 3 choices:
696 'PUBLIC' S PubidLiteral
697 'PUBLIC' S PubidLiteral S SystemLiteral
698and 'SYSTEM' S SystemLiteral
699</p><p>
700See the NOTE on <a href="libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a>().</p><p>
701
702</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
703</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEntityDecl"></a>xmlParseEntityDecl ()</h3><pre class="programlisting">void xmlParseEntityDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
704parse &lt;!ENTITY declarations
705</p><p>
706[70] EntityDecl ::= GEDecl | PEDecl
707</p><p>
708[71] GEDecl ::= '&lt;!ENTITY' S Name S EntityDef S? '&gt;'
709</p><p>
710[72] PEDecl ::= '&lt;!ENTITY' S '%' S Name S PEDef S? '&gt;'
711</p><p>
712[73] EntityDef ::= EntityValue | (ExternalID NDataDecl?)
713</p><p>
714[74] PEDef ::= EntityValue | ExternalID
715</p><p>
716[76] NDataDecl ::= S 'NDATA' S Name
717</p><p>
718[ VC: Notation Declared ]
719The Name must match the declared name of a notation.</p><p>
720
721</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
722</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseDefaultDecl"></a>xmlParseDefaultDecl ()</h3><pre class="programlisting">int xmlParseDefaultDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
723 <a href="libxml-tree.html#xmlChar">xmlChar</a> **value);</pre><p>
724Parse an attribute default declaration
725</p><p>
726[60] DefaultDecl ::= '<GTKDOCLINK HREF="REQUIRED-CAPS">REQUIRED</GTKDOCLINK>' | '<GTKDOCLINK HREF="IMPLIED-CAPS">IMPLIED</GTKDOCLINK>' | (('<GTKDOCLINK HREF="FIXED-CAPS">FIXED</GTKDOCLINK>' S)? AttValue)
727</p><p>
728[ VC: Required Attribute ]
729if the default declaration is the keyword <GTKDOCLINK HREF="REQUIRED-CAPS">REQUIRED</GTKDOCLINK>, then the
730attribute must be specified for all elements of the type in the
731attribute-list declaration.
732</p><p>
733[ VC: Attribute Default Legal ]
734The declared default value must meet the lexical constraints of
735the declared attribute type c.f. <a href="libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a>()
736</p><p>
737[ VC: Fixed Attribute Default ]
738if an attribute has a default value declared with the <GTKDOCLINK HREF="FIXED-CAPS">FIXED</GTKDOCLINK>
739keyword, instances of that attribute must match the default value.
740</p><p>
741[ WFC: No &lt; in Attribute Values ]
742handled in <a href="libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a>()</p><p>
743
744</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
745</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td> Receive a possible fixed default value for the attribute
746</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, XML_ATTRIBUTE_IMPLIED
747 or XML_ATTRIBUTE_FIXED.
748</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseNotationType"></a>xmlParseNotationType ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> xmlParseNotationType (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
749parse an Notation attribute type.
750</p><p>
751Note: the leading 'NOTATION' S part has already being parsed...
752</p><p>
753[58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'
754</p><p>
755[ VC: Notation Attributes ]
756Values of this type must match one of the notation names included
757in the declaration; all notation names in the declaration must be declared.</p><p>
758
759</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
760</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the notation attribute tree built while parsing
761</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEnumerationType"></a>xmlParseEnumerationType ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> xmlParseEnumerationType (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
762parse an Enumeration attribute type.
763</p><p>
764[59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')'
765</p><p>
766[ VC: Enumeration ]
767Values of this type must match one of the Nmtoken tokens in
768the declaration</p><p>
769
770</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
771</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the enumeration attribute tree built while parsing
772</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEnumeratedType"></a>xmlParseEnumeratedType ()</h3><pre class="programlisting">int xmlParseEnumeratedType (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
773 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> *tree);</pre><p>
774parse an Enumerated attribute type.
775</p><p>
776[57] EnumeratedType ::= NotationType | Enumeration
777</p><p>
778[58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'</p><p>
779
780</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
781</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td> the enumeration tree built while parsing
782</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> XML_ATTRIBUTE_ENUMERATION or XML_ATTRIBUTE_NOTATION
783</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseAttributeType"></a>xmlParseAttributeType ()</h3><pre class="programlisting">int xmlParseAttributeType (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
784 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> *tree);</pre><p>
785parse the Attribute list def for an element
786</p><p>
787[54] AttType ::= StringType | TokenizedType | EnumeratedType
788</p><p>
789[55] StringType ::= 'CDATA'
790</p><p>
791[56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' |
792 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS'
793</p><p>
794Validity constraints for attribute values syntax are checked in
795<a href="libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a>()
796</p><p>
797[ VC: ID ]
798Values of type ID must match the Name production. A name must not
799appear more than once in an XML document as a value of this type;
800i.e., ID values must uniquely identify the elements which bear them.
801</p><p>
802[ VC: One ID per Element Type ]
803No element type may have more than one ID attribute specified.
804</p><p>
805[ VC: ID Attribute Default ]
806An ID attribute must have a declared default of <GTKDOCLINK HREF="IMPLIED-CAPS">IMPLIED</GTKDOCLINK> or <GTKDOCLINK HREF="REQUIRED-CAPS">REQUIRED</GTKDOCLINK>.
807</p><p>
808[ VC: IDREF ]
809Values of type IDREF must match the Name production, and values
810of type IDREFS must match Names; each IDREF Name must match the value
811of an ID attribute on some element in the XML document; i.e. IDREF
812values must match the value of some ID attribute.
813</p><p>
814[ VC: Entity Name ]
815Values of type ENTITY must match the Name production, values
816of type ENTITIES must match Names; each Entity Name must match the
817name of an unparsed entity declared in the DTD.
818</p><p>
819[ VC: Name Token ]
820Values of type NMTOKEN must match the Nmtoken production; values
821of type NMTOKENS must match Nmtokens.</p><p>
822
823</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
824</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td> the enumeration tree built while parsing
825</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the attribute type
826</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseAttributeListDecl"></a>xmlParseAttributeListDecl ()</h3><pre class="programlisting">void xmlParseAttributeListDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
827: parse the Attribute list def for an element
828</p><p>
829[52] AttlistDecl ::= '&lt;!ATTLIST' S Name AttDef* S? '&gt;'
830</p><p>
831[53] AttDef ::= S Name S AttType S DefaultDecl</p><p>
832
833</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
834</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseElementContentDecl"></a>xmlParseElementContentDecl ()</h3><pre class="programlisting">int xmlParseElementContentDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
835 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
836 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> *result);</pre><p>
837parse the declaration for an Element content either Mixed or Children,
838the cases EMPTY and ANY are handled directly in xmlParseElementDecl
839</p><p>
840[46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children</p><p>
841
842</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
843</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td> the name of the element being defined.
844</td></tr><tr><td><span class="term"><i><tt>result</tt></i>:</span></td><td> the Element Content pointer will be stored here if any
845</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the type of element content XML_ELEMENT_TYPE_xxx
846</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseElementDecl"></a>xmlParseElementDecl ()</h3><pre class="programlisting">int xmlParseElementDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
847parse an Element declaration.
848</p><p>
849[45] elementdecl ::= '&lt;!ELEMENT' S Name S contentspec S? '&gt;'
850</p><p>
851[ VC: Unique Element Type Declaration ]
852No element type may be declared more than once</p><p>
853
854</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
855</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the type of the element, or -1 in case of error
856</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseMarkupDecl"></a>xmlParseMarkupDecl ()</h3><pre class="programlisting">void xmlParseMarkupDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
857parse Markup declarations
858</p><p>
859[29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl |
860 NotationDecl | PI | Comment
861</p><p>
862[ VC: Proper Declaration/PE Nesting ]
863Parameter-entity replacement text must be properly nested with
864markup declarations. That is to say, if either the first character
865or the last character of a markup declaration (markupdecl above) is
866contained in the replacement text for a parameter-entity reference,
867both must be contained in the same replacement text.
868</p><p>
869[ WFC: PEs in Internal Subset ]
870In the internal DTD subset, parameter-entity references can occur
871only where markup declarations can occur, not within markup declarations.
872(This does not apply to references that occur in external parameter
873entities or to the external subset.)</p><p>
874
875</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
876</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseCharRef"></a>xmlParseCharRef ()</h3><pre class="programlisting">int xmlParseCharRef (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
877parse Reference declarations
878</p><p>
879[66] CharRef ::= '&amp;#' [0-9]+ ';' |
880 '&amp;<GTKDOCLINK HREF="x">x</GTKDOCLINK>' [0-9a-fA-F]+ ';'
881</p><p>
882[ WFC: Legal Character ]
883Characters referred to using character references must match the
884production for Char.</p><p>
885
886</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
887</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the value parsed (as an int), 0 in case of error
888</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEntityRef"></a>xmlParseEntityRef ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> xmlParseEntityRef (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
889parse ENTITY references declarations
890</p><p>
891[68] EntityRef ::= '&amp;' Name ';'
892</p><p>
893[ WFC: Entity Declared ]
894In a document without any DTD, a document with only an internal DTD
895subset which contains no parameter entity references, or a document
896with "standalone='yes'", the Name given in the entity reference
897must match that in an entity declaration, except that well-formed
898documents need not declare any of the following entities: amp, lt,
899gt, apos, quot. The declaration of a parameter entity must precede
900any reference to it. Similarly, the declaration of a general entity
901must precede any reference to it which appears in a default value in an
902attribute-list declaration. Note that if entities are declared in the
903external subset or in external parameter entities, a non-validating
904processor is not obligated to read and process their declarations;
905for such documents, the rule that an entity must be declared is a
906well-formedness constraint only if standalone='yes'.
907</p><p>
908[ WFC: Parsed Entity ]
909An entity reference must not contain the name of an unparsed entity</p><p>
910
911</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
912</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlEntityPtr if found, or NULL otherwise.
913</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseReference"></a>xmlParseReference ()</h3><pre class="programlisting">void xmlParseReference (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
914parse and handle entity references in content, depending on the SAX
915interface, this may end-up in a call to <GTKDOCLINK HREF="character">character</GTKDOCLINK>() if this is a
916CharRef, a predefined entity, if there is no <a href="libxml-SAX.html#reference">reference</a>() callback.
917or if the parser was asked to switch to that mode.
918</p><p>
919[67] Reference ::= EntityRef | CharRef</p><p>
920
921</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
922</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParsePEReference"></a>xmlParsePEReference ()</h3><pre class="programlisting">void xmlParsePEReference (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
923parse PEReference declarations
924The entity content is handled directly by pushing it's content as
925a new input stream.
926</p><p>
927[69] PEReference ::= '%' Name ';'
928</p><p>
929[ WFC: No Recursion ]
930A parsed entity must not contain a recursive
931reference to itself, either directly or indirectly.
932</p><p>
933[ WFC: Entity Declared ]
934In a document without any DTD, a document with only an internal DTD
935subset which contains no parameter entity references, or a document
936with "standalone='yes'", ... ... The declaration of a parameter
937entity must precede any reference to it...
938</p><p>
939[ VC: Entity Declared ]
940In a document with an external subset or external parameter entities
941with "standalone='no'", ... ... The declaration of a parameter entity
942must precede any reference to it...
943</p><p>
944[ WFC: In DTD ]
945Parameter-entity references may only appear in the DTD.
946NOTE: misleading but this is handled.</p><p>
947
948</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
949</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseDocTypeDecl"></a>xmlParseDocTypeDecl ()</h3><pre class="programlisting">void xmlParseDocTypeDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
950parse a DOCTYPE declaration
951</p><p>
952[28] doctypedecl ::= '&lt;!DOCTYPE' S Name (S ExternalID)? S?
953 ('[' (markupdecl | PEReference | S)* ']' S?)? '&gt;'
954</p><p>
955[ VC: Root Element Type ]
956The Name in the document type declaration must match the element
957type of the root element.</p><p>
958
959</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
960</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseAttribute"></a>xmlParseAttribute ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseAttribute (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
961 <a href="libxml-tree.html#xmlChar">xmlChar</a> **value);</pre><p>
962parse an attribute
963</p><p>
964[41] Attribute ::= Name Eq AttValue
965</p><p>
966[ WFC: No External Entity References ]
967Attribute values cannot contain direct or indirect entity references
968to external entities.
969</p><p>
970[ WFC: No &lt; in Attribute Values ]
971The replacement text of any entity referred to directly or indirectly in
972an attribute value (other than "&amp;lt;") must not contain a &lt;.
973</p><p>
974[ VC: Attribute Value Type ]
975The attribute must have been declared; the value must be of the type
976declared for it.
977</p><p>
978[25] Eq ::= S? '=' S?
979</p><p>
980With namespace:
981</p><p>
982[NS 11] Attribute ::= QName Eq AttValue
983</p><p>
984Also the case QName == xmlns:??? is handled independently as a namespace
985definition.</p><p>
986
987</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
988</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td> a xmlChar ** used to store the value of the attribute
989</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the attribute name, and the value in *value.
990</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseStartTag"></a>xmlParseStartTag ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseStartTag (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
991parse a start of tag either for rule element or
992EmptyElement. In both case we don't parse the tag closing chars.
993</p><p>
994[40] STag ::= '&lt;' Name (S Attribute)* S? '&gt;'
995</p><p>
996[ WFC: Unique Att Spec ]
997No attribute name may appear more than once in the same start-tag or
998empty-element tag.
999</p><p>
1000[44] EmptyElemTag ::= '&lt;' Name (S Attribute)* S? '/&gt;'
1001</p><p>
1002[ WFC: Unique Att Spec ]
1003No attribute name may appear more than once in the same start-tag or
1004empty-element tag.
1005</p><p>
1006With namespace:
1007</p><p>
1008[NS 8] STag ::= '&lt;' QName (S Attribute)* S? '&gt;'
1009</p><p>
1010[NS 10] EmptyElement ::= '&lt;' QName (S Attribute)* S? '/&gt;'</p><p>
1011
1012</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1013</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the element name parsed
1014</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEndTag"></a>xmlParseEndTag ()</h3><pre class="programlisting">void xmlParseEndTag (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1015parse an end of tag
1016</p><p>
1017[42] ETag ::= '&lt;/' Name S? '&gt;'
1018</p><p>
1019With namespace
1020</p><p>
1021[NS 9] ETag ::= '&lt;/' QName S? '&gt;'</p><p>
1022
1023</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1024</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseCDSect"></a>xmlParseCDSect ()</h3><pre class="programlisting">void xmlParseCDSect (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1025Parse escaped pure raw content.
1026</p><p>
1027[18] CDSect ::= CDStart CData CDEnd
1028</p><p>
1029[19] CDStart ::= '&lt;![CDATA['
1030</p><p>
1031[20] Data ::= (Char* - (Char* ']]&gt;' Char*))
1032</p><p>
1033[21] CDEnd ::= ']]&gt;'</p><p>
1034
1035</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1036</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseContent"></a>xmlParseContent ()</h3><pre class="programlisting">void xmlParseContent (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1037Parse a content:
1038</p><p>
1039[43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p><p>
1040
1041</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1042</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseElement"></a>xmlParseElement ()</h3><pre class="programlisting">void xmlParseElement (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1043parse an XML element, this is highly recursive
1044</p><p>
1045[39] element ::= EmptyElemTag | STag content ETag
1046</p><p>
1047[ WFC: Element Type Match ]
1048The Name in an element's end-tag must match the element type in the
1049start-tag.</p><p>
1050
1051</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1052</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseVersionNum"></a>xmlParseVersionNum ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseVersionNum (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1053parse the XML version value.
1054</p><p>
1055[26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')+</p><p>
1056
1057</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1058</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the string giving the XML version number, or NULL
1059</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseVersionInfo"></a>xmlParseVersionInfo ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseVersionInfo (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1060parse the XML version.
1061</p><p>
1062[24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ")
1063</p><p>
1064[25] Eq ::= S? '=' S?</p><p>
1065
1066</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1067</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the version string, e.g. "1.0"
1068</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEncName"></a>xmlParseEncName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseEncName (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1069parse the XML encoding name
1070</p><p>
1071[81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*</p><p>
1072
1073</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1074</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the encoding name value or NULL
1075</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEncodingDecl"></a>xmlParseEncodingDecl ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseEncodingDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1076parse the XML encoding declaration
1077</p><p>
1078[80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'" EncName "'")
1079</p><p>
1080this setups the conversion filters.</p><p>
1081
1082</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1083</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the encoding value or NULL
1084</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseSDDecl"></a>xmlParseSDDecl ()</h3><pre class="programlisting">int xmlParseSDDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1085parse the XML standalone declaration
1086</p><p>
1087[32] SDDecl ::= S 'standalone' Eq
1088 (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no')'"'))
1089</p><p>
1090[ VC: Standalone Document Declaration ]
1091TODO The standalone document declaration must have the value "no"
1092if any external markup declarations contain declarations of:
1093 - attributes with default values, if elements to which these
1094 attributes apply appear in the document without specifications
1095 of values for these attributes, or
1096 - entities (other than amp, lt, gt, apos, quot), if references
1097 to those entities appear in the document, or
1098 - attributes with values subject to normalization, where the
1099 attribute appears in the document with a value which will change
1100 as a result of normalization, or
1101 - element types with element content, if white space occurs directly
1102 within any instance of those types.</p><p>
1103
1104</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1105</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if standalone, 0 otherwise
1106</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseXMLDecl"></a>xmlParseXMLDecl ()</h3><pre class="programlisting">void xmlParseXMLDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1107parse an XML declaration header
1108</p><p>
1109[23] XMLDecl ::= '&lt;?xml' VersionInfo EncodingDecl? SDDecl? S? '?&gt;'</p><p>
1110
1111</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1112</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseTextDecl"></a>xmlParseTextDecl ()</h3><pre class="programlisting">void xmlParseTextDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1113parse an XML declaration header for external entities
1114</p><p>
1115[77] TextDecl ::= '&lt;?xml' VersionInfo? EncodingDecl S? '?&gt;'
1116</p><p>
1117Question: Seems that EncodingDecl is mandatory ? Is that a typo ?</p><p>
1118
1119</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1120</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseMisc"></a>xmlParseMisc ()</h3><pre class="programlisting">void xmlParseMisc (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1121parse an XML Misc* optional field.
1122</p><p>
1123[27] Misc ::= Comment | PI | S</p><p>
1124
1125</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1126</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseExternalSubset"></a>xmlParseExternalSubset ()</h3><pre class="programlisting">void xmlParseExternalSubset (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1127 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
1128 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
1129parse Markup declarations from an external subset
1130</p><p>
1131[30] extSubset ::= textDecl? extSubsetDecl
1132</p><p>
1133[31] extSubsetDecl ::= (markupdecl | conditionalSect | PEReference | S) *</p><p>
1134
1135</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1136</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td> the external identifier
1137</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td> the system identifier (or URL)
William M. Brack2ad1dff2003-11-15 10:35:20 +00001138</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="XML-SUBSTITUTE-NONE-CAPS"></a>XML_SUBSTITUTE_NONE</h3><pre class="programlisting">#define XML_SUBSTITUTE_NONE 0
Daniel Veillardd7cec922003-06-13 12:30:10 +00001139</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +00001140If no entities need to be substituted.</p><p>
1141
William M. Brack2ad1dff2003-11-15 10:35:20 +00001142</p></div><hr><div class="refsect2"><h3><a name="XML-SUBSTITUTE-REF-CAPS"></a>XML_SUBSTITUTE_REF</h3><pre class="programlisting">#define XML_SUBSTITUTE_REF 1
Daniel Veillardd7cec922003-06-13 12:30:10 +00001143</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +00001144Whether general entities need to be substituted.</p><p>
1145
William M. Brack2ad1dff2003-11-15 10:35:20 +00001146</p></div><hr><div class="refsect2"><h3><a name="XML-SUBSTITUTE-PEREF-CAPS"></a>XML_SUBSTITUTE_PEREF</h3><pre class="programlisting">#define XML_SUBSTITUTE_PEREF 2
Daniel Veillardd7cec922003-06-13 12:30:10 +00001147</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +00001148Whether parameter entities need to be substituted.</p><p>
1149
William M. Brack2ad1dff2003-11-15 10:35:20 +00001150</p></div><hr><div class="refsect2"><h3><a name="XML-SUBSTITUTE-BOTH-CAPS"></a>XML_SUBSTITUTE_BOTH</h3><pre class="programlisting">#define XML_SUBSTITUTE_BOTH 3
Daniel Veillardd7cec922003-06-13 12:30:10 +00001151</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +00001152Both general and parameter entities need to be substituted.</p><p>
1153
William M. Brack60f394e2003-11-16 06:25:42 +00001154</p></div><hr><div class="refsect2"><h3><a name="xmlDecodeEntities"></a>xmlDecodeEntities ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlDecodeEntities (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1155 int len,
1156 int what,
1157 <a href="libxml-tree.html#xmlChar">xmlChar</a> end,
1158 <a href="libxml-tree.html#xmlChar">xmlChar</a> end2,
1159 <a href="libxml-tree.html#xmlChar">xmlChar</a> end3);</pre><p>
1160This function is deprecated, we now always process entities content
1161through xmlStringDecodeEntities
1162</p><p>
1163TODO: remove it in next major release.
1164</p><p>
1165[67] Reference ::= EntityRef | CharRef
1166</p><p>
1167[69] PEReference ::= '%' Name ';'</p><p>
1168
1169</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> the parser context
1170</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td> the len to decode (in bytes !), -1 for no size limit
1171</td></tr><tr><td><span class="term"><i><tt>what</tt></i>:</span></td><td> combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
1172</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td> an end marker xmlChar, 0 if none
1173</td></tr><tr><td><span class="term"><i><tt>end2</tt></i>:</span></td><td> an end marker xmlChar, 0 if none
1174</td></tr><tr><td><span class="term"><i><tt>end3</tt></i>:</span></td><td> an end marker xmlChar, 0 if none
1175</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>A newly allocated string with the substitution done. The caller
1176 must deallocate it !
1177</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStringDecodeEntities"></a>xmlStringDecodeEntities ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlStringDecodeEntities (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1178 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
1179 int what,
1180 <a href="libxml-tree.html#xmlChar">xmlChar</a> end,
1181 <a href="libxml-tree.html#xmlChar">xmlChar</a> end2,
1182 <a href="libxml-tree.html#xmlChar">xmlChar</a> end3);</pre><p>
1183Takes a entity string content and process to do the adequate substitutions.
1184</p><p>
1185[67] Reference ::= EntityRef | CharRef
1186</p><p>
1187[69] PEReference ::= '%' Name ';'</p><p>
1188
1189</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> the parser context
1190</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td> the input string
1191</td></tr><tr><td><span class="term"><i><tt>what</tt></i>:</span></td><td> combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
1192</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td> an end marker xmlChar, 0 if none
1193</td></tr><tr><td><span class="term"><i><tt>end2</tt></i>:</span></td><td> an end marker xmlChar, 0 if none
1194</td></tr><tr><td><span class="term"><i><tt>end3</tt></i>:</span></td><td> an end marker xmlChar, 0 if none
1195</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>A newly allocated string with the substitution done. The caller
1196 must deallocate it !
1197</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStringLenDecodeEntities"></a>xmlStringLenDecodeEntities ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlStringLenDecodeEntities (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1198 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
1199 int len,
1200 int what,
1201 <a href="libxml-tree.html#xmlChar">xmlChar</a> end,
1202 <a href="libxml-tree.html#xmlChar">xmlChar</a> end2,
1203 <a href="libxml-tree.html#xmlChar">xmlChar</a> end3);</pre><p>
1204Takes a entity string content and process to do the adequate substitutions.
1205</p><p>
1206[67] Reference ::= EntityRef | CharRef
1207</p><p>
1208[69] PEReference ::= '%' Name ';'</p><p>
1209
1210</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> the parser context
1211</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td> the input string
1212</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td> the string length
1213</td></tr><tr><td><span class="term"><i><tt>what</tt></i>:</span></td><td> combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
1214</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td> an end marker xmlChar, 0 if none
1215</td></tr><tr><td><span class="term"><i><tt>end2</tt></i>:</span></td><td> an end marker xmlChar, 0 if none
1216</td></tr><tr><td><span class="term"><i><tt>end3</tt></i>:</span></td><td> an end marker xmlChar, 0 if none
1217</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>A newly allocated string with the substitution done. The caller
1218 must deallocate it !
1219</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="nodePush"></a>nodePush ()</h3><pre class="programlisting">int nodePush (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1220 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> value);</pre><p>
1221Pushes a new element node on top of the node stack</p><p>
1222
1223</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1224</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td> the element node
1225</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of error, the index in the stack otherwise
1226</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="nodePop"></a>nodePop ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> nodePop (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1227Pops the top element node from the node stack</p><p>
1228
1229</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1230</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the node just removed
1231</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="inputPush"></a>inputPush ()</h3><pre class="programlisting">int inputPush (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1232 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value);</pre><p>
1233Pushes a new parser input on top of the input stack</p><p>
1234
1235</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1236</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td> the parser input
1237</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of error, the index in the stack otherwise
1238</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="inputPop"></a>inputPop ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> inputPop (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1239Pops the top parser input from the input stack</p><p>
1240
1241</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1242</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the input just removed
1243</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="namePop"></a>namePop ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* namePop (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1244Pops the top element name from the name stack</p><p>
1245
1246</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1247</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the name just removed
1248</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="namePush"></a>namePush ()</h3><pre class="programlisting">int namePush (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1249 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
1250Pushes a new element name on top of the name stack</p><p>
1251
1252</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
1253</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td> the element name
1254</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 in case of error, the index in the stack otherwise
1255</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSkipBlankChars"></a>xmlSkipBlankChars ()</h3><pre class="programlisting">int xmlSkipBlankChars (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1256skip all blanks character found at that point in the input streams.
1257It pops up finished entities in the process if allowable at that point.</p><p>
1258
1259</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> the XML parser context
1260</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of space chars skipped
1261</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStringCurrentChar"></a>xmlStringCurrentChar ()</h3><pre class="programlisting">int xmlStringCurrentChar (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1262 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
1263 int *len);</pre><p>
1264The current char value, if using UTF-8 this may actually span multiple
1265bytes in the input buffer.</p><p>
1266
1267</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> the XML parser context
1268</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td> pointer to the beginning of the char
1269</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td> pointer to the length of the char read
1270</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the current char value and its length
1271</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserHandlePEReference"></a>xmlParserHandlePEReference ()</h3><pre class="programlisting">void xmlParserHandlePEReference (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1272[69] PEReference ::= '%' Name ';'
1273</p><p>
1274[ WFC: No Recursion ]
1275A parsed entity must not contain a recursive
1276reference to itself, either directly or indirectly.
1277</p><p>
1278[ WFC: Entity Declared ]
1279In a document without any DTD, a document with only an internal DTD
1280subset which contains no parameter entity references, or a document
1281with "standalone='yes'", ... ... The declaration of a parameter
1282entity must precede any reference to it...
1283</p><p>
1284[ VC: Entity Declared ]
1285In a document with an external subset or external parameter entities
1286with "standalone='no'", ... ... The declaration of a parameter entity
1287must precede any reference to it...
1288</p><p>
1289[ WFC: In DTD ]
1290Parameter-entity references may only appear in the DTD.
1291NOTE: misleading but this is handled.
1292</p><p>
1293A PEReference may have been detected in the current input stream
1294the handling is done accordingly to
1295 http://www.w3.org/TR/REC-xml<GTKDOCLINK HREF="entproc">entproc</GTKDOCLINK>
1296i.e.
1297 - Included in literal in entity values
1298 - Included as Parameter Entity reference within DTDs</p><p>
1299
1300</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> the parser context
1301</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserHandleReference"></a>xmlParserHandleReference ()</h3><pre class="programlisting">void xmlParserHandleReference (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1302TODO: Remove, now deprecated ... the test is done directly in the
1303 content parsing
1304routines.
1305</p><p>
1306[67] Reference ::= EntityRef | CharRef
1307</p><p>
1308[68] EntityRef ::= '&amp;' Name ';'
1309</p><p>
1310[ WFC: Entity Declared ]
1311the Name given in the entity reference must match that in an entity
1312declaration, except that well-formed documents need not declare any
1313of the following entities: amp, lt, gt, apos, quot.
1314</p><p>
1315[ WFC: Parsed Entity ]
1316An entity reference must not contain the name of an unparsed entity
1317</p><p>
1318[66] CharRef ::= '&amp;#' [0-9]+ ';' |
1319 '&amp;<GTKDOCLINK HREF="x">x</GTKDOCLINK>' [0-9a-fA-F]+ ';'
1320</p><p>
1321A PEReference may have been detected in the current input stream
1322the handling is done accordingly to
1323 http://www.w3.org/TR/REC-xml<GTKDOCLINK HREF="entproc">entproc</GTKDOCLINK></p><p>
1324
1325</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> the parser context
1326</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCheckLanguageID"></a>xmlCheckLanguageID ()</h3><pre class="programlisting">int xmlCheckLanguageID (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *lang);</pre><p>
1327Checks that the value conforms to the LanguageID production:
1328</p><p>
1329NOTE: this is somewhat deprecated, those productions were removed from
1330 the XML Second edition.
1331</p><p>
1332[33] LanguageID ::= Langcode ('-' Subcode)*
1333[34] Langcode ::= ISO639Code | IanaCode | UserCode
1334[35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z])
1335[36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+
1336[37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+
1337[38] Subcode ::= ([a-z] | [A-Z])+</p><p>
1338
1339</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>lang</tt></i>:</span></td><td> pointer to the string value
1340</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if correct 0 otherwise
1341</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCurrentChar"></a>xmlCurrentChar ()</h3><pre class="programlisting">int xmlCurrentChar (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1342 int *len);</pre><p>
1343The current char value, if using UTF-8 this may actually span multiple
1344bytes in the input buffer. Implement the end of line normalization:
13452.11 End-of-Line Handling
1346Wherever an external parsed entity or the literal entity value
1347of an internal parsed entity contains either the literal two-character
1348sequence "<GTKDOCLINK HREF="xD">xD</GTKDOCLINK><GTKDOCLINK HREF="xA">xA</GTKDOCLINK>" or a standalone literal <GTKDOCLINK HREF="xD">xD</GTKDOCLINK>, an XML processor
1349must pass to the application the single character <GTKDOCLINK HREF="xA">xA</GTKDOCLINK>.
1350This behavior can conveniently be produced by normalizing all
1351line breaks to <GTKDOCLINK HREF="xA">xA</GTKDOCLINK> on input, before parsing.)</p><p>
1352
1353</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> the XML parser context
1354</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td> pointer to the length of the char read
1355</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the current char value and its length
1356</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyCharMultiByte"></a>xmlCopyCharMultiByte ()</h3><pre class="programlisting">int xmlCopyCharMultiByte (<a href="libxml-tree.html#xmlChar">xmlChar</a> *out,
1357 int val);</pre><p>
1358append the char value in the array</p><p>
1359
1360</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td> pointer to an array of xmlChar
1361</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td> the char value
1362</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of xmlChar written
1363</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyChar"></a>xmlCopyChar ()</h3><pre class="programlisting">int xmlCopyChar (int len,
1364 <a href="libxml-tree.html#xmlChar">xmlChar</a> *out,
1365 int val);</pre><p>
1366append the char value in the array</p><p>
1367
1368</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td> Ignored, compatibility
1369</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td> pointer to an array of xmlChar
1370</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td> the char value
1371</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of xmlChar written
1372</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNextChar"></a>xmlNextChar ()</h3><pre class="programlisting">void xmlNextChar (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1373Skip to the next char input char.</p><p>
1374
1375</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> the XML parser context
1376</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserInputShrink"></a>xmlParserInputShrink ()</h3><pre class="programlisting">void xmlParserInputShrink (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in);</pre><p>
1377This function removes used input for the parser.</p><p>
1378
1379</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td> an XML parser input
1380</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlInitAutoClose"></a>htmlInitAutoClose ()</h3><pre class="programlisting">void htmlInitAutoClose (void);</pre><p>
1381Initialize the htmlStartCloseIndex for fast lookup of closing tags names.
1382This is not reentrant. Call <a href="libxml-parser.html#xmlInitParser">xmlInitParser</a>() once before processing in
1383case of use in multithreaded programs.</p><p>
1384
1385</p></div><hr><div class="refsect2"><h3><a name="htmlCreateFileParserCtxt"></a>htmlCreateFileParserCtxt ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> htmlCreateFileParserCtxt (const char *filename,
1386 const char *encoding);</pre><p>
1387Create a parser context for a file content.
1388Automatic support for ZLIB/Compress compressed document is provided
1389by default if found at compile-time.</p><p>
1390
1391</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td> the filename
1392</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td> a free form C string describing the HTML document encoding, or NULL
1393</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
1394</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlEntityReferenceFunc"></a>xmlEntityReferenceFunc ()</h3><pre class="programlisting">void (*xmlEntityReferenceFunc) (<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent,
Daniel Veillardd4330462003-04-29 12:40:16 +00001395 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode,
1396 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode);</pre><p>
1397Callback function used when one needs to be able to track back the
1398provenance of a chunk of nodes inherited from an entity replacement.</p><p>
1399
William M. Brack2ad1dff2003-11-15 10:35:20 +00001400</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ent</tt></i>:</span></td><td> the entity
1401</td></tr><tr><td><span class="term"><i><tt>firstNode</tt></i>:</span></td><td> the fist node in the chunk
1402</td></tr><tr><td><span class="term"><i><tt>lastNode</tt></i>:</span></td><td> the last nod in the chunk
William M. Brack60f394e2003-11-16 06:25:42 +00001403</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSetEntityReferenceFunc"></a>xmlSetEntityReferenceFunc ()</h3><pre class="programlisting">void xmlSetEntityReferenceFunc (<a href="libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func);</pre><p>
1404Set the function to call call back when a xml reference has been made</p><p>
1405
1406</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td> A valid function
1407</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlErrMemory"></a>xmlErrMemory ()</h3><pre class="programlisting">void xmlErrMemory (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1408 const char *extra);</pre><p>
1409Handle a redefinition of attribute error</p><p>
1410
1411</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an HTML parser context
1412</td></tr><tr><td><span class="term"><i><tt>extra</tt></i>:</span></td><td> extra informations
William M. Brack2ad1dff2003-11-15 10:35:20 +00001413</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-HTMLtree.html"><b>&lt;&lt; HTMLtree</b></a></td><td align="right"><a accesskey="n" href="libxml-entities.html"><b>entities &gt;&gt;</b></a></td></tr></table></body></html>