<HTML ><HEAD ><TITLE >valid</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.64 "><LINK REL="HOME" TITLE="Gnome XML Library Reference Manual" HREF="book1.html"><LINK REL="UP" TITLE="Libxml Library Reference" HREF="libxml-lib.html"><LINK REL="PREVIOUS" TITLE="entities" HREF="libxml-entities.html"><LINK REL="NEXT" TITLE="uri" HREF="libxml-uri.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TH COLSPAN="4" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="5" >Gnome XML Library Reference Manual</FONT ></TH ></TR ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="libxml-entities.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="book1.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="libxml-lib.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" ><A HREF="libxml-uri.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Next Page >>></B ></FONT ></A ></TD ></TR ></TABLE ></DIV ><H1 ><A NAME="LIBXML-VALID" >valid</A ></H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN8371" ></A ><H2 >Name</H2 >valid -- </DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN8374" ></A ><H2 >Synopsis</H2 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="SYNOPSIS" > struct <A HREF="libxml-valid.html#XMLVALIDSTATE" >xmlValidState</A >; typedef <A HREF="libxml-valid.html#XMLVALIDSTATEPTR" >xmlValidStatePtr</A >; void (<A HREF="libxml-valid.html#XMLVALIDITYERRORFUNC" >*xmlValidityErrorFunc</A >) (void *ctx, const char *msg, ...); void (<A HREF="libxml-valid.html#XMLVALIDITYWARNINGFUNC" >*xmlValidityWarningFunc</A >) (void *ctx, const char *msg, ...); struct <A HREF="libxml-valid.html#XMLVALIDCTXT" >xmlValidCtxt</A >; typedef <A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A >; typedef <A HREF="libxml-valid.html#XMLNOTATIONTABLEPTR" >xmlNotationTablePtr</A >; typedef <A HREF="libxml-valid.html#XMLELEMENTTABLEPTR" >xmlElementTablePtr</A >; typedef <A HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR" >xmlAttributeTablePtr</A >; typedef <A HREF="libxml-valid.html#XMLIDTABLEPTR" >xmlIDTablePtr</A >; typedef <A HREF="libxml-valid.html#XMLREFTABLEPTR" >xmlRefTablePtr</A >; <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A >* <A HREF="libxml-valid.html#XMLSPLITQNAME2" >xmlSplitQName2</A > (const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > **prefix); <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, <A HREF="libxml-tree.html#XMLDTDPTR" >xmlDtdPtr</A > dtd, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *PublicID, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *SystemID); <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); void <A HREF="libxml-valid.html#XMLFREENOTATIONTABLE" >xmlFreeNotationTable</A > (<A HREF="libxml-valid.html#XMLNOTATIONTABLEPTR" >xmlNotationTablePtr</A > table); void <A HREF="libxml-valid.html#XMLDUMPNOTATIONDECL" >xmlDumpNotationDecl</A > (<A HREF="libxml-tree.html#XMLBUFFERPTR" >xmlBufferPtr</A > buf, <A HREF="libxml-tree.html#XMLNOTATIONPTR" >xmlNotationPtr</A > nota); void <A HREF="libxml-valid.html#XMLDUMPNOTATIONTABLE" >xmlDumpNotationTable</A > (<A HREF="libxml-tree.html#XMLBUFFERPTR" >xmlBufferPtr</A > buf, <A HREF="libxml-valid.html#XMLNOTATIONTABLEPTR" >xmlNotationTablePtr</A > table); <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, <A HREF="libxml-tree.html#XMLELEMENTCONTENTTYPE" >xmlElementContentType</A > type); <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); void <A HREF="libxml-valid.html#XMLFREEELEMENTCONTENT" >xmlFreeElementContent</A > (<A HREF="libxml-tree.html#XMLELEMENTCONTENTPTR" >xmlElementContentPtr</A > cur); void <A HREF="libxml-valid.html#XMLSNPRINTFELEMENTCONTENT" >xmlSnprintfElementContent</A > (char *buf, int size, <A HREF="libxml-tree.html#XMLELEMENTCONTENTPTR" >xmlElementContentPtr</A > content, int glob); void <A HREF="libxml-valid.html#XMLSPRINTFELEMENTCONTENT" >xmlSprintfElementContent</A > (char *buf, <A HREF="libxml-tree.html#XMLELEMENTCONTENTPTR" >xmlElementContentPtr</A > content, int glob); <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, <A HREF="libxml-tree.html#XMLDTDPTR" >xmlDtdPtr</A > dtd, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, <A HREF="libxml-tree.html#XMLELEMENTTYPEVAL" >xmlElementTypeVal</A > type, <A HREF="libxml-tree.html#XMLELEMENTCONTENTPTR" >xmlElementContentPtr</A > content); <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); void <A HREF="libxml-valid.html#XMLFREEELEMENTTABLE" >xmlFreeElementTable</A > (<A HREF="libxml-valid.html#XMLELEMENTTABLEPTR" >xmlElementTablePtr</A > table); void <A HREF="libxml-valid.html#XMLDUMPELEMENTTABLE" >xmlDumpElementTable</A > (<A HREF="libxml-tree.html#XMLBUFFERPTR" >xmlBufferPtr</A > buf, <A HREF="libxml-valid.html#XMLELEMENTTABLEPTR" >xmlElementTablePtr</A > table); void <A HREF="libxml-valid.html#XMLDUMPELEMENTDECL" >xmlDumpElementDecl</A > (<A HREF="libxml-tree.html#XMLBUFFERPTR" >xmlBufferPtr</A > buf, <A HREF="libxml-tree.html#XMLELEMENTPTR" >xmlElementPtr</A > elem); <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); void <A HREF="libxml-valid.html#XMLFREEENUMERATION" >xmlFreeEnumeration</A > (<A HREF="libxml-tree.html#XMLENUMERATIONPTR" >xmlEnumerationPtr</A > cur); <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); <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, <A HREF="libxml-tree.html#XMLDTDPTR" >xmlDtdPtr</A > dtd, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *elem, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *ns, <A HREF="libxml-tree.html#XMLATTRIBUTETYPE" >xmlAttributeType</A > type, <A HREF="libxml-tree.html#XMLATTRIBUTEDEFAULT" >xmlAttributeDefault</A > def, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *defaultValue, <A HREF="libxml-tree.html#XMLENUMERATIONPTR" >xmlEnumerationPtr</A > tree); <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); void <A HREF="libxml-valid.html#XMLFREEATTRIBUTETABLE" >xmlFreeAttributeTable</A > (<A HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR" >xmlAttributeTablePtr</A > table); void <A HREF="libxml-valid.html#XMLDUMPATTRIBUTETABLE" >xmlDumpAttributeTable</A > (<A HREF="libxml-tree.html#XMLBUFFERPTR" >xmlBufferPtr</A > buf, <A HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR" >xmlAttributeTablePtr</A > table); void <A HREF="libxml-valid.html#XMLDUMPATTRIBUTEDECL" >xmlDumpAttributeDecl</A > (<A HREF="libxml-tree.html#XMLBUFFERPTR" >xmlBufferPtr</A > buf, <A HREF="libxml-tree.html#XMLATTRIBUTEPTR" >xmlAttributePtr</A > attr); <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, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *value, <A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > attr); void <A HREF="libxml-valid.html#XMLFREEIDTABLE" >xmlFreeIDTable</A > (<A HREF="libxml-valid.html#XMLIDTABLEPTR" >xmlIDTablePtr</A > table); <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, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *ID); int <A HREF="libxml-valid.html#XMLISID" >xmlIsID</A > (<A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNODEPTR" >xmlNodePtr</A > elem, <A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > attr); int <A HREF="libxml-valid.html#XMLREMOVEID" >xmlRemoveID</A > (<A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > attr); <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, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *value, <A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > attr); void <A HREF="libxml-valid.html#XMLFREEREFTABLE" >xmlFreeRefTable</A > (<A HREF="libxml-valid.html#XMLREFTABLEPTR" >xmlRefTablePtr</A > table); int <A HREF="libxml-valid.html#XMLISREF" >xmlIsRef</A > (<A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNODEPTR" >xmlNodePtr</A > elem, <A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > attr); int <A HREF="libxml-valid.html#XMLREMOVEREF" >xmlRemoveRef</A > (<A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > attr); <GTKDOCLINK HREF="XMLLISTPTR" >xmlListPtr</GTKDOCLINK > <A HREF="libxml-valid.html#XMLGETREFS" >xmlGetRefs</A > (<A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *ID); int <A HREF="libxml-valid.html#XMLVALIDATEROOT" >xmlValidateRoot</A > (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc); int <A HREF="libxml-valid.html#XMLVALIDATEELEMENTDECL" >xmlValidateElementDecl</A > (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLELEMENTPTR" >xmlElementPtr</A > elem); <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, <A HREF="libxml-tree.html#XMLNODEPTR" >xmlNodePtr</A > elem, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *value); <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A >* <A HREF="libxml-valid.html#XMLVALIDCTXTNORMALIZEATTRIBUTEVALUE" >xmlValidCtxtNormalizeAttributeValue</A > (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNODEPTR" >xmlNodePtr</A > elem, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *value); int <A HREF="libxml-valid.html#XMLVALIDATEATTRIBUTEDECL" >xmlValidateAttributeDecl</A > (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLATTRIBUTEPTR" >xmlAttributePtr</A > attr); int <A HREF="libxml-valid.html#XMLVALIDATEATTRIBUTEVALUE" >xmlValidateAttributeValue</A > (<A HREF="libxml-tree.html#XMLATTRIBUTETYPE" >xmlAttributeType</A > type, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *value); int <A HREF="libxml-valid.html#XMLVALIDATENOTATIONDECL" >xmlValidateNotationDecl</A > (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNOTATIONPTR" >xmlNotationPtr</A > nota); int <A HREF="libxml-valid.html#XMLVALIDATEDTD" >xmlValidateDtd</A > (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLDTDPTR" >xmlDtdPtr</A > dtd); int <A HREF="libxml-valid.html#XMLVALIDATEDTDFINAL" >xmlValidateDtdFinal</A > (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc); int <A HREF="libxml-valid.html#XMLVALIDATEDOCUMENT" >xmlValidateDocument</A > (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc); int <A HREF="libxml-valid.html#XMLVALIDATEELEMENT" >xmlValidateElement</A > (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNODEPTR" >xmlNodePtr</A > elem); int <A HREF="libxml-valid.html#XMLVALIDATEONEELEMENT" >xmlValidateOneElement</A > (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNODEPTR" >xmlNodePtr</A > elem); int <A HREF="libxml-valid.html#XMLVALIDATEONEATTRIBUTE" >xmlValidateOneAttribute</A > (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNODEPTR" >xmlNodePtr</A > elem, <A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > attr, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *value); int <A HREF="libxml-valid.html#XMLVALIDATEDOCUMENTFINAL" >xmlValidateDocumentFinal</A > (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc); int <A HREF="libxml-valid.html#XMLVALIDATENOTATIONUSE" >xmlValidateNotationUse</A > (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *notationName); int <A HREF="libxml-valid.html#XMLISMIXEDELEMENT" >xmlIsMixedElement</A > (<A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name); <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, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *elem, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name); <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, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *elem, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *prefix); <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, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name); <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, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *prefix); <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, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name); int <A HREF="libxml-valid.html#XMLVALIDGETVALIDELEMENTS" >xmlValidGetValidElements</A > (<A HREF="libxml-tree.html#XMLNODE" >xmlNode</A > *prev, <A HREF="libxml-tree.html#XMLNODE" >xmlNode</A > *next, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > **list, int max); int <A HREF="libxml-valid.html#XMLVALIDGETPOTENTIALCHILDREN" >xmlValidGetPotentialChildren</A > (<A HREF="libxml-tree.html#XMLELEMENTCONTENT" >xmlElementContent</A > *ctree, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > **list, int *len, int max);</PRE ></TD ></TR ></TABLE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN8605" ></A ><H2 >Description</H2 ><P ></P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN8608" ></A ><H2 >Details</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN8610" ></A ><H3 ><A NAME="XMLVALIDSTATE" ></A >struct xmlValidState</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >struct xmlValidState;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8615" ></A ><H3 ><A NAME="XMLVALIDSTATEPTR" ></A >xmlValidStatePtr</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >typedef xmlValidState *xmlValidStatePtr;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8620" ></A ><H3 ><A NAME="XMLVALIDITYERRORFUNC" ></A >xmlValidityErrorFunc ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void (*xmlValidityErrorFunc) (void *ctx, const char *msg, ...);</PRE ></TD ></TR ></TABLE ><P >Callback called when a validity error is found, this is a message oriented function similar to an *printf function.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN8626" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctx</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an xmlValidCtxtPtr validity error context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >msg</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the string to format *printf like vararg</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >...</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > remaining arguments to the format</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8643" ></A ><H3 ><A NAME="XMLVALIDITYWARNINGFUNC" ></A >xmlValidityWarningFunc ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void (*xmlValidityWarningFunc) (void *ctx, const char *msg, ...);</PRE ></TD ></TR ></TABLE ><P >Callback called when a validity warning is found, this is a message oriented function similar to an *printf function.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN8649" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctx</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an xmlValidCtxtPtr validity error context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >msg</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the string to format *printf like vararg</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >...</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > remaining arguments to the format</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8666" ></A ><H3 ><A NAME="XMLVALIDCTXT" ></A >struct xmlValidCtxt</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >struct xmlValidCtxt { void *userData; /* user specific data block */ xmlValidityErrorFunc error; /* the callback in case of errors */ xmlValidityWarningFunc warning; /* the callback in case of warning */ /* Node analysis stack used when validating within entities */ xmlNodePtr node; /* Current parsed Node */ int nodeNr; /* Depth of the parsing stack */ int nodeMax; /* Max depth of the parsing stack */ xmlNodePtr *nodeTab; /* array of nodes */ int finishDtd; /* finished validating the Dtd ? */ xmlDocPtr doc; /* the document */ int valid; /* temporary validity check result */ /* state state used for non-determinist content validation */ xmlValidState *vstate; /* current state */ int vstateNr; /* Depth of the validation stack */ int vstateMax; /* Max depth of the validation stack */ xmlValidState *vstateTab; /* array of validation states */ };</PRE ></TD ></TR ></TABLE ><P ></P ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8672" ></A ><H3 ><A NAME="XMLVALIDCTXTPTR" ></A >xmlValidCtxtPtr</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >typedef xmlValidCtxt *xmlValidCtxtPtr;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8677" ></A ><H3 ><A NAME="XMLNOTATIONTABLEPTR" ></A >xmlNotationTablePtr</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >typedef xmlNotationTable *xmlNotationTablePtr;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8682" ></A ><H3 ><A NAME="XMLELEMENTTABLEPTR" ></A >xmlElementTablePtr</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >typedef xmlElementTable *xmlElementTablePtr;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8687" ></A ><H3 ><A NAME="XMLATTRIBUTETABLEPTR" ></A >xmlAttributeTablePtr</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >typedef xmlAttributeTable *xmlAttributeTablePtr;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8692" ></A ><H3 ><A NAME="XMLIDTABLEPTR" ></A >xmlIDTablePtr</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >typedef xmlIDTable *xmlIDTablePtr;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8697" ></A ><H3 ><A NAME="XMLREFTABLEPTR" ></A >xmlRefTablePtr</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >typedef xmlRefTable *xmlRefTablePtr;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8702" ></A ><H3 ><A NAME="XMLSPLITQNAME2" ></A >xmlSplitQName2 ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A >* xmlSplitQName2 (const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > **prefix);</PRE ></TD ></TR ></TABLE ><P >parse an XML qualified name string</P ><P >[NS 5] QName ::= (Prefix ':')? LocalPart</P ><P >[NS 6] Prefix ::= NCName</P ><P >[NS 7] LocalPart ::= NCName</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN8714" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an XML parser context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >prefix</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a xmlChar ** </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >NULL if not a QName, otherwise the local part, and prefix is updated to get the Prefix if any.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8731" ></A ><H3 ><A NAME="XMLADDNOTATIONDECL" ></A >xmlAddNotationDecl ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLNOTATIONPTR" >xmlNotationPtr</A > xmlAddNotationDecl (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDTDPTR" >xmlDtdPtr</A > dtd, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *PublicID, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *SystemID);</PRE ></TD ></TR ></TABLE ><P >Register a new notation declaration</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN8743" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >dtd</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > pointer to the DTD</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the entity name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >PublicID</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the public identifier or NULL</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >SystemID</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the system identifier or NULL</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >NULL if not, otherwise the entity</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8772" ></A ><H3 ><A NAME="XMLCOPYNOTATIONTABLE" ></A >xmlCopyNotationTable ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-valid.html#XMLNOTATIONTABLEPTR" >xmlNotationTablePtr</A > xmlCopyNotationTable (<A HREF="libxml-valid.html#XMLNOTATIONTABLEPTR" >xmlNotationTablePtr</A > table);</PRE ></TD ></TR ></TABLE ><P >Build a copy of a notation table.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN8780" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > A notation table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the new xmlNotationTablePtr or NULL in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8793" ></A ><H3 ><A NAME="XMLFREENOTATIONTABLE" ></A >xmlFreeNotationTable ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlFreeNotationTable (<A HREF="libxml-valid.html#XMLNOTATIONTABLEPTR" >xmlNotationTablePtr</A > table);</PRE ></TD ></TR ></TABLE ><P >Deallocate the memory used by an entities hash table.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN8800" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > An notation table</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8809" ></A ><H3 ><A NAME="XMLDUMPNOTATIONDECL" ></A >xmlDumpNotationDecl ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlDumpNotationDecl (<A HREF="libxml-tree.html#XMLBUFFERPTR" >xmlBufferPtr</A > buf, <A HREF="libxml-tree.html#XMLNOTATIONPTR" >xmlNotationPtr</A > nota);</PRE ></TD ></TR ></TABLE ><P >This will dump the content the notation declaration as an XML DTD definition</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN8817" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >buf</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the XML buffer output</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >nota</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > A notation declaration</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8830" ></A ><H3 ><A NAME="XMLDUMPNOTATIONTABLE" ></A >xmlDumpNotationTable ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlDumpNotationTable (<A HREF="libxml-tree.html#XMLBUFFERPTR" >xmlBufferPtr</A > buf, <A HREF="libxml-valid.html#XMLNOTATIONTABLEPTR" >xmlNotationTablePtr</A > table);</PRE ></TD ></TR ></TABLE ><P >This will dump the content of the notation table as an XML DTD definition</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN8838" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >buf</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the XML buffer output</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > A notation table</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8851" ></A ><H3 ><A NAME="XMLNEWELEMENTCONTENT" ></A >xmlNewElementContent ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLELEMENTCONTENTPTR" >xmlElementContentPtr</A > xmlNewElementContent (<A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, <A HREF="libxml-tree.html#XMLELEMENTCONTENTTYPE" >xmlElementContentType</A > type);</PRE ></TD ></TR ></TABLE ><P >Allocate an element content structure.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN8860" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the subelement name or NULL</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >type</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the type of element content decl</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >NULL if not, otherwise the new element content structure</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8877" ></A ><H3 ><A NAME="XMLCOPYELEMENTCONTENT" ></A >xmlCopyElementContent ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLELEMENTCONTENTPTR" >xmlElementContentPtr</A > xmlCopyElementContent (<A HREF="libxml-tree.html#XMLELEMENTCONTENTPTR" >xmlElementContentPtr</A > content);</PRE ></TD ></TR ></TABLE ><P >Build a copy of an element content description.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN8885" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >content</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > An element content pointer.</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the new xmlElementContentPtr or NULL in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8898" ></A ><H3 ><A NAME="XMLFREEELEMENTCONTENT" ></A >xmlFreeElementContent ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlFreeElementContent (<A HREF="libxml-tree.html#XMLELEMENTCONTENTPTR" >xmlElementContentPtr</A > cur);</PRE ></TD ></TR ></TABLE ><P >Free an element content structure. This is a recursive call !</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN8905" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >cur</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the element content tree to free</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8914" ></A ><H3 ><A NAME="XMLSNPRINTFELEMENTCONTENT" ></A >xmlSnprintfElementContent ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlSnprintfElementContent (char *buf, int size, <A HREF="libxml-tree.html#XMLELEMENTCONTENTPTR" >xmlElementContentPtr</A > content, int glob);</PRE ></TD ></TR ></TABLE ><P >This will dump the content of the element content definition Intended just for the debug routine</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN8921" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >buf</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an output buffer</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >size</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the buffer size</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >content</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > An element table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >glob</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > 1 if one must print the englobing parenthesis, 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8942" ></A ><H3 ><A NAME="XMLSPRINTFELEMENTCONTENT" ></A >xmlSprintfElementContent ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlSprintfElementContent (char *buf, <A HREF="libxml-tree.html#XMLELEMENTCONTENTPTR" >xmlElementContentPtr</A > content, int glob);</PRE ></TD ></TR ></TABLE ><P >Deprecated, unsafe, use xmlSnprintfElementContent</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN8949" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >buf</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an output buffer</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >content</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > An element table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >glob</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > 1 if one must print the englobing parenthesis, 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8966" ></A ><H3 ><A NAME="XMLADDELEMENTDECL" ></A >xmlAddElementDecl ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLELEMENTPTR" >xmlElementPtr</A > xmlAddElementDecl (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDTDPTR" >xmlDtdPtr</A > dtd, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, <A HREF="libxml-tree.html#XMLELEMENTTYPEVAL" >xmlElementTypeVal</A > type, <A HREF="libxml-tree.html#XMLELEMENTCONTENTPTR" >xmlElementContentPtr</A > content);</PRE ></TD ></TR ></TABLE ><P >Register a new element declaration</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN8978" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >dtd</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > pointer to the DTD</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the entity name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >type</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the element type</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >content</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the element content tree or NULL</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >NULL if not, otherwise the entity</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9007" ></A ><H3 ><A NAME="XMLCOPYELEMENTTABLE" ></A >xmlCopyElementTable ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-valid.html#XMLELEMENTTABLEPTR" >xmlElementTablePtr</A > xmlCopyElementTable (<A HREF="libxml-valid.html#XMLELEMENTTABLEPTR" >xmlElementTablePtr</A > table);</PRE ></TD ></TR ></TABLE ><P >Build a copy of an element table.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9015" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > An element table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the new xmlElementTablePtr or NULL in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9028" ></A ><H3 ><A NAME="XMLFREEELEMENTTABLE" ></A >xmlFreeElementTable ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlFreeElementTable (<A HREF="libxml-valid.html#XMLELEMENTTABLEPTR" >xmlElementTablePtr</A > table);</PRE ></TD ></TR ></TABLE ><P >Deallocate the memory used by an element hash table.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9035" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > An element table</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9044" ></A ><H3 ><A NAME="XMLDUMPELEMENTTABLE" ></A >xmlDumpElementTable ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlDumpElementTable (<A HREF="libxml-tree.html#XMLBUFFERPTR" >xmlBufferPtr</A > buf, <A HREF="libxml-valid.html#XMLELEMENTTABLEPTR" >xmlElementTablePtr</A > table);</PRE ></TD ></TR ></TABLE ><P >This will dump the content of the element table as an XML DTD definition</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9052" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >buf</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the XML buffer output</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > An element table</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9065" ></A ><H3 ><A NAME="XMLDUMPELEMENTDECL" ></A >xmlDumpElementDecl ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlDumpElementDecl (<A HREF="libxml-tree.html#XMLBUFFERPTR" >xmlBufferPtr</A > buf, <A HREF="libxml-tree.html#XMLELEMENTPTR" >xmlElementPtr</A > elem);</PRE ></TD ></TR ></TABLE ><P >This will dump the content of the element declaration as an XML DTD definition</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9073" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >buf</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the XML buffer output</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >elem</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > An element table</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9086" ></A ><H3 ><A NAME="XMLCREATEENUMERATION" ></A >xmlCreateEnumeration ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLENUMERATIONPTR" >xmlEnumerationPtr</A > xmlCreateEnumeration (<A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name);</PRE ></TD ></TR ></TABLE ><P >create and initialize an enumeration attribute node.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9094" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the enumeration name or NULL</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the xmlEnumerationPtr just created or NULL in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9107" ></A ><H3 ><A NAME="XMLFREEENUMERATION" ></A >xmlFreeEnumeration ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlFreeEnumeration (<A HREF="libxml-tree.html#XMLENUMERATIONPTR" >xmlEnumerationPtr</A > cur);</PRE ></TD ></TR ></TABLE ><P >free an enumeration attribute node (recursive).</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9114" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >cur</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the tree to free.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9123" ></A ><H3 ><A NAME="XMLCOPYENUMERATION" ></A >xmlCopyEnumeration ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLENUMERATIONPTR" >xmlEnumerationPtr</A > xmlCopyEnumeration (<A HREF="libxml-tree.html#XMLENUMERATIONPTR" >xmlEnumerationPtr</A > cur);</PRE ></TD ></TR ></TABLE ><P >Copy an enumeration attribute node (recursive).</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9131" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >cur</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the tree to copy.</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the xmlEnumerationPtr just created or NULL in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9144" ></A ><H3 ><A NAME="XMLADDATTRIBUTEDECL" ></A >xmlAddAttributeDecl ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLATTRIBUTEPTR" >xmlAttributePtr</A > xmlAddAttributeDecl (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDTDPTR" >xmlDtdPtr</A > dtd, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *elem, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *ns, <A HREF="libxml-tree.html#XMLATTRIBUTETYPE" >xmlAttributeType</A > type, <A HREF="libxml-tree.html#XMLATTRIBUTEDEFAULT" >xmlAttributeDefault</A > def, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *defaultValue, <A HREF="libxml-tree.html#XMLENUMERATIONPTR" >xmlEnumerationPtr</A > tree);</PRE ></TD ></TR ></TABLE ><P >Register a new attribute declaration Note that <TT CLASS="PARAMETER" ><I >tree</I ></TT > becomes the ownership of the DTD</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9161" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >dtd</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > pointer to the DTD</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >elem</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the element name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ns</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute namespace prefix</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >type</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute type</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >def</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute default type</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >defaultValue</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute default value</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >tree</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > if it's an enumeration, the associated list</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >NULL if not new, otherwise the attribute decl</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9206" ></A ><H3 ><A NAME="XMLCOPYATTRIBUTETABLE" ></A >xmlCopyAttributeTable ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR" >xmlAttributeTablePtr</A > xmlCopyAttributeTable (<A HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR" >xmlAttributeTablePtr</A > table);</PRE ></TD ></TR ></TABLE ><P >Build a copy of an attribute table.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9214" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > An attribute table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the new xmlAttributeTablePtr or NULL in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9227" ></A ><H3 ><A NAME="XMLFREEATTRIBUTETABLE" ></A >xmlFreeAttributeTable ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlFreeAttributeTable (<A HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR" >xmlAttributeTablePtr</A > table);</PRE ></TD ></TR ></TABLE ><P >Deallocate the memory used by an entities hash table.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9234" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > An attribute table</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9243" ></A ><H3 ><A NAME="XMLDUMPATTRIBUTETABLE" ></A >xmlDumpAttributeTable ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlDumpAttributeTable (<A HREF="libxml-tree.html#XMLBUFFERPTR" >xmlBufferPtr</A > buf, <A HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR" >xmlAttributeTablePtr</A > table);</PRE ></TD ></TR ></TABLE ><P >This will dump the content of the attribute table as an XML DTD definition</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9251" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >buf</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the XML buffer output</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > An attribute table</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9264" ></A ><H3 ><A NAME="XMLDUMPATTRIBUTEDECL" ></A >xmlDumpAttributeDecl ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlDumpAttributeDecl (<A HREF="libxml-tree.html#XMLBUFFERPTR" >xmlBufferPtr</A > buf, <A HREF="libxml-tree.html#XMLATTRIBUTEPTR" >xmlAttributePtr</A > attr);</PRE ></TD ></TR ></TABLE ><P >This will dump the content of the attribute declaration as an XML DTD definition</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9272" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >buf</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the XML buffer output</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >attr</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > An attribute declaration</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9285" ></A ><H3 ><A NAME="XMLADDID" ></A >xmlAddID ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLIDPTR" >xmlIDPtr</A > xmlAddID (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *value, <A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > attr);</PRE ></TD ></TR ></TABLE ><P >Register a new id declaration</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9296" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > pointer to the document</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >value</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the value name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >attr</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute holding the ID</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >NULL if not, otherwise the new xmlIDPtr</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9321" ></A ><H3 ><A NAME="XMLFREEIDTABLE" ></A >xmlFreeIDTable ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlFreeIDTable (<A HREF="libxml-valid.html#XMLIDTABLEPTR" >xmlIDTablePtr</A > table);</PRE ></TD ></TR ></TABLE ><P >Deallocate the memory used by an ID hash table.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9328" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > An id table</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9337" ></A ><H3 ><A NAME="XMLGETID" ></A >xmlGetID ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > xmlGetID (<A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *ID);</PRE ></TD ></TR ></TABLE ><P >Search the attribute declaring the given ID</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9346" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > pointer to the document</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ID</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the ID value</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >NULL if not found, otherwise the xmlAttrPtr defining the ID</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9363" ></A ><H3 ><A NAME="XMLISID" ></A >xmlIsID ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlIsID (<A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNODEPTR" >xmlNodePtr</A > elem, <A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > attr);</PRE ></TD ></TR ></TABLE ><P >Determine whether an attribute is of type ID. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name ID (upper or lowercase).</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9372" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the document</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >elem</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the element carrying the attribute</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >attr</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >0 or 1 depending on the lookup result</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9393" ></A ><H3 ><A NAME="XMLREMOVEID" ></A >xmlRemoveID ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlRemoveID (<A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > attr);</PRE ></TD ></TR ></TABLE ><P >Remove the given attribute from the ID table maintained internally.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9401" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the document</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >attr</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >-1 if the lookup failed and 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9418" ></A ><H3 ><A NAME="XMLADDREF" ></A >xmlAddRef ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLREFPTR" >xmlRefPtr</A > xmlAddRef (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *value, <A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > attr);</PRE ></TD ></TR ></TABLE ><P >Register a new ref declaration</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9429" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > pointer to the document</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >value</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the value name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >attr</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute holding the Ref</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >NULL if not, otherwise the new xmlRefPtr</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9454" ></A ><H3 ><A NAME="XMLFREEREFTABLE" ></A >xmlFreeRefTable ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlFreeRefTable (<A HREF="libxml-valid.html#XMLREFTABLEPTR" >xmlRefTablePtr</A > table);</PRE ></TD ></TR ></TABLE ><P >Deallocate the memory used by an Ref hash table.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9461" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > An ref table</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9470" ></A ><H3 ><A NAME="XMLISREF" ></A >xmlIsRef ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlIsRef (<A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNODEPTR" >xmlNodePtr</A > elem, <A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > attr);</PRE ></TD ></TR ></TABLE ><P >Determine whether an attribute is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase).</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9479" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the document</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >elem</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the element carrying the attribute</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >attr</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >0 or 1 depending on the lookup result</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9500" ></A ><H3 ><A NAME="XMLREMOVEREF" ></A >xmlRemoveRef ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlRemoveRef (<A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > attr);</PRE ></TD ></TR ></TABLE ><P >Remove the given attribute from the Ref table maintained internally.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9508" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the document</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >attr</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >-1 if the lookup failed and 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9525" ></A ><H3 ><A NAME="XMLGETREFS" ></A >xmlGetRefs ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="XMLLISTPTR" >xmlListPtr</GTKDOCLINK > xmlGetRefs (<A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *ID);</PRE ></TD ></TR ></TABLE ><P >Find the set of references for the supplied ID.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9534" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > pointer to the document</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ID</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the ID value</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >NULL if not found, otherwise node set for the ID.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9551" ></A ><H3 ><A NAME="XMLVALIDATEROOT" ></A >xmlValidateRoot ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidateRoot (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc);</PRE ></TD ></TR ></TABLE ><P >Try to validate a the root element basically it does the following check as described by the XML-1.0 recommendation: - [ VC: Root Element Type ] it doesn't try to recurse or apply other check to the element</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9559" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a document instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >1 if valid or 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9576" ></A ><H3 ><A NAME="XMLVALIDATEELEMENTDECL" ></A >xmlValidateElementDecl ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidateElementDecl (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLELEMENTPTR" >xmlElementPtr</A > elem);</PRE ></TD ></TR ></TABLE ><P >Try to validate a single element definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: One ID per Element Type ] - [ VC: No Duplicate Types ] - [ VC: Unique Element Type Declaration ]</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9585" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a document instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >elem</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an element definition</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >1 if valid or 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9606" ></A ><H3 ><A NAME="XMLVALIDNORMALIZEATTRIBUTEVALUE" ></A >xmlValidNormalizeAttributeValue ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A >* xmlValidNormalizeAttributeValue (<A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNODEPTR" >xmlNodePtr</A > elem, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *value);</PRE ></TD ></TR ></TABLE ><P >Does the validation related extra step of the normalization of attribute values:</P ><P >If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (<GTKDOCLINK HREF="X20" >x20</GTKDOCLINK >) characters, and by replacing sequences of space (<GTKDOCLINK HREF="X20" >x20</GTKDOCLINK >) characters by single space (<GTKDOCLINK HREF="X20" >x20</GTKDOCLINK >) character.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9621" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the document</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >elem</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the parent</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >value</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute value</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9646" ></A ><H3 ><A NAME="XMLVALIDCTXTNORMALIZEATTRIBUTEVALUE" ></A >xmlValidCtxtNormalizeAttributeValue ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A >* xmlValidCtxtNormalizeAttributeValue (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNODEPTR" >xmlNodePtr</A > elem, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *value);</PRE ></TD ></TR ></TABLE ><P >Does the validation related extra step of the normalization of attribute values:</P ><P >If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (<GTKDOCLINK HREF="X20" >x20</GTKDOCLINK >) characters, and by replacing sequences of space (<GTKDOCLINK HREF="X20" >x20</GTKDOCLINK >) characters by single space (<GTKDOCLINK HREF="X20" >x20</GTKDOCLINK >) character.</P ><P >Also check VC: Standalone Document Declaration in P32, and update ctxt->valid accordingly</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9663" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the document</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >elem</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the parent</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >value</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute value</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9692" ></A ><H3 ><A NAME="XMLVALIDATEATTRIBUTEDECL" ></A >xmlValidateAttributeDecl ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidateAttributeDecl (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLATTRIBUTEPTR" >xmlAttributePtr</A > attr);</PRE ></TD ></TR ></TABLE ><P >Try to validate a single attribute definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Default Legal ] - [ VC: Enumeration ] - [ VC: ID Attribute Default ]</P ><P >The ID/IDREF uniqueness and matching are done separately</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9702" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a document instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >attr</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an attribute definition</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >1 if valid or 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9723" ></A ><H3 ><A NAME="XMLVALIDATEATTRIBUTEVALUE" ></A >xmlValidateAttributeValue ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidateAttributeValue (<A HREF="libxml-tree.html#XMLATTRIBUTETYPE" >xmlAttributeType</A > type, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *value);</PRE ></TD ></TR ></TABLE ><P >Validate that the given attribute value match the proper production</P ><P >[ VC: ID ] Values of type ID must match the Name production....</P ><P >[ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names ...</P ><P >[ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names ...</P ><P >[ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9735" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >type</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an attribute type</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >value</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an attribute value</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >1 if valid or 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9752" ></A ><H3 ><A NAME="XMLVALIDATENOTATIONDECL" ></A >xmlValidateNotationDecl ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidateNotationDecl (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNOTATIONPTR" >xmlNotationPtr</A > nota);</PRE ></TD ></TR ></TABLE ><P >Try to validate a single notation definition basically it does the following checks as described by the XML-1.0 recommendation: - it seems that no validity constraint exists on notation declarations But this function get called anyway ...</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9761" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a document instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >nota</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a notation definition</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >1 if valid or 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9782" ></A ><H3 ><A NAME="XMLVALIDATEDTD" ></A >xmlValidateDtd ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidateDtd (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLDTDPTR" >xmlDtdPtr</A > dtd);</PRE ></TD ></TR ></TABLE ><P >Try to validate the document against the dtd instance</P ><P >basically it does check all the definitions in the DtD.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9792" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a document instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >dtd</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a dtd instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >1 if valid or 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9813" ></A ><H3 ><A NAME="XMLVALIDATEDTDFINAL" ></A >xmlValidateDtdFinal ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidateDtdFinal (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc);</PRE ></TD ></TR ></TABLE ><P >Does the final step for the dtds validation once all the subsets have been parsed</P ><P >basically it does the following checks described by the XML Rec - check that ENTITY and ENTITIES type attributes default or possible values matches one of the defined entities. - check that NOTATION type attributes default or possible values matches one of the defined notations.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9822" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a document instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >1 if valid or 0 if invalid and -1 if not well-formed</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9839" ></A ><H3 ><A NAME="XMLVALIDATEDOCUMENT" ></A >xmlValidateDocument ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidateDocument (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc);</PRE ></TD ></TR ></TABLE ><P >Try to validate the document instance</P ><P >basically it does the all the checks described by the XML Rec i.e. validates the internal and external subset (if present) and validate the document tree.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9848" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a document instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >1 if valid or 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9865" ></A ><H3 ><A NAME="XMLVALIDATEELEMENT" ></A >xmlValidateElement ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidateElement (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNODEPTR" >xmlNodePtr</A > elem);</PRE ></TD ></TR ></TABLE ><P >Try to validate the subtree under an element</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9874" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a document instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >elem</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an element instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >1 if valid or 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9895" ></A ><H3 ><A NAME="XMLVALIDATEONEELEMENT" ></A >xmlValidateOneElement ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidateOneElement (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNODEPTR" >xmlNodePtr</A > elem);</PRE ></TD ></TR ></TABLE ><P >Try to validate a single element and it's attributes, basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC: Required Attribute ] Then call <A HREF="libxml-valid.html#XMLVALIDATEONEATTRIBUTE" >xmlValidateOneAttribute</A >() for each attribute present.</P ><P >The ID/IDREF checkings are done separately</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9906" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a document instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >elem</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an element instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >1 if valid or 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9927" ></A ><H3 ><A NAME="XMLVALIDATEONEATTRIBUTE" ></A >xmlValidateOneAttribute ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidateOneAttribute (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, <A HREF="libxml-tree.html#XMLNODEPTR" >xmlNodePtr</A > elem, <A HREF="libxml-tree.html#XMLATTRPTR" >xmlAttrPtr</A > attr, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *value);</PRE ></TD ></TR ></TABLE ><P >Try to validate a single attribute for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ]</P ><P >The ID/IDREF uniqueness and matching are done separately</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9939" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a document instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >elem</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an element instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >attr</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an attribute instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >value</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute value (without entities processing)</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >1 if valid or 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9968" ></A ><H3 ><A NAME="XMLVALIDATEDOCUMENTFINAL" ></A >xmlValidateDocumentFinal ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidateDocumentFinal (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc);</PRE ></TD ></TR ></TABLE ><P >Does the final step for the document validation once all the incremental validation steps have been completed</P ><P >basically it does the following checks described by the XML Rec</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN9977" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a document instance</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >1 if valid or 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN9994" ></A ><H3 ><A NAME="XMLVALIDATENOTATIONUSE" ></A >xmlValidateNotationUse ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidateNotationUse (<A HREF="libxml-valid.html#XMLVALIDCTXTPTR" >xmlValidCtxtPtr</A > ctxt, <A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *notationName);</PRE ></TD ></TR ></TABLE ><P >Validate that the given name match a notation declaration. - [ VC: Notation Declared ]</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10003" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctxt</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the validation context</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the document</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >notationName</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the notation name to check</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >1 if valid or 0 otherwise</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10024" ></A ><H3 ><A NAME="XMLISMIXEDELEMENT" ></A >xmlIsMixedElement ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlIsMixedElement (<A HREF="libxml-tree.html#XMLDOCPTR" >xmlDocPtr</A > doc, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name);</PRE ></TD ></TR ></TABLE ><P >Search in the DtDs whether an element accept Mixed content (or ANY) basically if it is supposed to accept text childs</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10032" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doc</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the document</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the element name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >0 if no, 1 if yes, and -1 if no element description is available</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10049" ></A ><H3 ><A NAME="XMLGETDTDATTRDESC" ></A >xmlGetDtdAttrDesc ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLATTRIBUTEPTR" >xmlAttributePtr</A > xmlGetDtdAttrDesc (<A HREF="libxml-tree.html#XMLDTDPTR" >xmlDtdPtr</A > dtd, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *elem, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name);</PRE ></TD ></TR ></TABLE ><P >Search the DTD for the description of this attribute on this element.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10059" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >dtd</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a pointer to the DtD to search</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >elem</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the element name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the xmlAttributePtr if found or NULL</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10080" ></A ><H3 ><A NAME="XMLGETDTDQATTRDESC" ></A >xmlGetDtdQAttrDesc ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLATTRIBUTEPTR" >xmlAttributePtr</A > xmlGetDtdQAttrDesc (<A HREF="libxml-tree.html#XMLDTDPTR" >xmlDtdPtr</A > dtd, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *elem, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *prefix);</PRE ></TD ></TR ></TABLE ><P >Search the DTD for the description of this qualified attribute on this element.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10091" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >dtd</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a pointer to the DtD to search</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >elem</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the element name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >prefix</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the attribute namespace prefix</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the xmlAttributePtr if found or NULL</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10116" ></A ><H3 ><A NAME="XMLGETDTDNOTATIONDESC" ></A >xmlGetDtdNotationDesc ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLNOTATIONPTR" >xmlNotationPtr</A > xmlGetDtdNotationDesc (<A HREF="libxml-tree.html#XMLDTDPTR" >xmlDtdPtr</A > dtd, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name);</PRE ></TD ></TR ></TABLE ><P >Search the DTD for the description of this notation</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10125" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >dtd</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a pointer to the DtD to search</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the notation name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the xmlNotationPtr if found or NULL</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10142" ></A ><H3 ><A NAME="XMLGETDTDQELEMENTDESC" ></A >xmlGetDtdQElementDesc ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLELEMENTPTR" >xmlElementPtr</A > xmlGetDtdQElementDesc (<A HREF="libxml-tree.html#XMLDTDPTR" >xmlDtdPtr</A > dtd, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *prefix);</PRE ></TD ></TR ></TABLE ><P >Search the DTD for the description of this element</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10152" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >dtd</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a pointer to the DtD to search</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the element name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >prefix</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the element namespace prefix</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the xmlElementPtr if found or NULL</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10173" ></A ><H3 ><A NAME="XMLGETDTDELEMENTDESC" ></A >xmlGetDtdElementDesc ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLELEMENTPTR" >xmlElementPtr</A > xmlGetDtdElementDesc (<A HREF="libxml-tree.html#XMLDTDPTR" >xmlDtdPtr</A > dtd, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name);</PRE ></TD ></TR ></TABLE ><P >Search the DTD for the description of this element</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10182" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >dtd</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a pointer to the DtD to search</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the element name</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the xmlElementPtr if found or NULL</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10199" ></A ><H3 ><A NAME="XMLVALIDGETVALIDELEMENTS" ></A >xmlValidGetValidElements ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidGetValidElements (<A HREF="libxml-tree.html#XMLNODE" >xmlNode</A > *prev, <A HREF="libxml-tree.html#XMLNODE" >xmlNode</A > *next, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > **list, int max);</PRE ></TD ></TR ></TABLE ><P >This function returns the list of authorized children to insert within an existing tree while respecting the validity constraints forced by the Dtd. The insertion point is defined using <TT CLASS="PARAMETER" ><I >prev</I ></TT > and <TT CLASS="PARAMETER" ><I >next</I ></TT > in the following ways: to insert before 'node': xmlValidGetValidElements(node->prev, node, ... to insert next 'node': xmlValidGetValidElements(node, node->next, ... to replace 'node': xmlValidGetValidElements(node->prev, node->next, ... to prepend a child to 'node': xmlValidGetValidElements(NULL, node->childs, to append a child to 'node': xmlValidGetValidElements(node->last, NULL, ...</P ><P >pointers to the element names are inserted at the beginning of the array and do not need to be freed.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10211" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >prev</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an element to insert after</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >next</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an element to insert next</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >list</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an array to store the list of child names</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >max</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the size of the array</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the number of element in the list, or -1 in case of error. If the function returns the value <TT CLASS="PARAMETER" ><I >max</I ></TT > the caller is invited to grow the receiving array and retry.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10237" ></A ><H3 ><A NAME="XMLVALIDGETPOTENTIALCHILDREN" ></A >xmlValidGetPotentialChildren ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlValidGetPotentialChildren (<A HREF="libxml-tree.html#XMLELEMENTCONTENT" >xmlElementContent</A > *ctree, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > **list, int *len, int max);</PRE ></TD ></TR ></TABLE ><P >Build/extend a list of potential children allowed by the content tree</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10245" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ctree</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an element content tree</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >list</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > an array to store the list of child names</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >len</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a pointer to the number of element in the list</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >max</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the size of the array</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the number of element in the list, or -1 in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><BR CLEAR="all"><BR><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="libxml-entities.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="book1.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="libxml-lib.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" ><A HREF="libxml-uri.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Next Page >>></B ></FONT ></A ></TD ></TR ><TR ><TD COLSPAN="2" ALIGN="left" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >entities</B ></FONT ></TD ><TD COLSPAN="2" ALIGN="right" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >uri</B ></FONT ></TD ></TR ></TABLE ></DIV ></BODY ></HTML >