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