<HTML
><HEAD
><TITLE
>HTMLparser</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK
REL="UP"
TITLE="Libxml Library Reference"
HREF="libxml-lib.html"><LINK
REL="PREVIOUS"
TITLE="xmlerror"
HREF="libxml-xmlerror.html"><LINK
REL="NEXT"
TITLE="HTMLtree"
HREF="libxml-htmltree.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-xmlerror.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-htmltree.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
></TABLE
></DIV
><H1
><A
NAME="LIBXML-HTMLPARSER"
>HTMLparser</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN10675"
></A
><H2
>Name</H2
>HTMLparser&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN10678"
></A
><H2
>Synopsis</H2
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>&#13;

typedef     <A
HREF="libxml-htmlparser.html#HTMLPARSERCTXT"
>htmlParserCtxt</A
>;
typedef     <A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
>;
typedef     <A
HREF="libxml-htmlparser.html#HTMLPARSERNODEINFO"
>htmlParserNodeInfo</A
>;
typedef     <A
HREF="libxml-htmlparser.html#HTMLSAXHANDLER"
>htmlSAXHandler</A
>;
typedef     <A
HREF="libxml-htmlparser.html#HTMLSAXHANDLERPTR"
>htmlSAXHandlerPtr</A
>;
typedef     <A
HREF="libxml-htmlparser.html#HTMLPARSERINPUT"
>htmlParserInput</A
>;
typedef     <A
HREF="libxml-htmlparser.html#HTMLPARSERINPUTPTR"
>htmlParserInputPtr</A
>;
typedef     <A
HREF="libxml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
>;
typedef     <A
HREF="libxml-htmlparser.html#HTMLNODEPTR"
>htmlNodePtr</A
>;
struct      <A
HREF="libxml-htmlparser.html#HTMLELEMDESC"
>htmlElemDesc</A
>;
typedef     <A
HREF="libxml-htmlparser.html#HTMLELEMDESCPTR"
>htmlElemDescPtr</A
>;
struct      <A
HREF="libxml-htmlparser.html#HTMLENTITYDESC"
>htmlEntityDesc</A
>;
typedef     <A
HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR"
>htmlEntityDescPtr</A
>;
const <A
HREF="libxml-htmlparser.html#HTMLELEMDESC"
>htmlElemDesc</A
>* <A
HREF="libxml-htmlparser.html#HTMLTAGLOOKUP"
>htmlTagLookup</A
>           (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *tag);
const <A
HREF="libxml-htmlparser.html#HTMLENTITYDESC"
>htmlEntityDesc</A
>* <A
HREF="libxml-htmlparser.html#HTMLENTITYLOOKUP"
>htmlEntityLookup</A
>      (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);
const <A
HREF="libxml-htmlparser.html#HTMLENTITYDESC"
>htmlEntityDesc</A
>* <A
HREF="libxml-htmlparser.html#HTMLENTITYVALUELOOKUP"
>htmlEntityValueLookup</A
> (unsigned int value);
int         <A
HREF="libxml-htmlparser.html#HTMLISAUTOCLOSED"
>htmlIsAutoClosed</A
>                (<A
HREF="libxml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
> doc,
                                             <A
HREF="libxml-htmlparser.html#HTMLNODEPTR"
>htmlNodePtr</A
> elem);
int         <A
HREF="libxml-htmlparser.html#HTMLAUTOCLOSETAG"
>htmlAutoCloseTag</A
>                (<A
HREF="libxml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
                                             <A
HREF="libxml-htmlparser.html#HTMLNODEPTR"
>htmlNodePtr</A
> elem);
const <A
HREF="libxml-htmlparser.html#HTMLENTITYDESC"
>htmlEntityDesc</A
>* <A
HREF="libxml-htmlparser.html#HTMLPARSEENTITYREF"
>htmlParseEntityRef</A
>    (<A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> ctxt,
                                             <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **str);
int         <A
HREF="libxml-htmlparser.html#HTMLPARSECHARREF"
>htmlParseCharRef</A
>                (<A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> ctxt);
void        <A
HREF="libxml-htmlparser.html#HTMLPARSEELEMENT"
>htmlParseElement</A
>                (<A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
>  <A
HREF="libxml-htmlparser.html#HTMLSAXPARSEDOC"
>htmlSAXParseDoc</A
>                 (<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *cur,
                                             const char *encoding,
                                             <A
HREF="libxml-htmlparser.html#HTMLSAXHANDLERPTR"
>htmlSAXHandlerPtr</A
> sax,
                                             void *userData);
<A
HREF="libxml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
>  <A
HREF="libxml-htmlparser.html#HTMLPARSEDOC"
>htmlParseDoc</A
>                    (<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *cur,
                                             const char *encoding);
<A
HREF="libxml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
>  <A
HREF="libxml-htmlparser.html#HTMLSAXPARSEFILE"
>htmlSAXParseFile</A
>                (const char *filename,
                                             const char *encoding,
                                             <A
HREF="libxml-htmlparser.html#HTMLSAXHANDLERPTR"
>htmlSAXHandlerPtr</A
> sax,
                                             void *userData);
<A
HREF="libxml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
>  <A
HREF="libxml-htmlparser.html#HTMLPARSEFILE"
>htmlParseFile</A
>                   (const char *filename,
                                             const char *encoding);
int         <A
HREF="libxml-htmlparser.html#UTF8TOHTML"
>UTF8ToHtml</A
>                      (unsigned char *out,
                                             int *outlen,
                                             unsigned char *in,
                                             int *inlen);
int         <A
HREF="libxml-htmlparser.html#HTMLENCODEENTITIES"
>htmlEncodeEntities</A
>              (unsigned char *out,
                                             int *outlen,
                                             unsigned char *in,
                                             int *inlen,
                                             int quoteChar);
int         <A
HREF="libxml-htmlparser.html#HTMLISSCRIPTATTRIBUTE"
>htmlIsScriptAttribute</A
>           (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);
int         <A
HREF="libxml-htmlparser.html#HTMLHANDLEOMITTEDELEM"
>htmlHandleOmittedElem</A
>           (int val);
void        <A
HREF="libxml-htmlparser.html#HTMLFREEPARSERCTXT"
>htmlFreeParserCtxt</A
>              (<A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> <A
HREF="libxml-htmlparser.html#HTMLCREATEPUSHPARSERCTXT"
>htmlCreatePushParserCtxt</A
>  (<A
HREF="libxml-htmlparser.html#HTMLSAXHANDLERPTR"
>htmlSAXHandlerPtr</A
> sax,
                                             void *user_data,
                                             const char *chunk,
                                             int size,
                                             const char *filename,
                                             <A
HREF="libxml-encoding.html#XMLCHARENCODING"
>xmlCharEncoding</A
> enc);
int         <A
HREF="libxml-htmlparser.html#HTMLPARSECHUNK"
>htmlParseChunk</A
>                  (<A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> ctxt,
                                             const char *chunk,
                                             int size,
                                             int terminate);</PRE
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN10742"
></A
><H2
>Description</H2
><P
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN10745"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN10747"
></A
><H3
><A
NAME="HTMLPARSERCTXT"
></A
>htmlParserCtxt</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlParserCtxt htmlParserCtxt;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10752"
></A
><H3
><A
NAME="HTMLPARSERCTXTPTR"
></A
>htmlParserCtxtPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlParserCtxtPtr htmlParserCtxtPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10757"
></A
><H3
><A
NAME="HTMLPARSERNODEINFO"
></A
>htmlParserNodeInfo</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlParserNodeInfo htmlParserNodeInfo;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10762"
></A
><H3
><A
NAME="HTMLSAXHANDLER"
></A
>htmlSAXHandler</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlSAXHandler htmlSAXHandler;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10767"
></A
><H3
><A
NAME="HTMLSAXHANDLERPTR"
></A
>htmlSAXHandlerPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlSAXHandlerPtr htmlSAXHandlerPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10772"
></A
><H3
><A
NAME="HTMLPARSERINPUT"
></A
>htmlParserInput</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlParserInput htmlParserInput;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10777"
></A
><H3
><A
NAME="HTMLPARSERINPUTPTR"
></A
>htmlParserInputPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlParserInputPtr htmlParserInputPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10782"
></A
><H3
><A
NAME="HTMLDOCPTR"
></A
>htmlDocPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlDocPtr htmlDocPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10787"
></A
><H3
><A
NAME="HTMLNODEPTR"
></A
>htmlNodePtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlNodePtr htmlNodePtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10792"
></A
><H3
><A
NAME="HTMLELEMDESC"
></A
>struct htmlElemDesc</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct htmlElemDesc {
    const char *name;	/* The tag name */
    char startTag;      /* Whether the start tag can be implied */
    char endTag;        /* Whether the end tag can be implied */
    char saveEndTag;    /* Whether the end tag should be saved */
    char empty;         /* Is this an empty element ? */
    char depr;          /* Is this a deprecated element ? */
    char dtd;           /* 1: only in Loose DTD, 2: only Frameset one */
    char isinline;      /* is this a block 0 or inline 1 element */
    const char *desc;   /* the description */
};</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10797"
></A
><H3
><A
NAME="HTMLELEMDESCPTR"
></A
>htmlElemDescPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef htmlElemDesc *htmlElemDescPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10802"
></A
><H3
><A
NAME="HTMLENTITYDESC"
></A
>struct htmlEntityDesc</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct htmlEntityDesc {
    unsigned int value;	/* the UNICODE value for the character */
    const char *name;	/* The entity name */
    const char *desc;   /* the description */
};</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10807"
></A
><H3
><A
NAME="HTMLENTITYDESCPTR"
></A
>htmlEntityDescPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef htmlEntityDesc *htmlEntityDescPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10812"
></A
><H3
><A
NAME="HTMLTAGLOOKUP"
></A
>htmlTagLookup ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>const <A
HREF="libxml-htmlparser.html#HTMLELEMDESC"
>htmlElemDesc</A
>* htmlTagLookup           (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *tag);</PRE
></TD
></TR
></TABLE
><P
>Lookup the HTML tag in the ElementTable</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10820"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>tag</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  The tag name in lowercase</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the related htmlElemDescPtr or NULL if not found.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10833"
></A
><H3
><A
NAME="HTMLENTITYLOOKUP"
></A
>htmlEntityLookup ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>const <A
HREF="libxml-htmlparser.html#HTMLENTITYDESC"
>htmlEntityDesc</A
>* htmlEntityLookup      (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);</PRE
></TD
></TR
></TABLE
><P
>Lookup the given entity in EntitiesTable</P
><P
>TODO: the linear scan is really ugly, an hash table is really needed.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10842"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity name</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the associated htmlEntityDescPtr if found, NULL otherwise.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10855"
></A
><H3
><A
NAME="HTMLENTITYVALUELOOKUP"
></A
>htmlEntityValueLookup ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>const <A
HREF="libxml-htmlparser.html#HTMLENTITYDESC"
>htmlEntityDesc</A
>* htmlEntityValueLookup (unsigned int value);</PRE
></TD
></TR
></TABLE
><P
>Lookup the given entity in EntitiesTable</P
><P
>TODO: the linear scan is really ugly, an hash table is really needed.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10863"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>value</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity's unicode value</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the associated htmlEntityDescPtr if found, NULL otherwise.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10876"
></A
><H3
><A
NAME="HTMLISAUTOCLOSED"
></A
>htmlIsAutoClosed ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         htmlIsAutoClosed                (<A
HREF="libxml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
> doc,
                                             <A
HREF="libxml-htmlparser.html#HTMLNODEPTR"
>htmlNodePtr</A
> elem);</PRE
></TD
></TR
></TABLE
><P
>The HTmL DtD allows a tag to implicitely close other tags.
The list is kept in htmlStartClose array. This function checks
if a tag is autoclosed by one of it's child</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10884"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the HTML 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 HTML element</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if autoclosed, 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10901"
></A
><H3
><A
NAME="HTMLAUTOCLOSETAG"
></A
>htmlAutoCloseTag ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         htmlAutoCloseTag                (<A
HREF="libxml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
                                             <A
HREF="libxml-htmlparser.html#HTMLNODEPTR"
>htmlNodePtr</A
> elem);</PRE
></TD
></TR
></TABLE
><P
>The HTmL DtD allows a tag to implicitely close other tags.
The list is kept in htmlStartClose array. This function checks
if the element or one of it's children would autoclose the
given tag.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10910"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the HTML 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 tag name</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 HTML element</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if autoclose, 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10931"
></A
><H3
><A
NAME="HTMLPARSEENTITYREF"
></A
>htmlParseEntityRef ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>const <A
HREF="libxml-htmlparser.html#HTMLENTITYDESC"
>htmlEntityDesc</A
>* htmlParseEntityRef    (<A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> ctxt,
                                             <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **str);</PRE
></TD
></TR
></TABLE
><P
>parse an HTML ENTITY references</P
><P
>[68] EntityRef ::= '&amp;' Name ';'</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10941"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  an HTML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>str</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  location to store the entity name</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the associated htmlEntityDescPtr if found, or NULL otherwise,
if non-NULL *str will have to be freed by the caller.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10958"
></A
><H3
><A
NAME="HTMLPARSECHARREF"
></A
>htmlParseCharRef ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         htmlParseCharRef                (<A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse Reference declarations</P
><P
>[66] CharRef ::= '&amp;#' [0-9]+ ';' |
'&amp;<GTKDOCLINK
HREF="X"
>x</GTKDOCLINK
>' [0-9a-fA-F]+ ';'</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10967"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  an HTML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the value parsed (as an int)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10980"
></A
><H3
><A
NAME="HTMLPARSEELEMENT"
></A
>htmlParseElement ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        htmlParseElement                (<A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an HTML element, this is highly recursive</P
><P
>[39] element ::= EmptyElemTag | STag content ETag</P
><P
>[41] Attribute ::= Name Eq AttValue</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN10989"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  an HTML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10998"
></A
><H3
><A
NAME="HTMLSAXPARSEDOC"
></A
>htmlSAXParseDoc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
>  htmlSAXParseDoc                 (<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *cur,
                                             const char *encoding,
                                             <A
HREF="libxml-htmlparser.html#HTMLSAXHANDLERPTR"
>htmlSAXHandlerPtr</A
> sax,
                                             void *userData);</PRE
></TD
></TR
></TABLE
><P
>Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks
to handle parse events. If sax is NULL, fallback to the default DOM
behavior and return a tree.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN11007"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>cur</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  a pointer to an array of xmlChar</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>encoding</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  a free form C string describing the HTML document encoding, or NULL</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>sax</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the SAX handler block</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>userData</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> if using SAX, this pointer will be provided on callbacks. </TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the resulting document tree unless SAX is NULL or the document is
not well formed.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11032"
></A
><H3
><A
NAME="HTMLPARSEDOC"
></A
>htmlParseDoc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
>  htmlParseDoc                    (<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *cur,
                                             const char *encoding);</PRE
></TD
></TR
></TABLE
><P
>parse an HTML in-memory document and build a tree.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN11040"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>cur</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  a pointer to an array of xmlChar</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>encoding</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  a free form C string describing the HTML document encoding, or NULL</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the resulting document tree</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11057"
></A
><H3
><A
NAME="HTMLSAXPARSEFILE"
></A
>htmlSAXParseFile ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
>  htmlSAXParseFile                (const char *filename,
                                             const char *encoding,
                                             <A
HREF="libxml-htmlparser.html#HTMLSAXHANDLERPTR"
>htmlSAXHandlerPtr</A
> sax,
                                             void *userData);</PRE
></TD
></TR
></TABLE
><P
>parse an HTML file and build a tree. Automatic support for ZLIB/Compress
compressed document is provided by default if found at compile-time.
It use the given SAX function block to handle the parsing callback.
If sax is NULL, fallback to the default DOM tree building routines.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN11065"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>filename</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the filename</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>encoding</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  a free form C string describing the HTML document encoding, or NULL</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>sax</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the SAX handler block</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>userData</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> if using SAX, this pointer will be provided on callbacks. </TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the resulting document tree unless SAX is NULL or the document is
not well formed.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11090"
></A
><H3
><A
NAME="HTMLPARSEFILE"
></A
>htmlParseFile ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
>  htmlParseFile                   (const char *filename,
                                             const char *encoding);</PRE
></TD
></TR
></TABLE
><P
>parse an HTML file and build a tree. Automatic support for ZLIB/Compress
compressed document is provided by default if found at compile-time.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN11097"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>filename</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the filename</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>encoding</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  a free form C string describing the HTML document encoding, or NULL</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the resulting document tree</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11114"
></A
><H3
><A
NAME="UTF8TOHTML"
></A
>UTF8ToHtml ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         UTF8ToHtml                      (unsigned char *out,
                                             int *outlen,
                                             unsigned char *in,
                                             int *inlen);</PRE
></TD
></TR
></TABLE
><P
>Take a block of UTF-8 chars in and try to convert it to an ASCII
plus HTML entities block of chars out.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN11120"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>out</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  a pointer to an array of bytes to store the result</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>outlen</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the length of <TT
CLASS="PARAMETER"
><I
>out</I
></TT
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>in</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  a pointer to an array of UTF-8 chars</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>inlen</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the length of <TT
CLASS="PARAMETER"
><I
>in</I
></TT
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 if success, -2 if the transcoding fails, or -1 otherwise
The value of <TT
CLASS="PARAMETER"
><I
>inlen</I
></TT
> after return is the number of octets consumed
as the return value is positive, else unpredictiable.
The value of <TT
CLASS="PARAMETER"
><I
>outlen</I
></TT
> after return is the number of octets consumed.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11149"
></A
><H3
><A
NAME="HTMLENCODEENTITIES"
></A
>htmlEncodeEntities ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         htmlEncodeEntities              (unsigned char *out,
                                             int *outlen,
                                             unsigned char *in,
                                             int *inlen,
                                             int quoteChar);</PRE
></TD
></TR
></TABLE
><P
>Take a block of UTF-8 chars in and try to convert it to an ASCII
plus HTML entities block of chars out.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN11155"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>out</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  a pointer to an array of bytes to store the result</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>outlen</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the length of <TT
CLASS="PARAMETER"
><I
>out</I
></TT
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>in</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  a pointer to an array of UTF-8 chars</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>inlen</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the length of <TT
CLASS="PARAMETER"
><I
>in</I
></TT
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>quoteChar</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the quote character to escape (' or ") or zero.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 if success, -2 if the transcoding fails, or -1 otherwise
The value of <TT
CLASS="PARAMETER"
><I
>inlen</I
></TT
> after return is the number of octets consumed
as the return value is positive, else unpredictiable.
The value of <TT
CLASS="PARAMETER"
><I
>outlen</I
></TT
> after return is the number of octets consumed.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11188"
></A
><H3
><A
NAME="HTMLISSCRIPTATTRIBUTE"
></A
>htmlIsScriptAttribute ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         htmlIsScriptAttribute           (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);</PRE
></TD
></TR
></TABLE
><P
>Check if an attribute is of content type Script</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN11195"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  an attribute name</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 is the attribute is a script 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11208"
></A
><H3
><A
NAME="HTMLHANDLEOMITTEDELEM"
></A
>htmlHandleOmittedElem ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         htmlHandleOmittedElem           (int val);</PRE
></TD
></TR
></TABLE
><P
>Set and return the previous value for handling HTML omitted tags.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN11214"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>val</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  int 0 or 1 </TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the last value for 0 for no handling, 1 for auto insertion.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11227"
></A
><H3
><A
NAME="HTMLFREEPARSERCTXT"
></A
>htmlFreeParserCtxt ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        htmlFreeParserCtxt              (<A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>Free all the memory used by a parser context. However the parsed
document in ctxt-&gt;myDoc is not freed.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN11234"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  an HTML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11243"
></A
><H3
><A
NAME="HTMLCREATEPUSHPARSERCTXT"
></A
>htmlCreatePushParserCtxt ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> htmlCreatePushParserCtxt  (<A
HREF="libxml-htmlparser.html#HTMLSAXHANDLERPTR"
>htmlSAXHandlerPtr</A
> sax,
                                             void *user_data,
                                             const char *chunk,
                                             int size,
                                             const char *filename,
                                             <A
HREF="libxml-encoding.html#XMLCHARENCODING"
>xmlCharEncoding</A
> enc);</PRE
></TD
></TR
></TABLE
><P
>Create a parser context for using the HTML parser in push mode
To allow content encoding detection, <TT
CLASS="PARAMETER"
><I
>size</I
></TT
> should be &gt;= 4
The value of <TT
CLASS="PARAMETER"
><I
>filename</I
></TT
> is used for fetching external entities
and error/warning reports.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN11254"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>sax</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  a SAX handler</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>user_data</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  The user data returned on SAX callbacks</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>chunk</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  a pointer to an array of chars</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"
>  number of chars in the array</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>filename</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  an optional file name or URI</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>enc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  an optional encoding</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new parser context or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11287"
></A
><H3
><A
NAME="HTMLPARSECHUNK"
></A
>htmlParseChunk ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         htmlParseChunk                  (<A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> ctxt,
                                             const char *chunk,
                                             int size,
                                             int terminate);</PRE
></TD
></TR
></TABLE
><P
>Parse a Chunk of memory</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN11294"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&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
>chunk</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  an char array</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 size in byte of the chunk</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>terminate</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  last chunk indicator</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>zero if no error, the xmlParserErrors 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-xmlerror.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-htmltree.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
>xmlerror</B
></FONT
></TD
><TD
COLSPAN="2"
ALIGN="right"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>HTMLtree</B
></FONT
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>