blob: 905be65b9bdb17a0621e77990035a432e525df31 [file] [log] [blame]
Daniel Veillardd4330462003-04-29 12:40:16 +00001<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>valid</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css">
3 .synopsis, .classsynopsis {
4 background: #eeeeee;
5 border: solid 1px #aaaaaa;
6 padding: 0.5em;
7 }
8 .programlisting {
9 background: #eeeeff;
10 border: solid 1px #aaaaff;
11 padding: 0.5em;
12 }
13 .variablelist {
14 padding: 4px;
15 margin-left: 3em;
16 }
17 .navigation {
18 background: #ffeeee;
19 border: solid 1px #ffaaaa;
20 margin-top: 0.5em;
21 margin-bottom: 0.5em;
22 }
23 .navigation a {
24 color: #770000;
25 }
26 .navigation a:visited {
27 color: #550000;
28 }
29 .navigation .title {
30 font-size: 200%;
31 }
32 </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="libxml-lib.html" title="Libxml Library Reference"><link rel="previous" href="libxml-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 +000033
Daniel Veillardd4330462003-04-29 12:40:16 +000034
35
36struct <a href="libxml-valid.html#xmlValidState">xmlValidState</a>;
37typedef <a href="libxml-valid.html#xmlValidStatePtr">xmlValidStatePtr</a>;
38void (<a href="libxml-valid.html#xmlValidityErrorFunc">*xmlValidityErrorFunc</a>) (void *ctx,
Daniel Veillardb05deb71999-08-10 19:04:08 +000039 const char *msg,
40 ...);
Daniel Veillardd4330462003-04-29 12:40:16 +000041void (<a href="libxml-valid.html#xmlValidityWarningFunc">*xmlValidityWarningFunc</a>) (void *ctx,
Daniel Veillardb05deb71999-08-10 19:04:08 +000042 const char *msg,
43 ...);
Daniel Veillardd4330462003-04-29 12:40:16 +000044struct <a href="libxml-valid.html#xmlValidCtxt">xmlValidCtxt</a>;
45typedef <a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>;
46typedef <a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>;
47typedef <a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a>;
48typedef <a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>;
49typedef <a href="libxml-valid.html#xmlIDTablePtr">xmlIDTablePtr</a>;
50typedef <a href="libxml-valid.html#xmlRefTablePtr">xmlRefTablePtr</a>;
51<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,
52 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
53 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
54 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *PublicID,
55 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
56<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);
57void <a href="libxml-valid.html#xmlFreeNotationTable">xmlFreeNotationTable</a> (<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
58void <a href="libxml-valid.html#xmlDumpNotationDecl">xmlDumpNotationDecl</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
59 <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
60void <a href="libxml-valid.html#xmlDumpNotationTable">xmlDumpNotationTable</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
61 <a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
62<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,
63 <a href="libxml-tree.html#xmlElementContentType">xmlElementContentType</a> type);
64<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);
65void <a href="libxml-valid.html#xmlFreeElementContent">xmlFreeElementContent</a> (<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
66void <a href="libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a> (char *buf,
Daniel Veillarde7ead2d2001-08-22 23:44:09 +000067 int size,
Daniel Veillardd4330462003-04-29 12:40:16 +000068 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
Daniel Veillarde7ead2d2001-08-22 23:44:09 +000069 int glob);
Daniel Veillardd4330462003-04-29 12:40:16 +000070void <a href="libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a> (char *buf,
71 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +000072 int glob);
Daniel Veillardd4330462003-04-29 12:40:16 +000073<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,
74 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
75 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
76 <a href="libxml-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type,
77 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
78<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);
79void <a href="libxml-valid.html#xmlFreeElementTable">xmlFreeElementTable</a> (<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
80void <a href="libxml-valid.html#xmlDumpElementTable">xmlDumpElementTable</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
81 <a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
82void <a href="libxml-valid.html#xmlDumpElementDecl">xmlDumpElementDecl</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
83 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
84<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);
85void <a href="libxml-valid.html#xmlFreeEnumeration">xmlFreeEnumeration</a> (<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);
86<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);
87<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,
88 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
89 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
90 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
91 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns,
92 <a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type,
93 <a href="libxml-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def,
94 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *defaultValue,
95 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
96<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);
97void <a href="libxml-valid.html#xmlFreeAttributeTable">xmlFreeAttributeTable</a> (<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
98void <a href="libxml-valid.html#xmlDumpAttributeTable">xmlDumpAttributeTable</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
99 <a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
100void <a href="libxml-valid.html#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
101 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
102<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,
103 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
104 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
105 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
106void <a href="libxml-valid.html#xmlFreeIDTable">xmlFreeIDTable</a> (<a href="libxml-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table);
107<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,
108 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID);
109int <a href="libxml-valid.html#xmlIsID">xmlIsID</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
110 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
111 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
112int <a href="libxml-valid.html#xmlRemoveID">xmlRemoveID</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
113 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
114<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,
115 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
116 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
117 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
118void <a href="libxml-valid.html#xmlFreeRefTable">xmlFreeRefTable</a> (<a href="libxml-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table);
119int <a href="libxml-valid.html#xmlIsRef">xmlIsRef</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
120 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
121 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
122int <a href="libxml-valid.html#xmlRemoveRef">xmlRemoveRef</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
123 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
124<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,
125 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID);
126int <a href="libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
127 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
128int <a href="libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
129 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
130 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
131<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,
132 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
133 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
134 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
135<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a>
136 (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
137 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
138 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
139 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
140 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
141int <a href="libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
142 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
143 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
144int <a href="libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a> (<a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type,
145 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
146int <a href="libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
147 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
148 <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
149int <a href="libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
150 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
151 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
152int <a href="libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
153 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
154int <a href="libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
155 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
156int <a href="libxml-valid.html#xmlValidateElement">xmlValidateElement</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
157 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
158 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
159int <a href="libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
160 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
161 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
162int <a href="libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
163 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
164 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
165 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr,
166 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
167int <a href="libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
168 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
169 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
170 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
171 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
172 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
173int <a href="libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
174 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
175int <a href="libxml-valid.html#xmlValidateNotationUse">xmlValidateNotationUse</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
176 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
177 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *notationName);
178int <a href="libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
179 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
180<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,
181 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
182 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
183<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,
184 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
185 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
186 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);
187<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,
188 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
189<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,
190 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
191 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);
192<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,
193 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
194int <a href="libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a> (<a href="libxml-tree.html#xmlNode">xmlNode</a> *prev,
195 <a href="libxml-tree.html#xmlNode">xmlNode</a> *next,
196 const <a href="libxml-tree.html#xmlChar">xmlChar</a> **list,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000197 int max);
Daniel Veillardd4330462003-04-29 12:40:16 +0000198int <a href="libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a> (<a href="libxml-tree.html#xmlElementContent">xmlElementContent</a> *ctree,
199 const <a href="libxml-tree.html#xmlChar">xmlChar</a> **list,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000200 int *len,
Daniel Veillarda7084cd2002-04-15 17:12:47 +0000201 int max);
Daniel Veillardd4330462003-04-29 12:40:16 +0000202int <a href="libxml-valid.html#xmlValidateNameValue">xmlValidateNameValue</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
203int <a href="libxml-valid.html#xmlValidateNamesValue">xmlValidateNamesValue</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
204int <a href="libxml-valid.html#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
205int <a href="libxml-valid.html#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
206int <a href="libxml-valid.html#xmlValidBuildContentModel">xmlValidBuildContentModel</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
207 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
208int <a href="libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
209 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
210 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
211 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *qname);
212int <a href="libxml-valid.html#xmlValidatePushCData">xmlValidatePushCData</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
213 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data,
Daniel Veillardaec63562003-03-23 20:42:17 +0000214 int len);
Daniel Veillardd4330462003-04-29 12:40:16 +0000215int <a href="libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a> (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
216 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
217 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
218 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *qname);
219</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
220
221</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>
222
Daniel Veillard93d95252003-04-29 20:25:40 +0000223</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidStatePtr"></a>xmlValidStatePtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000224
225</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 +0000226 const char *msg,
Daniel Veillardd4330462003-04-29 12:40:16 +0000227 ...);</pre><p>
228Callback called when a validity error is found. This is a message
229oriented function similar to an *printf function.</p><p>
230
Daniel Veillard93d95252003-04-29 20:25:40 +0000231</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>
232</td></tr><tr><td><span class="term"><i><tt>msg</tt></i> :</span></td><td>
233</td></tr><tr><td><span class="term"><i><tt>...</tt></i> :</span></td><td>
234
235
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 Veillard93d95252003-04-29 20:25:40 +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>
243</td></tr><tr><td><span class="term"><i><tt>msg</tt></i> :</span></td><td>
244</td></tr><tr><td><span class="term"><i><tt>...</tt></i> :</span></td><td>
245
246
Daniel Veillardd4330462003-04-29 12:40:16 +0000247</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 +0000248 void *userData; /* user specific data block */
249 xmlValidityErrorFunc error; /* the callback in case of errors */
250 xmlValidityWarningFunc warning; /* the callback in case of warning */
251
252 /* Node analysis stack used when validating within entities */
253 xmlNodePtr node; /* Current parsed Node */
254 int nodeNr; /* Depth of the parsing stack */
255 int nodeMax; /* Max depth of the parsing stack */
256 xmlNodePtr *nodeTab; /* array of nodes */
257
258 int finishDtd; /* finished validating the Dtd ? */
Daniel Veillard29a11cc2000-10-25 13:32:39 +0000259 xmlDocPtr doc; /* the document */
260 int valid; /* temporary validity check result */
Daniel Veillarda41123c2001-04-22 19:31:20 +0000261
262 /* state state used for non-determinist content validation */
263 xmlValidState *vstate; /* current state */
264 int vstateNr; /* Depth of the validation stack */
265 int vstateMax; /* Max depth of the validation stack */
266 xmlValidState *vstateTab; /* array of validation states */
Daniel Veillard2ace1952002-09-26 12:28:02 +0000267
268#ifdef LIBXML_REGEXP_ENABLED
269 xmlAutomataPtr am; /* the automata */
270 xmlAutomataStatePtr state; /* used to build the automata */
271#else
272 void *am;
273 void *state;
274#endif
Daniel Veillardd4330462003-04-29 12:40:16 +0000275};
276</pre><p>
277</p><p>
278
Daniel Veillard93d95252003-04-29 20:25:40 +0000279</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidCtxtPtr"></a>xmlValidCtxtPtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000280
Daniel Veillard93d95252003-04-29 20:25:40 +0000281</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNotationTablePtr"></a>xmlNotationTablePtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000282
Daniel Veillard93d95252003-04-29 20:25:40 +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><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000284
Daniel Veillard93d95252003-04-29 20:25:40 +0000285</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAttributeTablePtr"></a>xmlAttributeTablePtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000286
Daniel Veillard93d95252003-04-29 20:25:40 +0000287</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIDTablePtr"></a>xmlIDTablePtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000288
Daniel Veillard93d95252003-04-29 20:25:40 +0000289</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRefTablePtr"></a>xmlRefTablePtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000290
291</p></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,
292 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
293 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
294 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *PublicID,
295 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
296Register a new notation declaration</p><p>
297
Daniel Veillard93d95252003-04-29 20:25:40 +0000298</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>
299</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i> :</span></td><td>
300</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
301</td></tr><tr><td><span class="term"><i><tt>PublicID</tt></i> :</span></td><td>
302</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td>
303</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
304
305
Daniel Veillardd4330462003-04-29 12:40:16 +0000306</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>
307Build a copy of a notation table.</p><p>
308
Daniel Veillard93d95252003-04-29 20:25:40 +0000309</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>
310</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
311
312
Daniel Veillardd4330462003-04-29 12:40:16 +0000313</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>
314Deallocate the memory used by an entities hash table.</p><p>
315
Daniel Veillard93d95252003-04-29 20:25:40 +0000316</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>
317
318
Daniel Veillardd4330462003-04-29 12:40:16 +0000319</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,
320 <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);</pre><p>
321This will dump the content the notation declaration as an XML DTD definition</p><p>
322
Daniel Veillard93d95252003-04-29 20:25:40 +0000323</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>
324</td></tr><tr><td><span class="term"><i><tt>nota</tt></i> :</span></td><td>
325
326
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="xmlDumpNotationTable"></a>xmlDumpNotationTable ()</h3><pre class="programlisting">void xmlDumpNotationTable (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
328 <a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);</pre><p>
329This will dump the content of the notation table as an XML DTD definition</p><p>
330
Daniel Veillard93d95252003-04-29 20:25:40 +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>
332</td></tr><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td>
333
334
Daniel Veillardd4330462003-04-29 12:40:16 +0000335</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,
336 <a href="libxml-tree.html#xmlElementContentType">xmlElementContentType</a> type);</pre><p>
337Allocate an element content structure.</p><p>
338
Daniel Veillard93d95252003-04-29 20:25:40 +0000339</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>
340</td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td>
341</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
342
343
Daniel Veillardd4330462003-04-29 12:40:16 +0000344</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>
345Build a copy of an element content description.</p><p>
346
347</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 Veillard93d95252003-04-29 20:25:40 +0000348</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
349
350
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 Veillard93d95252003-04-29 20:25:40 +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>
355
356
Daniel Veillardd4330462003-04-29 12:40:16 +0000357</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 +0000358 int size,
Daniel Veillardd4330462003-04-29 12:40:16 +0000359 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
360 int glob);</pre><p>
361This will dump the content of the element content definition
362Intended just for the debug routine</p><p>
363
Daniel Veillard93d95252003-04-29 20:25:40 +0000364</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>
365</td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td>
366</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td>
367</td></tr><tr><td><span class="term"><i><tt>glob</tt></i> :</span></td><td>
368
369
Daniel Veillardd4330462003-04-29 12:40:16 +0000370</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,
371 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
372 int glob);</pre><p>
373Deprecated, unsafe, use xmlSnprintfElementContent</p><p>
374
Daniel Veillard93d95252003-04-29 20:25:40 +0000375</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>
376</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td>
377</td></tr><tr><td><span class="term"><i><tt>glob</tt></i> :</span></td><td>
378
379
Daniel Veillardd4330462003-04-29 12:40:16 +0000380</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,
381 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
382 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
383 <a href="libxml-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type,
384 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);</pre><p>
385Register a new element declaration</p><p>
386
Daniel Veillard93d95252003-04-29 20:25:40 +0000387</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>
388</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i> :</span></td><td>
389</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
390</td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td>
391</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td>
392</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
393
394
Daniel Veillardd4330462003-04-29 12:40:16 +0000395</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>
396Build a copy of an element table.</p><p>
397
Daniel Veillard93d95252003-04-29 20:25:40 +0000398</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>
399</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
400
401
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="xmlFreeElementTable"></a>xmlFreeElementTable ()</h3><pre class="programlisting">void xmlFreeElementTable (<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);</pre><p>
403Deallocate the memory used by an element hash table.</p><p>
404
Daniel Veillard93d95252003-04-29 20:25:40 +0000405</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>
406
407
Daniel Veillardd4330462003-04-29 12:40:16 +0000408</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,
409 <a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);</pre><p>
410This will dump the content of the element table as an XML DTD definition</p><p>
411
Daniel Veillard93d95252003-04-29 20:25:40 +0000412</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>
413</td></tr><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td>
414
415
Daniel Veillardd4330462003-04-29 12:40:16 +0000416</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,
417 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);</pre><p>
418This will dump the content of the element declaration as an XML
419DTD definition</p><p>
420
Daniel Veillard93d95252003-04-29 20:25:40 +0000421</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>
422</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
423
424
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="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>
426create and initialize an enumeration attribute node.</p><p>
427
Daniel Veillard93d95252003-04-29 20:25:40 +0000428</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>
429</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
430
431
Daniel Veillardd4330462003-04-29 12:40:16 +0000432</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>
433free an enumeration attribute node (recursive).</p><p>
434
Daniel Veillard93d95252003-04-29 20:25:40 +0000435</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>
436
437
Daniel Veillardd4330462003-04-29 12:40:16 +0000438</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>
439Copy an enumeration attribute node (recursive).</p><p>
440
Daniel Veillard93d95252003-04-29 20:25:40 +0000441</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>
442</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
443
444
Daniel Veillardd4330462003-04-29 12:40:16 +0000445</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,
446 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
447 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
448 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
449 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns,
450 <a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type,
451 <a href="libxml-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def,
452 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *defaultValue,
453 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);</pre><p>
454Register a new attribute declaration
455Note that <i><tt>tree</tt></i> becomes the ownership of the DTD</p><p>
456
Daniel Veillard93d95252003-04-29 20:25:40 +0000457</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>
458</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i> :</span></td><td>
459</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
460</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
461</td></tr><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td>
462</td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td>
463</td></tr><tr><td><span class="term"><i><tt>def</tt></i> :</span></td><td>
464</td></tr><tr><td><span class="term"><i><tt>defaultValue</tt></i> :</span></td><td>
465</td></tr><tr><td><span class="term"><i><tt>tree</tt></i> :</span></td><td>
466</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
467
468
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="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>
470Build a copy of an attribute table.</p><p>
471
Daniel Veillard93d95252003-04-29 20:25:40 +0000472</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>
473</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
474
475
Daniel Veillardd4330462003-04-29 12:40:16 +0000476</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>
477Deallocate the memory used by an entities hash table.</p><p>
478
Daniel Veillard93d95252003-04-29 20:25:40 +0000479</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>
480
481
Daniel Veillardd4330462003-04-29 12:40:16 +0000482</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,
483 <a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);</pre><p>
484This will dump the content of the attribute table as an XML DTD definition</p><p>
485
Daniel Veillard93d95252003-04-29 20:25:40 +0000486</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>
487</td></tr><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td>
488
489
Daniel Veillardd4330462003-04-29 12:40:16 +0000490</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,
491 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);</pre><p>
492This will dump the content of the attribute declaration as an XML
493DTD definition</p><p>
494
Daniel Veillard93d95252003-04-29 20:25:40 +0000495</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>
496</td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td>
497
498
Daniel Veillardd4330462003-04-29 12:40:16 +0000499</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,
500 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
501 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
502 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
503Register a new id declaration</p><p>
504
Daniel Veillard93d95252003-04-29 20:25:40 +0000505</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>
506</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
507</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td>
508</td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td>
509</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
510
511
Daniel Veillardd4330462003-04-29 12:40:16 +0000512</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>
513Deallocate the memory used by an ID hash table.</p><p>
514
Daniel Veillard93d95252003-04-29 20:25:40 +0000515</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>
516
517
Daniel Veillardd4330462003-04-29 12:40:16 +0000518</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,
519 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID);</pre><p>
520Search the attribute declaring the given ID</p><p>
521
Daniel Veillard93d95252003-04-29 20:25:40 +0000522</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>
523</td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td>
524</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
525
526
Daniel Veillardd4330462003-04-29 12:40:16 +0000527</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,
528 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
529 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
530Determine whether an attribute is of type ID. In case we have DTD(s)
Daniel Veillard80ce3732002-10-07 17:39:30 +0000531then this is done if DTD loading has been requested. In the case
532of HTML documents parsed with the HTML parser, then ID detection is
Daniel Veillardd4330462003-04-29 12:40:16 +0000533done systematically.</p><p>
534
Daniel Veillard93d95252003-04-29 20:25:40 +0000535</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>
536</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
537</td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td>
538</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
539
540
Daniel Veillardd4330462003-04-29 12:40:16 +0000541</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,
542 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
543Remove the given attribute from the ID table maintained internally.</p><p>
544
Daniel Veillard93d95252003-04-29 20:25:40 +0000545</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>
546</td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td>
547</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
548
549
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="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,
551 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
552 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
553 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
554Register a new ref declaration</p><p>
555
Daniel Veillard93d95252003-04-29 20:25:40 +0000556</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>
557</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
558</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td>
559</td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td>
560</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
561
562
Daniel Veillardd4330462003-04-29 12:40:16 +0000563</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>
564Deallocate the memory used by an Ref hash table.</p><p>
565
Daniel Veillard93d95252003-04-29 20:25:40 +0000566</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>
567
568
Daniel Veillardd4330462003-04-29 12:40:16 +0000569</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,
570 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
571 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
572Determine whether an attribute is of type Ref. In case we have DTD(s)
Daniel Veillard7f7d1111999-09-22 09:46:25 +0000573then this is simple, otherwise we use an heuristic: name Ref (upper
Daniel Veillardd4330462003-04-29 12:40:16 +0000574or lowercase).</p><p>
575
Daniel Veillard93d95252003-04-29 20:25:40 +0000576</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>
577</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
578</td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td>
579</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
580
581
Daniel Veillardd4330462003-04-29 12:40:16 +0000582</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,
583 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
584Remove the given attribute from the Ref table maintained internally.</p><p>
585
Daniel Veillard93d95252003-04-29 20:25:40 +0000586</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>
587</td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td>
588</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
589
590
Daniel Veillardd4330462003-04-29 12:40:16 +0000591</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,
592 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID);</pre><p>
593Find the set of references for the supplied ID.</p><p>
594
Daniel Veillard93d95252003-04-29 20:25:40 +0000595</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>
596</td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td>
597</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
598
599
Daniel Veillardd4330462003-04-29 12:40:16 +0000600</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,
601 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
602Try to validate a the root element
Daniel Veillardb05deb71999-08-10 19:04:08 +0000603basically it does the following check as described by the
604XML-1.0 recommendation:
Daniel Veillardaec63562003-03-23 20:42:17 +0000605 - [ VC: Root Element Type ]
Daniel Veillardd4330462003-04-29 12:40:16 +0000606it doesn't try to recurse or apply other check to the element</p><p>
607
Daniel Veillard93d95252003-04-29 20:25:40 +0000608</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>
609</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
610</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
611
612
Daniel Veillardd4330462003-04-29 12:40:16 +0000613</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,
614 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
615 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);</pre><p>
616Try to validate a single element definition
Daniel Veillardb05deb71999-08-10 19:04:08 +0000617basically it does the following checks as described by the
618XML-1.0 recommendation:
Daniel Veillardaec63562003-03-23 20:42:17 +0000619 - [ VC: One ID per Element Type ]
620 - [ VC: No Duplicate Types ]
Daniel Veillardd4330462003-04-29 12:40:16 +0000621 - [ VC: Unique Element Type Declaration ]</p><p>
622
Daniel Veillard93d95252003-04-29 20:25:40 +0000623</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>
624</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
625</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
626</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
627
628
Daniel Veillardd4330462003-04-29 12:40:16 +0000629</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,
630 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
631 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
632 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
633Does the validation related extra step of the normalization of attribute
634values:
635</p><p>
636If the declared value is not CDATA, then the XML processor must further
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000637process the normalized attribute value by discarding any leading and
Daniel Veillardd4330462003-04-29 12:40:16 +0000638trailing space (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="x20">x20</GTKDOCLINK>) characters, and by replacing sequences of space
639(<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>
640
Daniel Veillard93d95252003-04-29 20:25:40 +0000641</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>
642</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
643</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
644</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td>
645</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
646
647
Daniel Veillardd4330462003-04-29 12:40:16 +0000648</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
649 (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
650 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
651 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
652 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
653 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
654Does the validation related extra step of the normalization of attribute
655values:
656</p><p>
657If the declared value is not CDATA, then the XML processor must further
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000658process the normalized attribute value by discarding any leading and
Daniel Veillardd4330462003-04-29 12:40:16 +0000659trailing space (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="x20">x20</GTKDOCLINK>) characters, and by replacing sequences of space
660(<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.
661</p><p>
662Also check VC: Standalone Document Declaration in P32, and update
663 ctxt-&gt;valid accordingly</p><p>
664
Daniel Veillard93d95252003-04-29 20:25:40 +0000665</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 or NULL
666</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
667</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
668</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
669</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td>
670</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
671
672
Daniel Veillardd4330462003-04-29 12:40:16 +0000673</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,
674 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
675 <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);</pre><p>
676Try to validate a single attribute definition
Daniel Veillardb05deb71999-08-10 19:04:08 +0000677basically it does the following checks as described by the
678XML-1.0 recommendation:
Daniel Veillardaec63562003-03-23 20:42:17 +0000679 - [ VC: Attribute Default Legal ]
680 - [ VC: Enumeration ]
Daniel Veillardd4330462003-04-29 12:40:16 +0000681 - [ VC: ID Attribute Default ]
682</p><p>
683The ID/IDREF uniqueness and matching are done separately</p><p>
684
Daniel Veillard93d95252003-04-29 20:25:40 +0000685</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>
686</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
687</td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td>
688</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
689
690
Daniel Veillardd4330462003-04-29 12:40:16 +0000691</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,
692 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
693Validate that the given attribute value match the proper production
694</p><p>
695[ VC: ID ]
696Values of type ID must match the Name production....
697</p><p>
698[ VC: IDREF ]
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000699Values of type IDREF must match the Name production, and values
Daniel Veillardd4330462003-04-29 12:40:16 +0000700of type IDREFS must match Names ...
701</p><p>
702[ VC: Entity Name ]
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000703Values of type ENTITY must match the Name production, values
Daniel Veillardd4330462003-04-29 12:40:16 +0000704of type ENTITIES must match Names ...
705</p><p>
706[ VC: Name Token ]
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000707Values of type NMTOKEN must match the Nmtoken production; values
Daniel Veillardd4330462003-04-29 12:40:16 +0000708of type NMTOKENS must match Nmtokens.</p><p>
709
Daniel Veillard93d95252003-04-29 20:25:40 +0000710</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>
711</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td>
712</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
713
714
Daniel Veillardd4330462003-04-29 12:40:16 +0000715</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,
716 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
717 <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);</pre><p>
718Try to validate a single notation definition
Daniel Veillardb05deb71999-08-10 19:04:08 +0000719basically it does the following checks as described by the
720XML-1.0 recommendation:
Daniel Veillardaec63562003-03-23 20:42:17 +0000721 - it seems that no validity constraint exists on notation declarations
Daniel Veillardd4330462003-04-29 12:40:16 +0000722But this function get called anyway ...</p><p>
723
Daniel Veillard93d95252003-04-29 20:25:40 +0000724</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>
725</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
726</td></tr><tr><td><span class="term"><i><tt>nota</tt></i> :</span></td><td>
727</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
728
729
Daniel Veillardd4330462003-04-29 12:40:16 +0000730</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,
731 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
732 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);</pre><p>
733Try to validate the document against the dtd instance
734</p><p>
735basically it does check all the definitions in the DtD.</p><p>
736
Daniel Veillard93d95252003-04-29 20:25:40 +0000737</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>
738</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
739</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i> :</span></td><td>
740</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
741
742
Daniel Veillardd4330462003-04-29 12:40:16 +0000743</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,
744 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
745Does the final step for the dtds validation once all the
746subsets have been parsed
747</p><p>
748basically it does the following checks described by the XML Rec
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000749- check that ENTITY and ENTITIES type attributes default or
Daniel Veillardaec63562003-03-23 20:42:17 +0000750 possible values matches one of the defined entities.
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000751- check that NOTATION type attributes default or
Daniel Veillardd4330462003-04-29 12:40:16 +0000752 possible values matches one of the defined notations.</p><p>
753
Daniel Veillard93d95252003-04-29 20:25:40 +0000754</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>
755</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
756</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
757
758
Daniel Veillardd4330462003-04-29 12:40:16 +0000759</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,
760 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
761Try to validate the document instance
762</p><p>
763basically it does the all the checks described by the XML Rec
Daniel Veillardb05deb71999-08-10 19:04:08 +0000764i.e. validates the internal and external subset (if present)
Daniel Veillardd4330462003-04-29 12:40:16 +0000765and validate the document tree.</p><p>
766
Daniel Veillard93d95252003-04-29 20:25:40 +0000767</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>
768</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
769</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
770
771
Daniel Veillardd4330462003-04-29 12:40:16 +0000772</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,
773 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
774 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p>
775Try to validate the subtree under an element</p><p>
776
Daniel Veillard93d95252003-04-29 20:25:40 +0000777</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>
778</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
779</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
780</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
781
782
Daniel Veillardd4330462003-04-29 12:40:16 +0000783</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,
784 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
785 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p>
786Try to validate a single element and it's attributes,
Daniel Veillardb05deb71999-08-10 19:04:08 +0000787basically it does the following checks as described by the
788XML-1.0 recommendation:
Daniel Veillardaec63562003-03-23 20:42:17 +0000789 - [ VC: Element Valid ]
790 - [ VC: Required Attribute ]
Daniel Veillardd4330462003-04-29 12:40:16 +0000791Then call <a href="libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a>() for each attribute present.
792</p><p>
793The ID/IDREF checkings are done separately</p><p>
794
Daniel Veillard93d95252003-04-29 20:25:40 +0000795</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>
796</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
797</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
798</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
799
800
Daniel Veillardd4330462003-04-29 12:40:16 +0000801</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,
802 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
803 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
804 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr,
805 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
806Try to validate a single attribute for an element
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000807basically it does the following checks as described by the
Daniel Veillardb05deb71999-08-10 19:04:08 +0000808XML-1.0 recommendation:
Daniel Veillardaec63562003-03-23 20:42:17 +0000809 - [ VC: Attribute Value Type ]
810 - [ VC: Fixed Attribute Default ]
811 - [ VC: Entity Name ]
812 - [ VC: Name Token ]
813 - [ VC: ID ]
814 - [ VC: IDREF ]
815 - [ VC: Entity Name ]
Daniel Veillardd4330462003-04-29 12:40:16 +0000816 - [ VC: Notation Attributes ]
817</p><p>
818The ID/IDREF uniqueness and matching are done separately</p><p>
819
Daniel Veillard93d95252003-04-29 20:25:40 +0000820</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>
821</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
822</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
823</td></tr><tr><td><span class="term"><i><tt>attr</tt></i> :</span></td><td>
824</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td>
825</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
826
827
Daniel Veillardd4330462003-04-29 12:40:16 +0000828</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,
829 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
830 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
831 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
832 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
833 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
834Try to validate a single namespace declaration for an element
Daniel Veillard5ede35e2002-10-01 11:37:35 +0000835basically it does the following checks as described by the
836XML-1.0 recommendation:
Daniel Veillardaec63562003-03-23 20:42:17 +0000837 - [ VC: Attribute Value Type ]
838 - [ VC: Fixed Attribute Default ]
839 - [ VC: Entity Name ]
840 - [ VC: Name Token ]
841 - [ VC: ID ]
842 - [ VC: IDREF ]
843 - [ VC: Entity Name ]
Daniel Veillardd4330462003-04-29 12:40:16 +0000844 - [ VC: Notation Attributes ]
845</p><p>
846The ID/IDREF uniqueness and matching are done separately</p><p>
847
Daniel Veillard93d95252003-04-29 20:25:40 +0000848</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>
849</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
850</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
851</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i> :</span></td><td>
852</td></tr><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td>
853</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td>
854</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
855
856
Daniel Veillardd4330462003-04-29 12:40:16 +0000857</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,
858 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
859Does the final step for the document validation once all the
860incremental validation steps have been completed
861</p><p>
862basically it does the following checks described by the XML Rec
863</p><p>
864Check all the IDREF/IDREFS attributes definition for validity</p><p>
865
Daniel Veillard93d95252003-04-29 20:25:40 +0000866</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>
867</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
868</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
869
870
Daniel Veillardd4330462003-04-29 12:40:16 +0000871</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,
872 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
873 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *notationName);</pre><p>
874Validate that the given name match a notation declaration.
875- [ VC: Notation Declared ]</p><p>
876
Daniel Veillard93d95252003-04-29 20:25:40 +0000877</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>
878</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
879</td></tr><tr><td><span class="term"><i><tt>notationName</tt></i> :</span></td><td>
880</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
881
882
Daniel Veillardd4330462003-04-29 12:40:16 +0000883</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,
884 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
885Search in the DtDs whether an element accept Mixed content (or ANY)
886basically if it is supposed to accept text childs</p><p>
887
Daniel Veillard93d95252003-04-29 20:25:40 +0000888</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>
889</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
890</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
891
892
Daniel Veillardd4330462003-04-29 12:40:16 +0000893</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,
894 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
895 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
896Search the DTD for the description of this attribute on
897this element.</p><p>
898
Daniel Veillard93d95252003-04-29 20:25:40 +0000899</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>
900</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
901</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
902</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
903
904
Daniel Veillardd4330462003-04-29 12:40:16 +0000905</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,
906 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
907 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
908 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
909Search the DTD for the description of this qualified attribute on
910this element.</p><p>
911
Daniel Veillard93d95252003-04-29 20:25:40 +0000912</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>
913</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
914</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
915</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i> :</span></td><td>
916</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
917
918
Daniel Veillardd4330462003-04-29 12:40:16 +0000919</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,
920 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
921Search the DTD for the description of this notation</p><p>
922
Daniel Veillard93d95252003-04-29 20:25:40 +0000923</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>
924</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
925</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
926
927
Daniel Veillardd4330462003-04-29 12:40:16 +0000928</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,
929 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
930 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
931Search the DTD for the description of this element</p><p>
932
Daniel Veillard93d95252003-04-29 20:25:40 +0000933</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>
934</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
935</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i> :</span></td><td>
936</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
937
938
Daniel Veillardd4330462003-04-29 12:40:16 +0000939</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,
940 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
941Search the DTD for the description of this element</p><p>
942
Daniel Veillard93d95252003-04-29 20:25:40 +0000943</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>
944</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
945</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
946
947
Daniel Veillardd4330462003-04-29 12:40:16 +0000948</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,
949 <a href="libxml-tree.html#xmlNode">xmlNode</a> *next,
950 const <a href="libxml-tree.html#xmlChar">xmlChar</a> **list,
951 int max);</pre><p>
952This function returns the list of authorized children to insert
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000953within an existing tree while respecting the validity constraints
Daniel Veillardd4330462003-04-29 12:40:16 +0000954forced by the Dtd. The insertion point is defined using <i><tt>prev</tt></i> and
955<i><tt>next</tt></i> in the following ways:
Daniel Veillardaec63562003-03-23 20:42:17 +0000956 to insert before 'node': xmlValidGetValidElements(node-&gt;prev, node, ...
957 to insert next 'node': xmlValidGetValidElements(node, node-&gt;next, ...
958 to replace 'node': xmlValidGetValidElements(node-&gt;prev, node-&gt;next, ...
959 to prepend a child to 'node': xmlValidGetValidElements(NULL, node-&gt;childs,
Daniel Veillardd4330462003-04-29 12:40:16 +0000960 to append a child to 'node': xmlValidGetValidElements(node-&gt;last, NULL, ...
961</p><p>
962pointers to the element names are inserted at the beginning of the array
963and do not need to be freed.</p><p>
964
Daniel Veillard93d95252003-04-29 20:25:40 +0000965</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>
966</td></tr><tr><td><span class="term"><i><tt>next</tt></i> :</span></td><td>
967</td></tr><tr><td><span class="term"><i><tt>list</tt></i> :</span></td><td>
968</td></tr><tr><td><span class="term"><i><tt>max</tt></i> :</span></td><td>
969</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
970
971
Daniel Veillardd4330462003-04-29 12:40:16 +0000972</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,
973 const <a href="libxml-tree.html#xmlChar">xmlChar</a> **list,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000974 int *len,
Daniel Veillardd4330462003-04-29 12:40:16 +0000975 int max);</pre><p>
976Build/extend a list of potential children allowed by the content tree</p><p>
977
Daniel Veillard93d95252003-04-29 20:25:40 +0000978</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>
979</td></tr><tr><td><span class="term"><i><tt>list</tt></i> :</span></td><td>
980</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
981</td></tr><tr><td><span class="term"><i><tt>max</tt></i> :</span></td><td>
982</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
983
984
Daniel Veillardd4330462003-04-29 12:40:16 +0000985</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>
986Validate that the given value match Name production</p><p>
987
Daniel Veillard93d95252003-04-29 20:25:40 +0000988</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>
989</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
990
991
Daniel Veillardd4330462003-04-29 12:40:16 +0000992</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>
993Validate that the given value match Names production</p><p>
994
Daniel Veillard93d95252003-04-29 20:25:40 +0000995</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>
996</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
997
998
Daniel Veillardd4330462003-04-29 12:40:16 +0000999</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>
1000Validate that the given value match Nmtoken production
1001</p><p>
1002[ VC: Name Token ]</p><p>
1003
Daniel Veillard93d95252003-04-29 20:25:40 +00001004</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>
1005</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1006
1007
Daniel Veillardd4330462003-04-29 12:40:16 +00001008</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>
1009Validate that the given value match Nmtokens production
1010</p><p>
1011[ VC: Name Token ]</p><p>
1012
Daniel Veillard93d95252003-04-29 20:25:40 +00001013</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>
1014</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1015
1016
Daniel Veillardd4330462003-04-29 12:40:16 +00001017</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,
1018 <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);</pre><p>
1019(Re)Build the automata associated to the content model of this
1020element</p><p>
1021
Daniel Veillard93d95252003-04-29 20:25:40 +00001022</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>
1023</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
1024</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1025
1026
Daniel Veillardd4330462003-04-29 12:40:16 +00001027</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,
1028 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
1029 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
1030 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *qname);</pre><p>
1031Push a new element start on the validation stack.</p><p>
1032
Daniel Veillard93d95252003-04-29 20:25:40 +00001033</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>
1034</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
1035</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
1036</td></tr><tr><td><span class="term"><i><tt>qname</tt></i> :</span></td><td>
1037</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1038
1039
Daniel Veillardd4330462003-04-29 12:40:16 +00001040</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,
1041 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data,
1042 int len);</pre><p>
1043check the CData parsed for validation in the current stack</p><p>
1044
Daniel Veillard93d95252003-04-29 20:25:40 +00001045</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>
1046</td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td>
1047</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
1048</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1049
1050
Daniel Veillardd4330462003-04-29 12:40:16 +00001051</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,
1052 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
1053 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
1054 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *qname);</pre><p>
1055Pop the element end from the validation stack.</p><p>
1056
Daniel Veillard93d95252003-04-29 20:25:40 +00001057</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>
1058</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
1059</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
1060</td></tr><tr><td><span class="term"><i><tt>qname</tt></i> :</span></td><td>
1061</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1062
1063
Daniel Veillardd4330462003-04-29 12:40:16 +00001064</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>