blob: a5a122028b10189666c96ca88291c4d5f4885629 [file] [log] [blame]
Daniel Veillardd4330462003-04-29 12:40:16 +00001<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 {
3 background: #eeeeee;
4 border: solid 1px #aaaaaa;
5 padding: 0.5em;
6 }
7 .programlisting {
8 background: #eeeeff;
9 border: solid 1px #aaaaff;
10 padding: 0.5em;
11 }
12 .variablelist {
13 padding: 4px;
14 margin-left: 3em;
15 }
16 .navigation {
17 background: #ffeeee;
18 border: solid 1px #ffaaaa;
19 margin-top: 0.5em;
20 margin-bottom: 0.5em;
21 }
22 .navigation a {
23 color: #770000;
24 }
25 .navigation a:visited {
26 color: #550000;
27 }
28 .navigation .title {
29 font-size: 200%;
30 }
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 &#8212; </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
Daniel Veillard35925471999-02-25 08:46:07 +000032
Daniel Veillardd4330462003-04-29 12:40:16 +000033
34
35struct <a href="libxml-valid.html#xmlValidState">xmlValidState</a>;
36typedef <a href="libxml-valid.html#xmlValidStatePtr">xmlValidStatePtr</a>;
37void (<a href="libxml-valid.html#xmlValidityErrorFunc">*xmlValidityErrorFunc</a>) (void *ctx,
Daniel Veillardb05deb71999-08-10 19:04:08 +000038 const char *msg,
39 ...);
Daniel Veillardd4330462003-04-29 12:40:16 +000040void (<a href="libxml-valid.html#xmlValidityWarningFunc">*xmlValidityWarningFunc</a>) (void *ctx,
Daniel Veillardb05deb71999-08-10 19:04:08 +000041 const char *msg,
42 ...);
Daniel Veillardd4330462003-04-29 12:40:16 +000043struct <a href="libxml-valid.html#xmlValidCtxt">xmlValidCtxt</a>;
44typedef <a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>;
45typedef <a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>;
46typedef <a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a>;
47typedef <a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>;
48typedef <a href="libxml-valid.html#xmlIDTablePtr">xmlIDTablePtr</a>;
49typedef <a href="libxml-valid.html#xmlRefTablePtr">xmlRefTablePtr</a>;
Daniel Veillardd7cec922003-06-13 12:30:10 +000050<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> <a href="libxml-valid.html#xmlNewValidCtxt">xmlNewValidCtxt</a> (void);
51void <a href="libxml-valid.html#xmlFreeValidCtxt">xmlFreeValidCtxt</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>);
Daniel Veillardd4330462003-04-29 12:40:16 +000052<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);
58void <a href="libxml-valid.html#xmlFreeNotationTable">xmlFreeNotationTable</a> (<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
59void <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);
61void <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);
66void <a href="libxml-valid.html#xmlFreeElementContent">xmlFreeElementContent</a> (<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
67void <a href="libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a> (char *buf,
Daniel Veillarde7ead2d2001-08-22 23:44:09 +000068 int size,
Daniel Veillardd4330462003-04-29 12:40:16 +000069 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
Daniel Veillarde7ead2d2001-08-22 23:44:09 +000070 int glob);
Daniel Veillardd4330462003-04-29 12:40:16 +000071void <a href="libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a> (char *buf,
72 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +000073 int glob);
Daniel Veillardd4330462003-04-29 12:40:16 +000074<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);
80void <a href="libxml-valid.html#xmlFreeElementTable">xmlFreeElementTable</a> (<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
81void <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);
83void <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);
86void <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);
98void <a href="libxml-valid.html#xmlFreeAttributeTable">xmlFreeAttributeTable</a> (<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
99void <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);
101void <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);
107void <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);
110int <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);
113int <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);
119void <a href="libxml-valid.html#xmlFreeRefTable">xmlFreeRefTable</a> (<a href="libxml-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table);
120int <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);
123int <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);
127int <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);
129int <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);
142int <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);
145int <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);
147int <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);
150int <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);
153int <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);
155int <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);
157int <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);
160int <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);
163int <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);
168int <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);
174int <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);
176int <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);
179int <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);
195int <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,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000198 int max);
Daniel Veillardd4330462003-04-29 12:40:16 +0000199int <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,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000201 int *len,
Daniel Veillarda7084cd2002-04-15 17:12:47 +0000202 int max);
Daniel Veillardd4330462003-04-29 12:40:16 +0000203int <a href="libxml-valid.html#xmlValidateNameValue">xmlValidateNameValue</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
204int <a href="libxml-valid.html#xmlValidateNamesValue">xmlValidateNamesValue</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
205int <a href="libxml-valid.html#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
206int <a href="libxml-valid.html#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
207int <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);
209int <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);
213int <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,
Daniel Veillardaec63562003-03-23 20:42:17 +0000215 int len);
Daniel Veillardd4330462003-04-29 12:40:16 +0000216int <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>
221
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>
223
Daniel Veillardd7cec922003-06-13 12:30:10 +0000224</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;
225</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000226
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,
Daniel Veillardb05deb71999-08-10 19:04:08 +0000228 const char *msg,
Daniel Veillardd4330462003-04-29 12:40:16 +0000229 ...);</pre><p>
230Callback called when a validity error is found. This is a message
231oriented function similar to an *printf function.</p><p>
232
Daniel Veillardd7cec922003-06-13 12:30:10 +0000233</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000236</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,
Daniel Veillardb05deb71999-08-10 19:04:08 +0000237 const char *msg,
Daniel Veillardd4330462003-04-29 12:40:16 +0000238 ...);</pre><p>
239Callback called when a validity warning is found. This is a message
240oriented function similar to an *printf function.</p><p>
241
Daniel Veillardd7cec922003-06-13 12:30:10 +0000242</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000245</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 {
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000246 void *userData; /* user specific data block */
247 xmlValidityErrorFunc error; /* the callback in case of errors */
248 xmlValidityWarningFunc warning; /* the callback in case of warning */
249
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 */
255
256 int finishDtd; /* finished validating the Dtd ? */
Daniel Veillard29a11cc2000-10-25 13:32:39 +0000257 xmlDocPtr doc; /* the document */
258 int valid; /* temporary validity check result */
Daniel Veillarda41123c2001-04-22 19:31:20 +0000259
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 */
Daniel Veillard2ace1952002-09-26 12:28:02 +0000265
266#ifdef LIBXML_REGEXP_ENABLED
267 xmlAutomataPtr am; /* the automata */
268 xmlAutomataStatePtr state; /* used to build the automata */
269#else
270 void *am;
271 void *state;
272#endif
Daniel Veillardd4330462003-04-29 12:40:16 +0000273};
274</pre><p>
275</p><p>
276
Daniel Veillardd7cec922003-06-13 12:30:10 +0000277</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;
278</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000279
Daniel Veillardd7cec922003-06-13 12:30:10 +0000280</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;
281</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000282
Daniel Veillardd7cec922003-06-13 12:30:10 +0000283</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;
284</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000285
Daniel Veillardd7cec922003-06-13 12:30:10 +0000286</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;
287</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000288
Daniel Veillardd7cec922003-06-13 12:30:10 +0000289</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;
290</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000291
Daniel Veillardd7cec922003-06-13 12:30:10 +0000292</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;
293</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000294
Daniel Veillardd7cec922003-06-13 12:30:10 +0000295</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>
296Allocate a validation context structure.</p><p>
297
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>
300Free a validation context structure.</p><p>
301
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>
303
304
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,
Daniel Veillardd4330462003-04-29 12:40:16 +0000306 <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>
310Register a new notation declaration</p><p>
311
Daniel Veillardd7cec922003-06-13 12:30:10 +0000312</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000318</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>
319Build a copy of a notation table.</p><p>
320
Daniel Veillardd7cec922003-06-13 12:30:10 +0000321</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000323</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>
324Deallocate the memory used by an entities hash table.</p><p>
325
Daniel Veillardd7cec922003-06-13 12:30:10 +0000326</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000327</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>
329This will dump the content the notation declaration as an XML DTD definition</p><p>
330
Daniel Veillardd7cec922003-06-13 12:30:10 +0000331</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000333</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>
335This will dump the content of the notation table as an XML DTD definition</p><p>
336
Daniel Veillardd7cec922003-06-13 12:30:10 +0000337</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000339</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>
341Allocate an element content structure.</p><p>
342
Daniel Veillardd7cec922003-06-13 12:30:10 +0000343</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000346</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>
347Build a copy of an element content description.</p><p>
348
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>
Daniel Veillardd7cec922003-06-13 12:30:10 +0000350</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000351</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>
352Free an element content structure. This is a recursive call !</p><p>
353
Daniel Veillardd7cec922003-06-13 12:30:10 +0000354</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000355</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,
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000356 int size,
Daniel Veillardd4330462003-04-29 12:40:16 +0000357 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
358 int glob);</pre><p>
359This will dump the content of the element content definition
360Intended just for the debug routine</p><p>
361
Daniel Veillardd7cec922003-06-13 12:30:10 +0000362</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000366</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,
368 int glob);</pre><p>
369Deprecated, unsafe, use xmlSnprintfElementContent</p><p>
370
Daniel Veillardd7cec922003-06-13 12:30:10 +0000371</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000374</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>
379Register a new element declaration</p><p>
380
Daniel Veillardd7cec922003-06-13 12:30:10 +0000381</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000387</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>
388Build a copy of an element table.</p><p>
389
Daniel Veillardd7cec922003-06-13 12:30:10 +0000390</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000392</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>
393Deallocate the memory used by an element hash table.</p><p>
394
Daniel Veillardd7cec922003-06-13 12:30:10 +0000395</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000396</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>
398This will dump the content of the element table as an XML DTD definition</p><p>
399
Daniel Veillardd7cec922003-06-13 12:30:10 +0000400</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000402</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>
404This will dump the content of the element declaration as an XML
405DTD definition</p><p>
406
Daniel Veillardd7cec922003-06-13 12:30:10 +0000407</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000409</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>
410create and initialize an enumeration attribute node.</p><p>
411
Daniel Veillardd7cec922003-06-13 12:30:10 +0000412</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
414 of error.
Daniel Veillardd4330462003-04-29 12:40:16 +0000415</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>
416free an enumeration attribute node (recursive).</p><p>
417
Daniel Veillardd7cec922003-06-13 12:30:10 +0000418</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000419</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>
420Copy an enumeration attribute node (recursive).</p><p>
421
Daniel Veillardd7cec922003-06-13 12:30:10 +0000422</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
424 of error.
Daniel Veillardd4330462003-04-29 12:40:16 +0000425</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>
434Register a new attribute declaration
435Note that <i><tt>tree</tt></i> becomes the ownership of the DTD</p><p>
436
Daniel Veillardd7cec922003-06-13 12:30:10 +0000437</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000447</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>
448Build a copy of an attribute table.</p><p>
449
Daniel Veillardd7cec922003-06-13 12:30:10 +0000450</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000452</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>
453Deallocate the memory used by an entities hash table.</p><p>
454
Daniel Veillardd7cec922003-06-13 12:30:10 +0000455</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000456</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>
458This will dump the content of the attribute table as an XML DTD definition</p><p>
459
Daniel Veillardd7cec922003-06-13 12:30:10 +0000460</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000462</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>
464This will dump the content of the attribute declaration as an XML
465DTD definition</p><p>
466
Daniel Veillardd7cec922003-06-13 12:30:10 +0000467</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000469</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>
473Register a new id declaration</p><p>
474
Daniel Veillardd7cec922003-06-13 12:30:10 +0000475</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000480</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>
481Deallocate the memory used by an ID hash table.</p><p>
482
Daniel Veillardd7cec922003-06-13 12:30:10 +0000483</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000484</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>
486Search the attribute declaring the given ID</p><p>
487
Daniel Veillardd7cec922003-06-13 12:30:10 +0000488</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000491</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>
494Determine whether an attribute is of type ID. In case we have DTD(s)
Daniel Veillard80ce3732002-10-07 17:39:30 +0000495then this is done if DTD loading has been requested. In the case
496of HTML documents parsed with the HTML parser, then ID detection is
Daniel Veillardd4330462003-04-29 12:40:16 +0000497done systematically.</p><p>
498
Daniel Veillardd7cec922003-06-13 12:30:10 +0000499</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000503</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>
505Remove the given attribute from the ID table maintained internally.</p><p>
506
Daniel Veillardd7cec922003-06-13 12:30:10 +0000507</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000510</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>
514Register a new ref declaration</p><p>
515
Daniel Veillardd7cec922003-06-13 12:30:10 +0000516</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000521</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>
522Deallocate the memory used by an Ref hash table.</p><p>
523
Daniel Veillardd7cec922003-06-13 12:30:10 +0000524</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000525</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>
528Determine whether an attribute is of type Ref. In case we have DTD(s)
Daniel Veillard7f7d1111999-09-22 09:46:25 +0000529then this is simple, otherwise we use an heuristic: name Ref (upper
Daniel Veillardd4330462003-04-29 12:40:16 +0000530or lowercase).</p><p>
531
Daniel Veillardd7cec922003-06-13 12:30:10 +0000532</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000536</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>
538Remove the given attribute from the Ref table maintained internally.</p><p>
539
Daniel Veillardd7cec922003-06-13 12:30:10 +0000540</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000543</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>
545Find the set of references for the supplied ID.</p><p>
546
Daniel Veillardd7cec922003-06-13 12:30:10 +0000547</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000550</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>
552Try to validate a the root element
Daniel Veillardb05deb71999-08-10 19:04:08 +0000553basically it does the following check as described by the
554XML-1.0 recommendation:
Daniel Veillardaec63562003-03-23 20:42:17 +0000555 - [ VC: Root Element Type ]
Daniel Veillardd4330462003-04-29 12:40:16 +0000556it doesn't try to recurse or apply other check to the element</p><p>
557
Daniel Veillardd7cec922003-06-13 12:30:10 +0000558</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000561</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>
564Try to validate a single element definition
Daniel Veillardb05deb71999-08-10 19:04:08 +0000565basically it does the following checks as described by the
566XML-1.0 recommendation:
Daniel Veillardaec63562003-03-23 20:42:17 +0000567 - [ VC: One ID per Element Type ]
568 - [ VC: No Duplicate Types ]
Daniel Veillardd4330462003-04-29 12:40:16 +0000569 - [ VC: Unique Element Type Declaration ]</p><p>
570
Daniel Veillardd7cec922003-06-13 12:30:10 +0000571</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000575</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>
579Does the validation related extra step of the normalization of attribute
580values:
581</p><p>
582If the declared value is not CDATA, then the XML processor must further
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000583process the normalized attribute value by discarding any leading and
Daniel Veillardd4330462003-04-29 12:40:16 +0000584trailing 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>
586
Daniel Veillardd7cec922003-06-13 12:30:10 +0000587</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000593</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>
599Does the validation related extra step of the normalization of attribute
600values:
601</p><p>
602If the declared value is not CDATA, then the XML processor must further
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000603process the normalized attribute value by discarding any leading and
Daniel Veillardd4330462003-04-29 12:40:16 +0000604trailing 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.
606</p><p>
607Also check VC: Standalone Document Declaration in P32, and update
608 ctxt-&gt;valid accordingly</p><p>
609
Daniel Veillardd7cec922003-06-13 12:30:10 +0000610</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000617</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>
620Try to validate a single attribute definition
Daniel Veillardb05deb71999-08-10 19:04:08 +0000621basically it does the following checks as described by the
622XML-1.0 recommendation:
Daniel Veillardaec63562003-03-23 20:42:17 +0000623 - [ VC: Attribute Default Legal ]
624 - [ VC: Enumeration ]
Daniel Veillardd4330462003-04-29 12:40:16 +0000625 - [ VC: ID Attribute Default ]
626</p><p>
627The ID/IDREF uniqueness and matching are done separately</p><p>
628
Daniel Veillardd7cec922003-06-13 12:30:10 +0000629</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000633</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>
635Validate that the given attribute value match the proper production
636</p><p>
637[ VC: ID ]
638Values of type ID must match the Name production....
639</p><p>
640[ VC: IDREF ]
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000641Values of type IDREF must match the Name production, and values
Daniel Veillardd4330462003-04-29 12:40:16 +0000642of type IDREFS must match Names ...
643</p><p>
644[ VC: Entity Name ]
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000645Values of type ENTITY must match the Name production, values
Daniel Veillardd4330462003-04-29 12:40:16 +0000646of type ENTITIES must match Names ...
647</p><p>
648[ VC: Name Token ]
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000649Values of type NMTOKEN must match the Nmtoken production; values
Daniel Veillardd4330462003-04-29 12:40:16 +0000650of type NMTOKENS must match Nmtokens.</p><p>
651
Daniel Veillardd7cec922003-06-13 12:30:10 +0000652</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000655</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>
658Try to validate a single notation definition
Daniel Veillardb05deb71999-08-10 19:04:08 +0000659basically it does the following checks as described by the
660XML-1.0 recommendation:
Daniel Veillardaec63562003-03-23 20:42:17 +0000661 - it seems that no validity constraint exists on notation declarations
Daniel Veillardd4330462003-04-29 12:40:16 +0000662But this function get called anyway ...</p><p>
663
Daniel Veillardd7cec922003-06-13 12:30:10 +0000664</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000668</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>
671Try to validate the document against the dtd instance
672</p><p>
673basically it does check all the definitions in the DtD.</p><p>
674
Daniel Veillardd7cec922003-06-13 12:30:10 +0000675</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000679</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>
681Does the final step for the dtds validation once all the
682subsets have been parsed
683</p><p>
684basically it does the following checks described by the XML Rec
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000685- check that ENTITY and ENTITIES type attributes default or
Daniel Veillardaec63562003-03-23 20:42:17 +0000686 possible values matches one of the defined entities.
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000687- check that NOTATION type attributes default or
Daniel Veillardd4330462003-04-29 12:40:16 +0000688 possible values matches one of the defined notations.</p><p>
689
Daniel Veillardd7cec922003-06-13 12:30:10 +0000690</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000693</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>
695Try to validate the document instance
696</p><p>
697basically it does the all the checks described by the XML Rec
Daniel Veillardb05deb71999-08-10 19:04:08 +0000698i.e. validates the internal and external subset (if present)
Daniel Veillardd4330462003-04-29 12:40:16 +0000699and validate the document tree.</p><p>
700
Daniel Veillardd7cec922003-06-13 12:30:10 +0000701</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000704</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>
707Try to validate the subtree under an element</p><p>
708
Daniel Veillardd7cec922003-06-13 12:30:10 +0000709</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000713</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>
716Try to validate a single element and it's attributes,
Daniel Veillardb05deb71999-08-10 19:04:08 +0000717basically it does the following checks as described by the
718XML-1.0 recommendation:
Daniel Veillardaec63562003-03-23 20:42:17 +0000719 - [ VC: Element Valid ]
720 - [ VC: Required Attribute ]
Daniel Veillardd4330462003-04-29 12:40:16 +0000721Then call <a href="libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a>() for each attribute present.
722</p><p>
723The ID/IDREF checkings are done separately</p><p>
724
Daniel Veillardd7cec922003-06-13 12:30:10 +0000725</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000729</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>
734Try to validate a single attribute for an element
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000735basically it does the following checks as described by the
Daniel Veillardb05deb71999-08-10 19:04:08 +0000736XML-1.0 recommendation:
Daniel Veillardaec63562003-03-23 20:42:17 +0000737 - [ VC: Attribute Value Type ]
738 - [ VC: Fixed Attribute Default ]
739 - [ VC: Entity Name ]
740 - [ VC: Name Token ]
741 - [ VC: ID ]
742 - [ VC: IDREF ]
743 - [ VC: Entity Name ]
Daniel Veillardd4330462003-04-29 12:40:16 +0000744 - [ VC: Notation Attributes ]
745</p><p>
746The ID/IDREF uniqueness and matching are done separately</p><p>
747
Daniel Veillardd7cec922003-06-13 12:30:10 +0000748</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000754</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>
760Try to validate a single namespace declaration for an element
Daniel Veillard5ede35e2002-10-01 11:37:35 +0000761basically it does the following checks as described by the
762XML-1.0 recommendation:
Daniel Veillardaec63562003-03-23 20:42:17 +0000763 - [ VC: Attribute Value Type ]
764 - [ VC: Fixed Attribute Default ]
765 - [ VC: Entity Name ]
766 - [ VC: Name Token ]
767 - [ VC: ID ]
768 - [ VC: IDREF ]
769 - [ VC: Entity Name ]
Daniel Veillardd4330462003-04-29 12:40:16 +0000770 - [ VC: Notation Attributes ]
771</p><p>
772The ID/IDREF uniqueness and matching are done separately</p><p>
773
Daniel Veillardd7cec922003-06-13 12:30:10 +0000774</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000781</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>
783Does the final step for the document validation once all the
784incremental validation steps have been completed
785</p><p>
786basically it does the following checks described by the XML Rec
787</p><p>
788Check all the IDREF/IDREFS attributes definition for validity</p><p>
789
Daniel Veillardd7cec922003-06-13 12:30:10 +0000790</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000793</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>
796Validate that the given name match a notation declaration.
797- [ VC: Notation Declared ]</p><p>
798
Daniel Veillardd7cec922003-06-13 12:30:10 +0000799</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000803</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>
805Search in the DtDs whether an element accept Mixed content (or ANY)
806basically if it is supposed to accept text childs</p><p>
807
Daniel Veillardd7cec922003-06-13 12:30:10 +0000808</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000811</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>
814Search the DTD for the description of this attribute on
815this element.</p><p>
816
Daniel Veillardd7cec922003-06-13 12:30:10 +0000817</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000821</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>
825Search the DTD for the description of this qualified attribute on
826this element.</p><p>
827
Daniel Veillardd7cec922003-06-13 12:30:10 +0000828</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000833</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>
835Search the DTD for the description of this notation</p><p>
836
Daniel Veillardd7cec922003-06-13 12:30:10 +0000837</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000840</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>
843Search the DTD for the description of this element</p><p>
844
Daniel Veillardd7cec922003-06-13 12:30:10 +0000845</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000849</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>
851Search the DTD for the description of this element</p><p>
852
Daniel Veillardd7cec922003-06-13 12:30:10 +0000853</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000856</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,
859 int max);</pre><p>
860This function returns the list of authorized children to insert
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000861within an existing tree while respecting the validity constraints
Daniel Veillardd4330462003-04-29 12:40:16 +0000862forced 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:
Daniel Veillardaec63562003-03-23 20:42:17 +0000864 to insert before 'node': xmlValidGetValidElements(node-&gt;prev, node, ...
865 to insert next 'node': xmlValidGetValidElements(node, node-&gt;next, ...
866 to replace 'node': xmlValidGetValidElements(node-&gt;prev, node-&gt;next, ...
867 to prepend a child to 'node': xmlValidGetValidElements(NULL, node-&gt;childs,
Daniel Veillardd4330462003-04-29 12:40:16 +0000868 to append a child to 'node': xmlValidGetValidElements(node-&gt;last, NULL, ...
869</p><p>
870pointers to the element names are inserted at the beginning of the array
871and do not need to be freed.</p><p>
872
Daniel Veillardd7cec922003-06-13 12:30:10 +0000873</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000880</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,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000882 int *len,
Daniel Veillardd4330462003-04-29 12:40:16 +0000883 int max);</pre><p>
884Build/extend a list of potential children allowed by the content tree</p><p>
885
Daniel Veillardd7cec922003-06-13 12:30:10 +0000886</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000891</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>
892Validate that the given value match Name production</p><p>
893
Daniel Veillardd7cec922003-06-13 12:30:10 +0000894</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000896</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>
897Validate that the given value match Names production</p><p>
898
Daniel Veillardd7cec922003-06-13 12:30:10 +0000899</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000901</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>
902Validate that the given value match Nmtoken production
903</p><p>
904[ VC: Name Token ]</p><p>
905
Daniel Veillardd7cec922003-06-13 12:30:10 +0000906</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000908</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>
909Validate that the given value match Nmtokens production
910</p><p>
911[ VC: Name Token ]</p><p>
912
Daniel Veillardd7cec922003-06-13 12:30:10 +0000913</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000915</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
918element</p><p>
919
Daniel Veillardd7cec922003-06-13 12:30:10 +0000920</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000923</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>
927Push a new element start on the validation stack.</p><p>
928
Daniel Veillardd7cec922003-06-13 12:30:10 +0000929</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000934</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,
936 int len);</pre><p>
937check the CData parsed for validation in the current stack</p><p>
938
Daniel Veillardd7cec922003-06-13 12:30:10 +0000939</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000943</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>
947Pop the element end from the validation stack.</p><p>
948
Daniel Veillardd7cec922003-06-13 12:30:10 +0000949</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000954</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>&lt;&lt; entities</b></a></td><td align="right"><a accesskey="n" href="libxml-relaxng.html"><b>relaxng &gt;&gt;</b></a></td></tr></table></body></html>