blob: 01be70c7078961525722ee5eaf9fa4c1ac6f2c0a [file] [log] [blame]
<HTML
><HEAD
><TITLE
>valid</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK
REL="UP"
TITLE="Libxml Library Reference"
HREF="libxml-lib.html"><LINK
REL="PREVIOUS"
TITLE="entities"
HREF="libxml-entities.html"><LINK
REL="NEXT"
TITLE="uri"
HREF="libxml-uri.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TH
COLSPAN="4"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="5"
>Gnome XML Library Reference Manual</FONT
></TH
></TR
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="libxml-entities.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#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</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN8523"
></A
><H2
>Name</H2
>valid&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN8526"><H2
>Synopsis</H2
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>&#13;
struct <A
HREF="libxml-valid.html#XMLVALIDSTATE"
>xmlValidState</A
>;
typedef <A
HREF="libxml-valid.html#XMLVALIDSTATEPTR"
>xmlValidStatePtr</A
>;
void (<A
HREF="libxml-valid.html#XMLVALIDITYERRORFUNC"
>*xmlValidityErrorFunc</A
>) (void *ctx,
const char *msg,
...);
void (<A
HREF="libxml-valid.html#XMLVALIDITYWARNINGFUNC"
>*xmlValidityWarningFunc</A
>) (void *ctx,
const char *msg,
...);
struct <A
HREF="libxml-valid.html#XMLVALIDCTXT"
>xmlValidCtxt</A
>;
typedef <A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
>;
typedef <A
HREF="libxml-valid.html#XMLNOTATIONTABLEPTR"
>xmlNotationTablePtr</A
>;
typedef <A
HREF="libxml-valid.html#XMLELEMENTTABLEPTR"
>xmlElementTablePtr</A
>;
typedef <A
HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR"
>xmlAttributeTablePtr</A
>;
typedef <A
HREF="libxml-valid.html#XMLIDTABLEPTR"
>xmlIDTablePtr</A
>;
typedef <A
HREF="libxml-valid.html#XMLREFTABLEPTR"
>xmlRefTablePtr</A
>;
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-valid.html#XMLSPLITQNAME2"
>xmlSplitQName2</A
> (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **prefix);
<A
HREF="libxml-tree.html#XMLNOTATIONPTR"
>xmlNotationPtr</A
> <A
HREF="libxml-valid.html#XMLADDNOTATIONDECL"
>xmlAddNotationDecl</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *PublicID,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *SystemID);
<A
HREF="libxml-valid.html#XMLNOTATIONTABLEPTR"
>xmlNotationTablePtr</A
> <A
HREF="libxml-valid.html#XMLCOPYNOTATIONTABLE"
>xmlCopyNotationTable</A
> (<A
HREF="libxml-valid.html#XMLNOTATIONTABLEPTR"
>xmlNotationTablePtr</A
> table);
void <A
HREF="libxml-valid.html#XMLFREENOTATIONTABLE"
>xmlFreeNotationTable</A
> (<A
HREF="libxml-valid.html#XMLNOTATIONTABLEPTR"
>xmlNotationTablePtr</A
> table);
void <A
HREF="libxml-valid.html#XMLDUMPNOTATIONDECL"
>xmlDumpNotationDecl</A
> (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
<A
HREF="libxml-tree.html#XMLNOTATIONPTR"
>xmlNotationPtr</A
> nota);
void <A
HREF="libxml-valid.html#XMLDUMPNOTATIONTABLE"
>xmlDumpNotationTable</A
> (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
<A
HREF="libxml-valid.html#XMLNOTATIONTABLEPTR"
>xmlNotationTablePtr</A
> table);
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> <A
HREF="libxml-valid.html#XMLNEWELEMENTCONTENT"
>xmlNewElementContent</A
> (<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTTYPE"
>xmlElementContentType</A
> type);
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> <A
HREF="libxml-valid.html#XMLCOPYELEMENTCONTENT"
>xmlCopyElementContent</A
> (<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> content);
void <A
HREF="libxml-valid.html#XMLFREEELEMENTCONTENT"
>xmlFreeElementContent</A
> (<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> cur);
void <A
HREF="libxml-valid.html#XMLSNPRINTFELEMENTCONTENT"
>xmlSnprintfElementContent</A
> (char *buf,
int size,
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> content,
int glob);
void <A
HREF="libxml-valid.html#XMLSPRINTFELEMENTCONTENT"
>xmlSprintfElementContent</A
> (char *buf,
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> content,
int glob);
<A
HREF="libxml-tree.html#XMLELEMENTPTR"
>xmlElementPtr</A
> <A
HREF="libxml-valid.html#XMLADDELEMENTDECL"
>xmlAddElementDecl</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
<A
HREF="libxml-tree.html#XMLELEMENTTYPEVAL"
>xmlElementTypeVal</A
> type,
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> content);
<A
HREF="libxml-valid.html#XMLELEMENTTABLEPTR"
>xmlElementTablePtr</A
> <A
HREF="libxml-valid.html#XMLCOPYELEMENTTABLE"
>xmlCopyElementTable</A
> (<A
HREF="libxml-valid.html#XMLELEMENTTABLEPTR"
>xmlElementTablePtr</A
> table);
void <A
HREF="libxml-valid.html#XMLFREEELEMENTTABLE"
>xmlFreeElementTable</A
> (<A
HREF="libxml-valid.html#XMLELEMENTTABLEPTR"
>xmlElementTablePtr</A
> table);
void <A
HREF="libxml-valid.html#XMLDUMPELEMENTTABLE"
>xmlDumpElementTable</A
> (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
<A
HREF="libxml-valid.html#XMLELEMENTTABLEPTR"
>xmlElementTablePtr</A
> table);
void <A
HREF="libxml-valid.html#XMLDUMPELEMENTDECL"
>xmlDumpElementDecl</A
> (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
<A
HREF="libxml-tree.html#XMLELEMENTPTR"
>xmlElementPtr</A
> elem);
<A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> <A
HREF="libxml-valid.html#XMLCREATEENUMERATION"
>xmlCreateEnumeration</A
> (<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);
void <A
HREF="libxml-valid.html#XMLFREEENUMERATION"
>xmlFreeEnumeration</A
> (<A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> cur);
<A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> <A
HREF="libxml-valid.html#XMLCOPYENUMERATION"
>xmlCopyEnumeration</A
> (<A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> cur);
<A
HREF="libxml-tree.html#XMLATTRIBUTEPTR"
>xmlAttributePtr</A
> <A
HREF="libxml-valid.html#XMLADDATTRIBUTEDECL"
>xmlAddAttributeDecl</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *elem,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *ns,
<A
HREF="libxml-tree.html#XMLATTRIBUTETYPE"
>xmlAttributeType</A
> type,
<A
HREF="libxml-tree.html#XMLATTRIBUTEDEFAULT"
>xmlAttributeDefault</A
> def,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *defaultValue,
<A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> tree);
<A
HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR"
>xmlAttributeTablePtr</A
> <A
HREF="libxml-valid.html#XMLCOPYATTRIBUTETABLE"
>xmlCopyAttributeTable</A
> (<A
HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR"
>xmlAttributeTablePtr</A
> table);
void <A
HREF="libxml-valid.html#XMLFREEATTRIBUTETABLE"
>xmlFreeAttributeTable</A
> (<A
HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR"
>xmlAttributeTablePtr</A
> table);
void <A
HREF="libxml-valid.html#XMLDUMPATTRIBUTETABLE"
>xmlDumpAttributeTable</A
> (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
<A
HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR"
>xmlAttributeTablePtr</A
> table);
void <A
HREF="libxml-valid.html#XMLDUMPATTRIBUTEDECL"
>xmlDumpAttributeDecl</A
> (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
<A
HREF="libxml-tree.html#XMLATTRIBUTEPTR"
>xmlAttributePtr</A
> attr);
<A
HREF="libxml-tree.html#XMLIDPTR"
>xmlIDPtr</A
> <A
HREF="libxml-valid.html#XMLADDID"
>xmlAddID</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value,
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> attr);
void <A
HREF="libxml-valid.html#XMLFREEIDTABLE"
>xmlFreeIDTable</A
> (<A
HREF="libxml-valid.html#XMLIDTABLEPTR"
>xmlIDTablePtr</A
> table);
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> <A
HREF="libxml-valid.html#XMLGETID"
>xmlGetID</A
> (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *ID);
int <A
HREF="libxml-valid.html#XMLISID"
>xmlIsID</A
> (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> elem,
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> attr);
int <A
HREF="libxml-valid.html#XMLREMOVEID"
>xmlRemoveID</A
> (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> attr);
<A
HREF="libxml-tree.html#XMLREFPTR"
>xmlRefPtr</A
> <A
HREF="libxml-valid.html#XMLADDREF"
>xmlAddRef</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value,
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> attr);
void <A
HREF="libxml-valid.html#XMLFREEREFTABLE"
>xmlFreeRefTable</A
> (<A
HREF="libxml-valid.html#XMLREFTABLEPTR"
>xmlRefTablePtr</A
> table);
int <A
HREF="libxml-valid.html#XMLISREF"
>xmlIsRef</A
> (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> elem,
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> attr);
int <A
HREF="libxml-valid.html#XMLREMOVEREF"
>xmlRemoveRef</A
> (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> attr);
<GTKDOCLINK
HREF="XMLLISTPTR"
>xmlListPtr</GTKDOCLINK
> <A
HREF="libxml-valid.html#XMLGETREFS"
>xmlGetRefs</A
> (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *ID);
int <A
HREF="libxml-valid.html#XMLVALIDATEROOT"
>xmlValidateRoot</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc);
int <A
HREF="libxml-valid.html#XMLVALIDATEELEMENTDECL"
>xmlValidateElementDecl</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLELEMENTPTR"
>xmlElementPtr</A
> elem);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-valid.html#XMLVALIDNORMALIZEATTRIBUTEVALUE"
>xmlValidNormalizeAttributeValue</A
> (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> elem,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-valid.html#XMLVALIDCTXTNORMALIZEATTRIBUTEVALUE"
>xmlValidCtxtNormalizeAttributeValue</A
>
(<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> elem,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);
int <A
HREF="libxml-valid.html#XMLVALIDATEATTRIBUTEDECL"
>xmlValidateAttributeDecl</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLATTRIBUTEPTR"
>xmlAttributePtr</A
> attr);
int <A
HREF="libxml-valid.html#XMLVALIDATEATTRIBUTEVALUE"
>xmlValidateAttributeValue</A
> (<A
HREF="libxml-tree.html#XMLATTRIBUTETYPE"
>xmlAttributeType</A
> type,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);
int <A
HREF="libxml-valid.html#XMLVALIDATENOTATIONDECL"
>xmlValidateNotationDecl</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNOTATIONPTR"
>xmlNotationPtr</A
> nota);
int <A
HREF="libxml-valid.html#XMLVALIDATEDTD"
>xmlValidateDtd</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd);
int <A
HREF="libxml-valid.html#XMLVALIDATEDTDFINAL"
>xmlValidateDtdFinal</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc);
int <A
HREF="libxml-valid.html#XMLVALIDATEDOCUMENT"
>xmlValidateDocument</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc);
int <A
HREF="libxml-valid.html#XMLVALIDATEELEMENT"
>xmlValidateElement</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> elem);
int <A
HREF="libxml-valid.html#XMLVALIDATEONEELEMENT"
>xmlValidateOneElement</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> elem);
int <A
HREF="libxml-valid.html#XMLVALIDATEONEATTRIBUTE"
>xmlValidateOneAttribute</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> elem,
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> attr,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);
int <A
HREF="libxml-valid.html#XMLVALIDATEDOCUMENTFINAL"
>xmlValidateDocumentFinal</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc);
int <A
HREF="libxml-valid.html#XMLVALIDATENOTATIONUSE"
>xmlValidateNotationUse</A
> (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *notationName);
int <A
HREF="libxml-valid.html#XMLISMIXEDELEMENT"
>xmlIsMixedElement</A
> (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);
<A
HREF="libxml-tree.html#XMLATTRIBUTEPTR"
>xmlAttributePtr</A
> <A
HREF="libxml-valid.html#XMLGETDTDATTRDESC"
>xmlGetDtdAttrDesc</A
> (<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *elem,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);
<A
HREF="libxml-tree.html#XMLATTRIBUTEPTR"
>xmlAttributePtr</A
> <A
HREF="libxml-valid.html#XMLGETDTDQATTRDESC"
>xmlGetDtdQAttrDesc</A
> (<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *elem,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *prefix);
<A
HREF="libxml-tree.html#XMLNOTATIONPTR"
>xmlNotationPtr</A
> <A
HREF="libxml-valid.html#XMLGETDTDNOTATIONDESC"
>xmlGetDtdNotationDesc</A
> (<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);
<A
HREF="libxml-tree.html#XMLELEMENTPTR"
>xmlElementPtr</A
> <A
HREF="libxml-valid.html#XMLGETDTDQELEMENTDESC"
>xmlGetDtdQElementDesc</A
> (<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *prefix);
<A
HREF="libxml-tree.html#XMLELEMENTPTR"
>xmlElementPtr</A
> <A
HREF="libxml-valid.html#XMLGETDTDELEMENTDESC"
>xmlGetDtdElementDesc</A
> (<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);
int <A
HREF="libxml-valid.html#XMLVALIDGETVALIDELEMENTS"
>xmlValidGetValidElements</A
> (<A
HREF="libxml-tree.html#XMLNODE"
>xmlNode</A
> *prev,
<A
HREF="libxml-tree.html#XMLNODE"
>xmlNode</A
> *next,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **list,
int max);
int <A
HREF="libxml-valid.html#XMLVALIDGETPOTENTIALCHILDREN"
>xmlValidGetPotentialChildren</A
> (<A
HREF="libxml-tree.html#XMLELEMENTCONTENT"
>xmlElementContent</A
> *ctree,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **list,
int *len,
int max);
int <A
HREF="libxml-valid.html#XMLVALIDATENAMEVALUE"
>xmlValidateNameValue</A
> (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);
int <A
HREF="libxml-valid.html#XMLVALIDATENAMESVALUE"
>xmlValidateNamesValue</A
> (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);
int <A
HREF="libxml-valid.html#XMLVALIDATENMTOKENVALUE"
>xmlValidateNmtokenValue</A
> (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);
int <A
HREF="libxml-valid.html#XMLVALIDATENMTOKENSVALUE"
>xmlValidateNmtokensValue</A
> (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);</PRE
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8765"
></A
><H2
>Description</H2
><P
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8768"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN8770"
></A
><H3
><A
NAME="XMLVALIDSTATE"
></A
>struct xmlValidState</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct xmlValidState;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8775"
></A
><H3
><A
NAME="XMLVALIDSTATEPTR"
></A
>xmlValidStatePtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlValidState *xmlValidStatePtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8780"
></A
><H3
><A
NAME="XMLVALIDITYERRORFUNC"
></A
>xmlValidityErrorFunc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void (*xmlValidityErrorFunc) (void *ctx,
const char *msg,
...);</PRE
></TD
></TR
></TABLE
><P
>Callback called when a validity error is found. This is a message
oriented function similar to an *printf function.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN8786"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctx</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an xmlValidCtxtPtr validity error context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>msg</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the string to format *printf like vararg</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>...</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> remaining arguments to the format</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8803"
></A
><H3
><A
NAME="XMLVALIDITYWARNINGFUNC"
></A
>xmlValidityWarningFunc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void (*xmlValidityWarningFunc) (void *ctx,
const char *msg,
...);</PRE
></TD
></TR
></TABLE
><P
>Callback called when a validity warning is found. This is a message
oriented function similar to an *printf function.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN8809"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctx</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an xmlValidCtxtPtr validity error context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>msg</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the string to format *printf like vararg</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>...</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> remaining arguments to the format</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8826"
></A
><H3
><A
NAME="XMLVALIDCTXT"
></A
>struct xmlValidCtxt</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct xmlValidCtxt {
void *userData; /* user specific data block */
xmlValidityErrorFunc error; /* the callback in case of errors */
xmlValidityWarningFunc warning; /* the callback in case of warning */
/* Node analysis stack used when validating within entities */
xmlNodePtr node; /* Current parsed Node */
int nodeNr; /* Depth of the parsing stack */
int nodeMax; /* Max depth of the parsing stack */
xmlNodePtr *nodeTab; /* array of nodes */
int finishDtd; /* finished validating the Dtd ? */
xmlDocPtr doc; /* the document */
int valid; /* temporary validity check result */
/* state state used for non-determinist content validation */
xmlValidState *vstate; /* current state */
int vstateNr; /* Depth of the validation stack */
int vstateMax; /* Max depth of the validation stack */
xmlValidState *vstateTab; /* array of validation states */
};</PRE
></TD
></TR
></TABLE
><P
></P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8832"
></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="AEN8837"
></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="AEN8842"
></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="AEN8847"
></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="AEN8852"
></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="AEN8857"
></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="AEN8862"
></A
><H3
><A
NAME="XMLSPLITQNAME2"
></A
>xmlSplitQName2 ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlSplitQName2 (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **prefix);</PRE
></TD
></TR
></TABLE
><P
>parse an XML qualified name string</P
><P
>[NS 5] QName ::= (Prefix ':')? LocalPart</P
><P
>[NS 6] Prefix ::= NCName</P
><P
>[NS 7] LocalPart ::= NCName</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN8874"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>NULL if not a QName, otherwise the local part, and prefix
is updated to get the Prefix if any.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8891"
></A
><H3
><A
NAME="XMLADDNOTATIONDECL"
></A
>xmlAddNotationDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLNOTATIONPTR"
>xmlNotationPtr</A
> xmlAddNotationDecl (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *PublicID,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *SystemID);</PRE
></TD
></TR
></TABLE
><P
>Register a new notation declaration</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN8903"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>NULL if not, otherwise the entity</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8932"
></A
><H3
><A
NAME="XMLCOPYNOTATIONTABLE"
></A
>xmlCopyNotationTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-valid.html#XMLNOTATIONTABLEPTR"
>xmlNotationTablePtr</A
> xmlCopyNotationTable (<A
HREF="libxml-valid.html#XMLNOTATIONTABLEPTR"
>xmlNotationTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
>Build a copy of a notation table.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN8940"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> A notation table</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new xmlNotationTablePtr or NULL in case of error.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8953"
></A
><H3
><A
NAME="XMLFREENOTATIONTABLE"
></A
>xmlFreeNotationTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlFreeNotationTable (<A
HREF="libxml-valid.html#XMLNOTATIONTABLEPTR"
>xmlNotationTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
>Deallocate the memory used by an entities hash table.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN8960"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An notation table</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8969"
></A
><H3
><A
NAME="XMLDUMPNOTATIONDECL"
></A
>xmlDumpNotationDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlDumpNotationDecl (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
<A
HREF="libxml-tree.html#XMLNOTATIONPTR"
>xmlNotationPtr</A
> nota);</PRE
></TD
></TR
></TABLE
><P
>This will dump the content the notation declaration as an XML DTD definition</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN8977"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&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
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8990"
></A
><H3
><A
NAME="XMLDUMPNOTATIONTABLE"
></A
>xmlDumpNotationTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlDumpNotationTable (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
<A
HREF="libxml-valid.html#XMLNOTATIONTABLEPTR"
>xmlNotationTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
>This will dump the content of the notation table as an XML DTD definition</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN8998"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&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
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9011"
></A
><H3
><A
NAME="XMLNEWELEMENTCONTENT"
></A
>xmlNewElementContent ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> xmlNewElementContent (<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTTYPE"
>xmlElementContentType</A
> type);</PRE
></TD
></TR
></TABLE
><P
>Allocate an element content structure.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9020"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>NULL if not, otherwise the new element content structure</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9037"
></A
><H3
><A
NAME="XMLCOPYELEMENTCONTENT"
></A
>xmlCopyElementContent ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> xmlCopyElementContent (<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> content);</PRE
></TD
></TR
></TABLE
><P
>Build a copy of an element content description.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9045"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>content</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An element content pointer.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new xmlElementContentPtr or NULL in case of error.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9058"
></A
><H3
><A
NAME="XMLFREEELEMENTCONTENT"
></A
>xmlFreeElementContent ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlFreeElementContent (<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> cur);</PRE
></TD
></TR
></TABLE
><P
>Free an element content structure. This is a recursive call !</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9065"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>cur</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the element content tree to free</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9074"
></A
><H3
><A
NAME="XMLSNPRINTFELEMENTCONTENT"
></A
>xmlSnprintfElementContent ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlSnprintfElementContent (char *buf,
int size,
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> content,
int glob);</PRE
></TD
></TR
></TABLE
><P
>This will dump the content of the element content definition
Intended just for the debug routine</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9081"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&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
>size</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the buffer size</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>content</I
></TT
>&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
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9102"
></A
><H3
><A
NAME="XMLSPRINTFELEMENTCONTENT"
></A
>xmlSprintfElementContent ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlSprintfElementContent (char *buf,
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> content,
int glob);</PRE
></TD
></TR
></TABLE
><P
>Deprecated, unsafe, use xmlSnprintfElementContent</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9109"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&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
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9126"
></A
><H3
><A
NAME="XMLADDELEMENTDECL"
></A
>xmlAddElementDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLELEMENTPTR"
>xmlElementPtr</A
> xmlAddElementDecl (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
<A
HREF="libxml-tree.html#XMLELEMENTTYPEVAL"
>xmlElementTypeVal</A
> type,
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> content);</PRE
></TD
></TR
></TABLE
><P
>Register a new element declaration</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9138"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>NULL if not, otherwise the entity</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9167"
></A
><H3
><A
NAME="XMLCOPYELEMENTTABLE"
></A
>xmlCopyElementTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-valid.html#XMLELEMENTTABLEPTR"
>xmlElementTablePtr</A
> xmlCopyElementTable (<A
HREF="libxml-valid.html#XMLELEMENTTABLEPTR"
>xmlElementTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
>Build a copy of an element table.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9175"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An element table</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new xmlElementTablePtr or NULL in case of error.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9188"
></A
><H3
><A
NAME="XMLFREEELEMENTTABLE"
></A
>xmlFreeElementTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlFreeElementTable (<A
HREF="libxml-valid.html#XMLELEMENTTABLEPTR"
>xmlElementTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
>Deallocate the memory used by an element hash table.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9195"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An element table</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9204"
></A
><H3
><A
NAME="XMLDUMPELEMENTTABLE"
></A
>xmlDumpElementTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlDumpElementTable (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
<A
HREF="libxml-valid.html#XMLELEMENTTABLEPTR"
>xmlElementTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
>This will dump the content of the element table as an XML DTD definition</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9212"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&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
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9225"
></A
><H3
><A
NAME="XMLDUMPELEMENTDECL"
></A
>xmlDumpElementDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlDumpElementDecl (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
<A
HREF="libxml-tree.html#XMLELEMENTPTR"
>xmlElementPtr</A
> elem);</PRE
></TD
></TR
></TABLE
><P
>This will dump the content of the element declaration as an XML
DTD definition</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9233"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&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
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9246"
></A
><H3
><A
NAME="XMLCREATEENUMERATION"
></A
>xmlCreateEnumeration ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> xmlCreateEnumeration (<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);</PRE
></TD
></TR
></TABLE
><P
>create and initialize an enumeration attribute node.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9254"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the enumeration name or NULL</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlEnumerationPtr just created or NULL in case
of error.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9267"
></A
><H3
><A
NAME="XMLFREEENUMERATION"
></A
>xmlFreeEnumeration ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlFreeEnumeration (<A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> cur);</PRE
></TD
></TR
></TABLE
><P
>free an enumeration attribute node (recursive).</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9274"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>cur</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the tree to free.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9283"
></A
><H3
><A
NAME="XMLCOPYENUMERATION"
></A
>xmlCopyEnumeration ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> xmlCopyEnumeration (<A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> cur);</PRE
></TD
></TR
></TABLE
><P
>Copy an enumeration attribute node (recursive).</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9291"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>cur</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the tree to copy.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlEnumerationPtr just created or NULL in case
of error.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9304"
></A
><H3
><A
NAME="XMLADDATTRIBUTEDECL"
></A
>xmlAddAttributeDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLATTRIBUTEPTR"
>xmlAttributePtr</A
> xmlAddAttributeDecl (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *elem,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *ns,
<A
HREF="libxml-tree.html#XMLATTRIBUTETYPE"
>xmlAttributeType</A
> type,
<A
HREF="libxml-tree.html#XMLATTRIBUTEDEFAULT"
>xmlAttributeDefault</A
> def,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *defaultValue,
<A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> tree);</PRE
></TD
></TR
></TABLE
><P
>Register a new attribute declaration
Note that <TT
CLASS="PARAMETER"
><I
>tree</I
></TT
> becomes the ownership of the DTD</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9321"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>NULL if not new, otherwise the attribute decl</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9366"
></A
><H3
><A
NAME="XMLCOPYATTRIBUTETABLE"
></A
>xmlCopyAttributeTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR"
>xmlAttributeTablePtr</A
> xmlCopyAttributeTable (<A
HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR"
>xmlAttributeTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
>Build a copy of an attribute table.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9374"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An attribute table</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new xmlAttributeTablePtr or NULL in case of error.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9387"
></A
><H3
><A
NAME="XMLFREEATTRIBUTETABLE"
></A
>xmlFreeAttributeTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlFreeAttributeTable (<A
HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR"
>xmlAttributeTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
>Deallocate the memory used by an entities hash table.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9394"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An attribute table</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9403"
></A
><H3
><A
NAME="XMLDUMPATTRIBUTETABLE"
></A
>xmlDumpAttributeTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlDumpAttributeTable (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
<A
HREF="libxml-valid.html#XMLATTRIBUTETABLEPTR"
>xmlAttributeTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
>This will dump the content of the attribute table as an XML DTD definition</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9411"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&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
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9424"
></A
><H3
><A
NAME="XMLDUMPATTRIBUTEDECL"
></A
>xmlDumpAttributeDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlDumpAttributeDecl (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
<A
HREF="libxml-tree.html#XMLATTRIBUTEPTR"
>xmlAttributePtr</A
> attr);</PRE
></TD
></TR
></TABLE
><P
>This will dump the content of the attribute declaration as an XML
DTD definition</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9432"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&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
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9445"
></A
><H3
><A
NAME="XMLADDID"
></A
>xmlAddID ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLIDPTR"
>xmlIDPtr</A
> xmlAddID (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value,
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> attr);</PRE
></TD
></TR
></TABLE
><P
>Register a new id declaration</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9456"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>NULL if not, otherwise the new xmlIDPtr</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9481"
></A
><H3
><A
NAME="XMLFREEIDTABLE"
></A
>xmlFreeIDTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlFreeIDTable (<A
HREF="libxml-valid.html#XMLIDTABLEPTR"
>xmlIDTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
>Deallocate the memory used by an ID hash table.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9488"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An id table</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9497"
></A
><H3
><A
NAME="XMLGETID"
></A
>xmlGetID ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> xmlGetID (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *ID);</PRE
></TD
></TR
></TABLE
><P
>Search the attribute declaring the given ID</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9506"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>NULL if not found, otherwise the xmlAttrPtr defining the ID</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9523"
></A
><H3
><A
NAME="XMLISID"
></A
>xmlIsID ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlIsID (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> elem,
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> attr);</PRE
></TD
></TR
></TABLE
><P
>Determine whether an attribute is of type ID. In case we have DTD(s)
then this is simple, otherwise we use an heuristic: name ID (upper
or lowercase).</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9532"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 or 1 depending on the lookup result</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9553"
></A
><H3
><A
NAME="XMLREMOVEID"
></A
>xmlRemoveID ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlRemoveID (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> attr);</PRE
></TD
></TR
></TABLE
><P
>Remove the given attribute from the ID table maintained internally.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9561"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>-1 if the lookup failed and 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9578"
></A
><H3
><A
NAME="XMLADDREF"
></A
>xmlAddRef ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLREFPTR"
>xmlRefPtr</A
> xmlAddRef (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value,
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> attr);</PRE
></TD
></TR
></TABLE
><P
>Register a new ref declaration</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9589"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>NULL if not, otherwise the new xmlRefPtr</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9614"
></A
><H3
><A
NAME="XMLFREEREFTABLE"
></A
>xmlFreeRefTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlFreeRefTable (<A
HREF="libxml-valid.html#XMLREFTABLEPTR"
>xmlRefTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
>Deallocate the memory used by an Ref hash table.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9621"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An ref table</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9630"
></A
><H3
><A
NAME="XMLISREF"
></A
>xmlIsRef ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlIsRef (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> elem,
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> attr);</PRE
></TD
></TR
></TABLE
><P
>Determine whether an attribute is of type Ref. In case we have DTD(s)
then this is simple, otherwise we use an heuristic: name Ref (upper
or lowercase).</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9639"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 or 1 depending on the lookup result</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9660"
></A
><H3
><A
NAME="XMLREMOVEREF"
></A
>xmlRemoveRef ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlRemoveRef (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> attr);</PRE
></TD
></TR
></TABLE
><P
>Remove the given attribute from the Ref table maintained internally.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9668"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>-1 if the lookup failed and 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9685"
></A
><H3
><A
NAME="XMLGETREFS"
></A
>xmlGetRefs ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="XMLLISTPTR"
>xmlListPtr</GTKDOCLINK
> xmlGetRefs (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *ID);</PRE
></TD
></TR
></TABLE
><P
>Find the set of references for the supplied ID.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9694"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>NULL if not found, otherwise node set for the ID.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9711"
></A
><H3
><A
NAME="XMLVALIDATEROOT"
></A
>xmlValidateRoot ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateRoot (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc);</PRE
></TD
></TR
></TABLE
><P
>Try to validate a the root element
basically it does the following check as described by the
XML-1.0 recommendation:
- [ VC: Root Element Type ]
it doesn't try to recurse or apply other check to the element</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9719"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9736"
></A
><H3
><A
NAME="XMLVALIDATEELEMENTDECL"
></A
>xmlValidateElementDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateElementDecl (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLELEMENTPTR"
>xmlElementPtr</A
> elem);</PRE
></TD
></TR
></TABLE
><P
>Try to validate a single element definition
basically it does the following checks as described by the
XML-1.0 recommendation:
- [ VC: One ID per Element Type ]
- [ VC: No Duplicate Types ]
- [ VC: Unique Element Type Declaration ]</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9745"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9766"
></A
><H3
><A
NAME="XMLVALIDNORMALIZEATTRIBUTEVALUE"
></A
>xmlValidNormalizeAttributeValue ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlValidNormalizeAttributeValue (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> elem,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);</PRE
></TD
></TR
></TABLE
><P
>Does the validation related extra step of the normalization of attribute
values:</P
><P
>If the declared value is not CDATA, then the XML processor must further
process the normalized attribute value by discarding any leading and
trailing space (<GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
>) characters, and by replacing sequences of space
(<GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
>) characters by single space (<GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
>) character.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9781"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>a new normalized string if normalization is needed, NULL otherwise
the caller must free the returned value.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9806"
></A
><H3
><A
NAME="XMLVALIDCTXTNORMALIZEATTRIBUTEVALUE"
></A
>xmlValidCtxtNormalizeAttributeValue ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlValidCtxtNormalizeAttributeValue
(<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> elem,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);</PRE
></TD
></TR
></TABLE
><P
>Does the validation related extra step of the normalization of attribute
values:</P
><P
>If the declared value is not CDATA, then the XML processor must further
process the normalized attribute value by discarding any leading and
trailing space (<GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
>) characters, and by replacing sequences of space
(<GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
>) characters by single space (<GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
>) character.</P
><P
>Also check VC: Standalone Document Declaration in P32, and update
ctxt-&gt;valid accordingly</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9823"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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
>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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>a new normalized string if normalization is needed, NULL otherwise
the caller must free the returned value.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9852"
></A
><H3
><A
NAME="XMLVALIDATEATTRIBUTEDECL"
></A
>xmlValidateAttributeDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateAttributeDecl (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLATTRIBUTEPTR"
>xmlAttributePtr</A
> attr);</PRE
></TD
></TR
></TABLE
><P
>Try to validate a single attribute definition
basically it does the following checks as described by the
XML-1.0 recommendation:
- [ VC: Attribute Default Legal ]
- [ VC: Enumeration ]
- [ VC: ID Attribute Default ]</P
><P
>The ID/IDREF uniqueness and matching are done separately</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9862"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9883"
></A
><H3
><A
NAME="XMLVALIDATEATTRIBUTEVALUE"
></A
>xmlValidateAttributeValue ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateAttributeValue (<A
HREF="libxml-tree.html#XMLATTRIBUTETYPE"
>xmlAttributeType</A
> type,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);</PRE
></TD
></TR
></TABLE
><P
>Validate that the given attribute value match the proper production</P
><P
>[ VC: ID ]
Values of type ID must match the Name production....</P
><P
>[ VC: IDREF ]
Values of type IDREF must match the Name production, and values
of type IDREFS must match Names ...</P
><P
>[ VC: Entity Name ]
Values of type ENTITY must match the Name production, values
of type ENTITIES must match Names ...</P
><P
>[ VC: Name Token ]
Values of type NMTOKEN must match the Nmtoken production; values
of type NMTOKENS must match Nmtokens.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9895"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>type</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9912"
></A
><H3
><A
NAME="XMLVALIDATENOTATIONDECL"
></A
>xmlValidateNotationDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateNotationDecl (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNOTATIONPTR"
>xmlNotationPtr</A
> nota);</PRE
></TD
></TR
></TABLE
><P
>Try to validate a single notation definition
basically it does the following checks as described by the
XML-1.0 recommendation:
- it seems that no validity constraint exists on notation declarations
But this function get called anyway ...</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9921"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9942"
></A
><H3
><A
NAME="XMLVALIDATEDTD"
></A
>xmlValidateDtd ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateDtd (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd);</PRE
></TD
></TR
></TABLE
><P
>Try to validate the document against the dtd instance</P
><P
>basically it does check all the definitions in the DtD.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9952"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9973"
></A
><H3
><A
NAME="XMLVALIDATEDTDFINAL"
></A
>xmlValidateDtdFinal ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateDtdFinal (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc);</PRE
></TD
></TR
></TABLE
><P
>Does the final step for the dtds validation once all the
subsets have been parsed</P
><P
>basically it does the following checks described by the XML Rec
- check that ENTITY and ENTITIES type attributes default or
possible values matches one of the defined entities.
- check that NOTATION type attributes default or
possible values matches one of the defined notations.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN9982"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 if invalid and -1 if not well-formed</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9999"
></A
><H3
><A
NAME="XMLVALIDATEDOCUMENT"
></A
>xmlValidateDocument ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateDocument (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc);</PRE
></TD
></TR
></TABLE
><P
>Try to validate the document instance</P
><P
>basically it does the all the checks described by the XML Rec
i.e. validates the internal and external subset (if present)
and validate the document tree.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10008"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10025"
></A
><H3
><A
NAME="XMLVALIDATEELEMENT"
></A
>xmlValidateElement ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateElement (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> elem);</PRE
></TD
></TR
></TABLE
><P
>Try to validate the subtree under an element</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10034"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10055"
></A
><H3
><A
NAME="XMLVALIDATEONEELEMENT"
></A
>xmlValidateOneElement ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateOneElement (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> elem);</PRE
></TD
></TR
></TABLE
><P
>Try to validate a single element and it's attributes,
basically it does the following checks as described by the
XML-1.0 recommendation:
- [ VC: Element Valid ]
- [ VC: Required Attribute ]
Then call <A
HREF="libxml-valid.html#XMLVALIDATEONEATTRIBUTE"
>xmlValidateOneAttribute</A
>() for each attribute present.</P
><P
>The ID/IDREF checkings are done separately</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10066"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10087"
></A
><H3
><A
NAME="XMLVALIDATEONEATTRIBUTE"
></A
>xmlValidateOneAttribute ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateOneAttribute (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> elem,
<A
HREF="libxml-tree.html#XMLATTRPTR"
>xmlAttrPtr</A
> attr,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);</PRE
></TD
></TR
></TABLE
><P
>Try to validate a single attribute for an element
basically it does the following checks as described by the
XML-1.0 recommendation:
- [ VC: Attribute Value Type ]
- [ VC: Fixed Attribute Default ]
- [ VC: Entity Name ]
- [ VC: Name Token ]
- [ VC: ID ]
- [ VC: IDREF ]
- [ VC: Entity Name ]
- [ VC: Notation Attributes ]</P
><P
>The ID/IDREF uniqueness and matching are done separately</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10099"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10128"
></A
><H3
><A
NAME="XMLVALIDATEDOCUMENTFINAL"
></A
>xmlValidateDocumentFinal ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateDocumentFinal (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc);</PRE
></TD
></TR
></TABLE
><P
>Does the final step for the document validation once all the
incremental validation steps have been completed</P
><P
>basically it does the following checks described by the XML Rec</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10137"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10154"
></A
><H3
><A
NAME="XMLVALIDATENOTATIONUSE"
></A
>xmlValidateNotationUse ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateNotationUse (<A
HREF="libxml-valid.html#XMLVALIDCTXTPTR"
>xmlValidCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *notationName);</PRE
></TD
></TR
></TABLE
><P
>Validate that the given name match a notation declaration.
- [ VC: Notation Declared ]</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10163"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10184"
></A
><H3
><A
NAME="XMLISMIXEDELEMENT"
></A
>xmlIsMixedElement ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlIsMixedElement (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);</PRE
></TD
></TR
></TABLE
><P
>Search in the DtDs whether an element accept Mixed content (or ANY)
basically if it is supposed to accept text childs</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10192"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 if no, 1 if yes, and -1 if no element description is available</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10209"
></A
><H3
><A
NAME="XMLGETDTDATTRDESC"
></A
>xmlGetDtdAttrDesc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLATTRIBUTEPTR"
>xmlAttributePtr</A
> xmlGetDtdAttrDesc (<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *elem,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);</PRE
></TD
></TR
></TABLE
><P
>Search the DTD for the description of this attribute on
this element.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10219"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dtd</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlAttributePtr if found or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10240"
></A
><H3
><A
NAME="XMLGETDTDQATTRDESC"
></A
>xmlGetDtdQAttrDesc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLATTRIBUTEPTR"
>xmlAttributePtr</A
> xmlGetDtdQAttrDesc (<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *elem,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *prefix);</PRE
></TD
></TR
></TABLE
><P
>Search the DTD for the description of this qualified attribute on
this element.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10251"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dtd</I
></TT
>&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"
><TT
CLASS="PARAMETER"
><I
>prefix</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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlAttributePtr if found or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10276"
></A
><H3
><A
NAME="XMLGETDTDNOTATIONDESC"
></A
>xmlGetDtdNotationDesc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLNOTATIONPTR"
>xmlNotationPtr</A
> xmlGetDtdNotationDesc (<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);</PRE
></TD
></TR
></TABLE
><P
>Search the DTD for the description of this notation</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10285"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dtd</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlNotationPtr if found or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10302"
></A
><H3
><A
NAME="XMLGETDTDQELEMENTDESC"
></A
>xmlGetDtdQElementDesc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLELEMENTPTR"
>xmlElementPtr</A
> xmlGetDtdQElementDesc (<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *prefix);</PRE
></TD
></TR
></TABLE
><P
>Search the DTD for the description of this element</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10312"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dtd</I
></TT
>&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"
><TT
CLASS="PARAMETER"
><I
>prefix</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the element namespace prefix</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlElementPtr if found or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10333"
></A
><H3
><A
NAME="XMLGETDTDELEMENTDESC"
></A
>xmlGetDtdElementDesc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLELEMENTPTR"
>xmlElementPtr</A
> xmlGetDtdElementDesc (<A
HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A
> dtd,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);</PRE
></TD
></TR
></TABLE
><P
>Search the DTD for the description of this element</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10342"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dtd</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlElementPtr if found or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10359"
></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"
><A
NAME="AEN10371"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>prev</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the number of element in the list, or -1 in case of error. If
the function returns the value <TT
CLASS="PARAMETER"
><I
>max</I
></TT
> the caller is invited to grow the
receiving array and retry.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10397"
></A
><H3
><A
NAME="XMLVALIDGETPOTENTIALCHILDREN"
></A
>xmlValidGetPotentialChildren ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidGetPotentialChildren (<A
HREF="libxml-tree.html#XMLELEMENTCONTENT"
>xmlElementContent</A
> *ctree,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **list,
int *len,
int max);</PRE
></TD
></TR
></TABLE
><P
>Build/extend a list of potential children allowed by the content tree</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10405"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctree</I
></TT
>&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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the number of element in the list, or -1 in case of error.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10430"
></A
><H3
><A
NAME="XMLVALIDATENAMEVALUE"
></A
>xmlValidateNameValue ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateNameValue (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);</PRE
></TD
></TR
></TABLE
><P
>Validate that the given value match Name production</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10437"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>value</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an Name value</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10450"
></A
><H3
><A
NAME="XMLVALIDATENAMESVALUE"
></A
>xmlValidateNamesValue ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateNamesValue (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);</PRE
></TD
></TR
></TABLE
><P
>Validate that the given value match Names production</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10457"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>value</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an Names value</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10470"
></A
><H3
><A
NAME="XMLVALIDATENMTOKENVALUE"
></A
>xmlValidateNmtokenValue ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateNmtokenValue (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);</PRE
></TD
></TR
></TABLE
><P
>Validate that the given value match Nmtoken production</P
><P
>[ VC: Name Token ]</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10478"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>value</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an Nmtoken value</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10491"
></A
><H3
><A
NAME="XMLVALIDATENMTOKENSVALUE"
></A
>xmlValidateNmtokensValue ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlValidateNmtokensValue (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);</PRE
></TD
></TR
></TABLE
><P
>Validate that the given value match Nmtokens production</P
><P
>[ VC: Name Token ]</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10499"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>value</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an Nmtokens value</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if valid or 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><BR
CLEAR="all"><BR><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="libxml-entities.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#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
>