1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-07-28 00:21:53 +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> Mon Jan 3 18:29:43 CET 2000 Daniel Veillard <Daniel.Veillard@w3.org>
* configure.in, Makefile.am: link tester against readline * configure.in, Makefile.am: link tester against readline

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -5,7 +5,7 @@ AM_CONFIG_HEADER(config.h)
LIBXML_MAJOR_VERSION=1 LIBXML_MAJOR_VERSION=1
LIBXML_MINOR_VERSION=8 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=$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 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 AM_MAINTAINER_MODE
dnl Checks for libraries. dnl Checks for zlib library.
Z_LIBS= _cppflags="${CPPFLAGS}"
AC_CHECK_LIB(z, inflate, _ldflags="${LDFLAGS}"
AC_CHECK_HEADER(zlib.h,
Z_LIBS="-lz"; AC_DEFINE(HAVE_LIBZ)))
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. dnl Checks for header files.
AC_HEADER_DIRENT AC_HEADER_DIRENT
AC_HEADER_STDC AC_HEADER_STDC
AC_CHECK_HEADERS(fcntl.h unistd.h ctype.h dirent.h errno.h malloc.h) 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(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(stdlib.h sys/socket.h netinet/in.h arpa/inet.h)
AC_CHECK_HEADERS(netdb.h sys/time.h sys/select.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. dnl Checks for library functions.
AC_FUNC_STRFTIME AC_FUNC_STRFTIME
AC_CHECK_FUNCS(strdup strndup strerror snprintf) 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) AC_CHECK_FUNCS(strftime localtime)
dnl Checks for inet libraries: dnl Checks for inet libraries:
AC_CHECK_LIB(socket, socket) AC_CHECK_FUNC(gethostent, , AC_CHECK_LIB(nsl, gethostent))
AC_CHECK_LIB(inet, connect) AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
AC_CHECK_LIB(nsl, t_accept) AC_CHECK_FUNC(connect, , AC_CHECK_LIB(inet, connect))
dnl Checks for isnan in libm if not in libc dnl Checks for isnan in libm if not in libc
M_LIBS= AC_CHECK_FUNC(isnan, , AC_CHECK_LIB(m, isnan,
if test "$ac_cv_func_isnan" != "yes" [M_LIBS="-lm"; AC_DEFINE(HAVE_ISNAN)]))
then
AC_CHECK_LIB(m, isnan,
M_LIBS="-lm"; AC_DEFINE(HAVE_ISNAN))
fi
dnl Checks for isinf in libm if not in libc AC_CHECK_FUNC(isinf, , AC_CHECK_LIB(m, isinf,
if test "$ac_cv_func_isinf" != "yes" [M_LIBS="-lm"; AC_DEFINE(HAVE_ISINF)]))
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
XML_LIBDIR='-L${libdir}' XML_LIBDIR='-L${libdir}'
XML_INCLUDEDIR='-I${includedir}/gnome-xml' XML_INCLUDEDIR='-I${includedir}/gnome-xml'
@ -149,7 +157,6 @@ AC_SUBST(HTML_DIR)
AC_SUBST(HAVE_ISNAN) AC_SUBST(HAVE_ISNAN)
AC_SUBST(HAVE_ISINF) AC_SUBST(HAVE_ISINF)
AC_SUBST(Z_LIBS)
AC_SUBST(M_LIBS) AC_SUBST(M_LIBS)
AC_SUBST(RDL_LIBS) AC_SUBST(RDL_LIBS)
AC_OUTPUT(libxml.spec Makefile doc/Makefile example/Makefile xml-config win32config.h) 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 * The shell context itself
* TODO: add the defined function tables. * TODO: add the defined function tables.
*/ */
typedef struct xmlShellCtxt { typedef struct _xmlShellCtxt xmlShellCtxt;
typedef xmlShellCtxt *xmlShellCtxtPtr;
struct _xmlShellCtxt {
char *filename; char *filename;
xmlDocPtr doc; xmlDocPtr doc;
xmlNodePtr node; xmlNodePtr node;
@ -72,7 +74,7 @@ typedef struct xmlShellCtxt {
int loaded; int loaded;
FILE *output; FILE *output;
xmlShellReadlineFunc input; xmlShellReadlineFunc input;
} xmlShellCtxt, *xmlShellCtxtPtr; };
/** /**
* xmlShellCmd: * xmlShellCmd:

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -4,7 +4,7 @@
>nanohttp</TITLE >nanohttp</TITLE
><META ><META
NAME="GENERATOR" NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
REL="HOME" REL="HOME"
TITLE="Gnome XML Library Reference Manual" TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK HREF="book1.html"><LINK
@ -20,6 +20,9 @@ HREF="gnome-xml-xmlio.html"></HEAD
><BODY ><BODY
BGCOLOR="#FFFFFF" BGCOLOR="#FFFFFF"
TEXT="#000000" TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV ><DIV
CLASS="NAVHEADER" CLASS="NAVHEADER"
><TABLE ><TABLE
@ -111,19 +114,22 @@ SIZE="3"
></TABLE ></TABLE
></DIV ></DIV
><H1 ><H1
>nanohttp</H1 ><A
NAME="GNOME-XML-NANOHTTP"
>nanohttp</A
></H1
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN8772" NAME="AEN7879"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
>nanohttp &#8212; </DIV >nanohttp&nbsp;--&nbsp;</DIV
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN8775" NAME="AEN7882"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -183,7 +189,7 @@ HREF="gnome-xml-nanohttp.html#XMLNANOHTTPCLOSE"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN8785" NAME="AEN7892"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -193,14 +199,14 @@ NAME="AEN8785"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN8788" NAME="AEN7895"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8790" NAME="AEN7897"
></A ></A
><H3 ><H3
><A ><A
@ -253,7 +259,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> The URL to load</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -270,7 +276,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the filename where the content should be saved</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -287,8 +293,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> if available the Content-Type information will be >&nbsp;</TD
returned at that location</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -303,8 +308,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>-1 in case of failure, 0 incase of success. The contentType, >&nbsp;</TD
if provided must be freed by the caller</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -314,7 +318,7 @@ if provided must be freed by the caller</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8817" NAME="AEN7924"
></A ></A
><H3 ><H3
><A ><A
@ -375,7 +379,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> The URL to load</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -392,7 +396,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the HTTP method to use</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -409,7 +413,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the input string if any</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -426,7 +430,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the Content-Type information IN and OUT</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -443,7 +447,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the extra headers</TD >&nbsp;</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -453,7 +457,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8849" NAME="AEN7956"
></A ></A
><H3 ><H3
><A ><A
@ -505,7 +509,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> The URL to load</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -522,8 +526,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> if available the Content-Type information will be >&nbsp;</TD
returned at that location</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -533,7 +536,7 @@ returned at that location</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8868" NAME="AEN7975"
></A ></A
><H3 ><H3
><A ><A
@ -583,7 +586,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the HTTP context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -598,7 +601,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>the HTTP return code for the request.</TD >&nbsp;</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -608,7 +611,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8887" NAME="AEN7994"
></A ></A
><H3 ><H3
><A ><A
@ -671,7 +674,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the HTTP context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -688,7 +691,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> a buffer</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -705,7 +708,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the buffer length</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -720,8 +723,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>the number of byte read. 0 is an indication of an end of connection. >&nbsp;</TD
-1 indicates a parameter error.</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -731,7 +733,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8916" NAME="AEN8023"
></A ></A
><H3 ><H3
><A ><A
@ -783,7 +785,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the HTTP context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -800,7 +802,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the filename where the content should be saved</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -815,7 +817,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>-1 in case of failure, 0 incase of success.</TD >&nbsp;</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -825,7 +827,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8939" NAME="AEN8046"
></A ></A
><H3 ><H3
><A ><A
@ -876,7 +878,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the HTTP context</TD >&nbsp;</TD
></TR ></TR
></TABLE ></TABLE
><P ><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 >xml-error</TITLE
><META ><META
NAME="GENERATOR" NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
REL="HOME" REL="HOME"
TITLE="Gnome XML Library Reference Manual" TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK HREF="book1.html"><LINK
@ -20,6 +20,9 @@ HREF="gnome-xml-htmlparser.html"></HEAD
><BODY ><BODY
BGCOLOR="#FFFFFF" BGCOLOR="#FFFFFF"
TEXT="#000000" TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV ><DIV
CLASS="NAVHEADER" CLASS="NAVHEADER"
><TABLE ><TABLE
@ -111,19 +114,22 @@ SIZE="3"
></TABLE ></TABLE
></DIV ></DIV
><H1 ><H1
>xml-error</H1 ><A
NAME="GNOME-XML-XML-ERROR"
>xml-error</A
></H1
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN7691" NAME="AEN7032"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
>xml-error &#8212; </DIV >xml-error&nbsp;--&nbsp;</DIV
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN7694" NAME="AEN7035"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -187,7 +193,7 @@ HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN7706" NAME="AEN7047"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -197,14 +203,14 @@ NAME="AEN7706"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN7709" NAME="AEN7050"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7711" NAME="AEN7052"
></A ></A
><H3 ><H3
><A ><A
@ -341,7 +347,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7716" NAME="AEN7057"
></A ></A
><H3 ><H3
><A ><A
@ -394,7 +400,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> an XML parser context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -411,7 +417,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the message to display/transmit</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -428,7 +434,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> extra parameters for the message display</TD >&nbsp;</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -438,7 +444,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7739" NAME="AEN7080"
></A ></A
><H3 ><H3
><A ><A
@ -491,7 +497,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> an XML parser context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -508,7 +514,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the message to display/transmit</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -525,7 +531,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> extra parameters for the message display</TD >&nbsp;</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -535,7 +541,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7762" NAME="AEN7103"
></A ></A
><H3 ><H3
><A ><A
@ -588,7 +594,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> an XML parser context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -605,7 +611,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the message to display/transmit</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -622,7 +628,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> extra parameters for the message display</TD >&nbsp;</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -632,7 +638,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7785" NAME="AEN7126"
></A ></A
><H3 ><H3
><A ><A
@ -685,7 +691,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> an XML parser context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -702,7 +708,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the message to display/transmit</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -719,7 +725,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> extra parameters for the message display</TD >&nbsp;</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -729,7 +735,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7808" NAME="AEN7149"
></A ></A
><H3 ><H3
><A ><A
@ -782,7 +788,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> an xmlParserInputPtr input</TD >&nbsp;</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -792,7 +798,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7824" NAME="AEN7165"
></A ></A
><H3 ><H3
><A ><A
@ -845,7 +851,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> an xmlParserInputPtr input</TD >&nbsp;</TD
></TR ></TR
></TABLE ></TABLE
><P ><P

View File

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

View File

@ -4,7 +4,7 @@
>xpath</TITLE >xpath</TITLE
><META ><META
NAME="GENERATOR" NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
REL="HOME" REL="HOME"
TITLE="Gnome XML Library Reference Manual" TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK HREF="book1.html"><LINK
@ -20,6 +20,9 @@ HREF="gnome-xml-nanohttp.html"></HEAD
><BODY ><BODY
BGCOLOR="#FFFFFF" BGCOLOR="#FFFFFF"
TEXT="#000000" TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV ><DIV
CLASS="NAVHEADER" CLASS="NAVHEADER"
><TABLE ><TABLE
@ -111,19 +114,22 @@ SIZE="3"
></TABLE ></TABLE
></DIV ></DIV
><H1 ><H1
>xpath</H1 ><A
NAME="GNOME-XML-XPATH"
>xpath</A
></H1
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN8441" NAME="AEN7611"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
>xpath &#8212; </DIV >xpath&nbsp;--&nbsp;</DIV
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN8444" NAME="AEN7614"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -251,31 +257,7 @@ HREF="gnome-xml-tree.html#XMLCHAR"
<GTKDOCLINK <GTKDOCLINK
HREF="XMLXPATHCONTEXTPTR" HREF="XMLXPATHCONTEXTPTR"
>xmlXPathContextPtr</GTKDOCLINK >xmlXPathContextPtr</GTKDOCLINK
> ctxt); > ctxt);</PRE
<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
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -283,7 +265,7 @@ HREF="XMLNODESETPTR"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN8485" NAME="AEN7648"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -293,14 +275,14 @@ NAME="AEN8485"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN8488" NAME="AEN7651"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8490" NAME="AEN7653"
></A ></A
><H3 ><H3
><A ><A
@ -316,7 +298,7 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>#define XPATH_UNDEFINED 0</PRE >#define XPATH_UNDEFINED</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -326,7 +308,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8495" NAME="AEN7658"
></A ></A
><H3 ><H3
><A ><A
@ -342,7 +324,7 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>#define XPATH_NODESET 1</PRE >#define XPATH_NODESET</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -352,7 +334,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8500" NAME="AEN7663"
></A ></A
><H3 ><H3
><A ><A
@ -368,7 +350,7 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>#define XPATH_BOOLEAN 2</PRE >#define XPATH_BOOLEAN</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -378,7 +360,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8505" NAME="AEN7668"
></A ></A
><H3 ><H3
><A ><A
@ -394,7 +376,7 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>#define XPATH_NUMBER 3</PRE >#define XPATH_NUMBER</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -404,7 +386,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8510" NAME="AEN7673"
></A ></A
><H3 ><H3
><A ><A
@ -420,7 +402,7 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>#define XPATH_STRING 4</PRE >#define XPATH_STRING</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -430,7 +412,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8515" NAME="AEN7678"
></A ></A
><H3 ><H3
><A ><A
@ -446,7 +428,7 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>#define XPATH_USERS 5</PRE >#define XPATH_USERS</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -456,7 +438,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8520" NAME="AEN7683"
></A ></A
><H3 ><H3
><A ><A
@ -550,7 +532,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8543" NAME="AEN7706"
></A ></A
><H3 ><H3
><A ><A
@ -629,7 +611,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8562" NAME="AEN7725"
></A ></A
><H3 ><H3
><A ><A
@ -729,7 +711,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8587" NAME="AEN7750"
></A ></A
><H3 ><H3
><A ><A
@ -808,7 +790,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8606" NAME="AEN7769"
></A ></A
><H3 ><H3
><A ><A
@ -864,7 +846,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the XML document</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -879,7 +861,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>the xmlXPathContext just allocated.</TD >&nbsp;</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -889,7 +871,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8627" NAME="AEN7790"
></A ></A
><H3 ><H3
><A ><A
@ -942,7 +924,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the context to free</TD >&nbsp;</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -952,7 +934,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8643" NAME="AEN7806"
></A ></A
><H3 ><H3
><A ><A
@ -1012,7 +994,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the XPath expression</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1029,7 +1011,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the XPath context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1044,8 +1026,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>the xmlXPathObjectPtr resulting from the eveluation or NULL. >&nbsp;</TD
the caller has to free the object.</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -1055,7 +1036,7 @@ the caller has to free the object.</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8669" NAME="AEN7832"
></A ></A
><H3 ><H3
><A ><A
@ -1108,7 +1089,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the object to free</TD >&nbsp;</TD
></TR ></TR
></TABLE ></TABLE
><P ><P
@ -1118,7 +1099,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN8685" NAME="AEN7848"
></A ></A
><H3 ><H3
><A ><A
@ -1178,7 +1159,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the XPath expression</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1195,7 +1176,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the XPath context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1210,229 +1191,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>the xmlXPathObjectPtr resulting from the evaluation or NULL. >&nbsp;</TD
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
></TR ></TR
></TABLE ></TABLE
><P ><P

View File

@ -2,6 +2,7 @@
<ANCHOR id ="XML-DEFAULT-VERSION" href="gnome-xml/gnome-xml-parser.html#XML-DEFAULT-VERSION"> <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 ="XMLPARSERINPUTDEALLOCATE" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTDEALLOCATE">
<ANCHOR id ="XMLPARSERINPUTPTR" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTPTR"> <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 ="XMLPARSERNODEINFO" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFO">
<ANCHOR id ="XMLPARSERNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFOSEQ"> <ANCHOR id ="XMLPARSERNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFOSEQ">
<ANCHOR id ="XMLPARSERNODEINFOSEQPTR" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFOSEQPTR"> <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 ="HASINTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#HASINTERNALSUBSETSAXFUNC">
<ANCHOR id ="HASEXTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#HASEXTERNALSUBSETSAXFUNC"> <ANCHOR id ="HASEXTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#HASEXTERNALSUBSETSAXFUNC">
<ANCHOR id ="XMLSAXHANDLERPTR" href="gnome-xml/gnome-xml-parser.html#XMLSAXHANDLERPTR"> <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 ="XMLPARSERVERSION" href="gnome-xml/gnome-xml-parser.html#XMLPARSERVERSION">
<ANCHOR id ="XMLDEFAULTSAXLOCATOR" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXLOCATOR"> <ANCHOR id ="XMLDEFAULTSAXLOCATOR" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXLOCATOR">
<ANCHOR id ="XMLDEFAULTSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLER"> <ANCHOR id ="XMLDEFAULTSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLER">
<ANCHOR id ="HTMLDEFAULTSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLER"> <ANCHOR id ="HTMLDEFAULTSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLER">
<ANCHOR id ="XMLSUBSTITUTEENTITIESDEFAULTVALUE" href="gnome-xml/gnome-xml-parser.html#XMLSUBSTITUTEENTITIESDEFAULTVALUE"> <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 ="XMLPARSERINPUTREAD" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTREAD">
<ANCHOR id ="XMLPARSERINPUTGROW" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTGROW"> <ANCHOR id ="XMLPARSERINPUTGROW" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTGROW">
<ANCHOR id ="XMLSTRDUP" href="gnome-xml/gnome-xml-parser.html#XMLSTRDUP"> <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 ="XMLSAXPARSEFILE" href="gnome-xml/gnome-xml-parser.html#XMLSAXPARSEFILE">
<ANCHOR id ="XMLPARSEDTD" href="gnome-xml/gnome-xml-parser.html#XMLPARSEDTD"> <ANCHOR id ="XMLPARSEDTD" href="gnome-xml/gnome-xml-parser.html#XMLPARSEDTD">
<ANCHOR id ="XMLSAXPARSEDTD" href="gnome-xml/gnome-xml-parser.html#XMLSAXPARSEDTD"> <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 ="XMLINITPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLINITPARSERCTXT">
<ANCHOR id ="XMLCLEARPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCLEARPARSERCTXT"> <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 ="XMLSETUPPARSERFORBUFFER" href="gnome-xml/gnome-xml-parser.html#XMLSETUPPARSERFORBUFFER">
<ANCHOR id ="XMLCREATEDOCPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCREATEDOCPARSERCTXT"> <ANCHOR id ="XMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT">
<ANCHOR id ="XMLCREATEPUSHPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCREATEPUSHPARSERCTXT"> <ANCHOR id ="HTMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT">
<ANCHOR id ="XMLPARSECHUNK" href="gnome-xml/gnome-xml-parser.html#XMLPARSECHUNK">
<ANCHOR id ="XMLPARSERFINDNODEINFO" href="gnome-xml/gnome-xml-parser.html#XMLPARSERFINDNODEINFO"> <ANCHOR id ="XMLPARSERFINDNODEINFO" href="gnome-xml/gnome-xml-parser.html#XMLPARSERFINDNODEINFO">
<ANCHOR id ="XMLINITNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLINITNODEINFOSEQ"> <ANCHOR id ="XMLINITNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLINITNODEINFOSEQ">
<ANCHOR id ="XMLCLEARNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLCLEARNODEINFOSEQ"> <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 ="XMLATTRPTR" href="gnome-xml/gnome-xml-tree.html#XMLATTRPTR">
<ANCHOR id ="XMLIDPTR" href="gnome-xml/gnome-xml-tree.html#XMLIDPTR"> <ANCHOR id ="XMLIDPTR" href="gnome-xml/gnome-xml-tree.html#XMLIDPTR">
<ANCHOR id ="XMLREFPTR" href="gnome-xml/gnome-xml-tree.html#XMLREFPTR"> <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 ="XMLNODE" href="gnome-xml/gnome-xml-tree.html#XMLNODE">
<ANCHOR id ="XMLNODEPTR" href="gnome-xml/gnome-xml-tree.html#XMLNODEPTR"> <ANCHOR id ="XMLNODEPTR" href="gnome-xml/gnome-xml-tree.html#XMLNODEPTR">
<ANCHOR id ="XMLDOC" href="gnome-xml/gnome-xml-tree.html#XMLDOC"> <ANCHOR id ="XMLDOC" href="gnome-xml/gnome-xml-tree.html#XMLDOC">
<ANCHOR id ="XMLDOCPTR" href="gnome-xml/gnome-xml-tree.html#XMLDOCPTR"> <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 ="BASEDTD" href="gnome-xml/gnome-xml-tree.html#BASEDTD">
<ANCHOR id ="OLDXMLWDCOMPATIBILITY" href="gnome-xml/gnome-xml-tree.html#OLDXMLWDCOMPATIBILITY"> <ANCHOR id ="OLDXMLWDCOMPATIBILITY" href="gnome-xml/gnome-xml-tree.html#OLDXMLWDCOMPATIBILITY">
<ANCHOR id ="XMLINDENTTREEOUTPUT" href="gnome-xml/gnome-xml-tree.html#XMLINDENTTREEOUTPUT"> <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 ="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 ="XMLBUFFERFREE" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERFREE">
<ANCHOR id ="XMLBUFFERDUMP" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERDUMP"> <ANCHOR id ="XMLBUFFERDUMP" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERDUMP">
<ANCHOR id ="XMLBUFFERADD" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERADD"> <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 ="XMLBUFFERCCAT" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERCCAT">
<ANCHOR id ="XMLBUFFERSHRINK" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERSHRINK"> <ANCHOR id ="XMLBUFFERSHRINK" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERSHRINK">
<ANCHOR id ="XMLBUFFEREMPTY" href="gnome-xml/gnome-xml-tree.html#XMLBUFFEREMPTY"> <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 ="XMLCREATEINTSUBSET" href="gnome-xml/gnome-xml-tree.html#XMLCREATEINTSUBSET">
<ANCHOR id ="XMLNEWDTD" href="gnome-xml/gnome-xml-tree.html#XMLNEWDTD"> <ANCHOR id ="XMLNEWDTD" href="gnome-xml/gnome-xml-tree.html#XMLNEWDTD">
<ANCHOR id ="XMLFREEDTD" href="gnome-xml/gnome-xml-tree.html#XMLFREEDTD"> <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 ="XMLCOPYDTD" href="gnome-xml/gnome-xml-tree.html#XMLCOPYDTD">
<ANCHOR id ="XMLCOPYDOC" href="gnome-xml/gnome-xml-tree.html#XMLCOPYDOC"> <ANCHOR id ="XMLCOPYDOC" href="gnome-xml/gnome-xml-tree.html#XMLCOPYDOC">
<ANCHOR id ="XMLNEWDOCNODE" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCNODE"> <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 ="XMLNEWNODE" href="gnome-xml/gnome-xml-tree.html#XMLNEWNODE">
<ANCHOR id ="XMLNEWCHILD" href="gnome-xml/gnome-xml-tree.html#XMLNEWCHILD"> <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 ="XMLNEWDOCTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCTEXT">
<ANCHOR id ="XMLNEWTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNEWTEXT"> <ANCHOR id ="XMLNEWTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNEWTEXT">
<ANCHOR id ="XMLNEWPI" href="gnome-xml/gnome-xml-tree.html#XMLNEWPI"> <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 ="XMLNEWREFERENCE" href="gnome-xml/gnome-xml-tree.html#XMLNEWREFERENCE">
<ANCHOR id ="XMLCOPYNODE" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNODE"> <ANCHOR id ="XMLCOPYNODE" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNODE">
<ANCHOR id ="XMLCOPYNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNODELIST"> <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 ="XMLGETLASTCHILD" href="gnome-xml/gnome-xml-tree.html#XMLGETLASTCHILD">
<ANCHOR id ="XMLNODEISTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNODEISTEXT"> <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 ="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 ="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 ="XMLUNLINKNODE" href="gnome-xml/gnome-xml-tree.html#XMLUNLINKNODE">
<ANCHOR id ="XMLTEXTMERGE" href="gnome-xml/gnome-xml-tree.html#XMLTEXTMERGE"> <ANCHOR id ="XMLTEXTMERGE" href="gnome-xml/gnome-xml-tree.html#XMLTEXTMERGE">
<ANCHOR id ="XMLTEXTCONCAT" href="gnome-xml/gnome-xml-tree.html#XMLTEXTCONCAT"> <ANCHOR id ="XMLTEXTCONCAT" href="gnome-xml/gnome-xml-tree.html#XMLTEXTCONCAT">
<ANCHOR id ="XMLFREENODELIST" href="gnome-xml/gnome-xml-tree.html#XMLFREENODELIST"> <ANCHOR id ="XMLFREENODELIST" href="gnome-xml/gnome-xml-tree.html#XMLFREENODELIST">
<ANCHOR id ="XMLFREENODE" href="gnome-xml/gnome-xml-tree.html#XMLFREENODE"> <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 ="XMLSEARCHNS" href="gnome-xml/gnome-xml-tree.html#XMLSEARCHNS">
<ANCHOR id ="XMLSEARCHNSBYHREF" href="gnome-xml/gnome-xml-tree.html#XMLSEARCHNSBYHREF"> <ANCHOR id ="XMLSEARCHNSBYHREF" href="gnome-xml/gnome-xml-tree.html#XMLSEARCHNSBYHREF">
<ANCHOR id ="XMLGETNSLIST" href="gnome-xml/gnome-xml-tree.html#XMLGETNSLIST"> <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 ="XMLCOPYNAMESPACELIST" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNAMESPACELIST">
<ANCHOR id ="XMLSETPROP" href="gnome-xml/gnome-xml-tree.html#XMLSETPROP"> <ANCHOR id ="XMLSETPROP" href="gnome-xml/gnome-xml-tree.html#XMLSETPROP">
<ANCHOR id ="XMLGETPROP" href="gnome-xml/gnome-xml-tree.html#XMLGETPROP"> <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 ="XMLSTRINGGETNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLSTRINGGETNODELIST">
<ANCHOR id ="XMLSTRINGLENGETNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLSTRINGLENGETNODELIST"> <ANCHOR id ="XMLSTRINGLENGETNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLSTRINGLENGETNODELIST">
<ANCHOR id ="XMLNODELISTGETSTRING" href="gnome-xml/gnome-xml-tree.html#XMLNODELISTGETSTRING"> <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 ="XMLNODEGETCONTENT" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETCONTENT">
<ANCHOR id ="XMLNODEGETLANG" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETLANG"> <ANCHOR id ="XMLNODEGETLANG" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETLANG">
<ANCHOR id ="XMLNODESETLANG" href="gnome-xml/gnome-xml-tree.html#XMLNODESETLANG"> <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 ="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 ="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 ="XMLBUFFERWRITEQUOTEDSTRING" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERWRITEQUOTEDSTRING">
<ANCHOR id ="XMLDOCDUMPMEMORY" href="gnome-xml/gnome-xml-tree.html#XMLDOCDUMPMEMORY"> <ANCHOR id ="XMLDOCDUMPMEMORY" href="gnome-xml/gnome-xml-tree.html#XMLDOCDUMPMEMORY">
<ANCHOR id ="XMLDOCDUMP" href="gnome-xml/gnome-xml-tree.html#XMLDOCDUMP"> <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 ="XMLSAVEFILE" href="gnome-xml/gnome-xml-tree.html#XMLSAVEFILE">
<ANCHOR id ="XMLGETDOCCOMPRESSMODE" href="gnome-xml/gnome-xml-tree.html#XMLGETDOCCOMPRESSMODE"> <ANCHOR id ="XMLGETDOCCOMPRESSMODE" href="gnome-xml/gnome-xml-tree.html#XMLGETDOCCOMPRESSMODE">
<ANCHOR id ="XMLSETDOCCOMPRESSMODE" href="gnome-xml/gnome-xml-tree.html#XMLSETDOCCOMPRESSMODE"> <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 ="XMLCOPYENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLCOPYENTITIESTABLE">
<ANCHOR id ="XMLFREEENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLFREEENTITIESTABLE"> <ANCHOR id ="XMLFREEENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLFREEENTITIESTABLE">
<ANCHOR id ="XMLDUMPENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLDUMPENTITIESTABLE"> <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 ="GNOME-XML-VALID" href="gnome-xml/gnome-xml-valid.html">
<ANCHOR id ="XMLVALIDITYERRORFUNC" href="gnome-xml/gnome-xml-valid.html#XMLVALIDITYERRORFUNC"> <ANCHOR id ="XMLVALIDITYERRORFUNC" href="gnome-xml/gnome-xml-valid.html#XMLVALIDITYERRORFUNC">
<ANCHOR id ="XMLVALIDITYWARNINGFUNC" href="gnome-xml/gnome-xml-valid.html#XMLVALIDITYWARNINGFUNC"> <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 ="HTMLNODEPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLNODEPTR">
<ANCHOR id ="HTMLTAGLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLTAGLOOKUP"> <ANCHOR id ="HTMLTAGLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLTAGLOOKUP">
<ANCHOR id ="HTMLENTITYLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLENTITYLOOKUP"> <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 ="HTMLPARSEENTITYREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEENTITYREF">
<ANCHOR id ="HTMLPARSECHARREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSECHARREF"> <ANCHOR id ="HTMLPARSECHARREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSECHARREF">
<ANCHOR id ="HTMLPARSEELEMENT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEELEMENT"> <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 ="HTMLPARSEDOC" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEDOC">
<ANCHOR id ="HTMLSAXPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXPARSEFILE"> <ANCHOR id ="HTMLSAXPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXPARSEFILE">
<ANCHOR id ="HTMLPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEFILE"> <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 ="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-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"> <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 ="XMLXPATHEVAL" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVAL">
<ANCHOR id ="XMLXPATHFREEOBJECT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREEOBJECT"> <ANCHOR id ="XMLXPATHFREEOBJECT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREEOBJECT">
<ANCHOR id ="XMLXPATHEVALEXPRESSION" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVALEXPRESSION"> <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 ="GNOME-XML-NANOHTTP" href="gnome-xml/gnome-xml-nanohttp.html">
<ANCHOR id ="XMLNANOHTTPFETCH" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPFETCH"> <ANCHOR id ="XMLNANOHTTPFETCH" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPFETCH">
<ANCHOR id ="XMLNANOHTTPMETHOD" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPMETHOD"> <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 ="XMLNANOHTTPCLOSE" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPCLOSE">
<ANCHOR id ="GNOME-XML-XMLIO" href="gnome-xml/gnome-xml-xmlio.html"> <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 ="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 ="XMLPARSERINPUTBUFFERCREATEFILENAME" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFILENAME">
<ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFILE" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFILE"> <ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFILE" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFILE">
<ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFD" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFD"> <ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFD" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFD">
<ANCHOR id ="XMLPARSERINPUTBUFFERREAD" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERREAD"> <ANCHOR id ="XMLPARSERINPUTBUFFERREAD" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERREAD">
<ANCHOR id ="XMLPARSERINPUTBUFFERGROW" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERGROW"> <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 ="XMLFREEPARSERINPUTBUFFER" href="gnome-xml/gnome-xml-xmlio.html#XMLFREEPARSERINPUTBUFFER">
<ANCHOR id ="XMLPARSERGETDIRECTORY" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERGETDIRECTORY"> <ANCHOR id ="XMLPARSERGETDIRECTORY" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERGETDIRECTORY">
<ANCHOR id ="GNOME-XML-PARSERINTERNALS" href="gnome-xml/gnome-xml-parserinternals.html"> <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 ="XMLCHARENCODINGINPUTFUNC" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODINGINPUTFUNC">
<ANCHOR id ="XMLCHARENCODINGOUTPUTFUNC" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODINGOUTPUTFUNC"> <ANCHOR id ="XMLCHARENCODINGOUTPUTFUNC" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODINGOUTPUTFUNC">
<ANCHOR id ="XMLCHARENCODINGHANDLERPTR" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"> <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 ="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 ="XMLGETCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLGETCHARENCODINGHANDLER">
<ANCHOR id ="XMLFINDCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLFINDCHARENCODINGHANDLER"> <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 ="GNOME-XML-DEBUGXML" href="gnome-xml/gnome-xml-debugxml.html">
<ANCHOR id ="XMLDEBUGDUMPSTRING" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPSTRING"> <ANCHOR id ="XMLDEBUGDUMPSTRING" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPSTRING">
<ANCHOR id ="XMLDEBUGDUMPATTR" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPATTR"> <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 ="XMLDEBUGDUMPONENODE" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPONENODE">
<ANCHOR id ="XMLDEBUGDUMPNODE" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPNODE"> <ANCHOR id ="XMLDEBUGDUMPNODE" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPNODE">
<ANCHOR id ="XMLDEBUGDUMPNODELIST" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPNODELIST"> <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 ="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 ="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 ="NO-DEBUG-MEMORY" href="gnome-xml/gnome-xml-xmlmemory.html#NO-DEBUG-MEMORY">
<ANCHOR id ="XMLFREE" href="gnome-xml/gnome-xml-xmlmemory.html#XMLFREE"> <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 ="XMLMEMUSED" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMUSED">
<ANCHOR id ="XMLMEMORYDUMP" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMORYDUMP"> <ANCHOR id ="XMLMEMORYDUMP" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMORYDUMP">
<ANCHOR id ="XMLMEMDISPLAY" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMDISPLAY"> <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-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 ="DEBUG-MEMORY" href="gnome-xml/gnome-xml-xmlmemory.html#DEBUG-MEMORY">
<ANCHOR id ="MEM-LIST" href="gnome-xml/gnome-xml-xmlmemory.html#MEM-LIST"> <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. * Block defining the handlers for non UTF-8 encodings.
*/ */
typedef struct xmlCharEncodingHandler { typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
struct _xmlCharEncodingHandler {
char *name; char *name;
xmlCharEncodingInputFunc input; xmlCharEncodingInputFunc input;
xmlCharEncodingOutputFunc output; xmlCharEncodingOutputFunc output;
} xmlCharEncodingHandler; };
typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
void xmlInitCharEncodingHandlers (void); void xmlInitCharEncodingHandlers (void);
void xmlCleanupCharEncodingHandlers (void); void xmlCleanupCharEncodingHandlers (void);

View File

@ -27,7 +27,9 @@ extern "C" {
* and the linkind data needed for the linking in the hash table. * 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 type; /* The entity type */
int len; /* The lenght of the name */ int len; /* The lenght of the name */
const xmlChar *name; /* Name of the entity */ const xmlChar *name; /* Name of the entity */
@ -36,8 +38,7 @@ typedef struct xmlEntity {
xmlChar *content; /* The entity content or ndata if unparsed */ xmlChar *content; /* The entity content or ndata if unparsed */
int length; /* the content length */ int length; /* the content length */
xmlChar *orig; /* The entity cont without ref substitution */ 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 * 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 #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 nb_entities; /* number of elements stored */
int max_entities; /* maximum number of elements */ int max_entities; /* maximum number of elements */
xmlEntityPtr table; /* the table of entities */ 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 * Internal description of an HTML element
*/ */
typedef struct htmlElemDesc { typedef struct _htmlElemDesc htmlElemDesc;
typedef htmlElemDesc *htmlElemDescPtr;
struct _htmlElemDesc {
const char *name; /* The tag name */ const char *name; /* The tag name */
int startTag; /* Whether the start tag can be implied */ int startTag; /* Whether the start tag can be implied */
int endTag; /* Whether the end 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 depr; /* Is this a deprecated element ? */
int dtd; /* 1: only in Loose DTD, 2: only Frameset one */ int dtd; /* 1: only in Loose DTD, 2: only Frameset one */
const char *desc; /* the description */ const char *desc; /* the description */
} htmlElemDesc, *htmlElemDescPtr; };
/* /*
* Internal description of an HTML entity * 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 */ int value; /* the UNICODE value for the character */
const char *name; /* The entity name */ const char *name; /* The entity name */
const char *desc; /* the description */ const char *desc; /* the description */
} htmlEntityDesc, *htmlEntityDescPtr; };
/* /*
* There is only few public functions. * There is only few public functions.

View File

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

View File

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

View File

@ -27,7 +27,9 @@ extern "C" {
* and the linkind data needed for the linking in the hash table. * 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 type; /* The entity type */
int len; /* The lenght of the name */ int len; /* The lenght of the name */
const xmlChar *name; /* Name of the entity */ const xmlChar *name; /* Name of the entity */
@ -36,8 +38,7 @@ typedef struct xmlEntity {
xmlChar *content; /* The entity content or ndata if unparsed */ xmlChar *content; /* The entity content or ndata if unparsed */
int length; /* the content length */ int length; /* the content length */
xmlChar *orig; /* The entity cont without ref substitution */ 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 * 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 #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 nb_entities; /* number of elements stored */
int max_entities; /* maximum number of elements */ int max_entities; /* maximum number of elements */
xmlEntityPtr table; /* the table of entities */ xmlEntityPtr table; /* the table of entities */
} xmlEntitiesTable; };
typedef xmlEntitiesTable *xmlEntitiesTablePtr;
/* /*

View File

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

View File

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

View File

@ -23,11 +23,13 @@ extern "C" {
typedef void (*xmlValidityErrorFunc) (void *ctx, const char *msg, ...); typedef void (*xmlValidityErrorFunc) (void *ctx, const char *msg, ...);
typedef void (*xmlValidityWarningFunc) (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 */ void *userData; /* user specific data block */
xmlValidityErrorFunc error; /* the callback in case of errors */ xmlValidityErrorFunc error; /* the callback in case of errors */
xmlValidityWarningFunc warning; /* the callback in case of warning */ xmlValidityWarningFunc warning; /* the callback in case of warning */
} xmlValidCtxt, *xmlValidCtxtPtr; };
/* /*
* ALl notation declarations are stored in a table * ALl notation declarations are stored in a table
@ -36,12 +38,13 @@ typedef struct xmlValidCtxt {
#define XML_MIN_NOTATION_TABLE 32 #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 nb_notations; /* number of notations stored */
int max_notations; /* maximum number of notations */ int max_notations; /* maximum number of notations */
xmlNotationPtr *table; /* the table of attributes */ xmlNotationPtr *table; /* the table of attributes */
} xmlNotationTable; };
typedef xmlNotationTable *xmlNotationTablePtr;
/* /*
* ALl element declarations are stored in a table * ALl element declarations are stored in a table
@ -50,12 +53,13 @@ typedef xmlNotationTable *xmlNotationTablePtr;
#define XML_MIN_ELEMENT_TABLE 32 #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 nb_elements; /* number of elements stored */
int max_elements; /* maximum number of elements */ int max_elements; /* maximum number of elements */
xmlElementPtr *table; /* the table of elements */ xmlElementPtr *table; /* the table of elements */
} xmlElementTable; };
typedef xmlElementTable *xmlElementTablePtr;
/* /*
* ALl attribute declarations are stored in a table * ALl attribute declarations are stored in a table
@ -64,12 +68,13 @@ typedef xmlElementTable *xmlElementTablePtr;
#define XML_MIN_ATTRIBUTE_TABLE 32 #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 nb_attributes; /* number of attributes stored */
int max_attributes; /* maximum number of attributes */ int max_attributes; /* maximum number of attributes */
xmlAttributePtr *table; /* the table of attributes */ xmlAttributePtr *table; /* the table of attributes */
} xmlAttributeTable; };
typedef xmlAttributeTable *xmlAttributeTablePtr;
/* /*
* ALl IDs attributes are stored in a table * ALl IDs attributes are stored in a table
@ -78,12 +83,13 @@ typedef xmlAttributeTable *xmlAttributeTablePtr;
#define XML_MIN_ID_TABLE 32 #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 nb_ids; /* number of ids stored */
int max_ids; /* maximum number of ids */ int max_ids; /* maximum number of ids */
xmlIDPtr *table; /* the table of ids */ xmlIDPtr *table; /* the table of ids */
} xmlIDTable; };
typedef xmlIDTable *xmlIDTablePtr;
/* /*
* ALl Refs attributes are stored in a table * ALl Refs attributes are stored in a table
@ -92,12 +98,13 @@ typedef xmlIDTable *xmlIDTablePtr;
#define XML_MIN_REF_TABLE 32 #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 nb_refs; /* number of refs stored */
int max_refs; /* maximum number of refs */ int max_refs; /* maximum number of refs */
xmlRefPtr *table; /* the table of refs */ xmlRefPtr *table; /* the table of refs */
} xmlRefTable; };
typedef xmlRefTable *xmlRefTablePtr;
/* Notation */ /* Notation */
xmlNotationPtr xmlAddNotationDecl (xmlValidCtxtPtr ctxt, xmlNotationPtr xmlAddNotationDecl (xmlValidCtxtPtr ctxt,
@ -158,6 +165,7 @@ xmlAttrPtr xmlGetID (xmlDocPtr doc,
int xmlIsID (xmlDocPtr doc, int xmlIsID (xmlDocPtr doc,
xmlNodePtr elem, xmlNodePtr elem,
xmlAttrPtr attr); xmlAttrPtr attr);
int xmlRemoveID (xmlDocPtr doc, xmlAttrPtr attr);
/* IDREFs */ /* IDREFs */
xmlRefPtr xmlAddRef (xmlValidCtxtPtr ctxt, xmlRefPtr xmlAddRef (xmlValidCtxtPtr ctxt,
@ -169,6 +177,7 @@ void xmlFreeRefTable (xmlRefTablePtr table);
int xmlIsRef (xmlDocPtr doc, int xmlIsRef (xmlDocPtr doc,
xmlNodePtr elem, xmlNodePtr elem,
xmlAttrPtr attr); xmlAttrPtr attr);
int xmlRemoveRef (xmlDocPtr doc, xmlAttrPtr attr);
/** /**
* The public function calls related to validity checking * 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 * There is no default xlink callbacks, if one want to get link
* recognition activated, those call backs must be provided before parsing. * recognition activated, those call backs must be provided before parsing.
*/ */
typedef struct xlinkHandler { typedef struct _xlinkHandler xlinkHandler;
typedef xlinkHandler *xlinkHandlerPtr;
struct _xlinkHandler {
xlinkSimpleLinkFunk simple; xlinkSimpleLinkFunk simple;
xlinkExtendedLinkFunk extended; xlinkExtendedLinkFunk extended;
xlinkExtendedLinkSetFunk set; xlinkExtendedLinkSetFunk set;
} xlinkHandler; };
typedef xlinkHandler *xlinkHandlerPtr;
/** /**
* the default detection routine, can be overriden, they call the default * the default detection routine, can be overriden, they call the default

View File

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

View File

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

View File

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

View File

@ -34,7 +34,9 @@ extern "C" {
*/ */
typedef void (* xmlParserInputDeallocate)(xmlChar *); typedef void (* xmlParserInputDeallocate)(xmlChar *);
typedef struct xmlParserInput { typedef struct _xmlParserInput xmlParserInput;
typedef xmlParserInput *xmlParserInputPtr;
struct _xmlParserInput {
/* Input buffer */ /* Input buffer */
xmlParserInputBufferPtr buf; /* UTF-8 encoded buffer */ xmlParserInputBufferPtr buf; /* UTF-8 encoded buffer */
@ -47,35 +49,36 @@ typedef struct xmlParserInput {
int col; /* Current column */ int col; /* Current column */
int consumed; /* How many xmlChars already consumed */ int consumed; /* How many xmlChars already consumed */
xmlParserInputDeallocate free; /* function to deallocate the base */ xmlParserInputDeallocate free; /* function to deallocate the base */
} xmlParserInput; };
typedef xmlParserInput *xmlParserInputPtr;
/** /**
* the parser can be asked to collect Node informations, i.e. at what * the parser can be asked to collect Node informations, i.e. at what
* place in the file they were detected. * place in the file they were detected.
* NOTE: This is off by default and not very well tested. * NOTE: This is off by default and not very well tested.
*/ */
typedef struct _xmlParserNodeInfo { typedef struct _xmlParserNodeInfo xmlParserNodeInfo;
const struct xmlNode* node; typedef xmlParserNodeInfo *xmlParserNodeInfoPtr;
struct _xmlParserNodeInfo {
const struct _xmlNode* node;
/* Position & line # that text that created the node begins & ends on */ /* Position & line # that text that created the node begins & ends on */
unsigned long begin_pos; unsigned long begin_pos;
unsigned long begin_line; unsigned long begin_line;
unsigned long end_pos; unsigned long end_pos;
unsigned long end_line; 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 maximum;
unsigned long length; unsigned long length;
xmlParserNodeInfo* buffer; xmlParserNodeInfo* buffer;
} _xmlParserNodeInfoSeq; };
typedef _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
/** /**
* The parser is not (yet) a state based parser, but we need to maintain * The parser is now working also as a state based parser
* minimum state informations, especially for entities processing. * The recursive one use the stagte info for entities processing
*/ */
typedef enum { typedef enum {
XML_PARSER_EOF = -1, /* nothing is to be parsed */ 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 * takes as the only argument the parser context pointer, so migrating
* to a state based parser for progressive parsing shouldn't be too hard. * to a state based parser for progressive parsing shouldn't be too hard.
*/ */
typedef struct _xmlParserCtxt { typedef struct _xmlParserCtxt xmlParserCtxt;
struct xmlSAXHandler *sax; /* The SAX handler */ typedef xmlParserCtxt *xmlParserCtxtPtr;
struct _xmlParserCtxt {
struct _xmlSAXHandler *sax; /* The SAX handler */
void *userData; /* the document being built */ void *userData; /* the document being built */
xmlDocPtr myDoc; /* the document being built */ xmlDocPtr myDoc; /* the document being built */
int wellFormed; /* is the document well formed */ int wellFormed; /* is the document well formed */
@ -154,21 +159,19 @@ typedef struct _xmlParserCtxt {
long nbChars; /* number of xmlChar processed */ long nbChars; /* number of xmlChar processed */
long checkIndex; /* used by progressive parsing lookup */ long checkIndex; /* used by progressive parsing lookup */
} _xmlParserCtxt; };
typedef _xmlParserCtxt xmlParserCtxt;
typedef xmlParserCtxt *xmlParserCtxtPtr;
/** /**
* a SAX Locator. * a SAX Locator.
*/ */
typedef struct xmlSAXLocator { typedef struct _xmlSAXLocator xmlSAXLocator;
typedef xmlSAXLocator *xmlSAXLocatorPtr;
struct _xmlSAXLocator {
const xmlChar *(*getPublicId)(void *ctx); const xmlChar *(*getPublicId)(void *ctx);
const xmlChar *(*getSystemId)(void *ctx); const xmlChar *(*getSystemId)(void *ctx);
int (*getLineNumber)(void *ctx); int (*getLineNumber)(void *ctx);
int (*getColumnNumber)(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 * 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 (*hasInternalSubsetSAXFunc) (void *ctx);
typedef int (*hasExternalSubsetSAXFunc) (void *ctx); typedef int (*hasExternalSubsetSAXFunc) (void *ctx);
typedef struct xmlSAXHandler { typedef struct _xmlSAXHandler xmlSAXHandler;
typedef xmlSAXHandler *xmlSAXHandlerPtr;
struct _xmlSAXHandler {
internalSubsetSAXFunc internalSubset; internalSubsetSAXFunc internalSubset;
isStandaloneSAXFunc isStandalone; isStandaloneSAXFunc isStandalone;
hasInternalSubsetSAXFunc hasInternalSubset; hasInternalSubsetSAXFunc hasInternalSubset;
@ -248,8 +253,7 @@ typedef struct xmlSAXHandler {
fatalErrorSAXFunc fatalError; fatalErrorSAXFunc fatalError;
getParameterEntitySAXFunc getParameterEntity; getParameterEntitySAXFunc getParameterEntity;
cdataBlockSAXFunc cdataBlock; cdataBlockSAXFunc cdataBlock;
} xmlSAXHandler; };
typedef xmlSAXHandler *xmlSAXHandlerPtr;
/** /**
* External entity loaders types * 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> <h3><a name="kb">Microsoft Knowledge Base</a></h3>
<p>For further technical information on FrontPage, please consult Support Online. Use Support <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 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 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 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 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> <head><title>Top Stories News from Wired News</title></head>
<body bgcolor="#FFFFFF" text="#000000" link="#333399" vlink="#660066" alink="#666699"> <body bgcolor="#FFFFFF" text="#000000" link="#333399" vlink="#660066" alink="#666699">
<table border="0" width="600" cellspacing="0" cellpadding="0"><tr> <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> <tr>
<td BGCOLOR="#330099"><input NAME="city" TYPE="text" SIZE="7" MAXLENGTH="20" VALUE="Seattle"></td> <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> <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"> <input TYPE="hidden" NAME="source" VALUE="2hb8bhc059">
</td></tr> </td></tr>
</form></table> </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> </tr></table>
<!-- WIRED NEWS header --><!-- CMD_HOST = scoop.hotwired.com --><a name="#"></a> <!-- WIRED NEWS header --><!-- CMD_HOST = scoop.hotwired.com --><a name="#"></a>
<table border="0" width="600" cellspacing="0" cellpadding="0"> <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 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><font face="courier" size="1"><input type="TEXT" name="query" size="20" value=""></font></td>
<td><select name="url"> <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&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&Filter=docs_filter.hts&ResultTemplate=webmonkey.hts&Collection=webmonkey&QueryMode=Internet&Query=">Webmonkey</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&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=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&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?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&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&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&Filter=docs_filter.hts&ResultTemplate=animation.hts&Collection=animation&QueryMode=Internet&Query=">Animation Express</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&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=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&Action=FilterSearch&filter=docs_filter.hts&ResultTemplate=uber_hotwired.hts&QueryMode=Internet&Query=">All of HotWired</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&DV=0&LG=any&RD=RG&DC=10&DE=2&_v=2&OPs=MDRTP&MT=">The Web -&gt; HotBot</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> </select></td>
<td><input type="SUBMIT" name="SUBMIT" value="SEARCH"></td> <td><input type="SUBMIT" name="SUBMIT" value="SEARCH"></td>
</tr></form></table> </tr></form></table>
@ -205,7 +205,7 @@
</form></td></tr> </form></td></tr>
<tr align="left" valign="top"><td valign="top" bgcolor="#CCFFCC"> <tr align="left" valign="top"><td valign="top" bgcolor="#CCFFCC">
<input type="submit" value="GO"> <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> <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> <font size="1" face="Arial, Geneva, sans-serif" color="#000000">Ongoing goings-on. </font>
<br> <br>
<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> <br>
<font size="2" face="Arial, Helvetica, sans-serif"> <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> <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> <br>
<font size="1" face="Arial, Helvetica, sans-serif" color="#000000">An IS/IT resource <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 <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= ervlet/appservlet?from=/wired/sprint/&amp;template=/security/security.html&amp;SITE=
wired.com&BANNER=Sprint" style="text-decoration:none"><font color="#000000">Sprint</font></a> wired.com&amp;BANNER=Sprint" style="text-decoration:none"><font color="#000000">Sprint</font></a>
</i> </i>
</font> </font>
</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. 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> <br>
</p> </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> </li>
</font> </font>
<br> <br>

6
tree.c
View File

@ -690,7 +690,7 @@ xmlNodeListGetString(xmlDocPtr doc, xmlNodePtr list, int inLine) {
while (node != NULL) { while (node != NULL) {
if (node->type == XML_TEXT_NODE) { if (node->type == XML_TEXT_NODE) {
if ((inLine) || (doc->type == XML_HTML_DOCUMENT_NODE)) { if (inLine) {
#ifndef XML_USE_BUFFER_CONTENT #ifndef XML_USE_BUFFER_CONTENT
ret = xmlStrcat(ret, node->content); ret = xmlStrcat(ret, node->content);
#else #else
@ -941,6 +941,10 @@ xmlFreeProp(xmlAttrPtr cur) {
fprintf(stderr, "xmlFreeProp : property == NULL\n"); fprintf(stderr, "xmlFreeProp : property == NULL\n");
return; 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->name != NULL) xmlFree((char *) cur->name);
if (cur->val != NULL) xmlFreeNodeList(cur->val); if (cur->val != NULL) xmlFreeNodeList(cur->val);
memset(cur, -1, sizeof(xmlAttr)); memset(cur, -1, sizeof(xmlAttr));

140
tree.h
View File

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

88
valid.c
View File

@ -713,7 +713,7 @@ xmlScanAttributeDecl(xmlDtdPtr dtd, const xmlChar *elem) {
* @ctxt: the validation context * @ctxt: the validation context
* @elem: the element name * @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. * declared.
* *
* Returns the number of ID attributes found. * Returns the number of ID attributes found.
@ -1504,7 +1504,7 @@ xmlFreeIDTable(xmlIDTablePtr table) {
} }
/** /**
* xmlIsID * xmlIsID:
* @doc: the document * @doc: the document
* @elem: the element carrying the attribute * @elem: the element carrying the attribute
* @attr: the attribute * @attr: the attribute
@ -1517,13 +1517,21 @@ xmlFreeIDTable(xmlIDTablePtr table) {
*/ */
int int
xmlIsID(xmlDocPtr doc, xmlNodePtr elem, xmlAttrPtr attr) { 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 ((doc->intSubset == NULL) && (doc->extSubset == NULL)) {
if (((attr->name[0] == 'I') || (attr->name[0] == 'i')) && if (((attr->name[0] == 'I') || (attr->name[0] == 'i')) &&
((attr->name[1] == 'D') || (attr->name[1] == 'd')) && ((attr->name[1] == 'D') || (attr->name[1] == 'd')) &&
(attr->name[2] == 0)) return(1); (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 { } else {
xmlAttributePtr attrDecl; xmlAttributePtr attrDecl;
if (elem == NULL) return(0);
attrDecl = xmlGetDtdAttrDesc(doc->intSubset, elem->name, attr->name); attrDecl = xmlGetDtdAttrDesc(doc->intSubset, elem->name, attr->name);
if ((attrDecl == NULL) && (doc->extSubset != NULL)) if ((attrDecl == NULL) && (doc->extSubset != NULL))
attrDecl = xmlGetDtdAttrDesc(doc->extSubset, elem->name, attrDecl = xmlGetDtdAttrDesc(doc->extSubset, elem->name,
@ -1535,6 +1543,42 @@ xmlIsID(xmlDocPtr doc, xmlNodePtr elem, xmlAttrPtr attr) {
return(0); 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: * xmlGetID:
* @doc: pointer to the document * @doc: pointer to the document
@ -1723,7 +1767,7 @@ xmlFreeRefTable(xmlRefTablePtr table) {
} }
/** /**
* xmlIsRef * xmlIsRef:
* @doc: the document * @doc: the document
* @elem: the element carrying the attribute * @elem: the element carrying the attribute
* @attr: the attribute * @attr: the attribute
@ -1757,12 +1801,48 @@ xmlIsRef(xmlDocPtr doc, xmlNodePtr elem, xmlAttrPtr attr) {
return(0); 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: * xmlGetRef:
* @doc: pointer to the document * @doc: pointer to the document
* @Ref: the Ref value * @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 * 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 (*xmlValidityErrorFunc) (void *ctx, const char *msg, ...);
typedef void (*xmlValidityWarningFunc) (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 */ void *userData; /* user specific data block */
xmlValidityErrorFunc error; /* the callback in case of errors */ xmlValidityErrorFunc error; /* the callback in case of errors */
xmlValidityWarningFunc warning; /* the callback in case of warning */ xmlValidityWarningFunc warning; /* the callback in case of warning */
} xmlValidCtxt, *xmlValidCtxtPtr; };
/* /*
* ALl notation declarations are stored in a table * ALl notation declarations are stored in a table
@ -36,12 +38,13 @@ typedef struct xmlValidCtxt {
#define XML_MIN_NOTATION_TABLE 32 #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 nb_notations; /* number of notations stored */
int max_notations; /* maximum number of notations */ int max_notations; /* maximum number of notations */
xmlNotationPtr *table; /* the table of attributes */ xmlNotationPtr *table; /* the table of attributes */
} xmlNotationTable; };
typedef xmlNotationTable *xmlNotationTablePtr;
/* /*
* ALl element declarations are stored in a table * ALl element declarations are stored in a table
@ -50,12 +53,13 @@ typedef xmlNotationTable *xmlNotationTablePtr;
#define XML_MIN_ELEMENT_TABLE 32 #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 nb_elements; /* number of elements stored */
int max_elements; /* maximum number of elements */ int max_elements; /* maximum number of elements */
xmlElementPtr *table; /* the table of elements */ xmlElementPtr *table; /* the table of elements */
} xmlElementTable; };
typedef xmlElementTable *xmlElementTablePtr;
/* /*
* ALl attribute declarations are stored in a table * ALl attribute declarations are stored in a table
@ -64,12 +68,13 @@ typedef xmlElementTable *xmlElementTablePtr;
#define XML_MIN_ATTRIBUTE_TABLE 32 #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 nb_attributes; /* number of attributes stored */
int max_attributes; /* maximum number of attributes */ int max_attributes; /* maximum number of attributes */
xmlAttributePtr *table; /* the table of attributes */ xmlAttributePtr *table; /* the table of attributes */
} xmlAttributeTable; };
typedef xmlAttributeTable *xmlAttributeTablePtr;
/* /*
* ALl IDs attributes are stored in a table * ALl IDs attributes are stored in a table
@ -78,12 +83,13 @@ typedef xmlAttributeTable *xmlAttributeTablePtr;
#define XML_MIN_ID_TABLE 32 #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 nb_ids; /* number of ids stored */
int max_ids; /* maximum number of ids */ int max_ids; /* maximum number of ids */
xmlIDPtr *table; /* the table of ids */ xmlIDPtr *table; /* the table of ids */
} xmlIDTable; };
typedef xmlIDTable *xmlIDTablePtr;
/* /*
* ALl Refs attributes are stored in a table * ALl Refs attributes are stored in a table
@ -92,12 +98,13 @@ typedef xmlIDTable *xmlIDTablePtr;
#define XML_MIN_REF_TABLE 32 #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 nb_refs; /* number of refs stored */
int max_refs; /* maximum number of refs */ int max_refs; /* maximum number of refs */
xmlRefPtr *table; /* the table of refs */ xmlRefPtr *table; /* the table of refs */
} xmlRefTable; };
typedef xmlRefTable *xmlRefTablePtr;
/* Notation */ /* Notation */
xmlNotationPtr xmlAddNotationDecl (xmlValidCtxtPtr ctxt, xmlNotationPtr xmlAddNotationDecl (xmlValidCtxtPtr ctxt,
@ -158,6 +165,7 @@ xmlAttrPtr xmlGetID (xmlDocPtr doc,
int xmlIsID (xmlDocPtr doc, int xmlIsID (xmlDocPtr doc,
xmlNodePtr elem, xmlNodePtr elem,
xmlAttrPtr attr); xmlAttrPtr attr);
int xmlRemoveID (xmlDocPtr doc, xmlAttrPtr attr);
/* IDREFs */ /* IDREFs */
xmlRefPtr xmlAddRef (xmlValidCtxtPtr ctxt, xmlRefPtr xmlAddRef (xmlValidCtxtPtr ctxt,
@ -169,6 +177,7 @@ void xmlFreeRefTable (xmlRefTablePtr table);
int xmlIsRef (xmlDocPtr doc, int xmlIsRef (xmlDocPtr doc,
xmlNodePtr elem, xmlNodePtr elem,
xmlAttrPtr attr); xmlAttrPtr attr);
int xmlRemoveRef (xmlDocPtr doc, xmlAttrPtr attr);
/** /**
* The public function calls related to validity checking * 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 * There is no default xlink callbacks, if one want to get link
* recognition activated, those call backs must be provided before parsing. * recognition activated, those call backs must be provided before parsing.
*/ */
typedef struct xlinkHandler { typedef struct _xlinkHandler xlinkHandler;
typedef xlinkHandler *xlinkHandlerPtr;
struct _xlinkHandler {
xlinkSimpleLinkFunk simple; xlinkSimpleLinkFunk simple;
xlinkExtendedLinkFunk extended; xlinkExtendedLinkFunk extended;
xlinkExtendedLinkSetFunk set; xlinkExtendedLinkSetFunk set;
} xlinkHandler; };
typedef xlinkHandler *xlinkHandlerPtr;
/** /**
* the default detection routine, can be overriden, they call the default * the default detection routine, can be overriden, they call the default

View File

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

49
xpath.h
View File

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