1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-03-31 06:50:06 +03:00

- release 1.8.2 - HTML handling improvement - new tree handling functions

- release 1.8.2
- HTML handling improvement
- new tree handling functions
- default namespace on attribute bug fixed
- libxml use for C++ fixed (for good this time !)
Daniel
This commit is contained in:
Daniel Veillard 1999-12-21 15:35:29 +00:00
parent f600e2537f
commit 5cb5ab8d94
41 changed files with 2680 additions and 2036 deletions

View File

@ -1,3 +1,19 @@
Tue Dec 21 14:29:34 CET 1999 Daniel Veillard <Daniel.Veillard@w3.org>
* configure.in, doc/xml.html : bug fix release 1.8.2
* debugXML.h nanohttp.h xml-error.h xmlmemory.h xpath.h :
Hopefully the end of that silly C++ include problem
* tree.[ch]: Added a few functions: xmlReplaceNode, xmlAddPrevSibling,
xmlAddNextSibling, xmlNodeSetName and xmlDocSetRootElement
* HTMLparser.c HTMLparser.h HTMLtree.c: When saving HTML try to avoid
troubles with autoclosed elements when the stree shape doesn't
follow the DtD specs. Added htmlIsAutoClosed() and
htmlAutoCloseTag()
* result/HTML/*.htm*: Updated the HTML examples regression tests output
* SAX.c tree.c: fixed bug on defaulting namespaces on attributes
* debugXML.c: fixed a bug on printing default namespaces.
* HTMLtree.c: fixed a problem when outputing XML parsed docs as HTML
Mon Dec 20 16:20:55 CET 1999 Daniel Veillard <Daniel.Veillard@w3.org>
* result/HTML/*.htm[l] : updated the HTML regression tests according

View File

@ -466,6 +466,58 @@ htmlAutoClose(htmlParserCtxtPtr ctxt, const xmlChar *new) {
}
}
/**
* htmlAutoCloseTag:
* @doc: the HTML document
* @name: The tag name
* @elem: the HTML element
*
* 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.
*
* Returns 1 if autoclose, 0 otherwise
*/
int
htmlAutoCloseTag(htmlDocPtr doc, const xmlChar *name, htmlNodePtr elem) {
htmlNodePtr child;
if (elem == NULL) return(1);
if (!xmlStrcmp(name, elem->name)) return(0);
if (htmlCheckAutoClose(elem->name, name)) return(1);
child = elem->childs;
while (child != NULL) {
if (htmlAutoCloseTag(doc, name, child)) return(1);
child = child->next;
}
return(0);
}
/**
* htmlIsAutoClosed:
* @doc: the HTML document
* @elem: the HTML element
*
* 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
*
* Returns 1 if autoclosed, 0 otherwise
*/
int
htmlIsAutoClosed(htmlDocPtr doc, htmlNodePtr elem) {
htmlNodePtr child;
if (elem == NULL) return(1);
child = elem->childs;
while (child != NULL) {
if (htmlAutoCloseTag(doc, elem->name, child)) return(1);
child = child->next;
}
return(0);
}
/**
* htmlAutoCloseOnClose:
* @ctxt: an HTML parser context
@ -528,7 +580,6 @@ htmlEntityDesc html40EntitiesTable[] = {
*/
{ 34, "quot", "quotation mark = APL quote, U+0022 ISOnum" },
{ 38, "amp", "ampersand, U+0026 ISOnum" },
{ 39, "apos", "single quote" },
{ 60, "lt", "less-than sign, U+003C ISOnum" },
{ 62, "gt", "greater-than sign, U+003E ISOnum" },
@ -536,6 +587,7 @@ htmlEntityDesc html40EntitiesTable[] = {
* A bunch still in the 128-255 range
* Replacing them depend really on the charset used.
*/
{ 39, "apos", "single quote" },
{ 160, "nbsp", "no-break space = non-breaking space, U+00A0 ISOnum" },
{ 161, "iexcl","inverted exclamation mark, U+00A1 ISOnum" },
{ 162, "cent", "cent sign, U+00A2 ISOnum" },
@ -1166,7 +1218,13 @@ htmlNewDoc(const xmlChar *URI, const xmlChar *ExternalID) {
cur->type = XML_HTML_DOCUMENT_NODE;
cur->version = NULL;
cur->intSubset = NULL;
xmlCreateIntSubset(cur, BAD_CAST "HTML", ExternalID, URI);
if ((ExternalID == NULL) &&
(URI == NULL))
xmlCreateIntSubset(cur, BAD_CAST "HTML",
BAD_CAST "-//W3C//DTD HTML 4.0 Transitional//EN",
BAD_CAST "http://www.w3.org/TR/REC-html40/loose.dtd");
else
xmlCreateIntSubset(cur, BAD_CAST "HTML", ExternalID, URI);
cur->name = NULL;
cur->root = NULL;
cur->extSubset = NULL;

View File

@ -11,7 +11,7 @@
#include "parser.h"
#ifdef __cplusplus
#define extern "C" {
extern "C" {
#endif
/*
@ -52,19 +52,31 @@ typedef struct htmlEntityDesc {
/*
* There is only few public functions.
*/
htmlElemDescPtr htmlTagLookup(const xmlChar *tag);
htmlEntityDescPtr htmlEntityLookup(const xmlChar *name);
htmlElemDescPtr htmlTagLookup (const xmlChar *tag);
htmlEntityDescPtr htmlEntityLookup(const xmlChar *name);
htmlEntityDescPtr htmlParseEntityRef(htmlParserCtxtPtr ctxt, xmlChar **str);
int htmlParseCharRef(htmlParserCtxtPtr ctxt);
void htmlParseElement(htmlParserCtxtPtr ctxt);
int htmlIsAutoClosed(htmlDocPtr doc,
htmlNodePtr elem);
int htmlAutoCloseTag(htmlDocPtr doc,
const xmlChar *name,
htmlNodePtr elem);
htmlEntityDescPtr htmlParseEntityRef(htmlParserCtxtPtr ctxt,
xmlChar **str);
int htmlParseCharRef(htmlParserCtxtPtr ctxt);
void htmlParseElement(htmlParserCtxtPtr ctxt);
htmlDocPtr htmlSAXParseDoc(xmlChar *cur, const char *encoding,
htmlSAXHandlerPtr sax, void *userData);
htmlDocPtr htmlParseDoc(xmlChar *cur, const char *encoding);
htmlDocPtr htmlSAXParseFile(const char *filename, const char *encoding,
htmlSAXHandlerPtr sax, void *userData);
htmlDocPtr htmlParseFile(const char *filename, const char *encoding);
htmlDocPtr htmlSAXParseDoc (xmlChar *cur,
const char *encoding,
htmlSAXHandlerPtr sax,
void *userData);
htmlDocPtr htmlParseDoc (xmlChar *cur,
const char *encoding);
htmlDocPtr htmlSAXParseFile(const char *filename,
const char *encoding,
htmlSAXHandlerPtr sax,
void *userData);
htmlDocPtr htmlParseFile (const char *filename,
const char *encoding);
#ifdef __cplusplus
}

View File

@ -244,9 +244,11 @@ htmlNodeDump(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur) {
(cur->childs != cur->last))
xmlBufferWriteChar(buf, "\n");
}
xmlBufferWriteChar(buf, "</");
xmlBufferWriteCHAR(buf, cur->name);
xmlBufferWriteChar(buf, ">");
if (!htmlIsAutoClosed(doc, cur)) {
xmlBufferWriteChar(buf, "</");
xmlBufferWriteCHAR(buf, cur->name);
xmlBufferWriteChar(buf, ">");
}
if (cur->next != NULL) {
if ((cur->next->type != HTML_TEXT_NODE) &&
(cur->next->type != HTML_ENTITY_REF_NODE))
@ -263,12 +265,25 @@ htmlNodeDump(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur) {
*/
static void
htmlDocContentDump(xmlBufferPtr buf, xmlDocPtr cur) {
int type;
/*
* force to output the stuff as HTML, especially for entities
*/
type = cur->type;
cur->type = XML_HTML_DOCUMENT_NODE;
if (cur->intSubset != NULL)
htmlDtdDump(buf, cur);
else {
/* Default to HTML-4.0 transitionnal @@@@ */
xmlBufferWriteChar(buf, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">");
}
if (cur->root != NULL) {
htmlNodeListDump(buf, cur, cur->root);
}
xmlBufferWriteChar(buf, "\n");
cur->type = type;
}
/**

7
SAX.c
View File

@ -548,7 +548,12 @@ attribute(void *ctx, const xmlChar *fullname, const xmlChar *value)
return;
}
namespace = xmlSearchNs(ctxt->myDoc, ctxt->node, ns);
if (ns != NULL)
namespace = xmlSearchNs(ctxt->myDoc, ctxt->node, ns);
else {
namespace = NULL;
}
/* !!!!!! <a toto:arg="" xmlns:toto="http://toto.com"> */
ret = xmlNewNsProp(ctxt->node, namespace, name, NULL);

View File

@ -5,7 +5,7 @@ AM_CONFIG_HEADER(config.h)
LIBXML_MAJOR_VERSION=1
LIBXML_MINOR_VERSION=8
LIBXML_MICRO_VERSION=1
LIBXML_MICRO_VERSION=2
LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION
LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION

View File

@ -35,7 +35,11 @@ void xmlDebugDumpNamespace(FILE *output, xmlNsPtr ns, int depth) {
fprintf(output, shift);
if (ns->type == XML_GLOBAL_NAMESPACE)
fprintf(output, "old ");
fprintf(output, "namespace %s href=", ns->prefix);
if (ns->prefix != NULL)
fprintf(output, "namespace %s href=", ns->prefix);
else
fprintf(output, "default namespace href=", ns->prefix);
xmlDebugDumpString(output, ns->href);
fprintf(output, "\n");
}

View File

@ -10,7 +10,7 @@
#include "tree.h"
#ifdef __cplusplus
#define extern "C" {
extern "C" {
#endif
extern void xmlDebugDumpString(FILE *output, const xmlChar *str);
extern void xmlDebugDumpAttr(FILE *output, xmlAttrPtr attr, int depth);

View File

@ -115,4 +115,152 @@ HREF="libxml-lib.html"
><A
HREF="gnome-xml-parser.html"
>parser</A
> &#8212;
> &#8212; </DT
><DT
><A
HREF="gnome-xml-sax.html"
>SAX</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-tree.html"
>tree</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-entities.html"
>entities</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-valid.html"
>valid</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-xml-error.html"
>xml-error</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-htmlparser.html"
>HTMLparser</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-htmltree.html"
>HTMLtree</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-xpath.html"
>xpath</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-nanohttp.html"
>nanohttp</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-xmlio.html"
>xmlIO</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-parserinternals.html"
>parserInternals</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-encoding.html"
>encoding</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-debugxml.html"
>debugXML</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-xmlmemory.html"
>xmlmemory</A
> &#8212; </DT
></DL
></DD
></DL
></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"
>&nbsp;</TD
><TD
WIDTH="25%"
BGCOLOR="#0000C0"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&nbsp;</B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#00C000"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&nbsp;</B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="libxml-notes.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
><TR
><TD
COLSPAN="2"
ALIGN="left"
>&nbsp;</TD
><TD
COLSPAN="2"
ALIGN="right"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Libxml Programming Notes</B
></FONT
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -115,7 +115,7 @@ SIZE="3"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN5464"
NAME="AEN5587"
></A
><H2
>Name</H2
@ -123,7 +123,7 @@ NAME="AEN5464"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN5467"
NAME="AEN5590"
></A
><H2
>Synopsis</H2
@ -348,7 +348,7 @@ HREF="gnome-xml-entities.html#XMLCLEANUPPREDEFINEDENTITIES"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5525"
NAME="AEN5648"
></A
><H2
>Description</H2
@ -358,14 +358,14 @@ NAME="AEN5525"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5528"
NAME="AEN5651"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN5530"
NAME="AEN5653"
></A
><H3
><A
@ -381,7 +381,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XML_INTERNAL_GENERAL_ENTITY 1</PRE
>#define XML_INTERNAL_GENERAL_ENTITY</PRE
></TD
></TR
></TABLE
@ -391,7 +391,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5535"
NAME="AEN5658"
></A
><H3
><A
@ -407,7 +407,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XML_EXTERNAL_GENERAL_PARSED_ENTITY 2</PRE
>#define XML_EXTERNAL_GENERAL_PARSED_ENTITY</PRE
></TD
></TR
></TABLE
@ -417,7 +417,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5540"
NAME="AEN5663"
></A
><H3
><A
@ -433,7 +433,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XML_EXTERNAL_GENERAL_UNPARSED_ENTITY 3</PRE
>#define XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</PRE
></TD
></TR
></TABLE
@ -443,7 +443,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5545"
NAME="AEN5668"
></A
><H3
><A
@ -459,7 +459,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XML_INTERNAL_PARAMETER_ENTITY 4</PRE
>#define XML_INTERNAL_PARAMETER_ENTITY</PRE
></TD
></TR
></TABLE
@ -469,7 +469,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5550"
NAME="AEN5673"
></A
><H3
><A
@ -485,7 +485,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XML_EXTERNAL_PARAMETER_ENTITY 5</PRE
>#define XML_EXTERNAL_PARAMETER_ENTITY</PRE
></TD
></TR
></TABLE
@ -495,7 +495,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5555"
NAME="AEN5678"
></A
><H3
><A
@ -511,7 +511,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XML_INTERNAL_PREDEFINED_ENTITY 6</PRE
>#define XML_INTERNAL_PREDEFINED_ENTITY</PRE
></TD
></TR
></TABLE
@ -521,33 +521,20 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5560"
NAME="AEN5683"
></A
><H3
><A
NAME="XMLENTITYPTR"
></A
>xmlEntityPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlEntity *xmlEntityPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5565"
NAME="AEN5687"
></A
><H3
><A
@ -563,7 +550,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XML_MIN_ENTITIES_TABLE 32</PRE
>#define XML_MIN_ENTITIES_TABLE</PRE
></TD
></TR
></TABLE
@ -573,33 +560,20 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5570"
NAME="AEN5692"
></A
><H3
><A
NAME="XMLENTITIESTABLEPTR"
></A
>xmlEntitiesTablePtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlEntitiesTable *xmlEntitiesTablePtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5575"
NAME="AEN5696"
></A
><H3
><A
@ -669,7 +643,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -686,7 +660,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -703,7 +677,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity type XML_xxx_yyy_ENTITY</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -720,7 +694,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity external ID if available</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -737,7 +711,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity system ID if available</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -754,7 +728,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity content</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -764,7 +738,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5615"
NAME="AEN5736"
></A
><H3
><A
@ -834,7 +808,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -851,7 +825,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -868,7 +842,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity type XML_xxx_yyy_ENTITY</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -885,7 +859,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity external ID if available</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -902,7 +876,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity system ID if available</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -919,7 +893,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity content</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -929,7 +903,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5655"
NAME="AEN5776"
></A
><H3
><A
@ -985,7 +959,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1000,7 +974,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>NULL if not, othervise the entity</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1010,7 +984,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5676"
NAME="AEN5797"
></A
><H3
><A
@ -1072,7 +1046,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document referencing the entity</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1089,7 +1063,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1104,7 +1078,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>A pointer to the entity structure or NULL if not found.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1114,7 +1088,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5702"
NAME="AEN5823"
></A
><H3
><A
@ -1175,7 +1149,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document referencing the entity</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1192,7 +1166,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1207,7 +1181,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>A pointer to the entity structure or NULL if not found.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1217,7 +1191,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5728"
NAME="AEN5849"
></A
><H3
><A
@ -1278,7 +1252,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document referencing the entity</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1295,7 +1269,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1310,7 +1284,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>A pointer to the entity structure or NULL if not found.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1320,7 +1294,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5754"
NAME="AEN5875"
></A
><H3
><A
@ -1387,7 +1361,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document containing the string</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1404,7 +1378,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> A string to convert to XML.</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1419,7 +1393,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>A newly allocated string with the substitution done.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1429,7 +1403,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5782"
NAME="AEN5903"
></A
><H3
><A
@ -1495,7 +1469,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document containing the string</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1512,7 +1486,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> A string to convert to XML.</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1527,7 +1501,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>A newly allocated string with the substitution done.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1537,7 +1511,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5809"
NAME="AEN5930"
></A
><H3
><A
@ -1588,7 +1562,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlEntitiesTablePtr just created or NULL in case of error.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1598,7 +1572,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5825"
NAME="AEN5946"
></A
><H3
><A
@ -1654,7 +1628,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An entity table</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1669,7 +1643,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new xmlEntitiesTablePtr or NULL in case of error.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1679,7 +1653,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5846"
NAME="AEN5967"
></A
><H3
><A
@ -1732,7 +1706,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An entity table</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1742,7 +1716,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5862"
NAME="AEN5983"
></A
><H3
><A
@ -1799,7 +1773,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An XML buffer.</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1816,7 +1790,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An entity table</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1826,7 +1800,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5883"
NAME="AEN6004"
></A
><H3
><A

View File

@ -115,7 +115,7 @@ SIZE="3"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN7547"
NAME="AEN7656"
></A
><H2
>Name</H2
@ -123,7 +123,7 @@ NAME="AEN7547"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN7550"
NAME="AEN7659"
></A
><H2
>Synopsis</H2
@ -138,10 +138,6 @@ CELLPADDING="6"
CLASS="SYNOPSIS"
>&#13;
#define <A
HREF="gnome-xml-sax.html#EXTERN"
>extern</A
>
typedef <A
HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXT"
>htmlParserCtxt</A
@ -198,6 +194,32 @@ HREF="gnome-xml-htmlparser.html#HTMLENTITYLOOKUP"
HREF="gnome-xml-tree.html#XMLCHAR"
>xmlChar</A
> *name);
int <A
HREF="gnome-xml-htmlparser.html#HTMLISAUTOCLOSED"
>htmlIsAutoClosed</A
> (<A
HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
> doc,
<A
HREF="gnome-xml-htmlparser.html#HTMLNODEPTR"
>htmlNodePtr</A
> elem);
int <A
HREF="gnome-xml-htmlparser.html#HTMLAUTOCLOSETAG"
>htmlAutoCloseTag</A
> (<A
HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
> doc,
const <A
HREF="gnome-xml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
<A
HREF="gnome-xml-htmlparser.html#HTMLNODEPTR"
>htmlNodePtr</A
> elem);
<GTKDOCLINK
HREF="HTMLENTITYDESCPTR"
>htmlEntityDescPtr</GTKDOCLINK
@ -281,7 +303,7 @@ HREF="gnome-xml-htmlparser.html#HTMLPARSEFILE"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7589"
NAME="AEN7704"
></A
><H2
>Description</H2
@ -291,274 +313,131 @@ NAME="AEN7589"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7592"
NAME="AEN7707"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN7594"
></A
><H3
><A
NAME="EXTERN"
></A
>extern</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define extern</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7599"
NAME="AEN7709"
></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="AEN7604"
NAME="AEN7713"
></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="AEN7609"
NAME="AEN7717"
></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="AEN7614"
NAME="AEN7721"
></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="AEN7619"
NAME="AEN7725"
></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="AEN7624"
NAME="AEN7729"
></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="AEN7629"
NAME="AEN7733"
></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="AEN7634"
NAME="AEN7737"
></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="AEN7639"
NAME="AEN7741"
></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="AEN7644"
NAME="AEN7745"
></A
><H3
><A
@ -614,7 +493,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> The tag name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -629,7 +508,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the related htmlElemDescPtr or NULL if not found.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -639,7 +518,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7665"
NAME="AEN7766"
></A
><H3
><A
@ -697,7 +576,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -712,7 +591,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the associated htmlEntityDescPtr if found, NULL otherwise.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -722,7 +601,231 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7687"
NAME="AEN7788"
></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="gnome-xml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
> doc,
<A
HREF="gnome-xml-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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</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"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7813"
></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="gnome-xml-htmlparser.html#HTMLDOCPTR"
>htmlDocPtr</A
> doc,
const <A
HREF="gnome-xml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
<A
HREF="gnome-xml-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"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</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"
>&nbsp;</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"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7843"
></A
><H3
><A
@ -784,7 +887,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an HTML parser context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -801,7 +904,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> location to store the entity name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -816,8 +919,7 @@ CLASS="EMPHASIS"
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
>&nbsp;</TD
></TR
></TABLE
><P
@ -827,7 +929,7 @@ if non-NULL *str will have to be freed by the caller.</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7714"
NAME="AEN7870"
></A
><H3
><A
@ -886,7 +988,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an HTML parser context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -901,7 +1003,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the value parsed (as an int)</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -911,7 +1013,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7736"
NAME="AEN7892"
></A
><H3
><A
@ -968,7 +1070,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an HTML parser context</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -978,7 +1080,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7754"
NAME="AEN7910"
></A
><H3
><A
@ -1042,7 +1144,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a pointer to an array of xmlChar</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1059,7 +1161,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a free form C string describing the HTML document encoding, or NULL</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1076,7 +1178,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the SAX handler block</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1093,7 +1195,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> if using SAX, this pointer will be provided on callbacks. </TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1108,7 +1210,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the resulting document tree</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1118,7 +1220,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7788"
NAME="AEN7944"
></A
><H3
><A
@ -1175,7 +1277,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a pointer to an array of xmlChar</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1192,7 +1294,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a free form C string describing the HTML document encoding, or NULL</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1207,7 +1309,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the resulting document tree</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1217,7 +1319,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7813"
NAME="AEN7969"
></A
><H3
><A
@ -1279,7 +1381,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the filename</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1296,7 +1398,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a free form C string describing the HTML document encoding, or NULL</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1313,7 +1415,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the SAX handler block</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1330,7 +1432,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> if using SAX, this pointer will be provided on callbacks. </TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1345,7 +1447,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the resulting document tree</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1355,7 +1457,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7846"
NAME="AEN8002"
></A
><H3
><A
@ -1410,7 +1512,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the filename</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1427,7 +1529,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a free form C string describing the HTML document encoding, or NULL</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1442,7 +1544,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the resulting document tree</TD
>&nbsp;</TD
></TR
></TABLE
><P

View File

@ -115,7 +115,7 @@ SIZE="3"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN7875"
NAME="AEN8031"
></A
><H2
>Name</H2
@ -123,7 +123,7 @@ NAME="AEN7875"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN7878"
NAME="AEN8034"
></A
><H2
>Synopsis</H2
@ -188,7 +188,7 @@ HREF="gnome-xml-tree.html#XMLDOCPTR"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7892"
NAME="AEN8048"
></A
><H2
>Description</H2
@ -198,14 +198,14 @@ NAME="AEN7892"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7895"
NAME="AEN8051"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN7897"
NAME="AEN8053"
></A
><H3
><A
@ -221,7 +221,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define HTML_TEXT_NODE XML_TEXT_NODE</PRE
>#define HTML_TEXT_NODE</PRE
></TD
></TR
></TABLE
@ -231,7 +231,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7902"
NAME="AEN8058"
></A
><H3
><A
@ -247,7 +247,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define HTML_ENTITY_REF_NODE XML_ENTITY_REF_NODE</PRE
>#define HTML_ENTITY_REF_NODE</PRE
></TD
></TR
></TABLE
@ -257,7 +257,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7907"
NAME="AEN8063"
></A
><H3
><A
@ -273,7 +273,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define HTML_COMMENT_NODE XML_COMMENT_NODE</PRE
>#define HTML_COMMENT_NODE</PRE
></TD
></TR
></TABLE
@ -283,7 +283,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7912"
NAME="AEN8068"
></A
><H3
><A
@ -342,7 +342,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -359,7 +359,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> OUT: the memory pointer</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -376,7 +376,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> OUT: the memory lenght</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -386,7 +386,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7937"
NAME="AEN8093"
></A
><H3
><A
@ -443,7 +443,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the FILE*</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -460,7 +460,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -470,7 +470,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7958"
NAME="AEN8114"
></A
><H3
><A
@ -524,7 +524,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the filename</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -541,7 +541,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -556,7 +556,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the number of byte written or -1 in case of failure.</TD
>&nbsp;</TD
></TR
></TABLE
><P

View File

@ -115,7 +115,7 @@ SIZE="3"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN8261"
NAME="AEN8411"
></A
><H2
>Name</H2
@ -123,7 +123,7 @@ NAME="AEN8261"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN8264"
NAME="AEN8414"
></A
><H2
>Synopsis</H2
@ -138,10 +138,6 @@ CELLPADDING="6"
CLASS="SYNOPSIS"
>&#13;
#define <A
HREF="gnome-xml-sax.html#EXTERN"
>extern</A
>
int <A
HREF="gnome-xml-nanohttp.html#XMLNANOHTTPFETCH"
>xmlNanoHTTPFetch</A
@ -187,7 +183,7 @@ HREF="gnome-xml-nanohttp.html#XMLNANOHTTPCLOSE"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8275"
NAME="AEN8424"
></A
><H2
>Description</H2
@ -197,40 +193,14 @@ NAME="AEN8275"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8278"
NAME="AEN8427"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN8280"
></A
><H3
><A
NAME="EXTERN"
></A
>extern</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define extern</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8285"
NAME="AEN8429"
></A
><H3
><A
@ -283,7 +253,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> The URL to load</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -300,7 +270,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the filename where the content should be saved</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -317,8 +287,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> if available the Content-Type information will be
returned at that location</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -333,8 +302,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>-1 in case of failure, 0 incase of success. The contentType,
if provided must be freed by the caller</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -344,7 +312,7 @@ if provided must be freed by the caller</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8312"
NAME="AEN8456"
></A
><H3
><A
@ -405,7 +373,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> The URL to load</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -422,7 +390,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the HTTP method to use</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -439,7 +407,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the input string if any</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -456,7 +424,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the Content-Type information IN and OUT</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -473,7 +441,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the extra headers</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -483,7 +451,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8344"
NAME="AEN8488"
></A
><H3
><A
@ -535,7 +503,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> The URL to load</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -552,8 +520,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> if available the Content-Type information will be
returned at that location</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -563,7 +530,7 @@ returned at that location</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8363"
NAME="AEN8507"
></A
><H3
><A
@ -613,7 +580,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the HTTP context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -628,7 +595,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the HTTP return code for the request.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -638,7 +605,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8382"
NAME="AEN8526"
></A
><H3
><A
@ -701,7 +668,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the HTTP context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -718,7 +685,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a buffer</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -735,7 +702,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the buffer length</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -750,8 +717,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the number of byte read. 0 is an indication of an end of connection.
-1 indicates a parameter error.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -761,7 +727,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8411"
NAME="AEN8555"
></A
><H3
><A
@ -813,7 +779,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the HTTP context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -830,7 +796,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the filename where the content should be saved</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -845,7 +811,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>-1 in case of failure, 0 incase of success.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -855,7 +821,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8434"
NAME="AEN8578"
></A
><H3
><A
@ -906,7 +872,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the HTTP context</TD
>&nbsp;</TD
></TR
></TABLE
><P

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -115,7 +115,7 @@ SIZE="3"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN7387"
NAME="AEN7502"
></A
><H2
>Name</H2
@ -123,7 +123,7 @@ NAME="AEN7387"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN7390"
NAME="AEN7505"
></A
><H2
>Synopsis</H2
@ -138,10 +138,6 @@ CELLPADDING="6"
CLASS="SYNOPSIS"
>&#13;
#define <A
HREF="gnome-xml-sax.html#EXTERN"
>extern</A
>
enum <A
HREF="gnome-xml-xml-error.html#XMLPARSERERRORS"
>xmlParserErrors</A
@ -191,7 +187,7 @@ HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7403"
NAME="AEN7517"
></A
><H2
>Description</H2
@ -201,40 +197,14 @@ NAME="AEN7403"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7406"
NAME="AEN7520"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN7408"
></A
><H3
><A
NAME="EXTERN"
></A
>extern</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define extern</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7413"
NAME="AEN7522"
></A
><H3
><A
@ -371,7 +341,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7418"
NAME="AEN7527"
></A
><H3
><A
@ -424,7 +394,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -441,7 +411,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the message to display/transmit</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -458,7 +428,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> extra parameters for the message display</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -468,7 +438,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7441"
NAME="AEN7550"
></A
><H3
><A
@ -521,7 +491,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -538,7 +508,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the message to display/transmit</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -555,7 +525,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> extra parameters for the message display</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -565,7 +535,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7464"
NAME="AEN7573"
></A
><H3
><A
@ -618,7 +588,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -635,7 +605,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the message to display/transmit</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -652,7 +622,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> extra parameters for the message display</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -662,7 +632,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7487"
NAME="AEN7596"
></A
><H3
><A
@ -715,7 +685,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -732,7 +702,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the message to display/transmit</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -749,7 +719,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> extra parameters for the message display</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -759,7 +729,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7510"
NAME="AEN7619"
></A
><H3
><A
@ -812,7 +782,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an xmlParserInputPtr input</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -822,7 +792,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7526"
NAME="AEN7635"
></A
><H3
><A
@ -875,7 +845,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an xmlParserInputPtr input</TD
>&nbsp;</TD
></TR
></TABLE
><P

View File

@ -103,7 +103,7 @@ ALIGN="right"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN11135"
NAME="AEN11271"
></A
><H2
>Name</H2
@ -111,7 +111,7 @@ NAME="AEN11135"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN11138"
NAME="AEN11274"
></A
><H2
>Synopsis</H2
@ -210,7 +210,7 @@ HREF="gnome-xml-xmlmemory.html#XMLMEMSTRDUPLOC"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN11159"
NAME="AEN11295"
></A
><H2
>Description</H2
@ -220,14 +220,14 @@ NAME="AEN11159"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN11162"
NAME="AEN11298"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN11164"
NAME="AEN11300"
></A
><H3
><A
@ -243,7 +243,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define NO_DEBUG_MEMORY</PRE
>#define NO_DEBUG_MEMORY</PRE
></TD
></TR
></TABLE
@ -253,7 +253,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11169"
NAME="AEN11305"
></A
><H3
><A
@ -316,7 +316,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11185"
NAME="AEN11321"
></A
><H3
><A
@ -382,7 +382,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11202"
NAME="AEN11338"
></A
><H3
><A
@ -466,7 +466,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11223"
NAME="AEN11359"
></A
><H3
><A
@ -534,7 +534,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>a pointer to the new string or NULL if allocation error occured.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -544,7 +544,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11243"
NAME="AEN11379"
></A
><H3
><A
@ -592,7 +592,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 on success</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -602,7 +602,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11258"
NAME="AEN11394"
></A
><H3
><A
@ -650,7 +650,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>an int representing the amount of memory allocated.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -660,7 +660,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11273"
NAME="AEN11409"
></A
><H3
><A
@ -688,7 +688,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11279"
NAME="AEN11415"
></A
><H3
><A
@ -741,8 +741,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a FILE descriptor used as the output file, if NULL, the result is
8 written to the file .memorylist</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -752,7 +751,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11295"
NAME="AEN11431"
></A
><H3
><A
@ -768,7 +767,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define DEBUG_MEMORY_LOCATION</PRE
>#define DEBUG_MEMORY_LOCATION</PRE
></TD
></TR
></TABLE
@ -778,7 +777,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11300"
NAME="AEN11436"
></A
><H3
><A
@ -794,7 +793,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define DEBUG_MEMORY</PRE
>#define DEBUG_MEMORY</PRE
></TD
></TR
></TABLE
@ -804,7 +803,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11305"
NAME="AEN11441"
></A
><H3
><A
@ -820,7 +819,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define MEM_LIST /* keep a list of all the allocated memory blocks */</PRE
>#define MEM_LIST</PRE
></TD
></TR
></TABLE
@ -830,7 +829,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11310"
NAME="AEN11446"
></A
><H3
><A
@ -885,7 +884,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an int specifying the size in byte to allocate.</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -902,13 +901,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the file name or NULL
<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>: the line number</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -935,7 +928,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11335"
NAME="AEN11470"
></A
><H3
><A
@ -991,7 +984,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the initial memory block pointer</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1008,7 +1001,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an int specifying the size in byte to allocate.</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1025,7 +1018,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the file name or NULL</TD
> the line number</TD
></TR
><TR
><TD
@ -1052,7 +1045,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11363"
NAME="AEN11498"
></A
><H3
><A
@ -1124,7 +1117,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the file name or NULL</TD
> the line number</TD
></TR
><TR
><TD
@ -1156,7 +1149,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>a pointer to the new string or NULL if allocation error occured.</TD
>&nbsp;</TD
></TR
></TABLE
><P

View File

@ -115,7 +115,7 @@ SIZE="3"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN7987"
NAME="AEN8143"
></A
><H2
>Name</H2
@ -123,7 +123,7 @@ NAME="AEN7987"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN7990"
NAME="AEN8146"
></A
><H2
>Synopsis</H2
@ -138,10 +138,6 @@ CELLPADDING="6"
CLASS="SYNOPSIS"
>&#13;
#define <A
HREF="gnome-xml-sax.html#EXTERN"
>extern</A
>
#define <A
HREF="gnome-xml-xpath.html#XPATH-UNDEFINED"
>XPATH_UNDEFINED</A
@ -263,7 +259,7 @@ HREF="XMLXPATHCONTEXTPTR"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8025"
NAME="AEN8180"
></A
><H2
>Description</H2
@ -273,40 +269,14 @@ NAME="AEN8025"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8028"
NAME="AEN8183"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN8030"
></A
><H3
><A
NAME="EXTERN"
></A
>extern</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define extern</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8035"
NAME="AEN8185"
></A
><H3
><A
@ -322,7 +292,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XPATH_UNDEFINED 0</PRE
>#define XPATH_UNDEFINED</PRE
></TD
></TR
></TABLE
@ -332,7 +302,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8040"
NAME="AEN8190"
></A
><H3
><A
@ -348,7 +318,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XPATH_NODESET 1</PRE
>#define XPATH_NODESET</PRE
></TD
></TR
></TABLE
@ -358,7 +328,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8045"
NAME="AEN8195"
></A
><H3
><A
@ -374,7 +344,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XPATH_BOOLEAN 2</PRE
>#define XPATH_BOOLEAN</PRE
></TD
></TR
></TABLE
@ -384,7 +354,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8050"
NAME="AEN8200"
></A
><H3
><A
@ -400,7 +370,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XPATH_NUMBER 3</PRE
>#define XPATH_NUMBER</PRE
></TD
></TR
></TABLE
@ -410,7 +380,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8055"
NAME="AEN8205"
></A
><H3
><A
@ -426,7 +396,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XPATH_STRING 4</PRE
>#define XPATH_STRING</PRE
></TD
></TR
></TABLE
@ -436,7 +406,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8060"
NAME="AEN8210"
></A
><H3
><A
@ -452,7 +422,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XPATH_USERS 5</PRE
>#define XPATH_USERS</PRE
></TD
></TR
></TABLE
@ -462,7 +432,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8065"
NAME="AEN8215"
></A
><H3
><A
@ -556,7 +526,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8088"
NAME="AEN8238"
></A
><H3
><A
@ -635,7 +605,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8107"
NAME="AEN8257"
></A
><H3
><A
@ -735,7 +705,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8132"
NAME="AEN8282"
></A
><H3
><A
@ -814,7 +784,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8151"
NAME="AEN8301"
></A
><H3
><A
@ -870,7 +840,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XML document</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -885,7 +855,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlXPathContext just allocated.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -895,7 +865,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8172"
NAME="AEN8322"
></A
><H3
><A
@ -948,7 +918,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the context to free</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -958,7 +928,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8188"
NAME="AEN8338"
></A
><H3
><A
@ -1018,7 +988,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XPath expression</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1035,7 +1005,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XPath context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1050,8 +1020,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlXPathObjectPtr resulting from the eveluation or NULL.
the caller has to free the object.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1061,7 +1030,7 @@ the caller has to free the object.</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8214"
NAME="AEN8364"
></A
><H3
><A
@ -1114,7 +1083,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the object to free</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1124,7 +1093,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8230"
NAME="AEN8380"
></A
><H3
><A
@ -1184,7 +1153,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XPath expression</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1201,7 +1170,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XPath context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1216,8 +1185,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlXPathObjectPtr resulting from the evaluation or NULL.
the caller has to free the object.</TD
>&nbsp;</TD
></TR
></TABLE
><P

View File

@ -203,8 +203,13 @@
<ANCHOR id ="XMLDOCGETROOTELEMENT" href="gnome-xml/gnome-xml-tree.html#XMLDOCGETROOTELEMENT">
<ANCHOR id ="XMLGETLASTCHILD" href="gnome-xml/gnome-xml-tree.html#XMLGETLASTCHILD">
<ANCHOR id ="XMLNODEISTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNODEISTEXT">
<ANCHOR id ="XMLDOCSETROOTELEMENT" href="gnome-xml/gnome-xml-tree.html#XMLDOCSETROOTELEMENT">
<ANCHOR id ="XMLNODESETNAME" href="gnome-xml/gnome-xml-tree.html#XMLNODESETNAME">
<ANCHOR id ="XMLADDCHILD" href="gnome-xml/gnome-xml-tree.html#XMLADDCHILD">
<ANCHOR id ="XMLREPLACENODE" href="gnome-xml/gnome-xml-tree.html#XMLREPLACENODE">
<ANCHOR id ="XMLADDSIBLING" href="gnome-xml/gnome-xml-tree.html#XMLADDSIBLING">
<ANCHOR id ="XMLADDPREVSIBLING" href="gnome-xml/gnome-xml-tree.html#XMLADDPREVSIBLING">
<ANCHOR id ="XMLADDNEXTSIBLING" href="gnome-xml/gnome-xml-tree.html#XMLADDNEXTSIBLING">
<ANCHOR id ="XMLUNLINKNODE" href="gnome-xml/gnome-xml-tree.html#XMLUNLINKNODE">
<ANCHOR id ="XMLTEXTMERGE" href="gnome-xml/gnome-xml-tree.html#XMLTEXTMERGE">
<ANCHOR id ="XMLTEXTCONCAT" href="gnome-xml/gnome-xml-tree.html#XMLTEXTCONCAT">
@ -324,7 +329,6 @@
<ANCHOR id ="XMLVALIDGETVALIDELEMENTS" href="gnome-xml/gnome-xml-valid.html#XMLVALIDGETVALIDELEMENTS">
<ANCHOR id ="XMLVALIDGETPOTENTIALCHILDREN" href="gnome-xml/gnome-xml-valid.html#XMLVALIDGETPOTENTIALCHILDREN">
<ANCHOR id ="GNOME-XML-XML-ERROR" href="gnome-xml/gnome-xml-xml-error.html">
<ANCHOR id ="EXTERN" href="gnome-xml/gnome-xml-xml-error.html#EXTERN">
<ANCHOR id ="XMLPARSERERRORS" href="gnome-xml/gnome-xml-xml-error.html#XMLPARSERERRORS">
<ANCHOR id ="XMLPARSERERROR" href="gnome-xml/gnome-xml-xml-error.html#XMLPARSERERROR">
<ANCHOR id ="XMLPARSERWARNING" href="gnome-xml/gnome-xml-xml-error.html#XMLPARSERWARNING">
@ -333,7 +337,6 @@
<ANCHOR id ="XMLPARSERPRINTFILEINFO" href="gnome-xml/gnome-xml-xml-error.html#XMLPARSERPRINTFILEINFO">
<ANCHOR id ="XMLPARSERPRINTFILECONTEXT" href="gnome-xml/gnome-xml-xml-error.html#XMLPARSERPRINTFILECONTEXT">
<ANCHOR id ="GNOME-XML-HTMLPARSER" href="gnome-xml/gnome-xml-htmlparser.html">
<ANCHOR id ="EXTERN" href="gnome-xml/gnome-xml-htmlparser.html#EXTERN">
<ANCHOR id ="HTMLPARSERCTXT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERCTXT">
<ANCHOR id ="HTMLPARSERCTXTPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR">
<ANCHOR id ="HTMLPARSERNODEINFO" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERNODEINFO">
@ -345,6 +348,8 @@
<ANCHOR id ="HTMLNODEPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLNODEPTR">
<ANCHOR id ="HTMLTAGLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLTAGLOOKUP">
<ANCHOR id ="HTMLENTITYLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLENTITYLOOKUP">
<ANCHOR id ="HTMLISAUTOCLOSED" href="gnome-xml/gnome-xml-htmlparser.html#HTMLISAUTOCLOSED">
<ANCHOR id ="HTMLAUTOCLOSETAG" href="gnome-xml/gnome-xml-htmlparser.html#HTMLAUTOCLOSETAG">
<ANCHOR id ="HTMLPARSEENTITYREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEENTITYREF">
<ANCHOR id ="HTMLPARSECHARREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSECHARREF">
<ANCHOR id ="HTMLPARSEELEMENT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEELEMENT">
@ -360,7 +365,6 @@
<ANCHOR id ="HTMLDOCDUMP" href="gnome-xml/gnome-xml-htmltree.html#HTMLDOCDUMP">
<ANCHOR id ="HTMLSAVEFILE" href="gnome-xml/gnome-xml-htmltree.html#HTMLSAVEFILE">
<ANCHOR id ="GNOME-XML-XPATH" href="gnome-xml/gnome-xml-xpath.html">
<ANCHOR id ="EXTERN" href="gnome-xml/gnome-xml-xpath.html#EXTERN">
<ANCHOR id ="XPATH-UNDEFINED" href="gnome-xml/gnome-xml-xpath.html#XPATH-UNDEFINED">
<ANCHOR id ="XPATH-NODESET" href="gnome-xml/gnome-xml-xpath.html#XPATH-NODESET">
<ANCHOR id ="XPATH-BOOLEAN" href="gnome-xml/gnome-xml-xpath.html#XPATH-BOOLEAN">
@ -377,7 +381,6 @@
<ANCHOR id ="XMLXPATHFREEOBJECT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREEOBJECT">
<ANCHOR id ="XMLXPATHEVALEXPRESSION" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVALEXPRESSION">
<ANCHOR id ="GNOME-XML-NANOHTTP" href="gnome-xml/gnome-xml-nanohttp.html">
<ANCHOR id ="EXTERN" href="gnome-xml/gnome-xml-nanohttp.html#EXTERN">
<ANCHOR id ="XMLNANOHTTPFETCH" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPFETCH">
<ANCHOR id ="XMLNANOHTTPMETHOD" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPMETHOD">
<ANCHOR id ="XMLNANOHTTPOPEN" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPOPEN">
@ -496,7 +499,6 @@
<ANCHOR id ="XMLGETCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLGETCHARENCODINGHANDLER">
<ANCHOR id ="XMLFINDCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLFINDCHARENCODINGHANDLER">
<ANCHOR id ="GNOME-XML-DEBUGXML" href="gnome-xml/gnome-xml-debugxml.html">
<ANCHOR id ="EXTERN" href="gnome-xml/gnome-xml-debugxml.html#EXTERN">
<ANCHOR id ="XMLDEBUGDUMPSTRING" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPSTRING">
<ANCHOR id ="XMLDEBUGDUMPATTR" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPATTR">
<ANCHOR id ="XMLDEBUGDUMPATTRLIST" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPATTRLIST">

View File

@ -128,8 +128,17 @@ for really accurate description</h3>
<ul>
<li>working on HTML and XML links recognition layers, get in touch with me
if you want to test those.</li>
</ul>
<h3>1.8.2: Dec 21 1999</h3>
<ul>
<li>I got another problem with includes and C++, I hope this issue is fixed
for good this time</li>
<li>Added a few tree modification functions: xmlReplaceNode,
xmlAddPrevSibling, xmlAddNextSibling, xmlNodeSetName and
xmlDocSetRootElement</li>
<li>Tried to improve the HTML output with help from <a
href="mailto:clahey@umich.edu">Chris Lahey</a></li>
</ul>
<h3>1.8.1: Dec 18 1999</h3>
@ -420,7 +429,7 @@ beginning of the second attribute of the root element "EXAMPLE".</p>
<p><strong>NOTE</strong>: XML allows <em>PI</em>s and <em>comments</em> to be
present before the document root, so doc->root may point to an element which
is not the document Root Element, a function
<code>xmlDocGetRootElement()</code> was added for this purpose. </p>
<code>xmlDocGetRootElement()</code> was added for this purpose.</p>
<h3><a name="Modifying">Modifying the tree</a></h3>
@ -892,6 +901,6 @@ base under gnome-xml/example</p>
<p><a href="mailto:Daniel.Veillard@w3.org">Daniel Veillard</a></p>
<p>$Id: xml.html,v 1.15 1999/12/18 15:32:46 veillard Exp $</p>
<p>$Id: xml.html,v 1.16 1997/01/04 02:49:42 veillard Exp $</p>
</body>
</html>

View File

@ -11,7 +11,7 @@
#include "parser.h"
#ifdef __cplusplus
#define extern "C" {
extern "C" {
#endif
/*
@ -52,19 +52,31 @@ typedef struct htmlEntityDesc {
/*
* There is only few public functions.
*/
htmlElemDescPtr htmlTagLookup(const xmlChar *tag);
htmlEntityDescPtr htmlEntityLookup(const xmlChar *name);
htmlElemDescPtr htmlTagLookup (const xmlChar *tag);
htmlEntityDescPtr htmlEntityLookup(const xmlChar *name);
htmlEntityDescPtr htmlParseEntityRef(htmlParserCtxtPtr ctxt, xmlChar **str);
int htmlParseCharRef(htmlParserCtxtPtr ctxt);
void htmlParseElement(htmlParserCtxtPtr ctxt);
int htmlIsAutoClosed(htmlDocPtr doc,
htmlNodePtr elem);
int htmlAutoCloseTag(htmlDocPtr doc,
const xmlChar *name,
htmlNodePtr elem);
htmlEntityDescPtr htmlParseEntityRef(htmlParserCtxtPtr ctxt,
xmlChar **str);
int htmlParseCharRef(htmlParserCtxtPtr ctxt);
void htmlParseElement(htmlParserCtxtPtr ctxt);
htmlDocPtr htmlSAXParseDoc(xmlChar *cur, const char *encoding,
htmlSAXHandlerPtr sax, void *userData);
htmlDocPtr htmlParseDoc(xmlChar *cur, const char *encoding);
htmlDocPtr htmlSAXParseFile(const char *filename, const char *encoding,
htmlSAXHandlerPtr sax, void *userData);
htmlDocPtr htmlParseFile(const char *filename, const char *encoding);
htmlDocPtr htmlSAXParseDoc (xmlChar *cur,
const char *encoding,
htmlSAXHandlerPtr sax,
void *userData);
htmlDocPtr htmlParseDoc (xmlChar *cur,
const char *encoding);
htmlDocPtr htmlSAXParseFile(const char *filename,
const char *encoding,
htmlSAXHandlerPtr sax,
void *userData);
htmlDocPtr htmlParseFile (const char *filename,
const char *encoding);
#ifdef __cplusplus
}

View File

@ -10,7 +10,7 @@
#include "tree.h"
#ifdef __cplusplus
#define extern "C" {
extern "C" {
#endif
extern void xmlDebugDumpString(FILE *output, const xmlChar *str);
extern void xmlDebugDumpAttr(FILE *output, xmlAttrPtr attr, int depth);

View File

@ -9,7 +9,7 @@
#ifndef __NANO_HTTP_H__
#define __NANO_HTTP_H__
#ifdef __cplusplus
#define extern "C" {
extern "C" {
#endif
int xmlNanoHTTPFetch (const char *URL,
const char *filename,

View File

@ -427,10 +427,20 @@ int xmlNodeIsText (xmlNodePtr node);
/*
* Changing the structure
*/
xmlNodePtr xmlDocSetRootElement (xmlDocPtr doc,
xmlNodePtr root);
void xmlNodeSetName (xmlNodePtr cur,
const xmlChar *name);
xmlNodePtr xmlAddChild (xmlNodePtr parent,
xmlNodePtr cur);
xmlNodePtr xmlReplaceNode (xmlNodePtr old,
xmlNodePtr cur);
xmlNodePtr xmlAddSibling (xmlNodePtr cur,
xmlNodePtr elem);
xmlNodePtr xmlAddPrevSibling (xmlNodePtr cur,
xmlNodePtr elem);
xmlNodePtr xmlAddNextSibling (xmlNodePtr cur,
xmlNodePtr elem);
void xmlUnlinkNode (xmlNodePtr cur);
xmlNodePtr xmlTextMerge (xmlNodePtr first,
xmlNodePtr second);

View File

@ -40,6 +40,9 @@
#define MEM_LIST /* keep a list of all the allocated memory blocks */
#ifdef __cplusplus
extern "C" {
#endif
int xmlInitMemory (void);
void * xmlMalloc (int size);
void * xmlRealloc (void *ptr,
@ -59,6 +62,9 @@ int xmlInitMemory (void);
extern void * xmlMallocLoc(int size, const char *file, int line);
extern void * xmlReallocLoc(void *ptr,int size, const char *file, int line);
extern char * xmlMemStrdupLoc(const char *str, const char *file, int line);
#ifdef __cplusplus
}
#endif
#endif /* DEBUG_MEMORY_LOCATION */
#endif /* ! NO_DEBUG_MEMORY */

View File

@ -15,7 +15,7 @@
#include "tree.h"
#ifdef __cplusplus
#define extern "C" {
extern "C" {
#endif
typedef struct xmlXPathParserContext *xmlXPathParserContextPtr;

View File

@ -9,7 +9,7 @@
#ifndef __NANO_HTTP_H__
#define __NANO_HTTP_H__
#ifdef __cplusplus
#define extern "C" {
extern "C" {
#endif
int xmlNanoHTTPFetch (const char *URL,
const char *filename,

View File

@ -1,4 +1,4 @@
<!DOCTYPE HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head><title>Regression test 1</title></head>
<body>

View File

@ -1,4 +1,4 @@
<!DOCTYPE HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head><title>Regression test 2</title></head>
<body>

View File

@ -1,4 +1,4 @@
<!DOCTYPE HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head><title>Regression test 3</title></head>
<body>

View File

@ -1,4 +1,4 @@
<!DOCTYPE HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head><title>Regression test 4</title></head>
<body>

View File

@ -1,4 +1,4 @@
<!DOCTYPE HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head><base target="contents"></head>
<a name="ProblemDomain.Package"><h2>Component Package diagram ProblemDomain</h2></a>

View File

@ -1,4 +1,4 @@
<!DOCTYPE HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<!-- Vignette StoryServer 4 Fri Oct 15 11:37:12 1999 --><html>
<head><title>Top Stories News from Wired News</title></head>
<body bgcolor="#FFFFFF" text="#000000" link="#333399" vlink="#660066" alink="#666699">
@ -65,7 +65,7 @@
</option></select>
<input TYPE="hidden" NAME="source" VALUE="2hb8bhc059">
</td></tr>
</form></table></td>
</form></table>
<td valign="top" align="RIGHT"><a href="http://nsads.hotwired.com/event.ng/Type=click&ProfileID=5597&RunID=17167&AdID=22588&GroupID=1&FamilyID=3228&TagValues=8.25.159.171.172.174.179.180.181.182.183.196.197.199.208.241.389.412.436.2035.6749.6750.70367.78456.79630.81880&amp;Redirect=http:%2F%2Fwww.hp.com%2Fgo%2Foriginal%20" TARGET="_top"><img src="http://static.wired.com/advertising/blipverts/hp_colorinkjet/hp_970c_120x60_6.gif" BORDER="1" height="60" width="120" alt="True to the Original"></a></td>
</tr></table>
<!-- WIRED NEWS header --><!-- CMD_HOST = scoop.hotwired.com --><a name="#"></a>
@ -100,7 +100,7 @@
<option value="http://www.hotbot.com/?SM=MC&DV=0&LG=any&RD=RG&DC=10&DE=2&_v=2&OPs=MDRTP&MT=">The Web -&gt; HotBot</option>
</select></td>
<td><input type="SUBMIT" name="SUBMIT" value="SEARCH"></td>
</tr></form></table></td>
</tr></form></table>
</tr>
<!--
<TR>
@ -135,7 +135,7 @@
<input type="TEXT" name="from" size="10" value="enter email">&#160;
</form></td>
<td valign="top" bgcolor="#99FF99"><input type="SUBMIT" name="SUBMIT" value="GO"></td>
</tr></table></td></tr>
</tr></table></tr>
<tr><td bgcolor="#FF0000"><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><b><font size="1">STOCKS</font></b></font></td></tr>
<tr><td bgcolor="#99FF99"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Get Quote:</font></td></tr>
<tr><td bgcolor="#99FF99" marginwidth="0" marginheight="0"><form method="get" action="http://r.wired.com/r/10020/http://stocks.wired.com/stocks_quotes.asp">
@ -215,7 +215,7 @@
</font>
<br clear="all">
</p></td></tr>
</table></td></tr>
</table></tr>
<!-- END B&N spot --><!-- BEGIN MAGAZINE SPOT --><tr><td bgcolor="#000000"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>WIRED
MAGAZINE </b></font></td></tr>
<tr><td bgcolor="#FFFF99" align="CENTER"><font face="verdana, arial, helvetica, sans-serif" size="1">
@ -583,7 +583,7 @@ Contruction workers in Berlin opened an old wound in the German psyche this week
<br>
<br>
<!-- SQL above --><!-- - - - - - - - - - - - - -->
</td>
</tr>
<tr>
<td valign="TOP" align="LEFT">

View File

@ -1,5 +1,3 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<title>This service is temporary down</title>

236
tree.c
View File

@ -1577,13 +1577,86 @@ xmlNewChild(xmlNodePtr parent, xmlNsPtr ns,
return(cur);
}
/**
* xmlAddNextSibling:
* @cur: the child node
* @elem: the new node
*
* Add a new element @elem as the next siblings of @cur
* If the new element was already inserted in a document it is
* first unlinked from its existing context.
*
* Returns the new element or NULL in case of error.
*/
xmlNodePtr
xmlAddNextSibling(xmlNodePtr cur, xmlNodePtr elem) {
if (cur == NULL) {
fprintf(stderr, "xmlAddNextSibling : cur == NULL\n");
return(NULL);
}
if (elem == NULL) {
fprintf(stderr, "xmlAddNextSibling : elem == NULL\n");
return(NULL);
}
xmlUnlinkNode(elem);
elem->doc = cur->doc;
elem->parent = cur->parent;
elem->next = cur;
elem->prev = cur->prev;
cur->prev = elem;
if (elem->prev != NULL)
elem->prev->next = elem;
if ((elem->parent != NULL) && (elem->parent->childs == cur))
elem->parent->childs = elem;
return(elem);
}
/**
* xmlAddPrevSibling:
* @cur: the child node
* @elem: the new node
*
* Add a new element @elem as the previous siblings of @cur
* If the new element was already inserted in a document it is
* first unlinked from its existing context.
*
* Returns the new element or NULL in case of error.
*/
xmlNodePtr
xmlAddPrevSibling(xmlNodePtr cur, xmlNodePtr elem) {
if (cur == NULL) {
fprintf(stderr, "xmlAddPrevSibling : cur == NULL\n");
return(NULL);
}
if (elem == NULL) {
fprintf(stderr, "xmlAddPrevSibling : elem == NULL\n");
return(NULL);
}
xmlUnlinkNode(elem);
elem->doc = cur->doc;
elem->parent = cur->parent;
elem->prev = cur;
elem->next = cur->next;
cur->next = elem;
if (elem->next != NULL)
elem->next->prev = elem;
if ((elem->parent != NULL) && (elem->parent->last == cur))
elem->parent->last = elem;
return(elem);
}
/**
* xmlAddSibling:
* @cur: the child node
* @elem: the new node
*
* Add a new element to the list of siblings of @cur
* Returns the element or NULL in case of error.
* Add a new element @elem to the list of siblings of @cur
* If the new element was already inserted in a document it is
* first unlinked from its existing context.
*
* Returns the new element or NULL in case of error.
*/
xmlNodePtr
xmlAddSibling(xmlNodePtr cur, xmlNodePtr elem) {
@ -1599,14 +1672,20 @@ xmlAddSibling(xmlNodePtr cur, xmlNodePtr elem) {
return(NULL);
}
if ((cur->doc != NULL) && (elem->doc != NULL) &&
(cur->doc != elem->doc)) {
fprintf(stderr,
"xmlAddSibling: Elements moved to a different document\n");
/*
* Constant time is we can rely on the ->parent->last to find
* the last sibling.
*/
if ((cur->parent != NULL) &&
(cur->parent->childs != NULL) &&
(cur->parent->last != NULL) &&
(cur->parent->last->next == NULL)) {
cur = cur->parent->last;
} else {
while (cur->next != NULL) cur = cur->next;
}
while (cur->next != NULL) cur = cur->next;
xmlUnlinkNode(elem);
if (elem->doc == NULL)
elem->doc = cur->doc; /* the parent may not be linked to a doc ! */
@ -1784,6 +1863,47 @@ xmlUnlinkNode(xmlNodePtr cur) {
cur->parent = NULL;
}
/**
* xmlReplaceNode:
* @old: the old node
* @cur: the node
*
* Unlink the old node from it's current context, prune the new one
* at the same place. If cur was already inserted in a document it is
* first unlinked from its existing context.
*
* Returns the old node
*/
xmlNodePtr
xmlReplaceNode(xmlNodePtr old, xmlNodePtr cur) {
if (old == NULL) {
fprintf(stderr, "xmlReplaceNode : old == NULL\n");
return(NULL);
}
if (cur == NULL) {
xmlUnlinkNode(old);
return(old);
}
xmlUnlinkNode(cur);
cur->doc = old->doc;
cur->parent = old->parent;
cur->next = old->next;
if (cur->next != NULL)
cur->next->prev = cur;
cur->prev = old->prev;
if (cur->prev != NULL)
cur->prev->next = cur;
if (cur->parent != NULL) {
if (cur->parent->childs == old)
cur->parent->childs = cur;
if (cur->parent->last == old)
cur->parent->last = cur;
}
old->next = old->prev = NULL;
old->parent = NULL;
return(old);
}
/************************************************************************
* *
* Copy operations *
@ -2179,17 +2299,67 @@ xmlDocGetRootElement(xmlDocPtr doc) {
return(ret);
}
/**
* xmlDocSetRootElement:
* @doc: the document
* @root: the new document root element
*
* Set the root element of the document (doc->root is a list
* containing possibly comments, PIs, etc ...).
*
* Returns the old root element if any was found
*/
xmlNodePtr
xmlDocSetRootElement(xmlDocPtr doc, xmlNodePtr root) {
xmlNodePtr old = NULL;
if (doc == NULL) return(NULL);
old = doc->root;
while (old != NULL) {
if (old->type == XML_ELEMENT_NODE)
break;
old = old->next;
}
if (old == NULL) {
if (doc->root == NULL) {
doc->root = root;
} else {
xmlAddSibling(doc->root, root);
}
} else {
xmlReplaceNode(old, root);
}
return(old);
}
/**
* xmlNodeSetLang:
* @cur: the node being changed
* @lang: the langage description
*
* Searches the language of a node, i.e. the values of the xml:lang
* attribute or the one carried by the nearest ancestor.
* Set the language of a node, i.e. the values of the xml:lang
* attribute.
*/
void
xmlNodeSetLang(xmlNodePtr cur, const xmlChar *lang) {
/* TODO xmlNodeSetLang check against the production [33] LanguageID */
if (cur == NULL) return;
switch(cur->type) {
case XML_TEXT_NODE:
case XML_CDATA_SECTION_NODE:
case XML_COMMENT_NODE:
case XML_DOCUMENT_NODE:
case XML_DOCUMENT_TYPE_NODE:
case XML_DOCUMENT_FRAG_NODE:
case XML_NOTATION_NODE:
case XML_HTML_DOCUMENT_NODE:
return;
case XML_ELEMENT_NODE:
case XML_ATTRIBUTE_NODE:
case XML_PI_NODE:
case XML_ENTITY_REF_NODE:
case XML_ENTITY_NODE:
break;
}
xmlSetProp(cur, BAD_CAST "xml:lang", lang);
}
@ -2216,6 +2386,39 @@ xmlNodeGetLang(xmlNodePtr cur) {
return(NULL);
}
/**
* xmlNodeSetName:
* @cur: the node being changed
* @name: the new tag name
*
* Searches the language of a node, i.e. the values of the xml:lang
* attribute or the one carried by the nearest ancestor.
*/
void
xmlNodeSetName(xmlNodePtr cur, const xmlChar *name) {
if (cur == NULL) return;
if (name == NULL) return;
switch(cur->type) {
case XML_TEXT_NODE:
case XML_CDATA_SECTION_NODE:
case XML_COMMENT_NODE:
case XML_DOCUMENT_NODE:
case XML_DOCUMENT_TYPE_NODE:
case XML_DOCUMENT_FRAG_NODE:
case XML_NOTATION_NODE:
case XML_HTML_DOCUMENT_NODE:
return;
case XML_ELEMENT_NODE:
case XML_ATTRIBUTE_NODE:
case XML_PI_NODE:
case XML_ENTITY_REF_NODE:
case XML_ENTITY_NODE:
break;
}
if (cur->name != NULL) xmlFree((xmlChar *) cur->name);
cur->name = xmlStrdup(name);
}
/**
* xmlNodeGetBase:
* @doc: the document the node pertains to
@ -2787,8 +2990,17 @@ xmlGetNsProp(xmlNodePtr node, const xmlChar *name, const xmlChar *namespace) {
if (namespace == NULL)
return(xmlGetProp(node, name));
while (prop != NULL) {
/*
* One need to have
* - same attribute names
* - and the attribute carrying that namespace
* or
* no namespace on the attribute and the element carrying it
*/
if ((!xmlStrcmp(prop->name, name)) &&
(prop->ns != NULL) && (!xmlStrcmp(prop->ns->href, namespace))) {
(((prop->ns == NULL) && (node->ns != NULL) &&
(!xmlStrcmp(node->ns->href, namespace))) ||
(prop->ns != NULL) && (!xmlStrcmp(prop->ns->href, namespace)))) {
xmlChar *ret;
ret = xmlNodeListGetString(node->doc, prop->val, 1);

10
tree.h
View File

@ -427,10 +427,20 @@ int xmlNodeIsText (xmlNodePtr node);
/*
* Changing the structure
*/
xmlNodePtr xmlDocSetRootElement (xmlDocPtr doc,
xmlNodePtr root);
void xmlNodeSetName (xmlNodePtr cur,
const xmlChar *name);
xmlNodePtr xmlAddChild (xmlNodePtr parent,
xmlNodePtr cur);
xmlNodePtr xmlReplaceNode (xmlNodePtr old,
xmlNodePtr cur);
xmlNodePtr xmlAddSibling (xmlNodePtr cur,
xmlNodePtr elem);
xmlNodePtr xmlAddPrevSibling (xmlNodePtr cur,
xmlNodePtr elem);
xmlNodePtr xmlAddNextSibling (xmlNodePtr cur,
xmlNodePtr elem);
void xmlUnlinkNode (xmlNodePtr cur);
xmlNodePtr xmlTextMerge (xmlNodePtr first,
xmlNodePtr second);

View File

@ -3,7 +3,7 @@
#include "parser.h"
#ifdef __cplusplus
#define extern "C" {
extern "C" {
#endif
typedef enum {

View File

@ -40,6 +40,9 @@
#define MEM_LIST /* keep a list of all the allocated memory blocks */
#ifdef __cplusplus
extern "C" {
#endif
int xmlInitMemory (void);
void * xmlMalloc (int size);
void * xmlRealloc (void *ptr,
@ -59,6 +62,9 @@ int xmlInitMemory (void);
extern void * xmlMallocLoc(int size, const char *file, int line);
extern void * xmlReallocLoc(void *ptr,int size, const char *file, int line);
extern char * xmlMemStrdupLoc(const char *str, const char *file, int line);
#ifdef __cplusplus
}
#endif
#endif /* DEBUG_MEMORY_LOCATION */
#endif /* ! NO_DEBUG_MEMORY */

View File

@ -15,7 +15,7 @@
#include "tree.h"
#ifdef __cplusplus
#define extern "C" {
extern "C" {
#endif
typedef struct xmlXPathParserContext *xmlXPathParserContextPtr;