1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>valid</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css">
2 .synopsis, .classsynopsis {
4 border: solid 1px #aaaaaa;
9 border: solid 1px #aaaaff;
18 border: solid 1px #ffaaaa;
25 .navigation a:visited {
31 </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-entities.html" title="entities"><link rel="next" href="libxml-relaxng.html" title="relaxng"></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-entities.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-relaxng.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-valid"></a><div class="titlepage"></div><div class="refnamediv"><h2>valid</h2><p>valid — </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
35 struct <a href="libxml-valid.html#xmlValidState">xmlValidState</a>;
36 typedef <a href="libxml-valid.html#xmlValidStatePtr">xmlValidStatePtr</a>;
37 void (<a href="libxml-valid.html#xmlValidityErrorFunc">*xmlValidityErrorFunc</a>) (void *ctx,
40 void (<a href="libxml-valid.html#xmlValidityWarningFunc">*xmlValidityWarningFunc</a>) (void *ctx,
43 struct <a href="libxml-valid.html#xmlValidCtxt">xmlValidCtxt</a>;
44 typedef <a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>;
45 typedef <a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>;
46 typedef <a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a>;
47 typedef <a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>;
48 typedef <a href="libxml-valid.html#xmlIDTablePtr">xmlIDTablePtr</a>;
49 typedef <a href="libxml-valid.html#xmlRefTablePtr">xmlRefTablePtr</a>;
50 <a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> <a href="libxml-valid.html#xmlNewValidCtxt">xmlNewValidCtxt</a> (void);
51 void <a href="libxml-valid.html#xmlFreeValidCtxt">xmlFreeValidCtxt</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>);
52 <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> <a href="libxml-valid.html#xmlAddNotationDecl">xmlAddNotationDecl</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
53 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
54 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
55 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *PublicID,
56 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
57 <a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> <a href="libxml-valid.html#xmlCopyNotationTable">xmlCopyNotationTable</a> (<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
58 void <a href="libxml-valid.html#xmlFreeNotationTable">xmlFreeNotationTable</a> (<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
59 void <a href="libxml-valid.html#xmlDumpNotationDecl">xmlDumpNotationDecl</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
60 <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
61 void <a href="libxml-valid.html#xmlDumpNotationTable">xmlDumpNotationTable</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
62 <a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
63 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> <a href="libxml-valid.html#xmlNewElementContent">xmlNewElementContent</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
64 <a href="libxml-tree.html#xmlElementContentType">xmlElementContentType</a> type);
65 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> <a href="libxml-valid.html#xmlCopyElementContent">xmlCopyElementContent</a> (<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
66 void <a href="libxml-valid.html#xmlFreeElementContent">xmlFreeElementContent</a> (<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
67 void <a href="libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a> (char *buf,
69 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
71 void <a href="libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a> (char *buf,
72 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
74 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> <a href="libxml-valid.html#xmlAddElementDecl">xmlAddElementDecl</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
75 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
76 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
77 <a href="libxml-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type,
78 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
79 <a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> <a href="libxml-valid.html#xmlCopyElementTable">xmlCopyElementTable</a> (<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
80 void <a href="libxml-valid.html#xmlFreeElementTable">xmlFreeElementTable</a> (<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
81 void <a href="libxml-valid.html#xmlDumpElementTable">xmlDumpElementTable</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
82 <a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
83 void <a href="libxml-valid.html#xmlDumpElementDecl">xmlDumpElementDecl</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
84 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
85 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> <a href="libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
86 void <a href="libxml-valid.html#xmlFreeEnumeration">xmlFreeEnumeration</a> (<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);
87 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> <a href="libxml-valid.html#xmlCopyEnumeration">xmlCopyEnumeration</a> (<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);
88 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> <a href="libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
89 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
90 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
91 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
92 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns,
93 <a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type,
94 <a href="libxml-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def,
95 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *defaultValue,
96 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
97 <a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> <a href="libxml-valid.html#xmlCopyAttributeTable">xmlCopyAttributeTable</a> (<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
98 void <a href="libxml-valid.html#xmlFreeAttributeTable">xmlFreeAttributeTable</a> (<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
99 void <a href="libxml-valid.html#xmlDumpAttributeTable">xmlDumpAttributeTable</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
100 <a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
101 void <a href="libxml-valid.html#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
102 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
103 <a href="libxml-tree.html#xmlIDPtr">xmlIDPtr</a> <a href="libxml-valid.html#xmlAddID">xmlAddID</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
104 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
105 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
106 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
107 void <a href="libxml-valid.html#xmlFreeIDTable">xmlFreeIDTable</a> (<a href="libxml-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table);
108 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> <a href="libxml-valid.html#xmlGetID">xmlGetID</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
109 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID);
110 int <a href="libxml-valid.html#xmlIsID">xmlIsID</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
111 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
112 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
113 int <a href="libxml-valid.html#xmlRemoveID">xmlRemoveID</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
114 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
115 <a href="libxml-tree.html#xmlRefPtr">xmlRefPtr</a> <a href="libxml-valid.html#xmlAddRef">xmlAddRef</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
116 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
117 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
118 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
119 void <a href="libxml-valid.html#xmlFreeRefTable">xmlFreeRefTable</a> (<a href="libxml-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table);
120 int <a href="libxml-valid.html#xmlIsRef">xmlIsRef</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
121 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
122 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
123 int <a href="libxml-valid.html#xmlRemoveRef">xmlRemoveRef</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
124 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
125 <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlListPtr">xmlListPtr</GTKDOCLINK> <a href="libxml-valid.html#xmlGetRefs">xmlGetRefs</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
126 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID);
127 int <a href="libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
128 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
129 int <a href="libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
130 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
131 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
132 <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
133 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
134 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
135 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
136 <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a>
137 (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
138 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
139 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
140 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
141 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
142 int <a href="libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
143 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
144 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
145 int <a href="libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a> (<a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type,
146 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
147 int <a href="libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
148 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
149 <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
150 int <a href="libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
151 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
152 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
153 int <a href="libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
154 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
155 int <a href="libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
156 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
157 int <a href="libxml-valid.html#xmlValidateElement">xmlValidateElement</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
158 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
159 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
160 int <a href="libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
161 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
162 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
163 int <a href="libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
164 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
165 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
166 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr,
167 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
168 int <a href="libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
169 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
170 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
171 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
172 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
173 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
174 int <a href="libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
175 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
176 int <a href="libxml-valid.html#xmlValidateNotationUse">xmlValidateNotationUse</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
177 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
178 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *notationName);
179 int <a href="libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
180 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
181 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> <a href="libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a> (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
182 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
183 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
184 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> <a href="libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a> (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
185 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
186 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
187 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);
188 <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> <a href="libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a> (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
189 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
190 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> <a href="libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a> (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
191 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
192 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);
193 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> <a href="libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a> (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
194 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
195 int <a href="libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a> (<a href="libxml-tree.html#xmlNode">xmlNode</a> *prev,
196 <a href="libxml-tree.html#xmlNode">xmlNode</a> *next,
197 const <a href="libxml-tree.html#xmlChar">xmlChar</a> **list,
199 int <a href="libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a> (<a href="libxml-tree.html#xmlElementContent">xmlElementContent</a> *ctree,
200 const <a href="libxml-tree.html#xmlChar">xmlChar</a> **list,
203 int <a href="libxml-valid.html#xmlValidateNameValue">xmlValidateNameValue</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
204 int <a href="libxml-valid.html#xmlValidateNamesValue">xmlValidateNamesValue</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
205 int <a href="libxml-valid.html#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
206 int <a href="libxml-valid.html#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
207 int <a href="libxml-valid.html#xmlValidBuildContentModel">xmlValidBuildContentModel</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
208 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
209 int <a href="libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
210 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
211 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
212 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *qname);
213 int <a href="libxml-valid.html#xmlValidatePushCData">xmlValidatePushCData</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
214 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data,
216 int <a href="libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
217 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
218 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
219 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *qname);
220 </pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
222 </p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="xmlValidState"></a>struct xmlValidState</h3><pre class="programlisting">struct xmlValidState;</pre><p>
224 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidStatePtr"></a>xmlValidStatePtr</h3><pre class="programlisting">typedef xmlValidState *xmlValidStatePtr;
227 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidityErrorFunc"></a>xmlValidityErrorFunc ()</h3><pre class="programlisting">void (*xmlValidityErrorFunc) (void *ctx,
230 Callback called when a validity error is found. This is a message
231 oriented function similar to an *printf function.</p><p>
233 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td> an xmlValidCtxtPtr validity error context
234 </td></tr><tr><td><span class="term"><i><tt>msg</tt></i> :</span></td><td> the string to format *printf like vararg
235 </td></tr><tr><td><span class="term"><i><tt>...</tt></i> :</span></td><td> remaining arguments to the format
236 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidityWarningFunc"></a>xmlValidityWarningFunc ()</h3><pre class="programlisting">void (*xmlValidityWarningFunc) (void *ctx,
239 Callback called when a validity warning is found. This is a message
240 oriented function similar to an *printf function.</p><p>
242 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td> an xmlValidCtxtPtr validity error context
243 </td></tr><tr><td><span class="term"><i><tt>msg</tt></i> :</span></td><td> the string to format *printf like vararg
244 </td></tr><tr><td><span class="term"><i><tt>...</tt></i> :</span></td><td> remaining arguments to the format
245 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidCtxt"></a>struct xmlValidCtxt</h3><pre class="programlisting">struct xmlValidCtxt {
246 void *userData; /* user specific data block */
247 xmlValidityErrorFunc error; /* the callback in case of errors */
248 xmlValidityWarningFunc warning; /* the callback in case of warning */
250 /* Node analysis stack used when validating within entities */
251 xmlNodePtr node; /* Current parsed Node */
252 int nodeNr; /* Depth of the parsing stack */
253 int nodeMax; /* Max depth of the parsing stack */
254 xmlNodePtr *nodeTab; /* array of nodes */
256 int finishDtd; /* finished validating the Dtd ? */
257 xmlDocPtr doc; /* the document */
258 int valid; /* temporary validity check result */
260 /* state state used for non-determinist content validation */
261 xmlValidState *vstate; /* current state */
262 int vstateNr; /* Depth of the validation stack */
263 int vstateMax; /* Max depth of the validation stack */
264 xmlValidState *vstateTab; /* array of validation states */
266 #ifdef LIBXML_REGEXP_ENABLED
267 xmlAutomataPtr am; /* the automata */
268 xmlAutomataStatePtr state; /* used to build the automata */
277 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidCtxtPtr"></a>xmlValidCtxtPtr</h3><pre class="programlisting">typedef xmlValidCtxt *xmlValidCtxtPtr;
280 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNotationTablePtr"></a>xmlNotationTablePtr</h3><pre class="programlisting">typedef xmlNotationTable *xmlNotationTablePtr;
283 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlElementTablePtr"></a>xmlElementTablePtr</h3><pre class="programlisting">typedef xmlElementTable *xmlElementTablePtr;
286 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAttributeTablePtr"></a>xmlAttributeTablePtr</h3><pre class="programlisting">typedef xmlAttributeTable *xmlAttributeTablePtr;
289 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIDTablePtr"></a>xmlIDTablePtr</h3><pre class="programlisting">typedef xmlIDTable *xmlIDTablePtr;
292 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRefTablePtr"></a>xmlRefTablePtr</h3><pre class="programlisting">typedef xmlRefTable *xmlRefTablePtr;
295 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewValidCtxt"></a>xmlNewValidCtxt ()</h3><pre class="programlisting"><a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> xmlNewValidCtxt (void);</pre><p>
296 Allocate a validation context structure.</p><p>
298 </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>NULL if not, otherwise the new validation context structure
299 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeValidCtxt"></a>xmlFreeValidCtxt ()</h3><pre class="programlisting">void xmlFreeValidCtxt (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>);</pre><p>
300 Free a validation context structure.</p><p>
302 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>Param1</tt></i> :</span></td><td>
305 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAddNotationDecl"></a>xmlAddNotationDecl ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> xmlAddNotationDecl (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
306 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
307 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
308 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *PublicID,
309 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
310 Register a new notation declaration</p><p>
312 </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 validation context
313 </td></tr><tr><td><span class="term"><i><tt>dtd</tt></i> :</span></td><td> pointer to the DTD
314 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the entity name
315 </td></tr><tr><td><span class="term"><i><tt>PublicID</tt></i> :</span></td><td> the public identifier or NULL
316 </td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td> the system identifier or NULL
317 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>NULL if not, otherwise the entity
318 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCopyNotationTable"></a>xmlCopyNotationTable ()</h3><pre class="programlisting"><a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> xmlCopyNotationTable (<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);</pre><p>
319 Build a copy of a notation table.</p><p>
321 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> A notation table
322 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new xmlNotationTablePtr or NULL in case of error.
323 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeNotationTable"></a>xmlFreeNotationTable ()</h3><pre class="programlisting">void xmlFreeNotationTable (<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);</pre><p>
324 Deallocate the memory used by an entities hash table.</p><p>
326 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> An notation table
327 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDumpNotationDecl"></a>xmlDumpNotationDecl ()</h3><pre class="programlisting">void xmlDumpNotationDecl (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
328 <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);</pre><p>
329 This will dump the content the notation declaration as an XML DTD definition</p><p>
331 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i> :</span></td><td> the XML buffer output
332 </td></tr><tr><td><span class="term"><i><tt>nota</tt></i> :</span></td><td> A notation declaration
333 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDumpNotationTable"></a>xmlDumpNotationTable ()</h3><pre class="programlisting">void xmlDumpNotationTable (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
334 <a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);</pre><p>
335 This will dump the content of the notation table as an XML DTD definition</p><p>
337 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i> :</span></td><td> the XML buffer output
338 </td></tr><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> A notation table
339 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewElementContent"></a>xmlNewElementContent ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> xmlNewElementContent (<a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
340 <a href="libxml-tree.html#xmlElementContentType">xmlElementContentType</a> type);</pre><p>
341 Allocate an element content structure.</p><p>
343 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the subelement name or NULL
344 </td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td> the type of element content decl
345 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>NULL if not, otherwise the new element content structure
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="xmlCopyElementContent"></a>xmlCopyElementContent ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> xmlCopyElementContent (<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);</pre><p>
347 Build a copy of an element content description.</p><p>
349 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td>
350 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new xmlElementContentPtr or NULL in case of error.
351 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeElementContent"></a>xmlFreeElementContent ()</h3><pre class="programlisting">void xmlFreeElementContent (<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);</pre><p>
352 Free an element content structure. This is a recursive call !</p><p>
354 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the element content tree to free
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="xmlSnprintfElementContent"></a>xmlSnprintfElementContent ()</h3><pre class="programlisting">void xmlSnprintfElementContent (char *buf,
357 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
359 This will dump the content of the element content definition
360 Intended just for the debug routine</p><p>
362 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i> :</span></td><td> an output buffer
363 </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the buffer size
364 </td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> An element table
365 </td></tr><tr><td><span class="term"><i><tt>glob</tt></i> :</span></td><td> 1 if one must print the englobing parenthesis, 0 otherwise
366 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSprintfElementContent"></a>xmlSprintfElementContent ()</h3><pre class="programlisting">void xmlSprintfElementContent (char *buf,
367 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
369 Deprecated, unsafe, use xmlSnprintfElementContent</p><p>
371 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i> :</span></td><td> an output buffer
372 </td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> An element table
373 </td></tr><tr><td><span class="term"><i><tt>glob</tt></i> :</span></td><td> 1 if one must print the englobing parenthesis, 0 otherwise
374 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAddElementDecl"></a>xmlAddElementDecl ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> xmlAddElementDecl (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
375 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
376 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
377 <a href="libxml-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type,
378 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);</pre><p>
379 Register a new element declaration</p><p>
381 </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 validation context
382 </td></tr><tr><td><span class="term"><i><tt>dtd</tt></i> :</span></td><td> pointer to the DTD
383 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the entity name
384 </td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td> the element type
385 </td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the element content tree or NULL
386 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>NULL if not, otherwise the entity
387 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCopyElementTable"></a>xmlCopyElementTable ()</h3><pre class="programlisting"><a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> xmlCopyElementTable (<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);</pre><p>
388 Build a copy of an element table.</p><p>
390 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> An element table
391 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new xmlElementTablePtr or NULL in case of error.
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="xmlFreeElementTable"></a>xmlFreeElementTable ()</h3><pre class="programlisting">void xmlFreeElementTable (<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);</pre><p>
393 Deallocate the memory used by an element hash table.</p><p>
395 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> An element table
396 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDumpElementTable"></a>xmlDumpElementTable ()</h3><pre class="programlisting">void xmlDumpElementTable (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
397 <a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);</pre><p>
398 This will dump the content of the element table as an XML DTD definition</p><p>
400 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i> :</span></td><td> the XML buffer output
401 </td></tr><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> An element table
402 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDumpElementDecl"></a>xmlDumpElementDecl ()</h3><pre class="programlisting">void xmlDumpElementDecl (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
403 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);</pre><p>
404 This will dump the content of the element declaration as an XML
405 DTD definition</p><p>
407 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i> :</span></td><td> the XML buffer output
408 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> An element table
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="xmlCreateEnumeration"></a>xmlCreateEnumeration ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> xmlCreateEnumeration (<a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
410 create and initialize an enumeration attribute node.</p><p>
412 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the enumeration name or NULL
413 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlEnumerationPtr just created or NULL in case
415 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeEnumeration"></a>xmlFreeEnumeration ()</h3><pre class="programlisting">void xmlFreeEnumeration (<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);</pre><p>
416 free an enumeration attribute node (recursive).</p><p>
418 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the tree to free.
419 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCopyEnumeration"></a>xmlCopyEnumeration ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> xmlCopyEnumeration (<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);</pre><p>
420 Copy an enumeration attribute node (recursive).</p><p>
422 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the tree to copy.
423 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlEnumerationPtr just created or NULL in case
425 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAddAttributeDecl"></a>xmlAddAttributeDecl ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> xmlAddAttributeDecl (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
426 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
427 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
428 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
429 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns,
430 <a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type,
431 <a href="libxml-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def,
432 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *defaultValue,
433 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);</pre><p>
434 Register a new attribute declaration
435 Note that <i><tt>tree</tt></i> becomes the ownership of the DTD</p><p>
437 </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 validation context
438 </td></tr><tr><td><span class="term"><i><tt>dtd</tt></i> :</span></td><td> pointer to the DTD
439 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> the element name
440 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the attribute name
441 </td></tr><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td> the attribute namespace prefix
442 </td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td> the attribute type
443 </td></tr><tr><td><span class="term"><i><tt>def</tt></i> :</span></td><td> the attribute default type
444 </td></tr><tr><td><span class="term"><i><tt>defaultValue</tt></i> :</span></td><td> the attribute default value
445 </td></tr><tr><td><span class="term"><i><tt>tree</tt></i> :</span></td><td> if it's an enumeration, the associated list
446 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>NULL if not new, otherwise the attribute decl
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="xmlCopyAttributeTable"></a>xmlCopyAttributeTable ()</h3><pre class="programlisting"><a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> xmlCopyAttributeTable (<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);</pre><p>
448 Build a copy of an attribute table.</p><p>
450 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> An attribute table
451 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new xmlAttributeTablePtr or NULL in case of error.
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="xmlFreeAttributeTable"></a>xmlFreeAttributeTable ()</h3><pre class="programlisting">void xmlFreeAttributeTable (<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);</pre><p>
453 Deallocate the memory used by an entities hash table.</p><p>
455 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> An attribute table
456 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDumpAttributeTable"></a>xmlDumpAttributeTable ()</h3><pre class="programlisting">void xmlDumpAttributeTable (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
457 <a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);</pre><p>
458 This will dump the content of the attribute table as an XML DTD definition</p><p>
460 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i> :</span></td><td> the XML buffer output
461 </td></tr><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> An attribute table
462 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDumpAttributeDecl"></a>xmlDumpAttributeDecl ()</h3><pre class="programlisting">void xmlDumpAttributeDecl (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
463 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);</pre><p>
464 This will dump the content of the attribute declaration as an XML
465 DTD definition</p><p>
467 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i> :</span></td><td> the XML buffer output
468 </td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td> An attribute declaration
469 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAddID"></a>xmlAddID ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlIDPtr">xmlIDPtr</a> xmlAddID (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
470 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
471 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
472 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
473 Register a new id declaration</p><p>
475 </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 validation context
476 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> pointer to the document
477 </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the value name
478 </td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td> the attribute holding the ID
479 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>NULL if not, otherwise the new xmlIDPtr
480 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeIDTable"></a>xmlFreeIDTable ()</h3><pre class="programlisting">void xmlFreeIDTable (<a href="libxml-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table);</pre><p>
481 Deallocate the memory used by an ID hash table.</p><p>
483 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> An id table
484 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetID"></a>xmlGetID ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> xmlGetID (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
485 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID);</pre><p>
486 Search the attribute declaring the given ID</p><p>
488 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> pointer to the document
489 </td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td> the ID value
490 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>NULL if not found, otherwise the xmlAttrPtr defining the ID
491 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIsID"></a>xmlIsID ()</h3><pre class="programlisting">int xmlIsID (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
492 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
493 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
494 Determine whether an attribute is of type ID. In case we have DTD(s)
495 then this is done if DTD loading has been requested. In the case
496 of HTML documents parsed with the HTML parser, then ID detection is
497 done systematically.</p><p>
499 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> the document
500 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> the element carrying the attribute
501 </td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td> the attribute
502 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 or 1 depending on the lookup result
503 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRemoveID"></a>xmlRemoveID ()</h3><pre class="programlisting">int xmlRemoveID (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
504 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
505 Remove the given attribute from the ID table maintained internally.</p><p>
507 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> the document
508 </td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td> the attribute
509 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>-1 if the lookup failed and 0 otherwise
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="xmlAddRef"></a>xmlAddRef ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlRefPtr">xmlRefPtr</a> xmlAddRef (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
511 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
512 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
513 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
514 Register a new ref declaration</p><p>
516 </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 validation context
517 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> pointer to the document
518 </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the value name
519 </td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td> the attribute holding the Ref
520 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>NULL if not, otherwise the new xmlRefPtr
521 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeRefTable"></a>xmlFreeRefTable ()</h3><pre class="programlisting">void xmlFreeRefTable (<a href="libxml-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table);</pre><p>
522 Deallocate the memory used by an Ref hash table.</p><p>
524 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> An ref table
525 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIsRef"></a>xmlIsRef ()</h3><pre class="programlisting">int xmlIsRef (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
526 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
527 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
528 Determine whether an attribute is of type Ref. In case we have DTD(s)
529 then this is simple, otherwise we use an heuristic: name Ref (upper
530 or lowercase).</p><p>
532 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> the document
533 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> the element carrying the attribute
534 </td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td> the attribute
535 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 or 1 depending on the lookup result
536 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRemoveRef"></a>xmlRemoveRef ()</h3><pre class="programlisting">int xmlRemoveRef (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
537 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
538 Remove the given attribute from the Ref table maintained internally.</p><p>
540 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> the document
541 </td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td> the attribute
542 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>-1 if the lookup failed and 0 otherwise
543 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetRefs"></a>xmlGetRefs ()</h3><pre class="programlisting"><GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlListPtr">xmlListPtr</GTKDOCLINK> xmlGetRefs (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
544 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID);</pre><p>
545 Find the set of references for the supplied ID.</p><p>
547 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> pointer to the document
548 </td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td> the ID value
549 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>NULL if not found, otherwise node set for the ID.
550 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateRoot"></a>xmlValidateRoot ()</h3><pre class="programlisting">int xmlValidateRoot (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
551 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
552 Try to validate a the root element
553 basically it does the following check as described by the
554 XML-1.0 recommendation:
555 - [ VC: Root Element Type ]
556 it doesn't try to recurse or apply other check to the element</p><p>
558 </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 validation context
559 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> a document instance
560 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
561 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateElementDecl"></a>xmlValidateElementDecl ()</h3><pre class="programlisting">int xmlValidateElementDecl (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
562 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
563 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);</pre><p>
564 Try to validate a single element definition
565 basically it does the following checks as described by the
566 XML-1.0 recommendation:
567 - [ VC: One ID per Element Type ]
568 - [ VC: No Duplicate Types ]
569 - [ VC: Unique Element Type Declaration ]</p><p>
571 </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 validation context
572 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> a document instance
573 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> an element definition
574 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
575 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidNormalizeAttributeValue"></a>xmlValidNormalizeAttributeValue ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlValidNormalizeAttributeValue (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
576 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
577 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
578 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
579 Does the validation related extra step of the normalization of attribute
582 If the declared value is not CDATA, then the XML processor must further
583 process the normalized attribute value by discarding any leading and
584 trailing space (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="x20">x20</GTKDOCLINK>) characters, and by replacing sequences of space
585 (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="x20">x20</GTKDOCLINK>) characters by single space (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="x20">x20</GTKDOCLINK>) character.</p><p>
587 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> the document
588 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> the parent
589 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the attribute name
590 </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the attribute value
591 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new normalized string if normalization is needed, NULL otherwise
592 the caller must free the returned value.
593 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidCtxtNormalizeAttributeValue"></a>xmlValidCtxtNormalizeAttributeValue ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlValidCtxtNormalizeAttributeValue
594 (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
595 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
596 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
597 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
598 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
599 Does the validation related extra step of the normalization of attribute
602 If the declared value is not CDATA, then the XML processor must further
603 process the normalized attribute value by discarding any leading and
604 trailing space (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="x20">x20</GTKDOCLINK>) characters, and by replacing sequences of space
605 (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="x20">x20</GTKDOCLINK>) characters by single space (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="x20">x20</GTKDOCLINK>) character.
607 Also check VC: Standalone Document Declaration in P32, and update
608 ctxt->valid accordingly</p><p>
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> the validation context
611 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> the document
612 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> the parent
613 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the attribute name
614 </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the attribute value
615 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new normalized string if normalization is needed, NULL otherwise
616 the caller must free the returned value.
617 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateAttributeDecl"></a>xmlValidateAttributeDecl ()</h3><pre class="programlisting">int xmlValidateAttributeDecl (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
618 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
619 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);</pre><p>
620 Try to validate a single attribute definition
621 basically it does the following checks as described by the
622 XML-1.0 recommendation:
623 - [ VC: Attribute Default Legal ]
624 - [ VC: Enumeration ]
625 - [ VC: ID Attribute Default ]
627 The ID/IDREF uniqueness and matching are done separately</p><p>
629 </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 validation context
630 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> a document instance
631 </td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td> an attribute definition
632 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
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="xmlValidateAttributeValue"></a>xmlValidateAttributeValue ()</h3><pre class="programlisting">int xmlValidateAttributeValue (<a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type,
634 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
635 Validate that the given attribute value match the proper production
638 Values of type ID must match the Name production....
641 Values of type IDREF must match the Name production, and values
642 of type IDREFS must match Names ...
645 Values of type ENTITY must match the Name production, values
646 of type ENTITIES must match Names ...
649 Values of type NMTOKEN must match the Nmtoken production; values
650 of type NMTOKENS must match Nmtokens.</p><p>
652 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td> an attribute type
653 </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> an attribute value
654 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
655 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateNotationDecl"></a>xmlValidateNotationDecl ()</h3><pre class="programlisting">int xmlValidateNotationDecl (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
656 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
657 <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);</pre><p>
658 Try to validate a single notation definition
659 basically it does the following checks as described by the
660 XML-1.0 recommendation:
661 - it seems that no validity constraint exists on notation declarations
662 But this function get called anyway ...</p><p>
664 </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 validation context
665 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> a document instance
666 </td></tr><tr><td><span class="term"><i><tt>nota</tt></i> :</span></td><td> a notation definition
667 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
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="xmlValidateDtd"></a>xmlValidateDtd ()</h3><pre class="programlisting">int xmlValidateDtd (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
669 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
670 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);</pre><p>
671 Try to validate the document against the dtd instance
673 basically it does check all the definitions in the DtD.</p><p>
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> the validation context
676 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> a document instance
677 </td></tr><tr><td><span class="term"><i><tt>dtd</tt></i> :</span></td><td> a dtd instance
678 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
679 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateDtdFinal"></a>xmlValidateDtdFinal ()</h3><pre class="programlisting">int xmlValidateDtdFinal (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
680 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
681 Does the final step for the dtds validation once all the
682 subsets have been parsed
684 basically it does the following checks described by the XML Rec
685 - check that ENTITY and ENTITIES type attributes default or
686 possible values matches one of the defined entities.
687 - check that NOTATION type attributes default or
688 possible values matches one of the defined notations.</p><p>
690 </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 validation context
691 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> a document instance
692 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 if invalid and -1 if not well-formed
693 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateDocument"></a>xmlValidateDocument ()</h3><pre class="programlisting">int xmlValidateDocument (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
694 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
695 Try to validate the document instance
697 basically it does the all the checks described by the XML Rec
698 i.e. validates the internal and external subset (if present)
699 and validate the document tree.</p><p>
701 </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 validation context
702 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> a document instance
703 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
704 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateElement"></a>xmlValidateElement ()</h3><pre class="programlisting">int xmlValidateElement (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
705 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
706 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p>
707 Try to validate the subtree under an element</p><p>
709 </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 validation context
710 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> a document instance
711 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> an element instance
712 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
713 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateOneElement"></a>xmlValidateOneElement ()</h3><pre class="programlisting">int xmlValidateOneElement (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
714 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
715 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p>
716 Try to validate a single element and it's attributes,
717 basically it does the following checks as described by the
718 XML-1.0 recommendation:
719 - [ VC: Element Valid ]
720 - [ VC: Required Attribute ]
721 Then call <a href="libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a>() for each attribute present.
723 The ID/IDREF checkings are done separately</p><p>
725 </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 validation context
726 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> a document instance
727 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> an element instance
728 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
729 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateOneAttribute"></a>xmlValidateOneAttribute ()</h3><pre class="programlisting">int xmlValidateOneAttribute (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
730 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
731 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
732 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr,
733 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
734 Try to validate a single attribute for an element
735 basically it does the following checks as described by the
736 XML-1.0 recommendation:
737 - [ VC: Attribute Value Type ]
738 - [ VC: Fixed Attribute Default ]
739 - [ VC: Entity Name ]
743 - [ VC: Entity Name ]
744 - [ VC: Notation Attributes ]
746 The ID/IDREF uniqueness and matching are done separately</p><p>
748 </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 validation context
749 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> a document instance
750 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> an element instance
751 </td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td> an attribute instance
752 </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the attribute value (without entities processing)
753 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
754 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateOneNamespace"></a>xmlValidateOneNamespace ()</h3><pre class="programlisting">int xmlValidateOneNamespace (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
755 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
756 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
757 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
758 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
759 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
760 Try to validate a single namespace declaration for an element
761 basically it does the following checks as described by the
762 XML-1.0 recommendation:
763 - [ VC: Attribute Value Type ]
764 - [ VC: Fixed Attribute Default ]
765 - [ VC: Entity Name ]
769 - [ VC: Entity Name ]
770 - [ VC: Notation Attributes ]
772 The ID/IDREF uniqueness and matching are done separately</p><p>
774 </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 validation context
775 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> a document instance
776 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> an element instance
777 </td></tr><tr><td><span class="term"><i><tt>prefix</tt></i> :</span></td><td> the namespace prefix
778 </td></tr><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td> an namespace declaration instance
779 </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the attribute value (without entities processing)
780 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
781 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateDocumentFinal"></a>xmlValidateDocumentFinal ()</h3><pre class="programlisting">int xmlValidateDocumentFinal (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
782 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
783 Does the final step for the document validation once all the
784 incremental validation steps have been completed
786 basically it does the following checks described by the XML Rec
788 Check all the IDREF/IDREFS attributes definition for validity</p><p>
790 </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 validation context
791 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> a document instance
792 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
793 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateNotationUse"></a>xmlValidateNotationUse ()</h3><pre class="programlisting">int xmlValidateNotationUse (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
794 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
795 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *notationName);</pre><p>
796 Validate that the given name match a notation declaration.
797 - [ VC: Notation Declared ]</p><p>
799 </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 validation context
800 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> the document
801 </td></tr><tr><td><span class="term"><i><tt>notationName</tt></i> :</span></td><td> the notation name to check
802 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
803 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIsMixedElement"></a>xmlIsMixedElement ()</h3><pre class="programlisting">int xmlIsMixedElement (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
804 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
805 Search in the DtDs whether an element accept Mixed content (or ANY)
806 basically if it is supposed to accept text childs</p><p>
808 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> the document
809 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the element name
810 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if no, 1 if yes, and -1 if no element description is available
811 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetDtdAttrDesc"></a>xmlGetDtdAttrDesc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> xmlGetDtdAttrDesc (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
812 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
813 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
814 Search the DTD for the description of this attribute on
817 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>dtd</tt></i> :</span></td><td> a pointer to the DtD to search
818 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> the element name
819 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the attribute name
820 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlAttributePtr if found or NULL
821 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetDtdQAttrDesc"></a>xmlGetDtdQAttrDesc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> xmlGetDtdQAttrDesc (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
822 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
823 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
824 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
825 Search the DTD for the description of this qualified attribute on
828 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>dtd</tt></i> :</span></td><td> a pointer to the DtD to search
829 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> the element name
830 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the attribute name
831 </td></tr><tr><td><span class="term"><i><tt>prefix</tt></i> :</span></td><td> the attribute namespace prefix
832 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlAttributePtr if found or NULL
833 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetDtdNotationDesc"></a>xmlGetDtdNotationDesc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> xmlGetDtdNotationDesc (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
834 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
835 Search the DTD for the description of this notation</p><p>
837 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>dtd</tt></i> :</span></td><td> a pointer to the DtD to search
838 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the notation name
839 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlNotationPtr if found or NULL
840 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetDtdQElementDesc"></a>xmlGetDtdQElementDesc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> xmlGetDtdQElementDesc (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
841 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
842 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
843 Search the DTD for the description of this element</p><p>
845 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>dtd</tt></i> :</span></td><td> a pointer to the DtD to search
846 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the element name
847 </td></tr><tr><td><span class="term"><i><tt>prefix</tt></i> :</span></td><td> the element namespace prefix
848 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlElementPtr if found or NULL
849 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetDtdElementDesc"></a>xmlGetDtdElementDesc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> xmlGetDtdElementDesc (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
850 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
851 Search the DTD for the description of this element</p><p>
853 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>dtd</tt></i> :</span></td><td> a pointer to the DtD to search
854 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the element name
855 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlElementPtr if found or NULL
856 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidGetValidElements"></a>xmlValidGetValidElements ()</h3><pre class="programlisting">int xmlValidGetValidElements (<a href="libxml-tree.html#xmlNode">xmlNode</a> *prev,
857 <a href="libxml-tree.html#xmlNode">xmlNode</a> *next,
858 const <a href="libxml-tree.html#xmlChar">xmlChar</a> **list,
860 This function returns the list of authorized children to insert
861 within an existing tree while respecting the validity constraints
862 forced by the Dtd. The insertion point is defined using <i><tt>prev</tt></i> and
863 <i><tt>next</tt></i> in the following ways:
864 to insert before 'node': xmlValidGetValidElements(node->prev, node, ...
865 to insert next 'node': xmlValidGetValidElements(node, node->next, ...
866 to replace 'node': xmlValidGetValidElements(node->prev, node->next, ...
867 to prepend a child to 'node': xmlValidGetValidElements(NULL, node->childs,
868 to append a child to 'node': xmlValidGetValidElements(node->last, NULL, ...
870 pointers to the element names are inserted at the beginning of the array
871 and do not need to be freed.</p><p>
873 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>prev</tt></i> :</span></td><td> an element to insert after
874 </td></tr><tr><td><span class="term"><i><tt>next</tt></i> :</span></td><td> an element to insert next
875 </td></tr><tr><td><span class="term"><i><tt>list</tt></i> :</span></td><td> an array to store the list of child names
876 </td></tr><tr><td><span class="term"><i><tt>max</tt></i> :</span></td><td> the size of the array
877 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of element in the list, or -1 in case of error. If
878 the function returns the value <i><tt>max</tt></i> the caller is invited to grow the
879 receiving array and retry.
880 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidGetPotentialChildren"></a>xmlValidGetPotentialChildren ()</h3><pre class="programlisting">int xmlValidGetPotentialChildren (<a href="libxml-tree.html#xmlElementContent">xmlElementContent</a> *ctree,
881 const <a href="libxml-tree.html#xmlChar">xmlChar</a> **list,
884 Build/extend a list of potential children allowed by the content tree</p><p>
886 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctree</tt></i> :</span></td><td> an element content tree
887 </td></tr><tr><td><span class="term"><i><tt>list</tt></i> :</span></td><td> an array to store the list of child names
888 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> a pointer to the number of element in the list
889 </td></tr><tr><td><span class="term"><i><tt>max</tt></i> :</span></td><td> the size of the array
890 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of element in the list, or -1 in case of error.
891 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateNameValue"></a>xmlValidateNameValue ()</h3><pre class="programlisting">int xmlValidateNameValue (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
892 Validate that the given value match Name production</p><p>
894 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> an Name value
895 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
896 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateNamesValue"></a>xmlValidateNamesValue ()</h3><pre class="programlisting">int xmlValidateNamesValue (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
897 Validate that the given value match Names production</p><p>
899 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> an Names value
900 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
901 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateNmtokenValue"></a>xmlValidateNmtokenValue ()</h3><pre class="programlisting">int xmlValidateNmtokenValue (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
902 Validate that the given value match Nmtoken production
904 [ VC: Name Token ]</p><p>
906 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> an Nmtoken value
907 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
908 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateNmtokensValue"></a>xmlValidateNmtokensValue ()</h3><pre class="programlisting">int xmlValidateNmtokensValue (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
909 Validate that the given value match Nmtokens production
911 [ VC: Name Token ]</p><p>
913 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> an Nmtokens value
914 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if valid or 0 otherwise
915 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidBuildContentModel"></a>xmlValidBuildContentModel ()</h3><pre class="programlisting">int xmlValidBuildContentModel (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
916 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);</pre><p>
917 (Re)Build the automata associated to the content model of this
920 </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> a validation context
921 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> an element declaration node
922 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 in case of success, 0 in case of error
923 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidatePushElement"></a>xmlValidatePushElement ()</h3><pre class="programlisting">int xmlValidatePushElement (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
924 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
925 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
926 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *qname);</pre><p>
927 Push a new element start on the validation stack.</p><p>
929 </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 validation context
930 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> a document instance
931 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> an element instance
932 </td></tr><tr><td><span class="term"><i><tt>qname</tt></i> :</span></td><td> the qualified name as appearing in the serialization
933 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if no validation problem was found or 0 otherwise
934 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidatePushCData"></a>xmlValidatePushCData ()</h3><pre class="programlisting">int xmlValidatePushCData (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
935 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data,
937 check the CData parsed for validation in the current stack</p><p>
939 </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 validation context
940 </td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td> some character data read
941 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the lenght of the data
942 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if no validation problem was found or 0 otherwise
943 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidatePopElement"></a>xmlValidatePopElement ()</h3><pre class="programlisting">int xmlValidatePopElement (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
944 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
945 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
946 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *qname);</pre><p>
947 Pop the element end from the validation stack.</p><p>
949 </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 validation context
950 </td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> a document instance
951 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> an element instance
952 </td></tr><tr><td><span class="term"><i><tt>qname</tt></i> :</span></td><td> the qualified name as appearing in the serialization
953 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if no validation problem was found or 0 otherwise
954 </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-entities.html"><b><< entities</b></a></td><td align="right"><a accesskey="n" href="libxml-relaxng.html"><b>relaxng >></b></a></td></tr></table></body></html>