blob: 94183fa4bc820c768068ef315eeafdd61bde5762 [file] [log] [blame]
<HTML
><HEAD
><TITLE
>HTMLparser</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="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</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN11040"
></A
><H2
>Name</H2
>HTMLparser&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN11043"><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);
int <A
HREF="libxml-htmlparser.html#HTMLPARSEDOCUMENT"
>htmlParseDocument</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="AEN11109"
></A
><H2
>Description</H2
><P
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN11112"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN11114"
></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="AEN11119"
></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="AEN11124"
></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="AEN11129"
></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="AEN11134"
></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="AEN11139"
></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="AEN11144"
></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="AEN11149"
></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="AEN11154"
></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="AEN11159"
></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="AEN11164"
></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="AEN11169"
></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="AEN11174"
></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="AEN11179"
></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="AEN11187"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN11200"
></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="AEN11209"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN11222"
></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="AEN11230"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN11243"
></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 implicitly 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="AEN11251"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN11268"
></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 implicitly 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="AEN11277"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN11298"
></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="AEN11308"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN11325"
></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="AEN11334"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN11347"
></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="AEN11356"><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="AEN11365"
></A
><H3
><A
NAME="HTMLPARSEDOCUMENT"
></A
>htmlParseDocument ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int htmlParseDocument (<A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an HTML document (and build a tree if using the standard SAX
interface).</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN11372"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0, -1 in case of error. the parser context is augmented
as a result of the parsing.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11385"
></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="AEN11394"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN11419"
></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="AEN11427"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN11444"
></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="AEN11452"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN11477"
></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="AEN11484"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN11501"
></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="AEN11507"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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 unpredictable.
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="AEN11536"
></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="AEN11542"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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 unpredictable.
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="AEN11575"
></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="AEN11582"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN11595"
></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="AEN11601"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN11614"
></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="AEN11621"><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="AEN11630"
></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="AEN11641"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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="AEN11674"
></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="AEN11681"><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"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</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
>