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

- added xmlRemoveID() and xmlRemoveRef()

- added check and handling when possibly removing an ID
- fixed some entities problems
- added xmlParseTryOrFinish()
- changed the way struct aredeclared to allow gtk-doc to expose those
- closed #4960
- fixes to libs detection from Albert Chin-A-Young
- preparing 1.8.3 release
Daniel
This commit is contained in:
Daniel Veillard 2000-01-05 14:46:17 +00:00
parent 437b87b8cc
commit 71b656e067
44 changed files with 2414 additions and 6045 deletions

View File

@ -1,3 +1,24 @@
Wed Jan 5 17:08:43 CET 2000 Daniel Veillard <Daniel.Veillard@w3.org>
* acconfig.h: readline and history patch
* valid.[ch]: added xmlRemoveID() and xmlRemoveRef()
* tree.c: added check and handling when possibly removing an ID
* tree.c, HTMLparser.h, HTMLtree.h: fixed entities parsing
and saving.
* test/HTML/entities.html result/HTML/entities.html* : test for
various entities reference cases
* result/HTML/* : as a result output of some testcase have
changed
* HTMLparser.c, parser.c: fixed a bug in the push mode triggered
by previous example. added xmlParseTryOrFinish().
* xpath.h tree.h parser.h valid.h xmlIO.h xlink.h encoding.h
entities.h debugXML.h HTMLparser.h: changed the way struct are
declared to allow gtk-doc to expose those
* parser.c: closed bug #4960
* Makefile.am configure.in: Applied patch from
Albert Chin-A-Young <china@thewrittenword.com> for better zlib
and math/socket libs detection
Mon Jan 3 18:29:43 CET 2000 Daniel Veillard <Daniel.Veillard@w3.org>
* configure.in, Makefile.am: link tester against readline

View File

@ -1391,6 +1391,7 @@ htmlParseName(htmlParserCtxtPtr ctxt) {
xmlChar *
htmlParseHTMLAttribute(htmlParserCtxtPtr ctxt, const xmlChar stop) {
#if 0
xmlChar buf[HTML_MAX_NAMELEN];
int len = 0;
@ -1410,6 +1411,84 @@ htmlParseHTMLAttribute(htmlParserCtxtPtr ctxt, const xmlChar stop) {
}
}
return(xmlStrndup(buf, len));
#else
xmlChar *buffer = NULL;
int buffer_size = 0;
xmlChar *out = NULL;
xmlChar *name = NULL;
xmlChar *cur = NULL;
htmlEntityDescPtr ent;
/*
* allocate a translation buffer.
*/
buffer_size = HTML_PARSER_BIG_BUFFER_SIZE;
buffer = (xmlChar *) xmlMalloc(buffer_size * sizeof(xmlChar));
if (buffer == NULL) {
perror("htmlParseHTMLAttribute: malloc failed");
return(NULL);
}
out = buffer;
/*
* Ok loop until we reach one of the ending chars
*/
while ((CUR != 0) && (CUR != stop) && (CUR != '>')) {
if ((stop == 0) && (IS_BLANK(CUR))) break;
if (CUR == '&') {
if (NXT(1) == '#') {
int val = htmlParseCharRef(ctxt);
*out++ = val;
} else {
ent = htmlParseEntityRef(ctxt, &name);
if (name == NULL) {
*out++ = '&';
if (out - buffer > buffer_size - 100) {
int index = out - buffer;
growBuffer(buffer);
out = &buffer[index];
}
} else if ((ent == NULL) || (ent->value <= 0) ||
(ent->value >= 255)) {
*out++ = '&';
cur = name;
while (*cur != 0) {
if (out - buffer > buffer_size - 100) {
int index = out - buffer;
growBuffer(buffer);
out = &buffer[index];
}
*out++ = *cur++;
}
xmlFree(name);
} else {
*out++ = ent->value;
if (out - buffer > buffer_size - 100) {
int index = out - buffer;
growBuffer(buffer);
out = &buffer[index];
}
xmlFree(name);
}
}
} else {
*out++ = CUR;
if (out - buffer > buffer_size - 100) {
int index = out - buffer;
growBuffer(buffer);
out = &buffer[index];
}
NEXT;
}
}
*out++ = 0;
return(buffer);
#endif
}
/**
@ -1477,23 +1556,19 @@ htmlParseEntityRef(htmlParserCtxtPtr ctxt, xmlChar **str) {
} else {
GROW;
if (CUR == ';') {
NEXT;
*str = name;
/*
* Lookup the entity in the table.
*/
ent = htmlEntityLookup(name);
if (ent != NULL) /* OK that's ugly !!! */
NEXT;
} else {
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"htmlParseEntityRef: expecting ';'\n");
ctxt->wellFormed = 0;
if (ctxt->sax->characters != NULL) {
ctxt->sax->characters(ctxt->userData, BAD_CAST "&", 1);
ctxt->sax->characters(ctxt->userData, name, xmlStrlen(name));
}
xmlFree(name);
*str = name;
}
}
}
@ -2321,12 +2396,15 @@ htmlParseReference(htmlParserCtxtPtr ctxt) {
ctxt->sax->characters(ctxt->userData, out, 1);
} else {
ent = htmlParseEntityRef(ctxt, &name);
if (name == NULL) return; /* Shall we output & anyway ? */
if (name == NULL) {
ctxt->sax->characters(ctxt->userData, BAD_CAST "&", 1);
return;
}
if ((ent == NULL) || (ent->value <= 0) || (ent->value >= 255)) {
if ((ctxt->sax != NULL) && (ctxt->sax->characters != NULL)) {
ctxt->sax->characters(ctxt->userData, BAD_CAST "&", 1);
ctxt->sax->characters(ctxt->userData, name, xmlStrlen(name));
ctxt->sax->characters(ctxt->userData, BAD_CAST ";", 1);
/* ctxt->sax->characters(ctxt->userData, BAD_CAST ";", 1); */
}
} else {
/* invalid for UTF-8 variable encoding !!!!! */
@ -2903,15 +2981,16 @@ htmlParseLookupSequence(htmlParserCtxtPtr ctxt, xmlChar first,
}
/**
* htmlParseTry:
* htmlParseTryOrFinish:
* @ctxt: an HTML parser context
* @terminate: last chunk indicator
*
* Try to progress on parsing
*
* Returns zero if no parsing was possible
*/
int
htmlParseTry(htmlParserCtxtPtr ctxt) {
htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
int ret = 0;
htmlParserInputPtr in;
int avail;
@ -2990,7 +3069,8 @@ htmlParseTry(htmlParserCtxtPtr ctxt) {
(UPP(4) == 'C') && (UPP(5) == 'T') &&
(UPP(6) == 'Y') && (UPP(7) == 'P') &&
(UPP(8) == 'E')) {
if (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0)
if ((!terminate) &&
(htmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "HPP: Parsing internal subset\n");
@ -3020,7 +3100,8 @@ htmlParseTry(htmlParserCtxtPtr ctxt) {
next = in->cur[1];
if ((cur == '<') && (next == '!') &&
(in->cur[2] == '-') && (in->cur[3] == '-')) {
if (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0)
if ((!terminate) &&
(htmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "HPP: Parsing Comment\n");
@ -3032,7 +3113,8 @@ htmlParseTry(htmlParserCtxtPtr ctxt) {
(UPP(4) == 'C') && (UPP(5) == 'T') &&
(UPP(6) == 'Y') && (UPP(7) == 'P') &&
(UPP(8) == 'E')) {
if (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0)
if ((!terminate) &&
(htmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "HPP: Parsing internal subset\n");
@ -3064,7 +3146,8 @@ htmlParseTry(htmlParserCtxtPtr ctxt) {
next = in->cur[1];
if ((cur == '<') && (next == '!') &&
(in->cur[2] == '-') && (in->cur[3] == '-')) {
if (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0)
if ((!terminate) &&
(htmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "HPP: Parsing Comment\n");
@ -3093,7 +3176,8 @@ htmlParseTry(htmlParserCtxtPtr ctxt) {
next = in->cur[1];
if ((cur == '<') && (next == '!') &&
(in->cur[2] == '-') && (in->cur[3] == '-')) {
if (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0)
if ((!terminate) &&
(htmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "HPP: Parsing Comment\n");
@ -3133,7 +3217,8 @@ htmlParseTry(htmlParserCtxtPtr ctxt) {
#endif
break;
}
if (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0)
if ((!terminate) &&
(htmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
goto done;
oldname = xmlStrdup(ctxt->name);
@ -3268,7 +3353,8 @@ htmlParseTry(htmlParserCtxtPtr ctxt) {
next = in->cur[1];
if ((cur == '<') && (next == '!') &&
(in->cur[2] == '-') && (in->cur[3] == '-')) {
if (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0)
if ((!terminate) &&
(htmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "HPP: Parsing Comment\n");
@ -3292,7 +3378,8 @@ htmlParseTry(htmlParserCtxtPtr ctxt) {
#endif
break;
} else if (cur == '&') {
if (htmlParseLookupSequence(ctxt, ';', 0, 0) < 0)
if ((!terminate) &&
(htmlParseLookupSequence(ctxt, ';', 0, 0) < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "HPP: Parsing Reference\n");
@ -3308,7 +3395,8 @@ htmlParseTry(htmlParserCtxtPtr ctxt) {
*/
if ((ctxt->inputNr == 1) &&
(avail < HTML_PARSER_BIG_BUFFER_SIZE)) {
if (htmlParseLookupSequence(ctxt, '<', 0, 0) < 0)
if ((!terminate) &&
(htmlParseLookupSequence(ctxt, '<', 0, 0) < 0))
goto done;
}
ctxt->checkIndex = 0;
@ -3321,7 +3409,8 @@ htmlParseTry(htmlParserCtxtPtr ctxt) {
case XML_PARSER_END_TAG:
if (avail < 2)
goto done;
if (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0)
if ((!terminate) &&
(htmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
goto done;
htmlParseEndTag(ctxt);
if (ctxt->nameNr == 0) {
@ -3399,6 +3488,19 @@ done:
return(ret);
}
/**
* htmlParseTry:
* @ctxt: an HTML parser context
*
* Try to progress on parsing
*
* Returns zero if no parsing was possible
*/
int
htmlParseTry(htmlParserCtxtPtr ctxt) {
return(htmlParseTryOrFinish(ctxt, 0));
}
/**
* htmlParseChunk:
* @ctxt: an XML parser context
@ -3425,9 +3527,9 @@ htmlParseChunk(htmlParserCtxtPtr ctxt, const char *chunk, int size,
fprintf(stderr, "HPP: pushed %d\n", size);
#endif
htmlParseTry(ctxt);
htmlParseTryOrFinish(ctxt, terminate);
} else if (ctxt->instate != XML_PARSER_EOF)
htmlParseTry(ctxt);
htmlParseTryOrFinish(ctxt, terminate);
if (terminate) {
if ((ctxt->instate != XML_PARSER_EOF) &&
(ctxt->instate != XML_PARSER_EPILOG) &&

View File

@ -30,7 +30,9 @@ typedef xmlNodePtr htmlNodePtr;
/*
* Internal description of an HTML element
*/
typedef struct htmlElemDesc {
typedef struct _htmlElemDesc htmlElemDesc;
typedef htmlElemDesc *htmlElemDescPtr;
struct _htmlElemDesc {
const char *name; /* The tag name */
int startTag; /* Whether the start tag can be implied */
int endTag; /* Whether the end tag can be implied */
@ -38,16 +40,18 @@ typedef struct htmlElemDesc {
int depr; /* Is this a deprecated element ? */
int dtd; /* 1: only in Loose DTD, 2: only Frameset one */
const char *desc; /* the description */
} htmlElemDesc, *htmlElemDescPtr;
};
/*
* Internal description of an HTML entity
*/
typedef struct htmlEntityDesc {
typedef struct _htmlEntityDesc htmlEntityDesc;
typedef htmlEntityDesc *htmlEntityDescPtr;
struct _htmlEntityDesc {
int value; /* the UNICODE value for the character */
const char *name; /* The entity name */
const char *desc; /* the description */
} htmlEntityDesc, *htmlEntityDescPtr;
};
/*
* There is only few public functions.

View File

@ -2,7 +2,7 @@
SUBDIRS = doc
INCLUDES = -I@srcdir@ @CORBA_CFLAGS@ $(VERSION_FLAGS)
INCLUDES = -I@srcdir@ @Z_CFLAGS@ @CORBA_CFLAGS@ $(VERSION_FLAGS)
VERSION_FLAGS = -DLIBXML_VERSION=\"@LIBXML_VERSION@\"

View File

@ -4,3 +4,5 @@
#undef HAVE_LIBM
#undef HAVE_ISINF
#undef HAVE_ISNAN
#undef HAVE_LIBHISTORY
#undef HAVE_LIBREADLINE

View File

@ -12,6 +12,8 @@
#undef HAVE_LIBM
#undef HAVE_ISINF
#undef HAVE_ISNAN
#undef HAVE_LIBHISTORY
#undef HAVE_LIBREADLINE
/* Define if you have the class function. */
#undef HAVE_CLASS
@ -25,12 +27,6 @@
/* Define if you have the fpclass function. */
#undef HAVE_FPCLASS
/* Define if you have the isinf function. */
#undef HAVE_ISINF
/* Define if you have the isnan function. */
#undef HAVE_ISNAN
/* Define if you have the isnand function. */
#undef HAVE_ISNAND
@ -127,21 +123,12 @@
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if you have the <zlib.h> header file. */
#undef HAVE_ZLIB_H
/* Define if you have the history library (-lhistory). */
#undef HAVE_LIBHISTORY
/* Define if you have the inet library (-linet). */
#undef HAVE_LIBINET
/* Define if you have the nsl library (-lnsl). */
#undef HAVE_LIBNSL
/* Define if you have the readline library (-lreadline). */
#undef HAVE_LIBREADLINE
/* Define if you have the socket library (-lsocket). */
#undef HAVE_LIBSOCKET

View File

@ -5,7 +5,7 @@ AM_CONFIG_HEADER(config.h)
LIBXML_MAJOR_VERSION=1
LIBXML_MINOR_VERSION=8
LIBXML_MICRO_VERSION=2
LIBXML_MICRO_VERSION=3
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
@ -33,18 +33,39 @@ AM_PROG_LIBTOOL
AM_MAINTAINER_MODE
dnl Checks for libraries.
Z_LIBS=
AC_CHECK_LIB(z, inflate,
AC_CHECK_HEADER(zlib.h,
Z_LIBS="-lz"; AC_DEFINE(HAVE_LIBZ)))
dnl Checks for zlib library.
_cppflags="${CPPFLAGS}"
_ldflags="${LDFLAGS}"
AC_ARG_WITH(zlib,
[ --with-zlib[=DIR] use libz in DIR],[
if test "$withval" != "no"; then
Z_DIR=$withval
CPPFLAGS="${CPPFLAGS} -I$withval/include"
LDFLAGS="${LDFLAGS} -L$withval/lib"
fi
])
AC_CHECK_HEADER(zlib.h,
AC_CHECK_LIB(z, gzread,[
AC_DEFINE(HAVE_LIBZ)
if test "x${Z_DIR}" != "x"; then
Z_CFLAGS="-I${Z_DIR}/include"
Z_LIBS="-L${Z_DIR}/lib -lz"
else
Z_LIBS="-lz"
fi]))
AC_SUBST(Z_CFLAGS)
AC_SUBST(Z_LIBS)
CPPFLAGS=${_cppflags}
LDFLAGS=${_ldflags}
dnl Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS(fcntl.h unistd.h ctype.h dirent.h errno.h malloc.h)
AC_CHECK_HEADERS(stdarg.h sys/stat.h sys/types.h time.h zlib.h)
AC_CHECK_HEADERS(stdarg.h sys/stat.h sys/types.h time.h)
AC_CHECK_HEADERS(ieeefp.h nan.h math.h fp_class.h float.h)
AC_CHECK_HEADERS(stdlib.h sys/socket.h netinet/in.h arpa/inet.h)
AC_CHECK_HEADERS(netdb.h sys/time.h sys/select.h)
@ -71,33 +92,20 @@ AC_SUBST(CORBA_CFLAGS)
dnl Checks for library functions.
AC_FUNC_STRFTIME
AC_CHECK_FUNCS(strdup strndup strerror snprintf)
AC_CHECK_FUNCS(finite isinf isnan isnand fp_class class fpclass finite)
AC_CHECK_FUNCS(finite isnand fp_class class fpclass)
AC_CHECK_FUNCS(strftime localtime)
dnl Checks for inet libraries:
AC_CHECK_LIB(socket, socket)
AC_CHECK_LIB(inet, connect)
AC_CHECK_LIB(nsl, t_accept)
AC_CHECK_FUNC(gethostent, , AC_CHECK_LIB(nsl, gethostent))
AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
AC_CHECK_FUNC(connect, , AC_CHECK_LIB(inet, connect))
dnl Checks for isnan in libm if not in libc
M_LIBS=
if test "$ac_cv_func_isnan" != "yes"
then
AC_CHECK_LIB(m, isnan,
M_LIBS="-lm"; AC_DEFINE(HAVE_ISNAN))
fi
AC_CHECK_FUNC(isnan, , AC_CHECK_LIB(m, isnan,
[M_LIBS="-lm"; AC_DEFINE(HAVE_ISNAN)]))
dnl Checks for isinf in libm if not in libc
if test "$ac_cv_func_isinf" != "yes"
then
M2_LIBS=""
AC_CHECK_LIB(m, isinf,
M2_LIBS="-lm"; AC_DEFINE(HAVE_ISINF))
if test "$M2_LIBS" != ""
then
M_LIBS="$M2_LIBS"
fi
fi
AC_CHECK_FUNC(isinf, , AC_CHECK_LIB(m, isinf,
[M_LIBS="-lm"; AC_DEFINE(HAVE_ISINF)]))
XML_LIBDIR='-L${libdir}'
XML_INCLUDEDIR='-I${includedir}/gnome-xml'
@ -149,7 +157,6 @@ AC_SUBST(HTML_DIR)
AC_SUBST(HAVE_ISNAN)
AC_SUBST(HAVE_ISINF)
AC_SUBST(Z_LIBS)
AC_SUBST(M_LIBS)
AC_SUBST(RDL_LIBS)
AC_OUTPUT(libxml.spec Makefile doc/Makefile example/Makefile xml-config win32config.h)

View File

@ -64,7 +64,9 @@ typedef char * (* xmlShellReadlineFunc)(char *prompt);
* The shell context itself
* TODO: add the defined function tables.
*/
typedef struct xmlShellCtxt {
typedef struct _xmlShellCtxt xmlShellCtxt;
typedef xmlShellCtxt *xmlShellCtxtPtr;
struct _xmlShellCtxt {
char *filename;
xmlDocPtr doc;
xmlNodePtr node;
@ -72,7 +74,7 @@ typedef struct xmlShellCtxt {
int loaded;
FILE *output;
xmlShellReadlineFunc input;
} xmlShellCtxt, *xmlShellCtxtPtr;
};
/**
* xmlShellCmd:

View File

@ -4,13 +4,16 @@
>Gnome XML Library Reference Manual</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
REL="NEXT"
TITLE="Libxml Programming Notes"
HREF="libxml-notes.html"></HEAD
><BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="BOOK"
><DIV
@ -46,14 +49,14 @@ CLASS="AFFILIATION"
><DIV
CLASS="ADDRESS"
><P
CLASS="LITERALLAYOUT"
CLASS="ADDRESS"
> &nbsp;&nbsp;&nbsp;&nbsp;Daniel.Veillard@w3.org<br>
&nbsp;&nbsp;</P
></DIV
></DIV
><P
CLASS="COPYRIGHT"
>Copyright © 1999 by <SPAN
>Copyright &copy; 1999 by <SPAN
CLASS="HOLDER"
>Daniel Veillard</SPAN
></P

View File

@ -4,7 +4,7 @@
>entities</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
REL="HOME"
TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK
@ -20,6 +20,9 @@ HREF="gnome-xml-valid.html"></HEAD
><BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
@ -111,19 +114,22 @@ SIZE="3"
></TABLE
></DIV
><H1
>entities</H1
><A
NAME="GNOME-XML-ENTITIES"
>entities</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN5768"
NAME="AEN5124"
></A
><H2
>Name</H2
>entities &#8212; </DIV
>entities&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN5771"
NAME="AEN5127"
></A
><H2
>Synopsis</H2
@ -336,11 +342,7 @@ HREF="gnome-xml-tree.html#XMLBUFFERPTR"
<A
HREF="gnome-xml-entities.html#XMLENTITIESTABLEPTR"
>xmlEntitiesTablePtr</A
> table);
void <A
HREF="gnome-xml-entities.html#XMLCLEANUPPREDEFINEDENTITIES"
>xmlCleanupPredefinedEntities</A
> (void);</PRE
> table);</PRE
></TD
></TR
></TABLE
@ -348,7 +350,7 @@ HREF="gnome-xml-entities.html#XMLCLEANUPPREDEFINEDENTITIES"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5829"
NAME="AEN5184"
></A
><H2
>Description</H2
@ -358,14 +360,14 @@ NAME="AEN5829"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5832"
NAME="AEN5187"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN5834"
NAME="AEN5189"
></A
><H3
><A
@ -381,7 +383,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 +393,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5839"
NAME="AEN5194"
></A
><H3
><A
@ -407,7 +409,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 +419,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5844"
NAME="AEN5199"
></A
><H3
><A
@ -433,7 +435,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 +445,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5849"
NAME="AEN5204"
></A
><H3
><A
@ -459,7 +461,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 +471,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5854"
NAME="AEN5209"
></A
><H3
><A
@ -485,7 +487,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 +497,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5859"
NAME="AEN5214"
></A
><H3
><A
@ -511,7 +513,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 +523,20 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5864"
NAME="AEN5219"
></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="AEN5869"
NAME="AEN5223"
></A
><H3
><A
@ -563,7 +552,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 +562,20 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5874"
NAME="AEN5228"
></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="AEN5879"
NAME="AEN5232"
></A
><H3
><A
@ -669,7 +645,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -686,7 +662,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -703,7 +679,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity type XML_xxx_yyy_ENTITY</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -720,7 +696,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity external ID if available</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -737,7 +713,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity system ID if available</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -754,7 +730,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity content</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -764,7 +740,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5919"
NAME="AEN5272"
></A
><H3
><A
@ -834,7 +810,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -851,7 +827,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -868,7 +844,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity type XML_xxx_yyy_ENTITY</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -885,7 +861,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity external ID if available</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -902,7 +878,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity system ID if available</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -919,7 +895,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity content</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -929,7 +905,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5959"
NAME="AEN5312"
></A
><H3
><A
@ -985,7 +961,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1000,7 +976,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>NULL if not, othervise the entity</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1010,7 +986,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5980"
NAME="AEN5333"
></A
><H3
><A
@ -1072,7 +1048,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document referencing the entity</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1089,7 +1065,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1104,7 +1080,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 +1090,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6006"
NAME="AEN5359"
></A
><H3
><A
@ -1175,7 +1151,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document referencing the entity</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1192,7 +1168,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1207,7 +1183,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 +1193,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6032"
NAME="AEN5385"
></A
><H3
><A
@ -1278,7 +1254,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document referencing the entity</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1295,7 +1271,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity name</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1310,7 +1286,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 +1296,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6058"
NAME="AEN5411"
></A
><H3
><A
@ -1387,7 +1363,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document containing the string</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1404,7 +1380,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> A string to convert to XML.</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1419,7 +1395,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 +1405,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6086"
NAME="AEN5439"
></A
><H3
><A
@ -1495,7 +1471,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document containing the string</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1512,7 +1488,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> A string to convert to XML.</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1527,7 +1503,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 +1513,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6113"
NAME="AEN5466"
></A
><H3
><A
@ -1588,7 +1564,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 +1574,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6129"
NAME="AEN5482"
></A
><H3
><A
@ -1654,7 +1630,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An entity table</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1669,7 +1645,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 +1655,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6150"
NAME="AEN5503"
></A
><H3
><A
@ -1732,7 +1708,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An entity table</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1742,7 +1718,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6166"
NAME="AEN5519"
></A
><H3
><A
@ -1799,7 +1775,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An XML buffer.</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1816,41 +1792,13 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> An entity table</TD
>&nbsp;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6187"
></A
><H3
><A
NAME="XMLCLEANUPPREDEFINEDENTITIES"
></A
>xmlCleanupPredefinedEntities ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlCleanupPredefinedEntities (void);</PRE
></TD
></TR
></TABLE
><P
>Cleanup up the predefined entities table.</P
><P
></P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@
>HTMLtree</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
REL="HOME"
TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK
@ -20,6 +20,9 @@ HREF="gnome-xml-xpath.html"></HEAD
><BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
@ -111,19 +114,22 @@ SIZE="3"
></TABLE
></DIV
><H1
>HTMLtree</H1
><A
NAME="GNOME-XML-HTMLTREE"
>HTMLtree</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN8329"
NAME="AEN7499"
></A
><H2
>Name</H2
>HTMLtree &#8212; </DIV
>HTMLtree&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN8332"
NAME="AEN7502"
></A
><H2
>Synopsis</H2
@ -188,7 +194,7 @@ HREF="gnome-xml-tree.html#XMLDOCPTR"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8346"
NAME="AEN7516"
></A
><H2
>Description</H2
@ -198,14 +204,14 @@ NAME="AEN8346"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8349"
NAME="AEN7519"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN8351"
NAME="AEN7521"
></A
><H3
><A
@ -221,7 +227,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 +237,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8356"
NAME="AEN7526"
></A
><H3
><A
@ -247,7 +253,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 +263,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8361"
NAME="AEN7531"
></A
><H3
><A
@ -273,7 +279,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 +289,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8366"
NAME="AEN7536"
></A
><H3
><A
@ -342,7 +348,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -359,7 +365,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> OUT: the memory pointer</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -376,7 +382,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> OUT: the memory lenght</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -386,7 +392,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8391"
NAME="AEN7561"
></A
><H3
><A
@ -443,7 +449,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the FILE*</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -460,7 +466,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -470,7 +476,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8412"
NAME="AEN7582"
></A
><H3
><A
@ -524,7 +530,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the filename</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -541,7 +547,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the document</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -556,7 +562,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

@ -4,7 +4,7 @@
>nanohttp</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
REL="HOME"
TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK
@ -20,6 +20,9 @@ HREF="gnome-xml-xmlio.html"></HEAD
><BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
@ -111,19 +114,22 @@ SIZE="3"
></TABLE
></DIV
><H1
>nanohttp</H1
><A
NAME="GNOME-XML-NANOHTTP"
>nanohttp</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN8772"
NAME="AEN7879"
></A
><H2
>Name</H2
>nanohttp &#8212; </DIV
>nanohttp&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN8775"
NAME="AEN7882"
></A
><H2
>Synopsis</H2
@ -183,7 +189,7 @@ HREF="gnome-xml-nanohttp.html#XMLNANOHTTPCLOSE"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8785"
NAME="AEN7892"
></A
><H2
>Description</H2
@ -193,14 +199,14 @@ NAME="AEN8785"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8788"
NAME="AEN7895"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN8790"
NAME="AEN7897"
></A
><H3
><A
@ -253,7 +259,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> The URL to load</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -270,7 +276,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the filename where the content should be saved</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -287,8 +293,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
@ -303,8 +308,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
@ -314,7 +318,7 @@ if provided must be freed by the caller</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8817"
NAME="AEN7924"
></A
><H3
><A
@ -375,7 +379,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> The URL to load</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -392,7 +396,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the HTTP method to use</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -409,7 +413,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the input string if any</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -426,7 +430,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the Content-Type information IN and OUT</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -443,7 +447,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the extra headers</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -453,7 +457,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8849"
NAME="AEN7956"
></A
><H3
><A
@ -505,7 +509,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> The URL to load</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -522,8 +526,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
@ -533,7 +536,7 @@ returned at that location</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8868"
NAME="AEN7975"
></A
><H3
><A
@ -583,7 +586,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the HTTP context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -598,7 +601,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the HTTP return code for the request.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -608,7 +611,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8887"
NAME="AEN7994"
></A
><H3
><A
@ -671,7 +674,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the HTTP context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -688,7 +691,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a buffer</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -705,7 +708,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the buffer length</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -720,8 +723,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
@ -731,7 +733,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8916"
NAME="AEN8023"
></A
><H3
><A
@ -783,7 +785,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the HTTP context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -800,7 +802,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the filename where the content should be saved</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -815,7 +817,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>-1 in case of failure, 0 incase of success.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -825,7 +827,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8939"
NAME="AEN8046"
></A
><H3
><A
@ -876,7 +878,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

@ -4,7 +4,7 @@
>xml-error</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
REL="HOME"
TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK
@ -20,6 +20,9 @@ HREF="gnome-xml-htmlparser.html"></HEAD
><BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
@ -111,19 +114,22 @@ SIZE="3"
></TABLE
></DIV
><H1
>xml-error</H1
><A
NAME="GNOME-XML-XML-ERROR"
>xml-error</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN7691"
NAME="AEN7032"
></A
><H2
>Name</H2
>xml-error &#8212; </DIV
>xml-error&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN7694"
NAME="AEN7035"
></A
><H2
>Synopsis</H2
@ -187,7 +193,7 @@ HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7706"
NAME="AEN7047"
></A
><H2
>Description</H2
@ -197,14 +203,14 @@ NAME="AEN7706"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7709"
NAME="AEN7050"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN7711"
NAME="AEN7052"
></A
><H3
><A
@ -341,7 +347,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7716"
NAME="AEN7057"
></A
><H3
><A
@ -394,7 +400,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -411,7 +417,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the message to display/transmit</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -428,7 +434,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> extra parameters for the message display</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -438,7 +444,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7739"
NAME="AEN7080"
></A
><H3
><A
@ -491,7 +497,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -508,7 +514,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the message to display/transmit</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -525,7 +531,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> extra parameters for the message display</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -535,7 +541,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7762"
NAME="AEN7103"
></A
><H3
><A
@ -588,7 +594,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -605,7 +611,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the message to display/transmit</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -622,7 +628,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> extra parameters for the message display</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -632,7 +638,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7785"
NAME="AEN7126"
></A
><H3
><A
@ -685,7 +691,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -702,7 +708,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the message to display/transmit</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -719,7 +725,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> extra parameters for the message display</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -729,7 +735,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7808"
NAME="AEN7149"
></A
><H3
><A
@ -782,7 +788,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an xmlParserInputPtr input</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -792,7 +798,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7824"
NAME="AEN7165"
></A
><H3
><A
@ -845,7 +851,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an xmlParserInputPtr input</TD
>&nbsp;</TD
></TR
></TABLE
><P

View File

@ -4,7 +4,7 @@
>xmlmemory</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
REL="HOME"
TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK
@ -17,6 +17,9 @@ HREF="gnome-xml-debugxml.html"></HEAD
><BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
@ -99,19 +102,22 @@ ALIGN="right"
></TABLE
></DIV
><H1
>xmlmemory</H1
><A
NAME="GNOME-XML-XMLMEMORY"
>xmlmemory</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN11788"
NAME="AEN10660"
></A
><H2
>Name</H2
>xmlmemory &#8212; </DIV
>xmlmemory&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN11791"
NAME="AEN10663"
></A
><H2
>Synopsis</H2
@ -172,14 +178,6 @@ HREF="gnome-xml-xmlmemory.html#XMLMEMDISPLAY"
HREF="FILE"
>FILE</GTKDOCLINK
> *fp);
void <A
HREF="gnome-xml-xmlmemory.html#XMLMEMSHOW"
>xmlMemShow</A
> (<GTKDOCLINK
HREF="FILE"
>FILE</GTKDOCLINK
> *fp,
int nr);
#define <A
HREF="gnome-xml-xmlmemory.html#DEBUG-MEMORY-LOCATION"
>DEBUG_MEMORY_LOCATION</A
@ -218,7 +216,7 @@ HREF="gnome-xml-xmlmemory.html#XMLMEMSTRDUPLOC"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN11814"
NAME="AEN10684"
></A
><H2
>Description</H2
@ -228,14 +226,14 @@ NAME="AEN11814"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN11817"
NAME="AEN10687"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN11819"
NAME="AEN10689"
></A
><H3
><A
@ -251,7 +249,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define NO_DEBUG_MEMORY</PRE
>#define NO_DEBUG_MEMORY</PRE
></TD
></TR
></TABLE
@ -261,7 +259,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11824"
NAME="AEN10694"
></A
><H3
><A
@ -324,7 +322,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11840"
NAME="AEN10710"
></A
><H3
><A
@ -390,7 +388,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11857"
NAME="AEN10727"
></A
><H3
><A
@ -474,7 +472,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11878"
NAME="AEN10748"
></A
><H3
><A
@ -542,7 +540,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
@ -552,7 +550,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11898"
NAME="AEN10768"
></A
><H3
><A
@ -600,7 +598,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 on success</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -610,7 +608,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11913"
NAME="AEN10783"
></A
><H3
><A
@ -658,7 +656,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>an int representing the amount of memory allocated.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -668,7 +666,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11928"
NAME="AEN10798"
></A
><H3
><A
@ -696,7 +694,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11934"
NAME="AEN10804"
></A
><H3
><A
@ -749,8 +747,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a FILE descriptor used as the output file, if NULL, the result is
written to the file .memorylist</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -760,94 +757,7 @@ written to the file .memorylist</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11950"
></A
><H3
><A
NAME="XMLMEMSHOW"
></A
>xmlMemShow ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlMemShow (<GTKDOCLINK
HREF="FILE"
>FILE</GTKDOCLINK
> *fp,
int nr);</PRE
></TD
></TR
></TABLE
><P
>show a show display of the memory allocated, and dump
the <TT
CLASS="PARAMETER"
><I
>nr</I
></TT
> last allocated areas which were not freed</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>fp</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a FILE descriptor used as the output file</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>nr</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> number of entries to dump</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11971"
NAME="AEN10820"
></A
><H3
><A
@ -863,7 +773,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define DEBUG_MEMORY_LOCATION</PRE
>#define DEBUG_MEMORY_LOCATION</PRE
></TD
></TR
></TABLE
@ -873,7 +783,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11976"
NAME="AEN10825"
></A
><H3
><A
@ -889,7 +799,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define DEBUG_MEMORY</PRE
>#define DEBUG_MEMORY</PRE
></TD
></TR
></TABLE
@ -899,7 +809,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11981"
NAME="AEN10830"
></A
><H3
><A
@ -915,7 +825,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
@ -925,7 +835,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11986"
NAME="AEN10835"
></A
><H3
><A
@ -980,7 +890,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an int specifying the size in byte to allocate.</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -997,13 +907,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
@ -1030,7 +934,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN12011"
NAME="AEN10859"
></A
><H3
><A
@ -1086,7 +990,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the initial memory block pointer</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1103,7 +1007,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an int specifying the size in byte to allocate.</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1120,7 +1024,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the file name or NULL</TD
> the line number</TD
></TR
><TR
><TD
@ -1147,7 +1051,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN12039"
NAME="AEN10887"
></A
><H3
><A
@ -1219,7 +1123,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the file name or NULL</TD
> the line number</TD
></TR
><TR
><TD
@ -1251,7 +1155,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

@ -4,7 +4,7 @@
>xpath</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
REL="HOME"
TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK
@ -20,6 +20,9 @@ HREF="gnome-xml-nanohttp.html"></HEAD
><BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
@ -111,19 +114,22 @@ SIZE="3"
></TABLE
></DIV
><H1
>xpath</H1
><A
NAME="GNOME-XML-XPATH"
>xpath</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN8441"
NAME="AEN7611"
></A
><H2
>Name</H2
>xpath &#8212; </DIV
>xpath&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN8444"
NAME="AEN7614"
></A
><H2
>Synopsis</H2
@ -251,31 +257,7 @@ HREF="gnome-xml-tree.html#XMLCHAR"
<GTKDOCLINK
HREF="XMLXPATHCONTEXTPTR"
>xmlXPathContextPtr</GTKDOCLINK
> ctxt);
<GTKDOCLINK
HREF="XMLNODESETPTR"
>xmlNodeSetPtr</GTKDOCLINK
> <A
HREF="gnome-xml-xpath.html#XMLXPATHNODESETCREATE"
>xmlXPathNodeSetCreate</A
> (<A
HREF="gnome-xml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> val);
void <A
HREF="gnome-xml-xpath.html#XMLXPATHFREENODESETLIST"
>xmlXPathFreeNodeSetList</A
> (<GTKDOCLINK
HREF="XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</GTKDOCLINK
> obj);
void <A
HREF="gnome-xml-xpath.html#XMLXPATHFREENODESET"
>xmlXPathFreeNodeSet</A
> (<GTKDOCLINK
HREF="XMLNODESETPTR"
>xmlNodeSetPtr</GTKDOCLINK
> obj);</PRE
> ctxt);</PRE
></TD
></TR
></TABLE
@ -283,7 +265,7 @@ HREF="XMLNODESETPTR"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8485"
NAME="AEN7648"
></A
><H2
>Description</H2
@ -293,14 +275,14 @@ NAME="AEN8485"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8488"
NAME="AEN7651"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN8490"
NAME="AEN7653"
></A
><H3
><A
@ -316,7 +298,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XPATH_UNDEFINED 0</PRE
>#define XPATH_UNDEFINED</PRE
></TD
></TR
></TABLE
@ -326,7 +308,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8495"
NAME="AEN7658"
></A
><H3
><A
@ -342,7 +324,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XPATH_NODESET 1</PRE
>#define XPATH_NODESET</PRE
></TD
></TR
></TABLE
@ -352,7 +334,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8500"
NAME="AEN7663"
></A
><H3
><A
@ -368,7 +350,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XPATH_BOOLEAN 2</PRE
>#define XPATH_BOOLEAN</PRE
></TD
></TR
></TABLE
@ -378,7 +360,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8505"
NAME="AEN7668"
></A
><H3
><A
@ -394,7 +376,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XPATH_NUMBER 3</PRE
>#define XPATH_NUMBER</PRE
></TD
></TR
></TABLE
@ -404,7 +386,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8510"
NAME="AEN7673"
></A
><H3
><A
@ -420,7 +402,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XPATH_STRING 4</PRE
>#define XPATH_STRING</PRE
></TD
></TR
></TABLE
@ -430,7 +412,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8515"
NAME="AEN7678"
></A
><H3
><A
@ -446,7 +428,7 @@ CELLPADDING="6"
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XPATH_USERS 5</PRE
>#define XPATH_USERS</PRE
></TD
></TR
></TABLE
@ -456,7 +438,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8520"
NAME="AEN7683"
></A
><H3
><A
@ -550,7 +532,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8543"
NAME="AEN7706"
></A
><H3
><A
@ -629,7 +611,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8562"
NAME="AEN7725"
></A
><H3
><A
@ -729,7 +711,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8587"
NAME="AEN7750"
></A
><H3
><A
@ -808,7 +790,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8606"
NAME="AEN7769"
></A
><H3
><A
@ -864,7 +846,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XML document</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -879,7 +861,7 @@ CLASS="EMPHASIS"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlXPathContext just allocated.</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -889,7 +871,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8627"
NAME="AEN7790"
></A
><H3
><A
@ -942,7 +924,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the context to free</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -952,7 +934,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8643"
NAME="AEN7806"
></A
><H3
><A
@ -1012,7 +994,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XPath expression</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1029,7 +1011,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XPath context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1044,8 +1026,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
@ -1055,7 +1036,7 @@ the caller has to free the object.</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8669"
NAME="AEN7832"
></A
><H3
><A
@ -1108,7 +1089,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the object to free</TD
>&nbsp;</TD
></TR
></TABLE
><P
@ -1118,7 +1099,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8685"
NAME="AEN7848"
></A
><H3
><A
@ -1178,7 +1159,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XPath expression</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1195,7 +1176,7 @@ CLASS="PARAMETER"
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XPath context</TD
>&nbsp;</TD
></TR
><TR
><TD
@ -1210,229 +1191,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
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8711"
></A
><H3
><A
NAME="XMLXPATHNODESETCREATE"
></A
>xmlXPathNodeSetCreate ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="XMLNODESETPTR"
>xmlNodeSetPtr</GTKDOCLINK
> xmlXPathNodeSetCreate (<A
HREF="gnome-xml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> val);</PRE
></TD
></TR
></TABLE
><P
>Create a new xmlNodeSetPtr of type double and of value <TT
CLASS="PARAMETER"
><I
>val</I
></TT
></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
>val</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an initial xmlNodePtr, or NULL</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the newly created object.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8733"
></A
><H3
><A
NAME="XMLXPATHFREENODESETLIST"
></A
>xmlXPathFreeNodeSetList ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlXPathFreeNodeSetList (<GTKDOCLINK
HREF="XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</GTKDOCLINK
> obj);</PRE
></TD
></TR
></TABLE
><P
>Free up the xmlXPathObjectPtr <TT
CLASS="PARAMETER"
><I
>obj</I
></TT
> but don't deallocate the objects in
the list contrary to <A
HREF="gnome-xml-xpath.html#XMLXPATHFREEOBJECT"
>xmlXPathFreeObject</A
>().</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
>obj</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an existing NodeSetList object</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8751"
></A
><H3
><A
NAME="XMLXPATHFREENODESET"
></A
>xmlXPathFreeNodeSet ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlXPathFreeNodeSet (<GTKDOCLINK
HREF="XMLNODESETPTR"
>xmlNodeSetPtr</GTKDOCLINK
> obj);</PRE
></TD
></TR
></TABLE
><P
>Free the NodeSet compound (not the actual nodes !).</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
>obj</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the xmlNodeSetPtr to free</TD
>&nbsp;</TD
></TR
></TABLE
><P

View File

@ -2,6 +2,7 @@
<ANCHOR id ="XML-DEFAULT-VERSION" href="gnome-xml/gnome-xml-parser.html#XML-DEFAULT-VERSION">
<ANCHOR id ="XMLPARSERINPUTDEALLOCATE" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTDEALLOCATE">
<ANCHOR id ="XMLPARSERINPUTPTR" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTPTR">
<ANCHOR id ="XMLEXTERNALENTITYLOADER" href="gnome-xml/gnome-xml-parser.html#XMLEXTERNALENTITYLOADER">
<ANCHOR id ="XMLPARSERNODEINFO" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFO">
<ANCHOR id ="XMLPARSERNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFOSEQ">
<ANCHOR id ="XMLPARSERNODEINFOSEQPTR" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFOSEQPTR">
@ -38,13 +39,11 @@
<ANCHOR id ="HASINTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#HASINTERNALSUBSETSAXFUNC">
<ANCHOR id ="HASEXTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#HASEXTERNALSUBSETSAXFUNC">
<ANCHOR id ="XMLSAXHANDLERPTR" href="gnome-xml/gnome-xml-parser.html#XMLSAXHANDLERPTR">
<ANCHOR id ="XMLEXTERNALENTITYLOADER" href="gnome-xml/gnome-xml-parser.html#XMLEXTERNALENTITYLOADER">
<ANCHOR id ="XMLPARSERVERSION" href="gnome-xml/gnome-xml-parser.html#XMLPARSERVERSION">
<ANCHOR id ="XMLDEFAULTSAXLOCATOR" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXLOCATOR">
<ANCHOR id ="XMLDEFAULTSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLER">
<ANCHOR id ="HTMLDEFAULTSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLER">
<ANCHOR id ="XMLSUBSTITUTEENTITIESDEFAULTVALUE" href="gnome-xml/gnome-xml-parser.html#XMLSUBSTITUTEENTITIESDEFAULTVALUE">
<ANCHOR id ="XMLCLEANUPPARSER" href="gnome-xml/gnome-xml-parser.html#XMLCLEANUPPARSER">
<ANCHOR id ="XMLPARSERINPUTREAD" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTREAD">
<ANCHOR id ="XMLPARSERINPUTGROW" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTGROW">
<ANCHOR id ="XMLSTRDUP" href="gnome-xml/gnome-xml-parser.html#XMLSTRDUP">
@ -72,15 +71,11 @@
<ANCHOR id ="XMLSAXPARSEFILE" href="gnome-xml/gnome-xml-parser.html#XMLSAXPARSEFILE">
<ANCHOR id ="XMLPARSEDTD" href="gnome-xml/gnome-xml-parser.html#XMLPARSEDTD">
<ANCHOR id ="XMLSAXPARSEDTD" href="gnome-xml/gnome-xml-parser.html#XMLSAXPARSEDTD">
<ANCHOR id ="XMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT">
<ANCHOR id ="HTMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT">
<ANCHOR id ="XMLINITPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLINITPARSERCTXT">
<ANCHOR id ="XMLCLEARPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCLEARPARSERCTXT">
<ANCHOR id ="XMLFREEPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLFREEPARSERCTXT">
<ANCHOR id ="XMLSETUPPARSERFORBUFFER" href="gnome-xml/gnome-xml-parser.html#XMLSETUPPARSERFORBUFFER">
<ANCHOR id ="XMLCREATEDOCPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCREATEDOCPARSERCTXT">
<ANCHOR id ="XMLCREATEPUSHPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCREATEPUSHPARSERCTXT">
<ANCHOR id ="XMLPARSECHUNK" href="gnome-xml/gnome-xml-parser.html#XMLPARSECHUNK">
<ANCHOR id ="XMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT">
<ANCHOR id ="HTMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT">
<ANCHOR id ="XMLPARSERFINDNODEINFO" href="gnome-xml/gnome-xml-parser.html#XMLPARSERFINDNODEINFO">
<ANCHOR id ="XMLINITNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLINITNODEINFOSEQ">
<ANCHOR id ="XMLCLEARNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLCLEARNODEINFOSEQ">
@ -147,19 +142,16 @@
<ANCHOR id ="XMLATTRPTR" href="gnome-xml/gnome-xml-tree.html#XMLATTRPTR">
<ANCHOR id ="XMLIDPTR" href="gnome-xml/gnome-xml-tree.html#XMLIDPTR">
<ANCHOR id ="XMLREFPTR" href="gnome-xml/gnome-xml-tree.html#XMLREFPTR">
<ANCHOR id ="XMLBUFFERALLOCATIONSCHEME" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERALLOCATIONSCHEME">
<ANCHOR id ="XMLBUFFER" href="gnome-xml/gnome-xml-tree.html#XMLBUFFER">
<ANCHOR id ="XMLBUFFERPTR" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERPTR">
<ANCHOR id ="XMLNODE" href="gnome-xml/gnome-xml-tree.html#XMLNODE">
<ANCHOR id ="XMLNODEPTR" href="gnome-xml/gnome-xml-tree.html#XMLNODEPTR">
<ANCHOR id ="XMLDOC" href="gnome-xml/gnome-xml-tree.html#XMLDOC">
<ANCHOR id ="XMLDOCPTR" href="gnome-xml/gnome-xml-tree.html#XMLDOCPTR">
<ANCHOR id ="XMLBUFFER" href="gnome-xml/gnome-xml-tree.html#XMLBUFFER">
<ANCHOR id ="XMLBUFFERPTR" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERPTR">
<ANCHOR id ="BASEDTD" href="gnome-xml/gnome-xml-tree.html#BASEDTD">
<ANCHOR id ="OLDXMLWDCOMPATIBILITY" href="gnome-xml/gnome-xml-tree.html#OLDXMLWDCOMPATIBILITY">
<ANCHOR id ="XMLINDENTTREEOUTPUT" href="gnome-xml/gnome-xml-tree.html#XMLINDENTTREEOUTPUT">
<ANCHOR id ="XMLBUFFERALLOCSCHEME" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERALLOCSCHEME">
<ANCHOR id ="XMLBUFFERCREATE" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERCREATE">
<ANCHOR id ="XMLBUFFERCREATESIZE" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERCREATESIZE">
<ANCHOR id ="XMLBUFFERFREE" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERFREE">
<ANCHOR id ="XMLBUFFERDUMP" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERDUMP">
<ANCHOR id ="XMLBUFFERADD" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERADD">
@ -167,10 +159,6 @@
<ANCHOR id ="XMLBUFFERCCAT" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERCCAT">
<ANCHOR id ="XMLBUFFERSHRINK" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERSHRINK">
<ANCHOR id ="XMLBUFFEREMPTY" href="gnome-xml/gnome-xml-tree.html#XMLBUFFEREMPTY">
<ANCHOR id ="XMLBUFFERCONTENT" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERCONTENT">
<ANCHOR id ="XMLBUFFERUSE" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERUSE">
<ANCHOR id ="XMLBUFFERSETALLOCATIONSCHEME" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERSETALLOCATIONSCHEME">
<ANCHOR id ="XMLBUFFERLENGTH" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERLENGTH">
<ANCHOR id ="XMLCREATEINTSUBSET" href="gnome-xml/gnome-xml-tree.html#XMLCREATEINTSUBSET">
<ANCHOR id ="XMLNEWDTD" href="gnome-xml/gnome-xml-tree.html#XMLNEWDTD">
<ANCHOR id ="XMLFREEDTD" href="gnome-xml/gnome-xml-tree.html#XMLFREEDTD">
@ -189,10 +177,8 @@
<ANCHOR id ="XMLCOPYDTD" href="gnome-xml/gnome-xml-tree.html#XMLCOPYDTD">
<ANCHOR id ="XMLCOPYDOC" href="gnome-xml/gnome-xml-tree.html#XMLCOPYDOC">
<ANCHOR id ="XMLNEWDOCNODE" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCNODE">
<ANCHOR id ="XMLNEWDOCRAWNODE" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCRAWNODE">
<ANCHOR id ="XMLNEWNODE" href="gnome-xml/gnome-xml-tree.html#XMLNEWNODE">
<ANCHOR id ="XMLNEWCHILD" href="gnome-xml/gnome-xml-tree.html#XMLNEWCHILD">
<ANCHOR id ="XMLNEWTEXTCHILD" href="gnome-xml/gnome-xml-tree.html#XMLNEWTEXTCHILD">
<ANCHOR id ="XMLNEWDOCTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCTEXT">
<ANCHOR id ="XMLNEWTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNEWTEXT">
<ANCHOR id ="XMLNEWPI" href="gnome-xml/gnome-xml-tree.html#XMLNEWPI">
@ -204,22 +190,15 @@
<ANCHOR id ="XMLNEWREFERENCE" href="gnome-xml/gnome-xml-tree.html#XMLNEWREFERENCE">
<ANCHOR id ="XMLCOPYNODE" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNODE">
<ANCHOR id ="XMLCOPYNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNODELIST">
<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">
<ANCHOR id ="XMLFREENODELIST" href="gnome-xml/gnome-xml-tree.html#XMLFREENODELIST">
<ANCHOR id ="XMLFREENODE" href="gnome-xml/gnome-xml-tree.html#XMLFREENODE">
<ANCHOR id ="XMLREMOVEPROP" href="gnome-xml/gnome-xml-tree.html#XMLREMOVEPROP">
<ANCHOR id ="XMLSEARCHNS" href="gnome-xml/gnome-xml-tree.html#XMLSEARCHNS">
<ANCHOR id ="XMLSEARCHNSBYHREF" href="gnome-xml/gnome-xml-tree.html#XMLSEARCHNSBYHREF">
<ANCHOR id ="XMLGETNSLIST" href="gnome-xml/gnome-xml-tree.html#XMLGETNSLIST">
@ -228,7 +207,6 @@
<ANCHOR id ="XMLCOPYNAMESPACELIST" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNAMESPACELIST">
<ANCHOR id ="XMLSETPROP" href="gnome-xml/gnome-xml-tree.html#XMLSETPROP">
<ANCHOR id ="XMLGETPROP" href="gnome-xml/gnome-xml-tree.html#XMLGETPROP">
<ANCHOR id ="XMLGETNSPROP" href="gnome-xml/gnome-xml-tree.html#XMLGETNSPROP">
<ANCHOR id ="XMLSTRINGGETNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLSTRINGGETNODELIST">
<ANCHOR id ="XMLSTRINGLENGETNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLSTRINGLENGETNODELIST">
<ANCHOR id ="XMLNODELISTGETSTRING" href="gnome-xml/gnome-xml-tree.html#XMLNODELISTGETSTRING">
@ -239,14 +217,13 @@
<ANCHOR id ="XMLNODEGETCONTENT" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETCONTENT">
<ANCHOR id ="XMLNODEGETLANG" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETLANG">
<ANCHOR id ="XMLNODESETLANG" href="gnome-xml/gnome-xml-tree.html#XMLNODESETLANG">
<ANCHOR id ="XMLNODEGETBASE" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETBASE">
<ANCHOR id ="XMLREMOVEPROP" href="gnome-xml/gnome-xml-tree.html#XMLREMOVEPROP">
<ANCHOR id ="XMLREMOVENODE" href="gnome-xml/gnome-xml-tree.html#XMLREMOVENODE">
<ANCHOR id ="XMLBUFFERWRITECHAR" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERWRITECHAR">
<ANCHOR id ="XMLBUFFERWRITECHAR" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERWRITECHAR">
<ANCHOR id ="XMLBUFFERWRITEQUOTEDSTRING" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERWRITEQUOTEDSTRING">
<ANCHOR id ="XMLDOCDUMPMEMORY" href="gnome-xml/gnome-xml-tree.html#XMLDOCDUMPMEMORY">
<ANCHOR id ="XMLDOCDUMP" href="gnome-xml/gnome-xml-tree.html#XMLDOCDUMP">
<ANCHOR id ="XMLELEMDUMP" href="gnome-xml/gnome-xml-tree.html#XMLELEMDUMP">
<ANCHOR id ="XMLSAVEFILE" href="gnome-xml/gnome-xml-tree.html#XMLSAVEFILE">
<ANCHOR id ="XMLGETDOCCOMPRESSMODE" href="gnome-xml/gnome-xml-tree.html#XMLGETDOCCOMPRESSMODE">
<ANCHOR id ="XMLSETDOCCOMPRESSMODE" href="gnome-xml/gnome-xml-tree.html#XMLSETDOCCOMPRESSMODE">
@ -274,7 +251,6 @@
<ANCHOR id ="XMLCOPYENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLCOPYENTITIESTABLE">
<ANCHOR id ="XMLFREEENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLFREEENTITIESTABLE">
<ANCHOR id ="XMLDUMPENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLDUMPENTITIESTABLE">
<ANCHOR id ="XMLCLEANUPPREDEFINEDENTITIES" href="gnome-xml/gnome-xml-entities.html#XMLCLEANUPPREDEFINEDENTITIES">
<ANCHOR id ="GNOME-XML-VALID" href="gnome-xml/gnome-xml-valid.html">
<ANCHOR id ="XMLVALIDITYERRORFUNC" href="gnome-xml/gnome-xml-valid.html#XMLVALIDITYERRORFUNC">
<ANCHOR id ="XMLVALIDITYWARNINGFUNC" href="gnome-xml/gnome-xml-valid.html#XMLVALIDITYWARNINGFUNC">
@ -353,8 +329,6 @@
<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">
@ -362,9 +336,6 @@
<ANCHOR id ="HTMLPARSEDOC" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEDOC">
<ANCHOR id ="HTMLSAXPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXPARSEFILE">
<ANCHOR id ="HTMLPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEFILE">
<ANCHOR id ="HTMLFREEPARSERCTXT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLFREEPARSERCTXT">
<ANCHOR id ="HTMLCREATEPUSHPARSERCTXT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLCREATEPUSHPARSERCTXT">
<ANCHOR id ="HTMLPARSECHUNK" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSECHUNK">
<ANCHOR id ="GNOME-XML-HTMLTREE" href="gnome-xml/gnome-xml-htmltree.html">
<ANCHOR id ="HTML-TEXT-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-TEXT-NODE">
<ANCHOR id ="HTML-ENTITY-REF-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-ENTITY-REF-NODE">
@ -388,9 +359,6 @@
<ANCHOR id ="XMLXPATHEVAL" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVAL">
<ANCHOR id ="XMLXPATHFREEOBJECT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREEOBJECT">
<ANCHOR id ="XMLXPATHEVALEXPRESSION" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVALEXPRESSION">
<ANCHOR id ="XMLXPATHNODESETCREATE" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHNODESETCREATE">
<ANCHOR id ="XMLXPATHFREENODESETLIST" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREENODESETLIST">
<ANCHOR id ="XMLXPATHFREENODESET" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREENODESET">
<ANCHOR id ="GNOME-XML-NANOHTTP" href="gnome-xml/gnome-xml-nanohttp.html">
<ANCHOR id ="XMLNANOHTTPFETCH" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPFETCH">
<ANCHOR id ="XMLNANOHTTPMETHOD" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPMETHOD">
@ -401,13 +369,11 @@
<ANCHOR id ="XMLNANOHTTPCLOSE" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPCLOSE">
<ANCHOR id ="GNOME-XML-XMLIO" href="gnome-xml/gnome-xml-xmlio.html">
<ANCHOR id ="XMLPARSERINPUTBUFFERPTR" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR">
<ANCHOR id ="XMLALLOCPARSERINPUTBUFFER" href="gnome-xml/gnome-xml-xmlio.html#XMLALLOCPARSERINPUTBUFFER">
<ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFILENAME" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFILENAME">
<ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFILE" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFILE">
<ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFD" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFD">
<ANCHOR id ="XMLPARSERINPUTBUFFERREAD" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERREAD">
<ANCHOR id ="XMLPARSERINPUTBUFFERGROW" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERGROW">
<ANCHOR id ="XMLPARSERINPUTBUFFERPUSH" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPUSH">
<ANCHOR id ="XMLFREEPARSERINPUTBUFFER" href="gnome-xml/gnome-xml-xmlio.html#XMLFREEPARSERINPUTBUFFER">
<ANCHOR id ="XMLPARSERGETDIRECTORY" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERGETDIRECTORY">
<ANCHOR id ="GNOME-XML-PARSERINTERNALS" href="gnome-xml/gnome-xml-parserinternals.html">
@ -503,13 +469,12 @@
<ANCHOR id ="XMLCHARENCODINGINPUTFUNC" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODINGINPUTFUNC">
<ANCHOR id ="XMLCHARENCODINGOUTPUTFUNC" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODINGOUTPUTFUNC">
<ANCHOR id ="XMLCHARENCODINGHANDLERPTR" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR">
<ANCHOR id ="XMLINITCHARENCODINGHANDLERS" href="gnome-xml/gnome-xml-encoding.html#XMLINITCHARENCODINGHANDLERS">
<ANCHOR id ="XMLCLEANUPCHARENCODINGHANDLERS" href="gnome-xml/gnome-xml-encoding.html#XMLCLEANUPCHARENCODINGHANDLERS">
<ANCHOR id ="XMLREGISTERCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLREGISTERCHARENCODINGHANDLER">
<ANCHOR id ="XMLDETECTCHARENCODING" href="gnome-xml/gnome-xml-encoding.html#XMLDETECTCHARENCODING">
<ANCHOR id ="XMLPARSECHARENCODING" href="gnome-xml/gnome-xml-encoding.html#XMLPARSECHARENCODING">
<ANCHOR id ="XMLGETCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLGETCHARENCODINGHANDLER">
<ANCHOR id ="XMLFINDCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLFINDCHARENCODINGHANDLER">
<ANCHOR id ="XMLDETECTCHARENCODING" href="gnome-xml/gnome-xml-encoding.html#XMLDETECTCHARENCODING">
<ANCHOR id ="XMLPARSECHARENCODING" href="gnome-xml/gnome-xml-encoding.html#XMLPARSECHARENCODING">
<ANCHOR id ="XMLINITCHARENCODINGHANDLERS" href="gnome-xml/gnome-xml-encoding.html#XMLINITCHARENCODINGHANDLERS">
<ANCHOR id ="GNOME-XML-DEBUGXML" href="gnome-xml/gnome-xml-debugxml.html">
<ANCHOR id ="XMLDEBUGDUMPSTRING" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPSTRING">
<ANCHOR id ="XMLDEBUGDUMPATTR" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPATTR">
@ -517,13 +482,7 @@
<ANCHOR id ="XMLDEBUGDUMPONENODE" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPONENODE">
<ANCHOR id ="XMLDEBUGDUMPNODE" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPNODE">
<ANCHOR id ="XMLDEBUGDUMPNODELIST" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPNODELIST">
<ANCHOR id ="XMLDEBUGDUMPDOCUMENTHEAD" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPDOCUMENTHEAD">
<ANCHOR id ="XMLDEBUGDUMPDOCUMENT" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPDOCUMENT">
<ANCHOR id ="XMLDEBUGDUMPENTITIES" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPENTITIES">
<ANCHOR id ="XMLLSONENODE" href="gnome-xml/gnome-xml-debugxml.html#XMLLSONENODE">
<ANCHOR id ="XMLSHELLREADLINEFUNC" href="gnome-xml/gnome-xml-debugxml.html#XMLSHELLREADLINEFUNC">
<ANCHOR id ="XMLSHELLCMD" href="gnome-xml/gnome-xml-debugxml.html#XMLSHELLCMD">
<ANCHOR id ="XMLSHELL" href="gnome-xml/gnome-xml-debugxml.html#XMLSHELL">
<ANCHOR id ="GNOME-XML-XMLMEMORY" href="gnome-xml/gnome-xml-xmlmemory.html">
<ANCHOR id ="NO-DEBUG-MEMORY" href="gnome-xml/gnome-xml-xmlmemory.html#NO-DEBUG-MEMORY">
<ANCHOR id ="XMLFREE" href="gnome-xml/gnome-xml-xmlmemory.html#XMLFREE">
@ -534,7 +493,6 @@
<ANCHOR id ="XMLMEMUSED" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMUSED">
<ANCHOR id ="XMLMEMORYDUMP" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMORYDUMP">
<ANCHOR id ="XMLMEMDISPLAY" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMDISPLAY">
<ANCHOR id ="XMLMEMSHOW" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMSHOW">
<ANCHOR id ="DEBUG-MEMORY-LOCATION" href="gnome-xml/gnome-xml-xmlmemory.html#DEBUG-MEMORY-LOCATION">
<ANCHOR id ="DEBUG-MEMORY" href="gnome-xml/gnome-xml-xmlmemory.html#DEBUG-MEMORY">
<ANCHOR id ="MEM-LIST" href="gnome-xml/gnome-xml-xmlmemory.html#MEM-LIST">

View File

@ -90,12 +90,13 @@ typedef int (* xmlCharEncodingOutputFunc)(unsigned char* out, int outlen,
* Block defining the handlers for non UTF-8 encodings.
*/
typedef struct xmlCharEncodingHandler {
typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
struct _xmlCharEncodingHandler {
char *name;
xmlCharEncodingInputFunc input;
xmlCharEncodingOutputFunc output;
} xmlCharEncodingHandler;
typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
};
void xmlInitCharEncodingHandlers (void);
void xmlCleanupCharEncodingHandlers (void);

View File

@ -27,7 +27,9 @@ extern "C" {
* and the linkind data needed for the linking in the hash table.
*/
typedef struct xmlEntity {
typedef struct _xmlEntity xmlEntity;
typedef xmlEntity *xmlEntityPtr;
struct _xmlEntity {
int type; /* The entity type */
int len; /* The lenght of the name */
const xmlChar *name; /* Name of the entity */
@ -36,8 +38,7 @@ typedef struct xmlEntity {
xmlChar *content; /* The entity content or ndata if unparsed */
int length; /* the content length */
xmlChar *orig; /* The entity cont without ref substitution */
} xmlEntity;
typedef xmlEntity *xmlEntityPtr;
};
/*
* ALl entities are stored in a table there is one table per DTD
@ -46,12 +47,13 @@ typedef xmlEntity *xmlEntityPtr;
#define XML_MIN_ENTITIES_TABLE 32
typedef struct xmlEntitiesTable {
typedef struct _xmlEntitiesTable xmlEntitiesTable;
typedef xmlEntitiesTable *xmlEntitiesTablePtr;
struct _xmlEntitiesTable {
int nb_entities; /* number of elements stored */
int max_entities; /* maximum number of elements */
xmlEntityPtr table; /* the table of entities */
} xmlEntitiesTable;
typedef xmlEntitiesTable *xmlEntitiesTablePtr;
};
/*

View File

@ -30,7 +30,9 @@ typedef xmlNodePtr htmlNodePtr;
/*
* Internal description of an HTML element
*/
typedef struct htmlElemDesc {
typedef struct _htmlElemDesc htmlElemDesc;
typedef htmlElemDesc *htmlElemDescPtr;
struct _htmlElemDesc {
const char *name; /* The tag name */
int startTag; /* Whether the start tag can be implied */
int endTag; /* Whether the end tag can be implied */
@ -38,16 +40,18 @@ typedef struct htmlElemDesc {
int depr; /* Is this a deprecated element ? */
int dtd; /* 1: only in Loose DTD, 2: only Frameset one */
const char *desc; /* the description */
} htmlElemDesc, *htmlElemDescPtr;
};
/*
* Internal description of an HTML entity
*/
typedef struct htmlEntityDesc {
typedef struct _htmlEntityDesc htmlEntityDesc;
typedef htmlEntityDesc *htmlEntityDescPtr;
struct _htmlEntityDesc {
int value; /* the UNICODE value for the character */
const char *name; /* The entity name */
const char *desc; /* the description */
} htmlEntityDesc, *htmlEntityDescPtr;
};
/*
* There is only few public functions.

View File

@ -64,7 +64,9 @@ typedef char * (* xmlShellReadlineFunc)(char *prompt);
* The shell context itself
* TODO: add the defined function tables.
*/
typedef struct xmlShellCtxt {
typedef struct _xmlShellCtxt xmlShellCtxt;
typedef xmlShellCtxt *xmlShellCtxtPtr;
struct _xmlShellCtxt {
char *filename;
xmlDocPtr doc;
xmlNodePtr node;
@ -72,7 +74,7 @@ typedef struct xmlShellCtxt {
int loaded;
FILE *output;
xmlShellReadlineFunc input;
} xmlShellCtxt, *xmlShellCtxtPtr;
};
/**
* xmlShellCmd:

View File

@ -90,12 +90,13 @@ typedef int (* xmlCharEncodingOutputFunc)(unsigned char* out, int outlen,
* Block defining the handlers for non UTF-8 encodings.
*/
typedef struct xmlCharEncodingHandler {
typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
struct _xmlCharEncodingHandler {
char *name;
xmlCharEncodingInputFunc input;
xmlCharEncodingOutputFunc output;
} xmlCharEncodingHandler;
typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
};
void xmlInitCharEncodingHandlers (void);
void xmlCleanupCharEncodingHandlers (void);

View File

@ -27,7 +27,9 @@ extern "C" {
* and the linkind data needed for the linking in the hash table.
*/
typedef struct xmlEntity {
typedef struct _xmlEntity xmlEntity;
typedef xmlEntity *xmlEntityPtr;
struct _xmlEntity {
int type; /* The entity type */
int len; /* The lenght of the name */
const xmlChar *name; /* Name of the entity */
@ -36,8 +38,7 @@ typedef struct xmlEntity {
xmlChar *content; /* The entity content or ndata if unparsed */
int length; /* the content length */
xmlChar *orig; /* The entity cont without ref substitution */
} xmlEntity;
typedef xmlEntity *xmlEntityPtr;
};
/*
* ALl entities are stored in a table there is one table per DTD
@ -46,12 +47,13 @@ typedef xmlEntity *xmlEntityPtr;
#define XML_MIN_ENTITIES_TABLE 32
typedef struct xmlEntitiesTable {
typedef struct _xmlEntitiesTable xmlEntitiesTable;
typedef xmlEntitiesTable *xmlEntitiesTablePtr;
struct _xmlEntitiesTable {
int nb_entities; /* number of elements stored */
int max_entities; /* maximum number of elements */
xmlEntityPtr table; /* the table of entities */
} xmlEntitiesTable;
typedef xmlEntitiesTable *xmlEntitiesTablePtr;
};
/*

View File

@ -34,7 +34,9 @@ extern "C" {
*/
typedef void (* xmlParserInputDeallocate)(xmlChar *);
typedef struct xmlParserInput {
typedef struct _xmlParserInput xmlParserInput;
typedef xmlParserInput *xmlParserInputPtr;
struct _xmlParserInput {
/* Input buffer */
xmlParserInputBufferPtr buf; /* UTF-8 encoded buffer */
@ -47,35 +49,36 @@ typedef struct xmlParserInput {
int col; /* Current column */
int consumed; /* How many xmlChars already consumed */
xmlParserInputDeallocate free; /* function to deallocate the base */
} xmlParserInput;
typedef xmlParserInput *xmlParserInputPtr;
};
/**
* the parser can be asked to collect Node informations, i.e. at what
* place in the file they were detected.
* NOTE: This is off by default and not very well tested.
*/
typedef struct _xmlParserNodeInfo {
const struct xmlNode* node;
typedef struct _xmlParserNodeInfo xmlParserNodeInfo;
typedef xmlParserNodeInfo *xmlParserNodeInfoPtr;
struct _xmlParserNodeInfo {
const struct _xmlNode* node;
/* Position & line # that text that created the node begins & ends on */
unsigned long begin_pos;
unsigned long begin_line;
unsigned long end_pos;
unsigned long end_line;
} _xmlParserNodeInfo;
typedef _xmlParserNodeInfo xmlParserNodeInfo;
};
typedef struct xmlParserNodeInfoSeq {
typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
struct _xmlParserNodeInfoSeq {
unsigned long maximum;
unsigned long length;
xmlParserNodeInfo* buffer;
} _xmlParserNodeInfoSeq;
typedef _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
};
/**
* The parser is not (yet) a state based parser, but we need to maintain
* minimum state informations, especially for entities processing.
* The parser is now working also as a state based parser
* The recursive one use the stagte info for entities processing
*/
typedef enum {
XML_PARSER_EOF = -1, /* nothing is to be parsed */
@ -105,8 +108,10 @@ typedef enum {
* takes as the only argument the parser context pointer, so migrating
* to a state based parser for progressive parsing shouldn't be too hard.
*/
typedef struct _xmlParserCtxt {
struct xmlSAXHandler *sax; /* The SAX handler */
typedef struct _xmlParserCtxt xmlParserCtxt;
typedef xmlParserCtxt *xmlParserCtxtPtr;
struct _xmlParserCtxt {
struct _xmlSAXHandler *sax; /* The SAX handler */
void *userData; /* the document being built */
xmlDocPtr myDoc; /* the document being built */
int wellFormed; /* is the document well formed */
@ -154,21 +159,19 @@ typedef struct _xmlParserCtxt {
long nbChars; /* number of xmlChar processed */
long checkIndex; /* used by progressive parsing lookup */
} _xmlParserCtxt;
typedef _xmlParserCtxt xmlParserCtxt;
typedef xmlParserCtxt *xmlParserCtxtPtr;
};
/**
* a SAX Locator.
*/
typedef struct xmlSAXLocator {
typedef struct _xmlSAXLocator xmlSAXLocator;
typedef xmlSAXLocator *xmlSAXLocatorPtr;
struct _xmlSAXLocator {
const xmlChar *(*getPublicId)(void *ctx);
const xmlChar *(*getSystemId)(void *ctx);
int (*getLineNumber)(void *ctx);
int (*getColumnNumber)(void *ctx);
} _xmlSAXLocator;
typedef _xmlSAXLocator xmlSAXLocator;
typedef xmlSAXLocator *xmlSAXLocatorPtr;
};
/**
* a SAX handler is bunch of callbacks called by the parser when processing
@ -221,7 +224,9 @@ typedef int (*isStandaloneSAXFunc) (void *ctx);
typedef int (*hasInternalSubsetSAXFunc) (void *ctx);
typedef int (*hasExternalSubsetSAXFunc) (void *ctx);
typedef struct xmlSAXHandler {
typedef struct _xmlSAXHandler xmlSAXHandler;
typedef xmlSAXHandler *xmlSAXHandlerPtr;
struct _xmlSAXHandler {
internalSubsetSAXFunc internalSubset;
isStandaloneSAXFunc isStandalone;
hasInternalSubsetSAXFunc hasInternalSubset;
@ -248,8 +253,7 @@ typedef struct xmlSAXHandler {
fatalErrorSAXFunc fatalError;
getParameterEntitySAXFunc getParameterEntity;
cdataBlockSAXFunc cdataBlock;
} xmlSAXHandler;
typedef xmlSAXHandler *xmlSAXHandlerPtr;
};
/**
* External entity loaders types

View File

@ -67,12 +67,13 @@ typedef unsigned char xmlChar;
* a DTD Notation definition
*/
typedef struct xmlNotation {
typedef struct _xmlNotation xmlNotation;
typedef xmlNotation *xmlNotationPtr;
struct _xmlNotation {
const xmlChar *name; /* Notation name */
const xmlChar *PublicID; /* Public identifier, if any */
const xmlChar *SystemID; /* System identifier, if any */
} xmlNotation;
typedef xmlNotation *xmlNotationPtr;
};
/*
* a DTD Attribute definition
@ -98,23 +99,25 @@ typedef enum {
XML_ATTRIBUTE_FIXED
} xmlAttributeDefault;
typedef struct xmlEnumeration {
struct xmlEnumeration *next; /* next one */
const xmlChar *name; /* Enumeration name */
} xmlEnumeration;
typedef struct _xmlEnumeration xmlEnumeration;
typedef xmlEnumeration *xmlEnumerationPtr;
struct _xmlEnumeration {
struct _xmlEnumeration *next; /* next one */
const xmlChar *name; /* Enumeration name */
};
typedef struct xmlAttribute {
typedef struct _xmlAttribute xmlAttribute;
typedef xmlAttribute *xmlAttributePtr;
struct _xmlAttribute {
const xmlChar *elem; /* Element holding the attribute */
const xmlChar *name; /* Attribute name */
struct xmlAttribute *next; /* list of attributes of an element */
struct _xmlAttribute *next; /* list of attributes of an element */
xmlAttributeType type; /* The type */
xmlAttributeDefault def; /* the default */
const xmlChar *defaultValue;/* or the default value */
xmlEnumerationPtr tree; /* or the enumeration tree if any */
const xmlChar *prefix; /* the namespace prefix if any */
} xmlAttribute;
typedef xmlAttribute *xmlAttributePtr;
};
/*
* a DTD Element definition.
@ -133,14 +136,15 @@ typedef enum {
XML_ELEMENT_CONTENT_PLUS
} xmlElementContentOccur;
typedef struct xmlElementContent {
typedef struct _xmlElementContent xmlElementContent;
typedef xmlElementContent *xmlElementContentPtr;
struct _xmlElementContent {
xmlElementContentType type; /* PCDATA, ELEMENT, SEQ or OR */
xmlElementContentOccur ocur; /* ONCE, OPT, MULT or PLUS */
const xmlChar *name; /* Element name */
struct xmlElementContent *c1; /* first child */
struct xmlElementContent *c2; /* second child */
} xmlElementContent;
typedef xmlElementContent *xmlElementContentPtr;
struct _xmlElementContent *c1; /* first child */
struct _xmlElementContent *c2; /* second child */
};
typedef enum {
XML_ELEMENT_TYPE_EMPTY = 1,
@ -149,13 +153,14 @@ typedef enum {
XML_ELEMENT_TYPE_ELEMENT
} xmlElementTypeVal;
typedef struct xmlElement {
typedef struct _xmlElement xmlElement;
typedef xmlElement *xmlElementPtr;
struct _xmlElement {
const xmlChar *name; /* Element name */
xmlElementTypeVal type; /* The type */
xmlElementContentPtr content; /* the allowed element content */
xmlAttributePtr attributes; /* List of the declared attributes */
} xmlElement;
typedef xmlElement *xmlElementPtr;
};
/*
* An XML namespace.
@ -168,18 +173,21 @@ typedef enum {
XML_LOCAL_NAMESPACE /* new style local scoping */
} xmlNsType;
typedef struct xmlNs {
struct xmlNs *next; /* next Ns link for this node */
typedef struct _xmlNs xmlNs;
typedef xmlNs *xmlNsPtr;
struct _xmlNs {
struct _xmlNs *next; /* next Ns link for this node */
xmlNsType type; /* global or local */
const xmlChar *href; /* URL for the namespace */
const xmlChar *prefix; /* prefix for the namespace */
} xmlNs;
typedef xmlNs *xmlNsPtr;
};
/*
* An XML DtD, as defined by <!DOCTYPE.
*/
typedef struct xmlDtd {
typedef struct _xmlDtd xmlDtd;
typedef xmlDtd *xmlDtdPtr;
struct _xmlDtd {
const xmlChar *name; /* Name of the DTD */
const xmlChar *ExternalID; /* External identifier for PUBLIC DTD */
const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC DTD */
@ -188,47 +196,49 @@ typedef struct xmlDtd {
void *attributes; /* Hash table for attributes if any */
void *entities; /* Hash table for entities if any */
/* struct xmlDtd *next; * next link for this document */
} xmlDtd;
typedef xmlDtd *xmlDtdPtr;
};
/*
* A attribute of an XML node.
*/
typedef struct xmlAttr {
typedef struct _xmlAttr xmlAttr;
typedef xmlAttr *xmlAttrPtr;
struct _xmlAttr {
#ifndef XML_WITHOUT_CORBA
void *_private; /* for Corba, must be first ! */
void *vepv; /* for Corba, must be next ! */
#endif
xmlElementType type; /* XML_ATTRIBUTE_NODE, must be third ! */
struct xmlNode *node; /* attr->node link */
struct xmlAttr *next; /* attribute list link */
const xmlChar *name; /* the name of the property */
struct xmlNode *val; /* the value of the property */
xmlNs *ns; /* pointer to the associated namespace */
} xmlAttr;
typedef xmlAttr *xmlAttrPtr;
struct _xmlNode *node; /* attr->node link */
struct _xmlAttr *next; /* attribute list link */
const xmlChar *name; /* the name of the property */
struct _xmlNode *val; /* the value of the property */
xmlNs *ns; /* pointer to the associated namespace */
};
/*
* An XML ID instance.
*/
typedef struct xmlID {
struct xmlID *next; /* next ID */
typedef struct _xmlID xmlID;
typedef xmlID *xmlIDPtr;
struct _xmlID {
struct _xmlID *next; /* next ID */
const xmlChar *value; /* The ID name */
xmlAttrPtr attr; /* The attribut holding it */
} xmlID;
typedef xmlID *xmlIDPtr;
};
/*
* An XML IDREF instance.
*/
typedef struct xmlRef {
struct xmlRef *next; /* next Ref */
typedef struct _xmlRef xmlRef;
typedef xmlRef *xmlRefPtr;
struct _xmlRef {
struct _xmlRef *next; /* next Ref */
const xmlChar *value; /* The Ref name */
xmlAttrPtr attr; /* The attribut holding it */
} xmlRef;
typedef xmlRef *xmlRefPtr;
};
/*
* A buffer structure
@ -239,31 +249,33 @@ typedef enum {
XML_BUFFER_ALLOC_EXACT
} xmlBufferAllocationScheme;
typedef struct xmlBuffer {
typedef struct _xmlBuffer xmlBuffer;
typedef xmlBuffer *xmlBufferPtr;
struct _xmlBuffer {
xmlChar *content; /* The buffer content UTF8 */
unsigned int use; /* The buffer size used */
unsigned int size; /* The buffer size */
xmlBufferAllocationScheme alloc; /* The realloc method */
} _xmlBuffer;
typedef _xmlBuffer xmlBuffer;
typedef xmlBuffer *xmlBufferPtr;
};
/*
* A node in an XML tree.
*/
typedef struct xmlNode {
typedef struct _xmlNode xmlNode;
typedef xmlNode *xmlNodePtr;
struct _xmlNode {
#ifndef XML_WITHOUT_CORBA
void *_private; /* for Corba, must be first ! */
void *vepv; /* for Corba, must be next ! */
#endif
xmlElementType type; /* type number in the DTD, must be third ! */
struct xmlDoc *doc; /* the containing document */
struct xmlNode *parent; /* child->parent link */
struct xmlNode *next; /* next sibling link */
struct xmlNode *prev; /* previous sibling link */
struct xmlNode *childs; /* parent->childs link */
struct xmlNode *last; /* last child link */
struct xmlAttr *properties; /* properties list */
struct _xmlDoc *doc; /* the containing document */
struct _xmlNode *parent; /* child->parent link */
struct _xmlNode *next; /* next sibling link */
struct _xmlNode *prev; /* previous sibling link */
struct _xmlNode *childs; /* parent->childs link */
struct _xmlNode *last; /* last child link */
struct _xmlAttr *properties;/* properties list */
const xmlChar *name; /* the name of the node, or the entity */
xmlNs *ns; /* pointer to the associated namespace */
xmlNs *nsDef; /* namespace definitions on this node */
@ -272,14 +284,14 @@ typedef struct xmlNode {
#else
xmlBufferPtr content; /* the content in a buffer */
#endif
} _xmlNode;
typedef _xmlNode xmlNode;
typedef _xmlNode *xmlNodePtr;
};
/*
* An XML document.
*/
typedef struct xmlDoc {
typedef struct _xmlDoc xmlDoc;
typedef xmlDoc *xmlDocPtr;
struct _xmlDoc {
#ifndef XML_WITHOUT_CORBA
void *_private; /* for Corba, must be first ! */
void *vepv; /* for Corba, must be next ! */
@ -290,15 +302,13 @@ typedef struct xmlDoc {
const xmlChar *encoding; /* encoding, if any */
int compression;/* level of zlib compression */
int standalone; /* standalone document (no external refs) */
struct xmlDtd *intSubset; /* the document internal subset */
struct xmlDtd *extSubset; /* the document external subset */
struct xmlNs *oldNs; /* Global namespace, the old way */
struct xmlNode *root; /* the document tree */
struct _xmlDtd *intSubset; /* the document internal subset */
struct _xmlDtd *extSubset; /* the document external subset */
struct _xmlNs *oldNs; /* Global namespace, the old way */
struct _xmlNode *root; /* the document tree */
void *ids; /* Hash table for ID attributes if any */
void *refs; /* Hash table for IDREFs attributes if any */
} _xmlDoc;
typedef _xmlDoc xmlDoc;
typedef xmlDoc *xmlDocPtr;
};
/*
* Variables.

View File

@ -23,11 +23,13 @@ extern "C" {
typedef void (*xmlValidityErrorFunc) (void *ctx, const char *msg, ...);
typedef void (*xmlValidityWarningFunc) (void *ctx, const char *msg, ...);
typedef struct xmlValidCtxt {
typedef struct _xmlValidCtxt xmlValidCtxt;
typedef xmlValidCtxt *xmlValidCtxtPtr;
struct _xmlValidCtxt {
void *userData; /* user specific data block */
xmlValidityErrorFunc error; /* the callback in case of errors */
xmlValidityWarningFunc warning; /* the callback in case of warning */
} xmlValidCtxt, *xmlValidCtxtPtr;
};
/*
* ALl notation declarations are stored in a table
@ -36,12 +38,13 @@ typedef struct xmlValidCtxt {
#define XML_MIN_NOTATION_TABLE 32
typedef struct xmlNotationTable {
typedef struct _xmlNotationTable xmlNotationTable;
typedef xmlNotationTable *xmlNotationTablePtr;
struct _xmlNotationTable {
int nb_notations; /* number of notations stored */
int max_notations; /* maximum number of notations */
xmlNotationPtr *table; /* the table of attributes */
} xmlNotationTable;
typedef xmlNotationTable *xmlNotationTablePtr;
};
/*
* ALl element declarations are stored in a table
@ -50,12 +53,13 @@ typedef xmlNotationTable *xmlNotationTablePtr;
#define XML_MIN_ELEMENT_TABLE 32
typedef struct xmlElementTable {
typedef struct _xmlElementTable xmlElementTable;
typedef xmlElementTable *xmlElementTablePtr;
struct _xmlElementTable {
int nb_elements; /* number of elements stored */
int max_elements; /* maximum number of elements */
xmlElementPtr *table; /* the table of elements */
} xmlElementTable;
typedef xmlElementTable *xmlElementTablePtr;
};
/*
* ALl attribute declarations are stored in a table
@ -64,12 +68,13 @@ typedef xmlElementTable *xmlElementTablePtr;
#define XML_MIN_ATTRIBUTE_TABLE 32
typedef struct xmlAttributeTable {
typedef struct _xmlAttributeTable xmlAttributeTable;
typedef xmlAttributeTable *xmlAttributeTablePtr;
struct _xmlAttributeTable {
int nb_attributes; /* number of attributes stored */
int max_attributes; /* maximum number of attributes */
xmlAttributePtr *table; /* the table of attributes */
} xmlAttributeTable;
typedef xmlAttributeTable *xmlAttributeTablePtr;
};
/*
* ALl IDs attributes are stored in a table
@ -78,12 +83,13 @@ typedef xmlAttributeTable *xmlAttributeTablePtr;
#define XML_MIN_ID_TABLE 32
typedef struct xmlIDTable {
typedef struct _xmlIDTable xmlIDTable;
typedef xmlIDTable *xmlIDTablePtr;
struct _xmlIDTable {
int nb_ids; /* number of ids stored */
int max_ids; /* maximum number of ids */
xmlIDPtr *table; /* the table of ids */
} xmlIDTable;
typedef xmlIDTable *xmlIDTablePtr;
};
/*
* ALl Refs attributes are stored in a table
@ -92,12 +98,13 @@ typedef xmlIDTable *xmlIDTablePtr;
#define XML_MIN_REF_TABLE 32
typedef struct xmlRefTable {
typedef struct _xmlRefTable xmlRefTable;
typedef xmlRefTable *xmlRefTablePtr;
struct _xmlRefTable {
int nb_refs; /* number of refs stored */
int max_refs; /* maximum number of refs */
xmlRefPtr *table; /* the table of refs */
} xmlRefTable;
typedef xmlRefTable *xmlRefTablePtr;
};
/* Notation */
xmlNotationPtr xmlAddNotationDecl (xmlValidCtxtPtr ctxt,
@ -158,6 +165,7 @@ xmlAttrPtr xmlGetID (xmlDocPtr doc,
int xmlIsID (xmlDocPtr doc,
xmlNodePtr elem,
xmlAttrPtr attr);
int xmlRemoveID (xmlDocPtr doc, xmlAttrPtr attr);
/* IDREFs */
xmlRefPtr xmlAddRef (xmlValidCtxtPtr ctxt,
@ -169,6 +177,7 @@ void xmlFreeRefTable (xmlRefTablePtr table);
int xmlIsRef (xmlDocPtr doc,
xmlNodePtr elem,
xmlAttrPtr attr);
int xmlRemoveRef (xmlDocPtr doc, xmlAttrPtr attr);
/**
* The public function calls related to validity checking

View File

@ -148,12 +148,13 @@ typedef void
* There is no default xlink callbacks, if one want to get link
* recognition activated, those call backs must be provided before parsing.
*/
typedef struct xlinkHandler {
typedef struct _xlinkHandler xlinkHandler;
typedef xlinkHandler *xlinkHandlerPtr;
struct _xlinkHandler {
xlinkSimpleLinkFunk simple;
xlinkExtendedLinkFunk extended;
xlinkExtendedLinkSetFunk set;
} xlinkHandler;
typedef xlinkHandler *xlinkHandlerPtr;
};
/**
* the default detection routine, can be overriden, they call the default

View File

@ -18,7 +18,9 @@
extern "C" {
#endif
typedef struct xmlParserInputBuffer {
typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
struct _xmlParserInputBuffer {
/* Inputs */
FILE *file; /* Input on file handler */
void* gzfile; /* Input on a compressed stream */
@ -29,9 +31,8 @@ typedef struct xmlParserInputBuffer {
xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 */
} xmlParserInputBuffer;
};
typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
/*
* Interfaces

View File

@ -18,16 +18,21 @@
extern "C" {
#endif
typedef struct xmlXPathParserContext *xmlXPathParserContextPtr;
typedef struct _xmlXPathContext xmlXPathContext;
typedef xmlXPathContext *xmlXPathContextPtr;
typedef struct _xmlXPathParserContext xmlXPathParserContext;
typedef xmlXPathParserContext *xmlXPathParserContextPtr;
/*
* A node-set (an unordered collection of nodes without duplicates)
*/
typedef struct xmlNodeSet {
typedef struct _xmlNodeSet xmlNodeSet;
typedef xmlNodeSet *xmlNodeSetPtr;
struct _xmlNodeSet {
int nodeNr; /* # of node in the set */
int nodeMax; /* allocated space */
xmlNodePtr *nodeTab; /* array of nodes in no particular order */
} xmlNodeSet, *xmlNodeSetPtr;
};
/*
* An expression is evaluated to yield an object, which
@ -45,14 +50,16 @@ typedef struct xmlNodeSet {
#define XPATH_STRING 4
#define XPATH_USERS 5
typedef struct xmlXPathObject {
typedef struct _xmlXPathObject xmlXPathObject;
typedef xmlXPathObject *xmlXPathObjectPtr;
struct _xmlXPathObject {
int type;
xmlNodeSetPtr nodesetval;
int boolval;
double floatval;
xmlChar *stringval;
void *user;
} xmlXPathObject, *xmlXPathObjectPtr;
};
/*
* A conversion function is associated to a type and used to cast
@ -64,19 +71,23 @@ typedef int (*xmlXPathConvertFunc) (xmlXPathObjectPtr obj, int type);
* Extra type: a name and a conversion function.
*/
typedef struct xmlXPathType {
typedef struct _xmlXPathType xmlXPathType;
typedef xmlXPathType *xmlXPathTypePtr;
struct _xmlXPathType {
const xmlChar *name; /* the type name */
xmlXPathConvertFunc func; /* the conversion function */
} xmlXPathType, *xmlXPathTypePtr;
};
/*
* Extra variable: a name and a value.
*/
typedef struct xmlXPathVariable {
typedef struct _xmlXPathVariable xmlXPathVariable;
typedef xmlXPathVariable *xmlXPathVariablePtr;
struct _xmlXPathVariable {
const xmlChar *name; /* the variable name */
xmlXPathObjectPtr value; /* the value */
} xmlXPathVariable, *xmlXPathVariablePtr;
};
/*
* an evaluation function, the parameters are on the context stack
@ -88,10 +99,12 @@ typedef void (*xmlXPathEvalFunc)(xmlXPathParserContextPtr ctxt, int nargs);
* Extra function: a name and a evaluation function.
*/
typedef struct xmlXPathFunct {
typedef struct _xmlXPathFunct xmlXPathFunct;
typedef xmlXPathFunct *xmlXPathFuncPtr;
struct _xmlXPathFunct {
const xmlChar *name; /* the function name */
xmlXPathEvalFunc func; /* the evaluation function */
} xmlXPathFunc, *xmlXPathFuncPtr;
};
/*
* An axis traversal function. To traverse an axis, the engine calls
@ -106,10 +119,12 @@ typedef xmlXPathObjectPtr (*xmlXPathAxisFunc) (xmlXPathParserContextPtr ctxt,
* Extra axis: a name and an axis function.
*/
typedef struct xmlXPathAxis {
typedef struct _xmlXPathAxis xmlXPathAxis;
typedef xmlXPathAxis *xmlXPathAxisPtr;
struct _xmlXPathAxis {
const xmlChar *name; /* the axis name */
xmlXPathAxisFunc func; /* the search function */
} xmlXPathAxis, *xmlXPathAxisPtr;
};
/*
* Expression evaluation occurs with respect to a context.
@ -121,7 +136,7 @@ typedef struct xmlXPathAxis {
* - the set of namespace declarations in scope for the expression
*/
typedef struct xmlXPathContext {
struct _xmlXPathContext {
xmlDocPtr doc; /* The current document */
xmlNodePtr node; /* The current node */
xmlNodeSetPtr nodelist; /* The current node list */
@ -146,13 +161,13 @@ typedef struct xmlXPathContext {
xmlNsPtr *namespaces; /* The namespaces lookup */
int nsNr; /* the current Namespace index */
void *user; /* user defined extra info */
} xmlXPathContext, *xmlXPathContextPtr;
};
/*
* An XPath parser context, it contains pure parsing informations,
* an xmlXPathContext, and the stack of objects.
*/
typedef struct xmlXPathParserContext {
struct _xmlXPathParserContext {
const xmlChar *cur; /* the current char being parsed */
const xmlChar *base; /* the full expression */
@ -163,7 +178,7 @@ typedef struct xmlXPathParserContext {
int valueNr; /* number of values stacked */
int valueMax; /* max number of values stacked */
xmlXPathObjectPtr *valueTab; /* stack of values */
} xmlXPathParserContext;
};
/*
* An XPath function

View File

@ -4832,14 +4832,29 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
/*
* Skip up to the end of the conditionnal section.
*/
while ((CUR != 0) && ((CUR != ']') || (NXT(1) != ']') || (NXT(2) != '>')))
while ((CUR != 0) && ((CUR != ']') || (NXT(1) != ']') || (NXT(2) != '>'))) {
NEXT;
/*
* Pop-up of finished entities.
*/
while ((CUR == 0) && (ctxt->inputNr > 1))
xmlPopInput(ctxt);
if (CUR == 0)
GROW;
}
if (CUR == 0)
SHRINK;
if (CUR == 0) {
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"XML conditional section not closed\n");
ctxt->errNo = XML_ERR_CONDSEC_NOT_FINISHED;
ctxt->wellFormed = 0;
} else {
SKIP(3);
}
}
@ -7013,15 +7028,16 @@ xmlParseLookupSequence(xmlParserCtxtPtr ctxt, xmlChar first,
}
/**
* xmlParseTry:
* xmlParseTryOrFinish:
* @ctxt: an XML parser context
* @terminate: last chunk indicator
*
* Try to progress on parsing
*
* Returns zero if no parsing was possible
*/
int
xmlParseTry(xmlParserCtxtPtr ctxt) {
xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
int ret = 0;
xmlParserInputPtr in;
int avail;
@ -7128,7 +7144,8 @@ xmlParseTry(xmlParserCtxtPtr ctxt) {
if ((cur == '<') && (next == '?')) {
/* PI or XML decl */
if (avail < 5) return(ret);
if (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0)
if ((!terminate) &&
(xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
return(ret);
if ((ctxt->sax) && (ctxt->sax->setDocumentLocator))
ctxt->sax->setDocumentLocator(ctxt->userData,
@ -7181,7 +7198,8 @@ xmlParseTry(xmlParserCtxtPtr ctxt) {
cur = in->cur[0];
next = in->cur[1];
if ((cur == '<') && (next == '?')) {
if (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0)
if ((!terminate) &&
(xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "PP: Parsing PI\n");
@ -7189,7 +7207,8 @@ xmlParseTry(xmlParserCtxtPtr ctxt) {
xmlParsePI(ctxt);
} else if ((cur == '<') && (next == '!') &&
(in->cur[2] == '-') && (in->cur[3] == '-')) {
if (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0)
if ((!terminate) &&
(xmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "PP: Parsing Comment\n");
@ -7201,7 +7220,8 @@ xmlParseTry(xmlParserCtxtPtr ctxt) {
(in->cur[4] == 'C') && (in->cur[5] == 'T') &&
(in->cur[6] == 'Y') && (in->cur[7] == 'P') &&
(in->cur[8] == 'E')) {
if (xmlParseLookupSequence(ctxt, '>', 0, 0) < 0)
if ((!terminate) &&
(xmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "PP: Parsing internal subset\n");
@ -7239,7 +7259,8 @@ xmlParseTry(xmlParserCtxtPtr ctxt) {
cur = in->cur[0];
next = in->cur[1];
if ((cur == '<') && (next == '?')) {
if (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0)
if ((!terminate) &&
(xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "PP: Parsing PI\n");
@ -7247,7 +7268,8 @@ xmlParseTry(xmlParserCtxtPtr ctxt) {
xmlParsePI(ctxt);
} else if ((cur == '<') && (next == '!') &&
(in->cur[2] == '-') && (in->cur[3] == '-')) {
if (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0)
if ((!terminate) &&
(xmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "PP: Parsing Comment\n");
@ -7275,7 +7297,8 @@ xmlParseTry(xmlParserCtxtPtr ctxt) {
cur = in->cur[0];
next = in->cur[1];
if ((cur == '<') && (next == '?')) {
if (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0)
if ((!terminate) &&
(xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "PP: Parsing PI\n");
@ -7284,7 +7307,8 @@ xmlParseTry(xmlParserCtxtPtr ctxt) {
ctxt->instate = XML_PARSER_EPILOG;
} else if ((cur == '<') && (next == '!') &&
(in->cur[2] == '-') && (in->cur[3] == '-')) {
if (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0)
if ((!terminate) &&
(xmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "PP: Parsing Comment\n");
@ -7329,7 +7353,8 @@ xmlParseTry(xmlParserCtxtPtr ctxt) {
ctxt->sax->endDocument(ctxt->userData);
goto done;
}
if (xmlParseLookupSequence(ctxt, '>', 0, 0) < 0)
if ((!terminate) &&
(xmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
goto done;
name = xmlParseStartTag(ctxt);
if (name == NULL) {
@ -7426,7 +7451,8 @@ xmlParseTry(xmlParserCtxtPtr ctxt) {
cur = in->cur[0];
next = in->cur[1];
if ((cur == '<') && (next == '?')) {
if (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0)
if ((!terminate) &&
(xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "PP: Parsing PI\n");
@ -7434,7 +7460,8 @@ xmlParseTry(xmlParserCtxtPtr ctxt) {
xmlParsePI(ctxt);
} else if ((cur == '<') && (next == '!') &&
(in->cur[2] == '-') && (in->cur[3] == '-')) {
if (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0)
if ((!terminate) &&
(xmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "PP: Parsing Comment\n");
@ -7468,7 +7495,8 @@ xmlParseTry(xmlParserCtxtPtr ctxt) {
#endif
break;
} else if (cur == '&') {
if (xmlParseLookupSequence(ctxt, ';', 0, 0) < 0)
if ((!terminate) &&
(xmlParseLookupSequence(ctxt, ';', 0, 0) < 0))
goto done;
#ifdef DEBUG_PUSH
fprintf(stderr, "PP: Parsing Reference\n");
@ -7490,7 +7518,8 @@ xmlParseTry(xmlParserCtxtPtr ctxt) {
*/
if ((ctxt->inputNr == 1) &&
(avail < XML_PARSER_BIG_BUFFER_SIZE)) {
if (xmlParseLookupSequence(ctxt, '<', 0, 0) < 0)
if ((!terminate) &&
(xmlParseLookupSequence(ctxt, '<', 0, 0) < 0))
goto done;
}
ctxt->checkIndex = 0;
@ -7543,7 +7572,8 @@ xmlParseTry(xmlParserCtxtPtr ctxt) {
case XML_PARSER_END_TAG:
if (avail < 2)
goto done;
if (xmlParseLookupSequence(ctxt, '>', 0, 0) < 0)
if ((!terminate) &&
(xmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
goto done;
xmlParseEndTag(ctxt);
if (ctxt->name == NULL) {
@ -7671,6 +7701,19 @@ done:
return(ret);
}
/**
* xmlParseTry:
* @ctxt: an XML parser context
*
* Try to progress on parsing
*
* Returns zero if no parsing was possible
*/
int
xmlParseTry(xmlParserCtxtPtr ctxt) {
return(xmlParseTryOrFinish(ctxt, 0));
}
/**
* xmlParseChunk:
* @ctxt: an XML parser context
@ -7697,9 +7740,9 @@ xmlParseChunk(xmlParserCtxtPtr ctxt, const char *chunk, int size,
fprintf(stderr, "PP: pushed %d\n", size);
#endif
xmlParseTry(ctxt);
xmlParseTryOrFinish(ctxt, terminate);
} else if (ctxt->instate != XML_PARSER_EOF)
xmlParseTry(ctxt);
xmlParseTryOrFinish(ctxt, terminate);
if (terminate) {
if ((ctxt->instate != XML_PARSER_EOF) &&
(ctxt->instate != XML_PARSER_EPILOG)) {

View File

@ -34,7 +34,9 @@ extern "C" {
*/
typedef void (* xmlParserInputDeallocate)(xmlChar *);
typedef struct xmlParserInput {
typedef struct _xmlParserInput xmlParserInput;
typedef xmlParserInput *xmlParserInputPtr;
struct _xmlParserInput {
/* Input buffer */
xmlParserInputBufferPtr buf; /* UTF-8 encoded buffer */
@ -47,35 +49,36 @@ typedef struct xmlParserInput {
int col; /* Current column */
int consumed; /* How many xmlChars already consumed */
xmlParserInputDeallocate free; /* function to deallocate the base */
} xmlParserInput;
typedef xmlParserInput *xmlParserInputPtr;
};
/**
* the parser can be asked to collect Node informations, i.e. at what
* place in the file they were detected.
* NOTE: This is off by default and not very well tested.
*/
typedef struct _xmlParserNodeInfo {
const struct xmlNode* node;
typedef struct _xmlParserNodeInfo xmlParserNodeInfo;
typedef xmlParserNodeInfo *xmlParserNodeInfoPtr;
struct _xmlParserNodeInfo {
const struct _xmlNode* node;
/* Position & line # that text that created the node begins & ends on */
unsigned long begin_pos;
unsigned long begin_line;
unsigned long end_pos;
unsigned long end_line;
} _xmlParserNodeInfo;
typedef _xmlParserNodeInfo xmlParserNodeInfo;
};
typedef struct xmlParserNodeInfoSeq {
typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
struct _xmlParserNodeInfoSeq {
unsigned long maximum;
unsigned long length;
xmlParserNodeInfo* buffer;
} _xmlParserNodeInfoSeq;
typedef _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
};
/**
* The parser is not (yet) a state based parser, but we need to maintain
* minimum state informations, especially for entities processing.
* The parser is now working also as a state based parser
* The recursive one use the stagte info for entities processing
*/
typedef enum {
XML_PARSER_EOF = -1, /* nothing is to be parsed */
@ -105,8 +108,10 @@ typedef enum {
* takes as the only argument the parser context pointer, so migrating
* to a state based parser for progressive parsing shouldn't be too hard.
*/
typedef struct _xmlParserCtxt {
struct xmlSAXHandler *sax; /* The SAX handler */
typedef struct _xmlParserCtxt xmlParserCtxt;
typedef xmlParserCtxt *xmlParserCtxtPtr;
struct _xmlParserCtxt {
struct _xmlSAXHandler *sax; /* The SAX handler */
void *userData; /* the document being built */
xmlDocPtr myDoc; /* the document being built */
int wellFormed; /* is the document well formed */
@ -154,21 +159,19 @@ typedef struct _xmlParserCtxt {
long nbChars; /* number of xmlChar processed */
long checkIndex; /* used by progressive parsing lookup */
} _xmlParserCtxt;
typedef _xmlParserCtxt xmlParserCtxt;
typedef xmlParserCtxt *xmlParserCtxtPtr;
};
/**
* a SAX Locator.
*/
typedef struct xmlSAXLocator {
typedef struct _xmlSAXLocator xmlSAXLocator;
typedef xmlSAXLocator *xmlSAXLocatorPtr;
struct _xmlSAXLocator {
const xmlChar *(*getPublicId)(void *ctx);
const xmlChar *(*getSystemId)(void *ctx);
int (*getLineNumber)(void *ctx);
int (*getColumnNumber)(void *ctx);
} _xmlSAXLocator;
typedef _xmlSAXLocator xmlSAXLocator;
typedef xmlSAXLocator *xmlSAXLocatorPtr;
};
/**
* a SAX handler is bunch of callbacks called by the parser when processing
@ -221,7 +224,9 @@ typedef int (*isStandaloneSAXFunc) (void *ctx);
typedef int (*hasInternalSubsetSAXFunc) (void *ctx);
typedef int (*hasExternalSubsetSAXFunc) (void *ctx);
typedef struct xmlSAXHandler {
typedef struct _xmlSAXHandler xmlSAXHandler;
typedef xmlSAXHandler *xmlSAXHandlerPtr;
struct _xmlSAXHandler {
internalSubsetSAXFunc internalSubset;
isStandaloneSAXFunc isStandalone;
hasInternalSubsetSAXFunc hasInternalSubset;
@ -248,8 +253,7 @@ typedef struct xmlSAXHandler {
fatalErrorSAXFunc fatalError;
getParameterEntitySAXFunc getParameterEntity;
cdataBlockSAXFunc cdataBlock;
} xmlSAXHandler;
typedef xmlSAXHandler *xmlSAXHandlerPtr;
};
/**
* External entity loaders types

View File

@ -94,7 +94,7 @@ Extensions, see the Server Extensions Resource Kit Update at: <a href="http://of
<h3><a name="kb">Microsoft Knowledge Base</a></h3>
<p>For further technical information on FrontPage, please consult Support Online. Use Support
Online to easily search Microsoft Product Support Services' collection of resources including
technical articles from Microsoft's extensive Knowledge Base, FAQs, troubleshooters to find
technical articles from Microsoft's extensive Knowledge Base, FAQs, &amp; troubleshooters to find
fast, accurate answers. You can also customize the site to control your search using either
keywords or the site's natural language search engine, which uses normal everyday language for
answering inquiries, so you can write your question in your own words. To begin, go to

View File

@ -3,7 +3,7 @@
<head><title>Top Stories News from Wired News</title></head>
<body bgcolor="#FFFFFF" text="#000000" link="#333399" vlink="#660066" alink="#666699">
<table border="0" width="600" cellspacing="0" cellpadding="0"><tr>
<td valign="top" align="LEFT"><table BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="468" HEIGHT="60" BGCOLOR="#FFFFFF"><form METHOD="GET" ACTION="http://nsads.hotwired.com/event.ng/Type=click&ProfileID=9688&RunID=14074&AdID=22584&GroupID=1&FamilyID=2684&TagValues=8.25.156.159.166.171.172.174.179.180.181.182.183.196.197.199.208.389.412.436.2041.6750.78456.79630.81880&amp;Redirect=http://www.springstreet.com/aa/citysearch.htm" id="form1" name="form1">
<td valign="top" align="LEFT"><table BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="468" HEIGHT="60" BGCOLOR="#FFFFFF"><form METHOD="GET" ACTION="http://nsads.hotwired.com/event.ng/Type=click&amp;ProfileID=9688&amp;RunID=14074&amp;AdID=22584&amp;GroupID=1&amp;FamilyID=2684&amp;TagValues=8.25.156.159.166.171.172.174.179.180.181.182.183.196.197.199.208.389.412.436.2041.6750.78456.79630.81880&amp;Redirect=http://www.springstreet.com/aa/citysearch.htm" id="form1" name="form1">
<tr>
<td BGCOLOR="#330099"><input NAME="city" TYPE="text" SIZE="7" MAXLENGTH="20" VALUE="Seattle"></td>
<td ROWSPAN="2" ALIGN="LEFT" BGCOLOR="FFFFFF"><input TYPE="IMAGE" SRC="http://static.wired.com/advertising/blipverts/allapartments/990625jpa_ssthome.gif" WIDTH="375" HEIGHT="60" BORDER="0" VALUE="search" HSPACE="0" alt="Search over 6,000,000 Apts with SpringStreet"></td>
@ -66,7 +66,7 @@
<input TYPE="hidden" NAME="source" VALUE="2hb8bhc059">
</td></tr>
</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>
<td valign="top" align="RIGHT"><a href="http://nsads.hotwired.com/event.ng/Type=click&amp;ProfileID=5597&amp;RunID=17167&amp;AdID=22588&amp;GroupID=1&amp;FamilyID=3228&amp;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>
<table border="0" width="600" cellspacing="0" cellpadding="0">
@ -89,15 +89,15 @@
<td colspan="2" bgcolor="#999999"><table border="0" cellspacing="0" cellpadding="5"><form name="RedirectSearch" action="http://redirect.wired.com/search"><tr>
<td><font face="courier" size="1"><input type="TEXT" name="query" size="20" value=""></font></td>
<td><select name="url">
<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=vignette.hts&Collection=vignette&QueryMode=Internet&Query=">Wired News</option>
<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=webmonkey.hts&Collection=webmonkey&QueryMode=Internet&Query=">Webmonkey</option>
<option value="http://search.hotwired.com/search97/s97.vts?collection=webmonkey_guides&Action=FilterSearch&filter=docs_filter.hts&ResultTemplate=webmonkey_guides.hts&QueryMode=Internet&Query=">Webmonkey Guides</option>
<option value="http://search.hotwired.com/search97/s97.vts?collection=hotwired&Action=FilterSearch&filter=docs_filter.hts&ResultTemplate=hotwired_archive.hts&QueryMode=Internet&Query=">HotWired Archives</option>
<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=magazine.hts&Collection=magazine&QueryMode=Internet&Query=">Wired Magazine</option>
<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=animation.hts&Collection=animation&QueryMode=Internet&Query=">Animation Express</option>
<option value="http://search.hotwired.com/search97/s97.vts?collection=suck&Action=FilterSearch&filter=docs_filter.hts&ResultTemplate=suck.hts&QueryMode=Internet&Query=">Suck.com</option>
<option value="http://search.hotwired.com/search97/s97.vts?collection=uber_hotwired&Action=FilterSearch&filter=docs_filter.hts&ResultTemplate=uber_hotwired.hts&QueryMode=Internet&Query=">All of HotWired</option>
<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>
<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&amp;Filter=docs_filter.hts&amp;ResultTemplate=vignette.hts&amp;Collection=vignette&amp;QueryMode=Internet&amp;Query=">Wired News</option>
<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&amp;Filter=docs_filter.hts&amp;ResultTemplate=webmonkey.hts&amp;Collection=webmonkey&amp;QueryMode=Internet&amp;Query=">Webmonkey</option>
<option value="http://search.hotwired.com/search97/s97.vts?collection=webmonkey_guides&amp;Action=FilterSearch&amp;filter=docs_filter.hts&amp;ResultTemplate=webmonkey_guides.hts&amp;QueryMode=Internet&amp;Query=">Webmonkey Guides</option>
<option value="http://search.hotwired.com/search97/s97.vts?collection=hotwired&amp;Action=FilterSearch&amp;filter=docs_filter.hts&amp;ResultTemplate=hotwired_archive.hts&amp;QueryMode=Internet&amp;Query=">HotWired Archives</option>
<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&amp;Filter=docs_filter.hts&amp;ResultTemplate=magazine.hts&amp;Collection=magazine&amp;QueryMode=Internet&amp;Query=">Wired Magazine</option>
<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&amp;Filter=docs_filter.hts&amp;ResultTemplate=animation.hts&amp;Collection=animation&amp;QueryMode=Internet&amp;Query=">Animation Express</option>
<option value="http://search.hotwired.com/search97/s97.vts?collection=suck&amp;Action=FilterSearch&amp;filter=docs_filter.hts&amp;ResultTemplate=suck.hts&amp;QueryMode=Internet&amp;Query=">Suck.com</option>
<option value="http://search.hotwired.com/search97/s97.vts?collection=uber_hotwired&amp;Action=FilterSearch&amp;filter=docs_filter.hts&amp;ResultTemplate=uber_hotwired.hts&amp;QueryMode=Internet&amp;Query=">All of HotWired</option>
<option value="http://www.hotbot.com/?SM=MC&amp;DV=0&amp;LG=any&amp;RD=RG&amp;DC=10&amp;DE=2&amp;_v=2&amp;OPs=MDRTP&amp;MT=">The Web -&gt; HotBot</option>
</select></td>
<td><input type="SUBMIT" name="SUBMIT" value="SEARCH"></td>
</tr></form></table>
@ -205,7 +205,7 @@
</form></td></tr>
<tr align="left" valign="top"><td valign="top" bgcolor="#CCFFCC">
<input type="submit" value="GO">
<img SRC="http://barnesandnoble.bfast.com/booklink/serve?sourceid=383471&is_search=Y" border="0" align="top">
<img SRC="http://barnesandnoble.bfast.com/booklink/serve?sourceid=383471&amp;is_search=Y" border="0" align="top">
<!--
<IMG SRC="http://www.wired.com/partner/bn/trackingimg/ot_wn_nav_c_bn.gif" border=0 width=1 height=1 align=top>
-->
@ -306,7 +306,7 @@ or <a href="/news/pointcast/0,1366,,00.html">PointCast</a>
<font size="1" face="Arial, Geneva, sans-serif" color="#000000">Ongoing goings-on. </font>
<br>
<br>
<font size="2" face="Arial,Helvetica, sans-serif"><b><a href="/news/commentarySection/0,1292,31926,00.html">Rants Raves</a></b></font>
<font size="2" face="Arial,Helvetica, sans-serif"><b><a href="/news/commentarySection/0,1292,31926,00.html">Rants &amp; Raves</a></b></font>
<br>
<font size="2" face="Arial, Helvetica, sans-serif">
<font size="1" face="Arial, Geneva, sans-serif" color="#000000">Readers on Apple's G4 ... AOL's passwords ... MS vs. Linux.</font>
@ -404,8 +404,8 @@ or <a href="/news/pointcast/0,1366,,00.html">PointCast</a>
<br>
<font size="1" face="Arial, Helvetica, sans-serif" color="#000000">An IS/IT resource <br>
<i>Sponsored by <a href="http://r.wired.com/r/wn_is_r_ssec/http://ad.doubleclick.net/clk;653163;3599571;s?http://www.sprintbiz.com/s
ervlet/appservlet?from=/wired/sprint/&template=/security/security.html&SITE=
wired.com&BANNER=Sprint" style="text-decoration:none"><font color="#000000">Sprint</font></a>
ervlet/appservlet?from=/wired/sprint/&amp;template=/security/security.html&amp;SITE=
wired.com&amp;BANNER=Sprint" style="text-decoration:none"><font color="#000000">Sprint</font></a>
</i>
</font>
</font>
@ -445,7 +445,7 @@ wired.com&BANNER=Sprint" style="text-decoration:none"><font color="#000000">Spri
Contruction workers in Berlin opened an old wound in the German psyche this week when they accidentally stumbled across Adolf Hitler's bunker while excavating near the Brandenburg Gate. The bunker, just south of the Gate, was where Hitler and his closest associates barricaded themselves as the Red Army approached Berlin in the waning days of World War II. It is also where the F&#252;hrer and his bride, Eva Braun, committed suicide rather than fall into the hands of the Russians. Although the bunker's location has never been a mystery, it has been sealed off since the end of the war to keep neo-Nazis from turning it into a shrine.
<br>
</p>
<li>More from <a href="http://www.lycos.com/news/flash/hitlerbunker.html?v=wn1015&lpv=1">Lycos</a>
<li>More from <a href="http://www.lycos.com/news/flash/hitlerbunker.html?v=wn1015&amp;lpv=1">Lycos</a>
</li>
</font>
<br>

6
tree.c
View File

@ -690,7 +690,7 @@ xmlNodeListGetString(xmlDocPtr doc, xmlNodePtr list, int inLine) {
while (node != NULL) {
if (node->type == XML_TEXT_NODE) {
if ((inLine) || (doc->type == XML_HTML_DOCUMENT_NODE)) {
if (inLine) {
#ifndef XML_USE_BUFFER_CONTENT
ret = xmlStrcat(ret, node->content);
#else
@ -941,6 +941,10 @@ xmlFreeProp(xmlAttrPtr cur) {
fprintf(stderr, "xmlFreeProp : property == NULL\n");
return;
}
/* Check for ID removal -> leading to invalid references ! */
if ((cur->node != NULL) &&
(xmlIsID(cur->node->doc, cur->node, cur)))
xmlRemoveID(cur->node->doc, cur);
if (cur->name != NULL) xmlFree((char *) cur->name);
if (cur->val != NULL) xmlFreeNodeList(cur->val);
memset(cur, -1, sizeof(xmlAttr));

140
tree.h
View File

@ -67,12 +67,13 @@ typedef unsigned char xmlChar;
* a DTD Notation definition
*/
typedef struct xmlNotation {
typedef struct _xmlNotation xmlNotation;
typedef xmlNotation *xmlNotationPtr;
struct _xmlNotation {
const xmlChar *name; /* Notation name */
const xmlChar *PublicID; /* Public identifier, if any */
const xmlChar *SystemID; /* System identifier, if any */
} xmlNotation;
typedef xmlNotation *xmlNotationPtr;
};
/*
* a DTD Attribute definition
@ -98,23 +99,25 @@ typedef enum {
XML_ATTRIBUTE_FIXED
} xmlAttributeDefault;
typedef struct xmlEnumeration {
struct xmlEnumeration *next; /* next one */
const xmlChar *name; /* Enumeration name */
} xmlEnumeration;
typedef struct _xmlEnumeration xmlEnumeration;
typedef xmlEnumeration *xmlEnumerationPtr;
struct _xmlEnumeration {
struct _xmlEnumeration *next; /* next one */
const xmlChar *name; /* Enumeration name */
};
typedef struct xmlAttribute {
typedef struct _xmlAttribute xmlAttribute;
typedef xmlAttribute *xmlAttributePtr;
struct _xmlAttribute {
const xmlChar *elem; /* Element holding the attribute */
const xmlChar *name; /* Attribute name */
struct xmlAttribute *next; /* list of attributes of an element */
struct _xmlAttribute *next; /* list of attributes of an element */
xmlAttributeType type; /* The type */
xmlAttributeDefault def; /* the default */
const xmlChar *defaultValue;/* or the default value */
xmlEnumerationPtr tree; /* or the enumeration tree if any */
const xmlChar *prefix; /* the namespace prefix if any */
} xmlAttribute;
typedef xmlAttribute *xmlAttributePtr;
};
/*
* a DTD Element definition.
@ -133,14 +136,15 @@ typedef enum {
XML_ELEMENT_CONTENT_PLUS
} xmlElementContentOccur;
typedef struct xmlElementContent {
typedef struct _xmlElementContent xmlElementContent;
typedef xmlElementContent *xmlElementContentPtr;
struct _xmlElementContent {
xmlElementContentType type; /* PCDATA, ELEMENT, SEQ or OR */
xmlElementContentOccur ocur; /* ONCE, OPT, MULT or PLUS */
const xmlChar *name; /* Element name */
struct xmlElementContent *c1; /* first child */
struct xmlElementContent *c2; /* second child */
} xmlElementContent;
typedef xmlElementContent *xmlElementContentPtr;
struct _xmlElementContent *c1; /* first child */
struct _xmlElementContent *c2; /* second child */
};
typedef enum {
XML_ELEMENT_TYPE_EMPTY = 1,
@ -149,13 +153,14 @@ typedef enum {
XML_ELEMENT_TYPE_ELEMENT
} xmlElementTypeVal;
typedef struct xmlElement {
typedef struct _xmlElement xmlElement;
typedef xmlElement *xmlElementPtr;
struct _xmlElement {
const xmlChar *name; /* Element name */
xmlElementTypeVal type; /* The type */
xmlElementContentPtr content; /* the allowed element content */
xmlAttributePtr attributes; /* List of the declared attributes */
} xmlElement;
typedef xmlElement *xmlElementPtr;
};
/*
* An XML namespace.
@ -168,18 +173,21 @@ typedef enum {
XML_LOCAL_NAMESPACE /* new style local scoping */
} xmlNsType;
typedef struct xmlNs {
struct xmlNs *next; /* next Ns link for this node */
typedef struct _xmlNs xmlNs;
typedef xmlNs *xmlNsPtr;
struct _xmlNs {
struct _xmlNs *next; /* next Ns link for this node */
xmlNsType type; /* global or local */
const xmlChar *href; /* URL for the namespace */
const xmlChar *prefix; /* prefix for the namespace */
} xmlNs;
typedef xmlNs *xmlNsPtr;
};
/*
* An XML DtD, as defined by <!DOCTYPE.
*/
typedef struct xmlDtd {
typedef struct _xmlDtd xmlDtd;
typedef xmlDtd *xmlDtdPtr;
struct _xmlDtd {
const xmlChar *name; /* Name of the DTD */
const xmlChar *ExternalID; /* External identifier for PUBLIC DTD */
const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC DTD */
@ -188,47 +196,49 @@ typedef struct xmlDtd {
void *attributes; /* Hash table for attributes if any */
void *entities; /* Hash table for entities if any */
/* struct xmlDtd *next; * next link for this document */
} xmlDtd;
typedef xmlDtd *xmlDtdPtr;
};
/*
* A attribute of an XML node.
*/
typedef struct xmlAttr {
typedef struct _xmlAttr xmlAttr;
typedef xmlAttr *xmlAttrPtr;
struct _xmlAttr {
#ifndef XML_WITHOUT_CORBA
void *_private; /* for Corba, must be first ! */
void *vepv; /* for Corba, must be next ! */
#endif
xmlElementType type; /* XML_ATTRIBUTE_NODE, must be third ! */
struct xmlNode *node; /* attr->node link */
struct xmlAttr *next; /* attribute list link */
const xmlChar *name; /* the name of the property */
struct xmlNode *val; /* the value of the property */
xmlNs *ns; /* pointer to the associated namespace */
} xmlAttr;
typedef xmlAttr *xmlAttrPtr;
struct _xmlNode *node; /* attr->node link */
struct _xmlAttr *next; /* attribute list link */
const xmlChar *name; /* the name of the property */
struct _xmlNode *val; /* the value of the property */
xmlNs *ns; /* pointer to the associated namespace */
};
/*
* An XML ID instance.
*/
typedef struct xmlID {
struct xmlID *next; /* next ID */
typedef struct _xmlID xmlID;
typedef xmlID *xmlIDPtr;
struct _xmlID {
struct _xmlID *next; /* next ID */
const xmlChar *value; /* The ID name */
xmlAttrPtr attr; /* The attribut holding it */
} xmlID;
typedef xmlID *xmlIDPtr;
};
/*
* An XML IDREF instance.
*/
typedef struct xmlRef {
struct xmlRef *next; /* next Ref */
typedef struct _xmlRef xmlRef;
typedef xmlRef *xmlRefPtr;
struct _xmlRef {
struct _xmlRef *next; /* next Ref */
const xmlChar *value; /* The Ref name */
xmlAttrPtr attr; /* The attribut holding it */
} xmlRef;
typedef xmlRef *xmlRefPtr;
};
/*
* A buffer structure
@ -239,31 +249,33 @@ typedef enum {
XML_BUFFER_ALLOC_EXACT
} xmlBufferAllocationScheme;
typedef struct xmlBuffer {
typedef struct _xmlBuffer xmlBuffer;
typedef xmlBuffer *xmlBufferPtr;
struct _xmlBuffer {
xmlChar *content; /* The buffer content UTF8 */
unsigned int use; /* The buffer size used */
unsigned int size; /* The buffer size */
xmlBufferAllocationScheme alloc; /* The realloc method */
} _xmlBuffer;
typedef _xmlBuffer xmlBuffer;
typedef xmlBuffer *xmlBufferPtr;
};
/*
* A node in an XML tree.
*/
typedef struct xmlNode {
typedef struct _xmlNode xmlNode;
typedef xmlNode *xmlNodePtr;
struct _xmlNode {
#ifndef XML_WITHOUT_CORBA
void *_private; /* for Corba, must be first ! */
void *vepv; /* for Corba, must be next ! */
#endif
xmlElementType type; /* type number in the DTD, must be third ! */
struct xmlDoc *doc; /* the containing document */
struct xmlNode *parent; /* child->parent link */
struct xmlNode *next; /* next sibling link */
struct xmlNode *prev; /* previous sibling link */
struct xmlNode *childs; /* parent->childs link */
struct xmlNode *last; /* last child link */
struct xmlAttr *properties; /* properties list */
struct _xmlDoc *doc; /* the containing document */
struct _xmlNode *parent; /* child->parent link */
struct _xmlNode *next; /* next sibling link */
struct _xmlNode *prev; /* previous sibling link */
struct _xmlNode *childs; /* parent->childs link */
struct _xmlNode *last; /* last child link */
struct _xmlAttr *properties;/* properties list */
const xmlChar *name; /* the name of the node, or the entity */
xmlNs *ns; /* pointer to the associated namespace */
xmlNs *nsDef; /* namespace definitions on this node */
@ -272,14 +284,14 @@ typedef struct xmlNode {
#else
xmlBufferPtr content; /* the content in a buffer */
#endif
} _xmlNode;
typedef _xmlNode xmlNode;
typedef _xmlNode *xmlNodePtr;
};
/*
* An XML document.
*/
typedef struct xmlDoc {
typedef struct _xmlDoc xmlDoc;
typedef xmlDoc *xmlDocPtr;
struct _xmlDoc {
#ifndef XML_WITHOUT_CORBA
void *_private; /* for Corba, must be first ! */
void *vepv; /* for Corba, must be next ! */
@ -290,15 +302,13 @@ typedef struct xmlDoc {
const xmlChar *encoding; /* encoding, if any */
int compression;/* level of zlib compression */
int standalone; /* standalone document (no external refs) */
struct xmlDtd *intSubset; /* the document internal subset */
struct xmlDtd *extSubset; /* the document external subset */
struct xmlNs *oldNs; /* Global namespace, the old way */
struct xmlNode *root; /* the document tree */
struct _xmlDtd *intSubset; /* the document internal subset */
struct _xmlDtd *extSubset; /* the document external subset */
struct _xmlNs *oldNs; /* Global namespace, the old way */
struct _xmlNode *root; /* the document tree */
void *ids; /* Hash table for ID attributes if any */
void *refs; /* Hash table for IDREFs attributes if any */
} _xmlDoc;
typedef _xmlDoc xmlDoc;
typedef xmlDoc *xmlDocPtr;
};
/*
* Variables.

88
valid.c
View File

@ -713,7 +713,7 @@ xmlScanAttributeDecl(xmlDtdPtr dtd, const xmlChar *elem) {
* @ctxt: the validation context
* @elem: the element name
*
* Veryfy that the element don't have too many ID attributes
* Verify that the element don't have too many ID attributes
* declared.
*
* Returns the number of ID attributes found.
@ -1504,7 +1504,7 @@ xmlFreeIDTable(xmlIDTablePtr table) {
}
/**
* xmlIsID
* xmlIsID:
* @doc: the document
* @elem: the element carrying the attribute
* @attr: the attribute
@ -1517,13 +1517,21 @@ xmlFreeIDTable(xmlIDTablePtr table) {
*/
int
xmlIsID(xmlDocPtr doc, xmlNodePtr elem, xmlAttrPtr attr) {
if (doc == NULL) return(0);
if (attr == NULL) return(0);
if ((doc->intSubset == NULL) && (doc->extSubset == NULL)) {
if (((attr->name[0] == 'I') || (attr->name[0] == 'i')) &&
((attr->name[1] == 'D') || (attr->name[1] == 'd')) &&
(attr->name[2] == 0)) return(1);
} else if (doc->type == XML_HTML_DOCUMENT_NODE) {
if ((!xmlStrcmp(BAD_CAST "id", attr->name)) ||
(!xmlStrcmp(BAD_CAST "name", attr->name)))
return(1);
return(0);
} else {
xmlAttributePtr attrDecl;
if (elem == NULL) return(0);
attrDecl = xmlGetDtdAttrDesc(doc->intSubset, elem->name, attr->name);
if ((attrDecl == NULL) && (doc->extSubset != NULL))
attrDecl = xmlGetDtdAttrDesc(doc->extSubset, elem->name,
@ -1535,6 +1543,42 @@ xmlIsID(xmlDocPtr doc, xmlNodePtr elem, xmlAttrPtr attr) {
return(0);
}
/**
* xmlRemoveID
* @doc: the document
* @attr: the attribute
*
* Remove the given attribute from the ID table maintained internally.
*
* Returns -1 if the lookup failed and 0 otherwise
*/
int
xmlRemoveID(xmlDocPtr doc, xmlAttrPtr attr) {
xmlIDPtr cur;
xmlIDTablePtr table;
int i;
if (doc == NULL) return(-1);
if (attr == NULL) return(-1);
table = doc->ids;
if (table == NULL)
return(-1);
/*
* Search the ID list.
*/
for (i = 0;i < table->nb_ids;i++) {
cur = table->table[i];
if (cur->attr == attr) {
table->nb_ids--;
memmove(&table->table[i], &table->table[i+1],
(table->nb_ids - i) * sizeof(xmlIDPtr));
return(0);
}
}
return(-1);
}
/**
* xmlGetID:
* @doc: pointer to the document
@ -1723,7 +1767,7 @@ xmlFreeRefTable(xmlRefTablePtr table) {
}
/**
* xmlIsRef
* xmlIsRef:
* @doc: the document
* @elem: the element carrying the attribute
* @attr: the attribute
@ -1757,12 +1801,48 @@ xmlIsRef(xmlDocPtr doc, xmlNodePtr elem, xmlAttrPtr attr) {
return(0);
}
/**
* xmlRemoveRef
* @doc: the document
* @attr: the attribute
*
* Remove the given attribute from the Ref table maintained internally.
*
* Returns -1 if the lookup failed and 0 otherwise
*/
int
xmlRemoveRef(xmlDocPtr doc, xmlAttrPtr attr) {
xmlRefPtr cur;
xmlRefTablePtr table;
int i;
if (doc == NULL) return(-1);
if (attr == NULL) return(-1);
table = doc->refs;
if (table == NULL)
return(-1);
/*
* Search the Ref list.
*/
for (i = 0;i < table->nb_refs;i++) {
cur = table->table[i];
if (cur->attr == attr) {
table->nb_refs--;
memmove(&table->table[i], &table->table[i+1],
(table->nb_refs - i) * sizeof(xmlRefPtr));
return(0);
}
}
return(-1);
}
/**
* xmlGetRef:
* @doc: pointer to the document
* @Ref: the Ref value
*
* Search the attribute declaring the given Ref
* Search the next attribute declaring the given Ref
*
* Returns NULL if not found, otherwise the xmlAttrPtr defining the Ref
*/

43
valid.h
View File

@ -23,11 +23,13 @@ extern "C" {
typedef void (*xmlValidityErrorFunc) (void *ctx, const char *msg, ...);
typedef void (*xmlValidityWarningFunc) (void *ctx, const char *msg, ...);
typedef struct xmlValidCtxt {
typedef struct _xmlValidCtxt xmlValidCtxt;
typedef xmlValidCtxt *xmlValidCtxtPtr;
struct _xmlValidCtxt {
void *userData; /* user specific data block */
xmlValidityErrorFunc error; /* the callback in case of errors */
xmlValidityWarningFunc warning; /* the callback in case of warning */
} xmlValidCtxt, *xmlValidCtxtPtr;
};
/*
* ALl notation declarations are stored in a table
@ -36,12 +38,13 @@ typedef struct xmlValidCtxt {
#define XML_MIN_NOTATION_TABLE 32
typedef struct xmlNotationTable {
typedef struct _xmlNotationTable xmlNotationTable;
typedef xmlNotationTable *xmlNotationTablePtr;
struct _xmlNotationTable {
int nb_notations; /* number of notations stored */
int max_notations; /* maximum number of notations */
xmlNotationPtr *table; /* the table of attributes */
} xmlNotationTable;
typedef xmlNotationTable *xmlNotationTablePtr;
};
/*
* ALl element declarations are stored in a table
@ -50,12 +53,13 @@ typedef xmlNotationTable *xmlNotationTablePtr;
#define XML_MIN_ELEMENT_TABLE 32
typedef struct xmlElementTable {
typedef struct _xmlElementTable xmlElementTable;
typedef xmlElementTable *xmlElementTablePtr;
struct _xmlElementTable {
int nb_elements; /* number of elements stored */
int max_elements; /* maximum number of elements */
xmlElementPtr *table; /* the table of elements */
} xmlElementTable;
typedef xmlElementTable *xmlElementTablePtr;
};
/*
* ALl attribute declarations are stored in a table
@ -64,12 +68,13 @@ typedef xmlElementTable *xmlElementTablePtr;
#define XML_MIN_ATTRIBUTE_TABLE 32
typedef struct xmlAttributeTable {
typedef struct _xmlAttributeTable xmlAttributeTable;
typedef xmlAttributeTable *xmlAttributeTablePtr;
struct _xmlAttributeTable {
int nb_attributes; /* number of attributes stored */
int max_attributes; /* maximum number of attributes */
xmlAttributePtr *table; /* the table of attributes */
} xmlAttributeTable;
typedef xmlAttributeTable *xmlAttributeTablePtr;
};
/*
* ALl IDs attributes are stored in a table
@ -78,12 +83,13 @@ typedef xmlAttributeTable *xmlAttributeTablePtr;
#define XML_MIN_ID_TABLE 32
typedef struct xmlIDTable {
typedef struct _xmlIDTable xmlIDTable;
typedef xmlIDTable *xmlIDTablePtr;
struct _xmlIDTable {
int nb_ids; /* number of ids stored */
int max_ids; /* maximum number of ids */
xmlIDPtr *table; /* the table of ids */
} xmlIDTable;
typedef xmlIDTable *xmlIDTablePtr;
};
/*
* ALl Refs attributes are stored in a table
@ -92,12 +98,13 @@ typedef xmlIDTable *xmlIDTablePtr;
#define XML_MIN_REF_TABLE 32
typedef struct xmlRefTable {
typedef struct _xmlRefTable xmlRefTable;
typedef xmlRefTable *xmlRefTablePtr;
struct _xmlRefTable {
int nb_refs; /* number of refs stored */
int max_refs; /* maximum number of refs */
xmlRefPtr *table; /* the table of refs */
} xmlRefTable;
typedef xmlRefTable *xmlRefTablePtr;
};
/* Notation */
xmlNotationPtr xmlAddNotationDecl (xmlValidCtxtPtr ctxt,
@ -158,6 +165,7 @@ xmlAttrPtr xmlGetID (xmlDocPtr doc,
int xmlIsID (xmlDocPtr doc,
xmlNodePtr elem,
xmlAttrPtr attr);
int xmlRemoveID (xmlDocPtr doc, xmlAttrPtr attr);
/* IDREFs */
xmlRefPtr xmlAddRef (xmlValidCtxtPtr ctxt,
@ -169,6 +177,7 @@ void xmlFreeRefTable (xmlRefTablePtr table);
int xmlIsRef (xmlDocPtr doc,
xmlNodePtr elem,
xmlAttrPtr attr);
int xmlRemoveRef (xmlDocPtr doc, xmlAttrPtr attr);
/**
* The public function calls related to validity checking

View File

@ -148,12 +148,13 @@ typedef void
* There is no default xlink callbacks, if one want to get link
* recognition activated, those call backs must be provided before parsing.
*/
typedef struct xlinkHandler {
typedef struct _xlinkHandler xlinkHandler;
typedef xlinkHandler *xlinkHandlerPtr;
struct _xlinkHandler {
xlinkSimpleLinkFunk simple;
xlinkExtendedLinkFunk extended;
xlinkExtendedLinkSetFunk set;
} xlinkHandler;
typedef xlinkHandler *xlinkHandlerPtr;
};
/**
* the default detection routine, can be overriden, they call the default

View File

@ -18,7 +18,9 @@
extern "C" {
#endif
typedef struct xmlParserInputBuffer {
typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
struct _xmlParserInputBuffer {
/* Inputs */
FILE *file; /* Input on file handler */
void* gzfile; /* Input on a compressed stream */
@ -29,9 +31,8 @@ typedef struct xmlParserInputBuffer {
xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 */
} xmlParserInputBuffer;
};
typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
/*
* Interfaces

49
xpath.h
View File

@ -18,16 +18,21 @@
extern "C" {
#endif
typedef struct xmlXPathParserContext *xmlXPathParserContextPtr;
typedef struct _xmlXPathContext xmlXPathContext;
typedef xmlXPathContext *xmlXPathContextPtr;
typedef struct _xmlXPathParserContext xmlXPathParserContext;
typedef xmlXPathParserContext *xmlXPathParserContextPtr;
/*
* A node-set (an unordered collection of nodes without duplicates)
*/
typedef struct xmlNodeSet {
typedef struct _xmlNodeSet xmlNodeSet;
typedef xmlNodeSet *xmlNodeSetPtr;
struct _xmlNodeSet {
int nodeNr; /* # of node in the set */
int nodeMax; /* allocated space */
xmlNodePtr *nodeTab; /* array of nodes in no particular order */
} xmlNodeSet, *xmlNodeSetPtr;
};
/*
* An expression is evaluated to yield an object, which
@ -45,14 +50,16 @@ typedef struct xmlNodeSet {
#define XPATH_STRING 4
#define XPATH_USERS 5
typedef struct xmlXPathObject {
typedef struct _xmlXPathObject xmlXPathObject;
typedef xmlXPathObject *xmlXPathObjectPtr;
struct _xmlXPathObject {
int type;
xmlNodeSetPtr nodesetval;
int boolval;
double floatval;
xmlChar *stringval;
void *user;
} xmlXPathObject, *xmlXPathObjectPtr;
};
/*
* A conversion function is associated to a type and used to cast
@ -64,19 +71,23 @@ typedef int (*xmlXPathConvertFunc) (xmlXPathObjectPtr obj, int type);
* Extra type: a name and a conversion function.
*/
typedef struct xmlXPathType {
typedef struct _xmlXPathType xmlXPathType;
typedef xmlXPathType *xmlXPathTypePtr;
struct _xmlXPathType {
const xmlChar *name; /* the type name */
xmlXPathConvertFunc func; /* the conversion function */
} xmlXPathType, *xmlXPathTypePtr;
};
/*
* Extra variable: a name and a value.
*/
typedef struct xmlXPathVariable {
typedef struct _xmlXPathVariable xmlXPathVariable;
typedef xmlXPathVariable *xmlXPathVariablePtr;
struct _xmlXPathVariable {
const xmlChar *name; /* the variable name */
xmlXPathObjectPtr value; /* the value */
} xmlXPathVariable, *xmlXPathVariablePtr;
};
/*
* an evaluation function, the parameters are on the context stack
@ -88,10 +99,12 @@ typedef void (*xmlXPathEvalFunc)(xmlXPathParserContextPtr ctxt, int nargs);
* Extra function: a name and a evaluation function.
*/
typedef struct xmlXPathFunct {
typedef struct _xmlXPathFunct xmlXPathFunct;
typedef xmlXPathFunct *xmlXPathFuncPtr;
struct _xmlXPathFunct {
const xmlChar *name; /* the function name */
xmlXPathEvalFunc func; /* the evaluation function */
} xmlXPathFunc, *xmlXPathFuncPtr;
};
/*
* An axis traversal function. To traverse an axis, the engine calls
@ -106,10 +119,12 @@ typedef xmlXPathObjectPtr (*xmlXPathAxisFunc) (xmlXPathParserContextPtr ctxt,
* Extra axis: a name and an axis function.
*/
typedef struct xmlXPathAxis {
typedef struct _xmlXPathAxis xmlXPathAxis;
typedef xmlXPathAxis *xmlXPathAxisPtr;
struct _xmlXPathAxis {
const xmlChar *name; /* the axis name */
xmlXPathAxisFunc func; /* the search function */
} xmlXPathAxis, *xmlXPathAxisPtr;
};
/*
* Expression evaluation occurs with respect to a context.
@ -121,7 +136,7 @@ typedef struct xmlXPathAxis {
* - the set of namespace declarations in scope for the expression
*/
typedef struct xmlXPathContext {
struct _xmlXPathContext {
xmlDocPtr doc; /* The current document */
xmlNodePtr node; /* The current node */
xmlNodeSetPtr nodelist; /* The current node list */
@ -146,13 +161,13 @@ typedef struct xmlXPathContext {
xmlNsPtr *namespaces; /* The namespaces lookup */
int nsNr; /* the current Namespace index */
void *user; /* user defined extra info */
} xmlXPathContext, *xmlXPathContextPtr;
};
/*
* An XPath parser context, it contains pure parsing informations,
* an xmlXPathContext, and the stack of objects.
*/
typedef struct xmlXPathParserContext {
struct _xmlXPathParserContext {
const xmlChar *cur; /* the current char being parsed */
const xmlChar *base; /* the full expression */
@ -163,7 +178,7 @@ typedef struct xmlXPathParserContext {
int valueNr; /* number of values stacked */
int valueMax; /* max number of values stacked */
xmlXPathObjectPtr *valueTab; /* stack of values */
} xmlXPathParserContext;
};
/*
* An XPath function