blob: 42eedb9c1f3c19e752983ed52a2acd3272e6174c [file] [log] [blame]
<HTML
><HEAD
><TITLE
>valid</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><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
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
>&#60;&#60;&#60; 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 &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
></TABLE
></DIV
><H1
><A
NAME="LIBXML-VALID"
>valid</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN7621"
></A
><H2
>Name</H2
>valid&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN7624"
></A
><H2
>Synopsis</H2
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>&#13;
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#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);
<A
HREF="libxml-valid.html#XMLIDTABLEPTR"
>xmlIDTablePtr</A
> <A
HREF="libxml-valid.html#XMLCOPYIDTABLE"
>xmlCopyIDTable</A
> (<A
HREF="libxml-valid.html#XMLIDTABLEPTR"
>xmlIDTablePtr</A
> table);
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);
<A
HREF="libxml-valid.html#XMLREFTABLEPTR"
>xmlRefTablePtr</A
> <A
HREF="libxml-valid.html#XMLCOPYREFTABLE"
>xmlCopyRefTable</A
> (<A
HREF="libxml-valid.html#XMLREFTABLEPTR"
>xmlRefTablePtr</A
> table);
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);
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);
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#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#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="AEN7835"
></A
><H2
>Description</H2
><P
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7838"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN7840"
></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
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctx</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>msg</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>...</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&#13;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7862"
></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
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctx</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>msg</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>...</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&#13;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7884"
></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 */
};</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7889"
></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="AEN7894"
></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="AEN7899"
></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="AEN7904"
></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="AEN7909"
></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="AEN7914"
></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="AEN7919"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7948"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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, othervise the entity</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7989"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8010"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An notation table</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8026"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&nbsp;:</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
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> A notation declaration</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8047"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&nbsp;:</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
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> A notation table</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8068"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</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
>&nbsp;:</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, othervise the new element content structure</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8094"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>content</I
></TT
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8115"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>cur</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the element content tree to free</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8131"
></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
>This will dump the content of the element content definition
Intended just for the debug routine</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> 1 if one must print the englobing parenthesis, 0 otherwise</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8155"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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, othervise the entity</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8196"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8217"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An element table</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8233"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&nbsp;:</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
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An element table</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8254"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&nbsp;:</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
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An element table</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8275"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8296"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>cur</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the tree to free.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8312"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>cur</I
></TT
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8333"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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, othervise the attribute decl</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8395"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8416"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An attribute table</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8432"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&nbsp;:</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
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An attribute table</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8453"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&nbsp;:</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
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An attribute declaration</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8474"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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, othervise the new xmlIDPtr</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8510"
></A
><H3
><A
NAME="XMLCOPYIDTABLE"
></A
>xmlCopyIDTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-valid.html#XMLIDTABLEPTR"
>xmlIDTablePtr</A
> xmlCopyIDTable (<A
HREF="libxml-valid.html#XMLIDTABLEPTR"
>xmlIDTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&#13;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8530"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An id table</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8546"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8572"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8602"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8627"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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, othervise the new xmlRefPtr</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8663"
></A
><H3
><A
NAME="XMLCOPYREFTABLE"
></A
>xmlCopyRefTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-valid.html#XMLREFTABLEPTR"
>xmlRefTablePtr</A
> xmlCopyRefTable (<A
HREF="libxml-valid.html#XMLREFTABLEPTR"
>xmlRefTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&#13;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8683"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An ref table</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8699"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8729"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8754"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8779"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8809"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8849"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8880"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>type</I
></TT
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8909"
></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 constraing exist on notation declarations
But this function get called anyway ...</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8939"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8970"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8996"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9022"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9052"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9084"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9125"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9151"
></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 mame match a notation declaration.
- [ VC: Notation Declared ]</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9181"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9206"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dtd</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9237"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dtd</I
></TT
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9263"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dtd</I
></TT
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9289"
></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-&gt;prev, node, ...
to insert next 'node': xmlValidGetValidElements(node, node-&gt;next, ...
to replace 'node': xmlValidGetValidElements(node-&gt;prev, node-&gt;next, ...
to prepend a child to 'node': xmlValidGetValidElements(NULL, node-&gt;childs,
to append a child to 'node': xmlValidGetValidElements(node-&gt;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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>prev</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9327"
></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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctree</I
></TT
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
></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
>&#60;&#60;&#60; 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 &#62;&#62;&#62;</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
>