mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-29 11:41:22 +03:00
More work toward 2.2.5, integrated a number of patches
- configure.in Makefile.am win32config.h.in: trying to cleanup make distcheck .... huh ... - include/Makefile.am include/win32config.h: new directory for includes - win32/Makefile.mingw win32/README.MSDev win32/libxml2/libxml2.dsp updated teh makefiles and instructions for WIN32 - xpath.c: small fixes - test/XPath/ results/XPath: updated the testcases and results - HTMLparser.c nanohttp.c testXPath.c: incorporated provided or suggested patches - valid.c: fixed an ID bug Daniel
This commit is contained in:
15
ChangeLog
15
ChangeLog
@ -1,3 +1,18 @@
|
|||||||
|
Wed Oct 11 02:53:10 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org>
|
||||||
|
|
||||||
|
* More work toward 2.2.5, integrated a number of patches
|
||||||
|
* configure.in Makefile.am win32config.h.in: trying to cleanup
|
||||||
|
make distcheck .... huh ...
|
||||||
|
* include/Makefile.am include/win32config.h: new directory
|
||||||
|
for includes
|
||||||
|
* win32/Makefile.mingw win32/README.MSDev win32/libxml2/libxml2.dsp
|
||||||
|
updated teh makefiles and instructions for WIN32
|
||||||
|
* xpath.c: small fixes
|
||||||
|
* test/XPath/ results/XPath: updated the testcases and results
|
||||||
|
* HTMLparser.c nanohttp.c testXPath.c: incorporated provided or
|
||||||
|
suggested patches
|
||||||
|
* valid.c: fixed an ID bug
|
||||||
|
|
||||||
Mon Oct 9 14:28:56 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org>
|
Mon Oct 9 14:28:56 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org>
|
||||||
|
|
||||||
* moved xml-error.h to xmlerror.h: seems this allowed to bypass
|
* moved xml-error.h to xmlerror.h: seems this allowed to bypass
|
||||||
|
@ -14,7 +14,6 @@
|
|||||||
|
|
||||||
#include <libxml/xmlversion.h>
|
#include <libxml/xmlversion.h>
|
||||||
#ifdef LIBXML_HTML_ENABLED
|
#ifdef LIBXML_HTML_ENABLED
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#ifdef HAVE_CTYPE_H
|
#ifdef HAVE_CTYPE_H
|
||||||
@ -1786,7 +1785,7 @@ htmlParseHTMLName(htmlParserCtxtPtr ctxt) {
|
|||||||
|
|
||||||
while ((i < HTML_PARSER_BUFFER_SIZE) &&
|
while ((i < HTML_PARSER_BUFFER_SIZE) &&
|
||||||
((IS_LETTER(CUR)) || (IS_DIGIT(CUR)) ||
|
((IS_LETTER(CUR)) || (IS_DIGIT(CUR)) ||
|
||||||
(CUR == ':') || (CUR == '_'))) {
|
(CUR == ':') || (CUR == '-') || (CUR == '_'))) {
|
||||||
if ((CUR >= 'A') && (CUR <= 'Z')) loc[i] = CUR + 0x20;
|
if ((CUR >= 'A') && (CUR <= 'Z')) loc[i] = CUR + 0x20;
|
||||||
else loc[i] = CUR;
|
else loc[i] = CUR;
|
||||||
i++;
|
i++;
|
||||||
|
31
Makefile.am
31
Makefile.am
@ -1,8 +1,8 @@
|
|||||||
## Process this file with automake to produce Makefile.in
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
SUBDIRS = doc
|
SUBDIRS = include doc
|
||||||
|
|
||||||
INCLUDES = -I@srcdir@/include @Z_CFLAGS@ @CORBA_CFLAGS@
|
INCLUDES = -I@srcdir@/include -I./include @Z_CFLAGS@ @CORBA_CFLAGS@
|
||||||
|
|
||||||
noinst_PROGRAMS=testSAX testHTML testXPath testURI
|
noinst_PROGRAMS=testSAX testHTML testXPath testURI
|
||||||
|
|
||||||
@ -35,29 +35,6 @@ libxml_la_SOURCES = \
|
|||||||
nanohttp.c \
|
nanohttp.c \
|
||||||
nanoftp.c
|
nanoftp.c
|
||||||
|
|
||||||
xmlincdir = $(includedir)/libxml
|
|
||||||
|
|
||||||
xmlinc_HEADERS = \
|
|
||||||
include/libxml/SAX.h \
|
|
||||||
include/libxml/entities.h \
|
|
||||||
include/libxml/encoding.h \
|
|
||||||
include/libxml/parser.h \
|
|
||||||
include/libxml/parserInternals.h \
|
|
||||||
include/libxml/xmlerror.h \
|
|
||||||
include/libxml/HTMLparser.h \
|
|
||||||
include/libxml/HTMLtree.h \
|
|
||||||
include/libxml/debugXML.h \
|
|
||||||
include/libxml/tree.h \
|
|
||||||
include/libxml/xpath.h \
|
|
||||||
include/libxml/xmlIO.h \
|
|
||||||
include/libxml/xmlmemory.h \
|
|
||||||
include/libxml/nanohttp.h \
|
|
||||||
include/libxml/nanoftp.h \
|
|
||||||
include/libxml/uri.h \
|
|
||||||
include/libxml/valid.h \
|
|
||||||
include/libxml/xlink.h \
|
|
||||||
include/libxml/xmlversion.h
|
|
||||||
|
|
||||||
DEPS = $(top_builddir)/libxml.la
|
DEPS = $(top_builddir)/libxml.la
|
||||||
LDADDS = $(top_builddir)/libxml.la @Z_LIBS@ @M_LIBS@
|
LDADDS = $(top_builddir)/libxml.la @Z_LIBS@ @M_LIBS@
|
||||||
|
|
||||||
@ -357,8 +334,8 @@ confexecdir=$(libdir)
|
|||||||
confexec_DATA = xmlConf.sh
|
confexec_DATA = xmlConf.sh
|
||||||
EXTRA_DIST = xmlConf.sh.in libxml.spec.in libxml.spec libxml.m4 \
|
EXTRA_DIST = xmlConf.sh.in libxml.spec.in libxml.spec libxml.m4 \
|
||||||
example/Makefile.am example/gjobread.c example/gjobs.xml \
|
example/Makefile.am example/gjobread.c example/gjobs.xml \
|
||||||
$(man_MANS) libxml-2.0.pc.in include/libxml/*.h.in \
|
$(man_MANS) libxml-2.0.pc.in include/libxml/*.h xmlversion.h.in \
|
||||||
win32/README.MSDev win32/libxml2/libxml2.dsp
|
win32/README.MSDev win32/Makefile.mingw win32/libxml2/libxml2.dsp
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA = libxml-2.0.pc
|
pkgconfig_DATA = libxml-2.0.pc
|
||||||
|
26
configure.in
26
configure.in
@ -116,7 +116,7 @@ AC_CHECK_FUNC(isinf, , AC_CHECK_LIB(m, isinf,
|
|||||||
[M_LIBS="-lm"; AC_DEFINE(HAVE_ISINF)]))
|
[M_LIBS="-lm"; AC_DEFINE(HAVE_ISINF)]))
|
||||||
|
|
||||||
XML_LIBDIR='-L${libdir}'
|
XML_LIBDIR='-L${libdir}'
|
||||||
XML_INCLUDEDIR='-I${srcdir}/include -I${includedir}/libxml -I${includedir}'
|
XML_INCLUDEDIR='-I${includedir}/libxml -I${includedir}'
|
||||||
XML_LIBS="-lxml $Z_LIBS $M_LIBS $LIBS"
|
XML_LIBS="-lxml $Z_LIBS $M_LIBS $LIBS"
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
@ -299,18 +299,26 @@ dnl create the libxml and include links needed to get dependencies right
|
|||||||
dnl
|
dnl
|
||||||
if test ! -d $srcdir/include/libxml
|
if test ! -d $srcdir/include/libxml
|
||||||
then
|
then
|
||||||
rm -f $srcdir/include
|
rm -rf $srcdir/include
|
||||||
rm -f $srcdir/libxml
|
rm -f $srcdir/libxml
|
||||||
(cd $srcdir ; ln -s . include)
|
mkdir $srcdir/include
|
||||||
(cd $srcdir ; ln -s . libxml)
|
(cd $srcdir/include ; ln -s .. libxml)
|
||||||
|
fi
|
||||||
|
if test ! -e $srcdir/libxml
|
||||||
|
then
|
||||||
|
(cd $srcdir ; ln -s include/libxml libxml)
|
||||||
fi
|
fi
|
||||||
if test ! -e include/libxml
|
if test ! -e include/libxml
|
||||||
then
|
then
|
||||||
rm -f include
|
rm -rf include
|
||||||
rm -f libxml
|
mkdir include
|
||||||
(ln -s $srcdir/include include)
|
(cd include ; ln -s ../libxml libxml)
|
||||||
(ln -s $srcdir/include/libxml libxml)
|
fi
|
||||||
|
if test ! -e libxml
|
||||||
|
then
|
||||||
|
rm -rf libxml
|
||||||
|
ln -s $srcdir/include/libxml libxml
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_OUTPUT(libxml.spec Makefile doc/Makefile example/Makefile include/libxml/xmlversion.h xml-config include/libxml/win32config.h libxml-2.0.pc)
|
AC_OUTPUT(libxml.spec Makefile include/Makefile doc/Makefile example/Makefile libxml/xmlversion.h xml-config libxml-2.0.pc)
|
||||||
|
|
||||||
|
28
include/Makefile.am
Normal file
28
include/Makefile.am
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
xmlincdir = $(includedir)
|
||||||
|
|
||||||
|
xmlinc_HEADERS = \
|
||||||
|
libxml/xmlversion.h.in \
|
||||||
|
libxml/SAX.h \
|
||||||
|
libxml/entities.h \
|
||||||
|
libxml/encoding.h \
|
||||||
|
libxml/parser.h \
|
||||||
|
libxml/parserInternals.h \
|
||||||
|
libxml/xmlerror.h \
|
||||||
|
libxml/HTMLparser.h \
|
||||||
|
libxml/HTMLtree.h \
|
||||||
|
libxml/debugXML.h \
|
||||||
|
libxml/tree.h \
|
||||||
|
libxml/xpath.h \
|
||||||
|
libxml/xmlIO.h \
|
||||||
|
libxml/xmlmemory.h \
|
||||||
|
libxml/nanohttp.h \
|
||||||
|
libxml/nanoftp.h \
|
||||||
|
libxml/uri.h \
|
||||||
|
libxml/valid.h \
|
||||||
|
libxml/xlink.h
|
||||||
|
|
||||||
|
install-exec-hook:
|
||||||
|
$(mkinstalldirs) $(xmlincdir) $(xmlincdir)/libxml
|
||||||
|
|
@ -4,10 +4,6 @@
|
|||||||
#define HAVE_TIME_H
|
#define HAVE_TIME_H
|
||||||
#define HAVE_FCNTL_H
|
#define HAVE_FCNTL_H
|
||||||
|
|
||||||
#define LIBXML_VERSION @LIBXML_VERSION_NUMBER@
|
|
||||||
#define LIBXML_VERSION_STRING "@LIBXML_VERSION@"
|
|
||||||
|
|
||||||
|
|
||||||
#include <io.h>
|
#include <io.h>
|
||||||
|
|
||||||
#ifdef INCLUDE_WINSOCK
|
#ifdef INCLUDE_WINSOCK
|
96
nanohttp.c
96
nanohttp.c
@ -104,6 +104,27 @@ static int initialized = 0;
|
|||||||
static char *proxy = NULL; /* the proxy name if any */
|
static char *proxy = NULL; /* the proxy name if any */
|
||||||
static int proxyPort; /* the proxy port if any */
|
static int proxyPort; /* the proxy port if any */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A bit of portability macros and functions
|
||||||
|
*/
|
||||||
|
#ifdef _WINSOCKAPI_
|
||||||
|
|
||||||
|
WSADATA wsaData;
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define closesocket(s) close(s)
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int socket_errno(void) {
|
||||||
|
#ifdef _WINSOCKAPI_
|
||||||
|
return(WSAGetLastError());
|
||||||
|
#else
|
||||||
|
return(errno);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* xmlNanoHTTPInit:
|
* xmlNanoHTTPInit:
|
||||||
*
|
*
|
||||||
@ -118,6 +139,11 @@ xmlNanoHTTPInit(void) {
|
|||||||
if (initialized)
|
if (initialized)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
#ifdef _WINSOCKAPI_
|
||||||
|
if (WSAStartup(0x0101, &wsaData) != 0)
|
||||||
|
WSACleanup();
|
||||||
|
#endif
|
||||||
|
|
||||||
if (proxy == NULL) {
|
if (proxy == NULL) {
|
||||||
proxyPort = 80;
|
proxyPort = 80;
|
||||||
env = getenv("no_proxy");
|
env = getenv("no_proxy");
|
||||||
@ -149,6 +175,9 @@ xmlNanoHTTPCleanup(void) {
|
|||||||
if (proxy != NULL)
|
if (proxy != NULL)
|
||||||
xmlFree(proxy);
|
xmlFree(proxy);
|
||||||
initialized = 0;
|
initialized = 0;
|
||||||
|
#ifdef _WINSOCKAPI_
|
||||||
|
WSACleanup();
|
||||||
|
#endif
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -344,7 +373,7 @@ xmlNanoHTTPFreeCtxt(xmlNanoHTTPCtxtPtr ctxt) {
|
|||||||
if (ctxt->contentType != NULL) xmlFree(ctxt->contentType);
|
if (ctxt->contentType != NULL) xmlFree(ctxt->contentType);
|
||||||
if (ctxt->location != NULL) xmlFree(ctxt->location);
|
if (ctxt->location != NULL) xmlFree(ctxt->location);
|
||||||
ctxt->state = XML_NANO_HTTP_NONE;
|
ctxt->state = XML_NANO_HTTP_NONE;
|
||||||
if (ctxt->fd >= 0) close(ctxt->fd);
|
if (ctxt->fd >= 0) closesocket(ctxt->fd);
|
||||||
ctxt->fd = -1;
|
ctxt->fd = -1;
|
||||||
xmlFree(ctxt);
|
xmlFree(ctxt);
|
||||||
}
|
}
|
||||||
@ -359,7 +388,7 @@ xmlNanoHTTPFreeCtxt(xmlNanoHTTPCtxtPtr ctxt) {
|
|||||||
static void
|
static void
|
||||||
xmlNanoHTTPSend(xmlNanoHTTPCtxtPtr ctxt) {
|
xmlNanoHTTPSend(xmlNanoHTTPCtxtPtr ctxt) {
|
||||||
if (ctxt->state & XML_NANO_HTTP_WRITE)
|
if (ctxt->state & XML_NANO_HTTP_WRITE)
|
||||||
ctxt->last = write(ctxt->fd, ctxt->outptr, strlen(ctxt->outptr));
|
ctxt->last = send(ctxt->fd, ctxt->outptr, strlen(ctxt->outptr), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -412,7 +441,7 @@ xmlNanoHTTPRecv(xmlNanoHTTPCtxtPtr ctxt) {
|
|||||||
ctxt->content = ctxt->in + d_content;
|
ctxt->content = ctxt->in + d_content;
|
||||||
ctxt->inrptr = ctxt->in + d_inrptr;
|
ctxt->inrptr = ctxt->in + d_inrptr;
|
||||||
}
|
}
|
||||||
ctxt->last = read(ctxt->fd, ctxt->inptr, XML_NANO_HTTP_CHUNK);
|
ctxt->last = recv(ctxt->fd, ctxt->inptr, XML_NANO_HTTP_CHUNK, 0);
|
||||||
if (ctxt->last > 0) {
|
if (ctxt->last > 0) {
|
||||||
ctxt->inptr += ctxt->last;
|
ctxt->inptr += ctxt->last;
|
||||||
return(ctxt->last);
|
return(ctxt->last);
|
||||||
@ -420,17 +449,25 @@ xmlNanoHTTPRecv(xmlNanoHTTPCtxtPtr ctxt) {
|
|||||||
if (ctxt->last == 0) {
|
if (ctxt->last == 0) {
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
#ifdef EWOULDBLOCK
|
if (ctxt->last == -1) {
|
||||||
if ((ctxt->last == -1) && (errno != EWOULDBLOCK)) {
|
switch (socket_errno()) {
|
||||||
return(0);
|
case EINPROGRESS:
|
||||||
}
|
case EWOULDBLOCK:
|
||||||
|
#if defined(EAGAIN) && EAGAIN != EWOULDBLOCK
|
||||||
|
case EAGAIN:
|
||||||
#endif
|
#endif
|
||||||
tv.tv_sec=10;
|
break;
|
||||||
tv.tv_usec=0;
|
default:
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tv.tv_sec = 10;
|
||||||
|
tv.tv_usec = 0;
|
||||||
FD_ZERO(&rfd);
|
FD_ZERO(&rfd);
|
||||||
FD_SET(ctxt->fd, &rfd);
|
FD_SET(ctxt->fd, &rfd);
|
||||||
|
|
||||||
if(select(ctxt->fd+1, &rfd, NULL, NULL, &tv)<1)
|
if (select(ctxt->fd+1, &rfd, NULL, NULL, &tv)<1)
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
return(0);
|
return(0);
|
||||||
@ -450,10 +487,10 @@ xmlNanoHTTPRecv(xmlNanoHTTPCtxtPtr ctxt) {
|
|||||||
static char *
|
static char *
|
||||||
xmlNanoHTTPReadLine(xmlNanoHTTPCtxtPtr ctxt) {
|
xmlNanoHTTPReadLine(xmlNanoHTTPCtxtPtr ctxt) {
|
||||||
char buf[4096];
|
char buf[4096];
|
||||||
char *bp=buf;
|
char *bp = buf;
|
||||||
|
|
||||||
while(bp - buf < 4095) {
|
while (bp - buf < 4095) {
|
||||||
if(ctxt->inrptr == ctxt->inptr) {
|
if (ctxt->inrptr == ctxt->inptr) {
|
||||||
if (xmlNanoHTTPRecv(ctxt) == 0) {
|
if (xmlNanoHTTPRecv(ctxt) == 0) {
|
||||||
if (bp == buf)
|
if (bp == buf)
|
||||||
return(NULL);
|
return(NULL);
|
||||||
@ -463,11 +500,11 @@ xmlNanoHTTPReadLine(xmlNanoHTTPCtxtPtr ctxt) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
*bp = *ctxt->inrptr++;
|
*bp = *ctxt->inrptr++;
|
||||||
if(*bp == '\n') {
|
if (*bp == '\n') {
|
||||||
*bp = 0;
|
*bp = 0;
|
||||||
return(xmlMemStrdup(buf));
|
return(xmlMemStrdup(buf));
|
||||||
}
|
}
|
||||||
if(*bp != '\r')
|
if (*bp != '\r')
|
||||||
bp++;
|
bp++;
|
||||||
}
|
}
|
||||||
buf[4095] = 0;
|
buf[4095] = 0;
|
||||||
@ -567,7 +604,7 @@ xmlNanoHTTPConnectAttempt(struct in_addr ia, int port)
|
|||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
if(s==-1) {
|
if (s==-1) {
|
||||||
#ifdef DEBUG_HTTP
|
#ifdef DEBUG_HTTP
|
||||||
perror("socket");
|
perror("socket");
|
||||||
#endif
|
#endif
|
||||||
@ -576,9 +613,6 @@ xmlNanoHTTPConnectAttempt(struct in_addr ia, int port)
|
|||||||
|
|
||||||
#ifdef _WINSOCKAPI_
|
#ifdef _WINSOCKAPI_
|
||||||
{
|
{
|
||||||
long levents = FD_READ | FD_WRITE | FD_ACCEPT |
|
|
||||||
FD_CONNECT | FD_CLOSE ;
|
|
||||||
int rv = 0 ;
|
|
||||||
u_long one = 1;
|
u_long one = 1;
|
||||||
|
|
||||||
status = ioctlsocket(s, FIONBIO, &one) == SOCKET_ERROR ? -1 : 0;
|
status = ioctlsocket(s, FIONBIO, &one) == SOCKET_ERROR ? -1 : 0;
|
||||||
@ -590,7 +624,7 @@ xmlNanoHTTPConnectAttempt(struct in_addr ia, int port)
|
|||||||
status = IOCTL(s, FIONBIO, &enable);
|
status = IOCTL(s, FIONBIO, &enable);
|
||||||
}
|
}
|
||||||
#else /* VMS */
|
#else /* VMS */
|
||||||
if((status = fcntl(s, F_GETFL, 0)) != -1) {
|
if ((status = fcntl(s, F_GETFL, 0)) != -1) {
|
||||||
#ifdef O_NONBLOCK
|
#ifdef O_NONBLOCK
|
||||||
status |= O_NONBLOCK;
|
status |= O_NONBLOCK;
|
||||||
#else /* O_NONBLOCK */
|
#else /* O_NONBLOCK */
|
||||||
@ -600,11 +634,11 @@ xmlNanoHTTPConnectAttempt(struct in_addr ia, int port)
|
|||||||
#endif /* !O_NONBLOCK */
|
#endif /* !O_NONBLOCK */
|
||||||
status = fcntl(s, F_SETFL, status);
|
status = fcntl(s, F_SETFL, status);
|
||||||
}
|
}
|
||||||
if(status < 0) {
|
if (status < 0) {
|
||||||
#ifdef DEBUG_HTTP
|
#ifdef DEBUG_HTTP
|
||||||
perror("nonblocking");
|
perror("nonblocking");
|
||||||
#endif
|
#endif
|
||||||
close(s);
|
closesocket(s);
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
#endif /* !VMS */
|
#endif /* !VMS */
|
||||||
@ -615,10 +649,10 @@ xmlNanoHTTPConnectAttempt(struct in_addr ia, int port)
|
|||||||
sin.sin_addr = ia;
|
sin.sin_addr = ia;
|
||||||
sin.sin_port = htons(port);
|
sin.sin_port = htons(port);
|
||||||
|
|
||||||
if((connect(s, (struct sockaddr *)&sin, sizeof(sin))==-1) &&
|
if ((connect(s, (struct sockaddr *)&sin, sizeof(sin))==-1) &&
|
||||||
(errno != EINPROGRESS)) {
|
(socket_errno() != EINPROGRESS) && (socket_errno() != EWOULDBLOCK)) {
|
||||||
perror("connect");
|
perror("connect");
|
||||||
close(s);
|
closesocket(s);
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -632,14 +666,14 @@ xmlNanoHTTPConnectAttempt(struct in_addr ia, int port)
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
/* Time out */
|
/* Time out */
|
||||||
close(s);
|
closesocket(s);
|
||||||
return(-1);
|
return(-1);
|
||||||
case -1:
|
case -1:
|
||||||
/* Ermm.. ?? */
|
/* Ermm.. ?? */
|
||||||
#ifdef DEBUG_HTTP
|
#ifdef DEBUG_HTTP
|
||||||
perror("select");
|
perror("select");
|
||||||
#endif
|
#endif
|
||||||
close(s);
|
closesocket(s);
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -655,7 +689,7 @@ xmlNanoHTTPConnectAttempt(struct in_addr ia, int port)
|
|||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
if ( status ) {
|
if ( status ) {
|
||||||
close (s);
|
closesocket(s);
|
||||||
errno = status;
|
errno = status;
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
@ -686,7 +720,7 @@ xmlNanoHTTPConnectHost(const char *host, int port)
|
|||||||
int s;
|
int s;
|
||||||
|
|
||||||
h=gethostbyname(host);
|
h=gethostbyname(host);
|
||||||
if(h==NULL)
|
if (h==NULL)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_HTTP
|
#ifdef DEBUG_HTTP
|
||||||
fprintf(stderr,"unable to resolve '%s'.\n", host);
|
fprintf(stderr,"unable to resolve '%s'.\n", host);
|
||||||
@ -699,7 +733,7 @@ xmlNanoHTTPConnectHost(const char *host, int port)
|
|||||||
struct in_addr ia;
|
struct in_addr ia;
|
||||||
memcpy(&ia, h->h_addr_list[i],4);
|
memcpy(&ia, h->h_addr_list[i],4);
|
||||||
s = xmlNanoHTTPConnectAttempt(ia, port);
|
s = xmlNanoHTTPConnectAttempt(ia, port);
|
||||||
if(s != -1)
|
if (s != -1)
|
||||||
return(s);
|
return(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -839,7 +873,7 @@ retry:
|
|||||||
}
|
}
|
||||||
xmlNanoHTTPFreeCtxt(ctxt);
|
xmlNanoHTTPFreeCtxt(ctxt);
|
||||||
#ifdef DEBUG_HTTP
|
#ifdef DEBUG_HTTP
|
||||||
printf("Too many redirrects, aborting ...\n");
|
printf("Too many redirects, aborting ...\n");
|
||||||
#endif
|
#endif
|
||||||
return(NULL);
|
return(NULL);
|
||||||
|
|
||||||
|
@ -3,79 +3,79 @@
|
|||||||
Expression: /child::EXAMPLE
|
Expression: /child::EXAMPLE
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT EXAMPLE
|
1 ELEMENT EXAMPLE
|
||||||
ATTRIBUTE prop1
|
ATTRIBUTE prop1
|
||||||
TEXT
|
TEXT
|
||||||
content=gnome is great
|
content=gnome is great
|
||||||
ATTRIBUTE prop2
|
ATTRIBUTE prop2
|
||||||
TEXT
|
TEXT
|
||||||
content=& linux too
|
content=& linux too
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::*
|
Expression: /child::*
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT EXAMPLE
|
1 ELEMENT EXAMPLE
|
||||||
ATTRIBUTE prop1
|
ATTRIBUTE prop1
|
||||||
TEXT
|
TEXT
|
||||||
content=gnome is great
|
content=gnome is great
|
||||||
ATTRIBUTE prop2
|
ATTRIBUTE prop2
|
||||||
TEXT
|
TEXT
|
||||||
content=& linux too
|
content=& linux too
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::EXAMPLE/child::head
|
Expression: /child::EXAMPLE/child::head
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT head
|
1 ELEMENT head
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::EXAMPLE/child::*
|
Expression: /child::EXAMPLE/child::*
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 6 nodes:
|
Set contains 6 nodes:
|
||||||
1 ELEMENT head
|
1 ELEMENT head
|
||||||
2 ELEMENT chapter
|
2 ELEMENT chapter
|
||||||
3 ELEMENT chapter
|
3 ELEMENT chapter
|
||||||
4 ELEMENT chapter
|
4 ELEMENT chapter
|
||||||
5 ELEMENT chapter
|
5 ELEMENT chapter
|
||||||
6 ELEMENT chapter
|
6 ELEMENT chapter
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::EXAMPLE/child::head/child::title
|
Expression: /child::EXAMPLE/child::head/child::title
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT title
|
1 ELEMENT title
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::EXAMPLE/child::head/child::title/child::text()
|
Expression: /child::EXAMPLE/child::head/child::title/child::text()
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 TEXT
|
1 TEXT
|
||||||
content=Welcome to Gnome
|
content=Welcome to Gnome
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::EXAMPLE/child::head/node()
|
Expression: /child::EXAMPLE/child::head/node()
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT title
|
1 ELEMENT title
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /descendant::title
|
Expression: /descendant::title
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 6 nodes:
|
Set contains 6 nodes:
|
||||||
1 ELEMENT title
|
1 ELEMENT title
|
||||||
2 ELEMENT title
|
2 ELEMENT title
|
||||||
3 ELEMENT title
|
3 ELEMENT title
|
||||||
4 ELEMENT title
|
4 ELEMENT title
|
||||||
5 ELEMENT title
|
5 ELEMENT title
|
||||||
6 ELEMENT title
|
6 ELEMENT title
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /descendant::p/ancestor::chapter
|
Expression: /descendant::p/ancestor::chapter
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 5 nodes:
|
Set contains 5 nodes:
|
||||||
1 ELEMENT chapter
|
1 ELEMENT chapter
|
||||||
2 ELEMENT chapter
|
2 ELEMENT chapter
|
||||||
3 ELEMENT chapter
|
3 ELEMENT chapter
|
||||||
4 ELEMENT chapter
|
4 ELEMENT chapter
|
||||||
5 ELEMENT chapter
|
5 ELEMENT chapter
|
||||||
|
@ -23,54 +23,54 @@ Set contains 0 nodes:
|
|||||||
Expression: /child::EXAMPLE/child::chapter[3]/preceding::*
|
Expression: /child::EXAMPLE/child::chapter[3]/preceding::*
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 10 nodes:
|
Set contains 10 nodes:
|
||||||
1 ELEMENT p
|
1 ELEMENT p
|
||||||
2 ELEMENT title
|
2 ELEMENT title
|
||||||
3 ELEMENT chapter
|
3 ELEMENT chapter
|
||||||
4 ELEMENT p
|
4 ELEMENT p
|
||||||
5 ELEMENT image
|
5 ELEMENT image
|
||||||
ATTRIBUTE href
|
ATTRIBUTE href
|
||||||
TEXT
|
TEXT
|
||||||
content=linus.gif
|
content=linus.gif
|
||||||
6 ELEMENT p
|
6 ELEMENT p
|
||||||
7 ELEMENT title
|
7 ELEMENT title
|
||||||
8 ELEMENT chapter
|
8 ELEMENT chapter
|
||||||
9 ELEMENT title
|
9 ELEMENT title
|
||||||
10 ELEMENT head
|
10 ELEMENT head
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::EXAMPLE/child::chapter[3]/following::*
|
Expression: /child::EXAMPLE/child::chapter[3]/following::*
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 6 nodes:
|
Set contains 6 nodes:
|
||||||
1 ELEMENT chapter
|
1 ELEMENT chapter
|
||||||
2 ELEMENT title
|
2 ELEMENT title
|
||||||
3 ELEMENT p
|
3 ELEMENT p
|
||||||
4 ELEMENT chapter
|
4 ELEMENT chapter
|
||||||
5 ELEMENT title
|
5 ELEMENT title
|
||||||
6 ELEMENT p
|
6 ELEMENT p
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::EXAMPLE/child::chapter[1]/image/preceding::*
|
Expression: /child::EXAMPLE/child::chapter[1]/image/preceding::*
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 4 nodes:
|
Set contains 4 nodes:
|
||||||
1 ELEMENT p
|
1 ELEMENT p
|
||||||
2 ELEMENT title
|
2 ELEMENT title
|
||||||
3 ELEMENT title
|
3 ELEMENT title
|
||||||
4 ELEMENT head
|
4 ELEMENT head
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::EXAMPLE/child::chapter[1]/image/following::*
|
Expression: /child::EXAMPLE/child::chapter[1]/image/following::*
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 13 nodes:
|
Set contains 13 nodes:
|
||||||
1 ELEMENT p
|
1 ELEMENT p
|
||||||
2 ELEMENT chapter
|
2 ELEMENT chapter
|
||||||
3 ELEMENT title
|
3 ELEMENT title
|
||||||
4 ELEMENT p
|
4 ELEMENT p
|
||||||
5 ELEMENT chapter
|
5 ELEMENT chapter
|
||||||
6 ELEMENT title
|
6 ELEMENT title
|
||||||
7 ELEMENT p
|
7 ELEMENT p
|
||||||
8 ELEMENT chapter
|
8 ELEMENT chapter
|
||||||
9 ELEMENT title
|
9 ELEMENT title
|
||||||
10 ELEMENT p
|
10 ELEMENT p
|
||||||
11 ELEMENT chapter
|
11 ELEMENT chapter
|
||||||
12 ELEMENT title
|
12 ELEMENT title
|
||||||
13 ELEMENT p
|
13 ELEMENT p
|
||||||
|
@ -3,31 +3,31 @@
|
|||||||
Expression: //*[@id="root"]
|
Expression: //*[@id="root"]
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT EXAMPLE
|
1 ELEMENT EXAMPLE
|
||||||
ATTRIBUTE id
|
ATTRIBUTE id
|
||||||
TEXT
|
TEXT
|
||||||
content=root
|
content=root
|
||||||
ATTRIBUTE prop1
|
ATTRIBUTE prop1
|
||||||
TEXT
|
TEXT
|
||||||
content=gnome is great
|
content=gnome is great
|
||||||
ATTRIBUTE prop2
|
ATTRIBUTE prop2
|
||||||
TEXT
|
TEXT
|
||||||
content=& linux too
|
content=& linux too
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: //*[@id="chapter2"]
|
Expression: //*[@id="chapter2"]
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT chapter
|
1 ELEMENT chapter
|
||||||
ATTRIBUTE id
|
ATTRIBUTE id
|
||||||
TEXT
|
TEXT
|
||||||
content=chapter2
|
content=chapter2
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: //*[@id="chapter5"]
|
Expression: //*[@id="chapter5"]
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT chapter
|
1 ELEMENT chapter
|
||||||
ATTRIBUTE id
|
ATTRIBUTE id
|
||||||
TEXT
|
TEXT
|
||||||
content=chapter5
|
content=chapter5
|
||||||
|
@ -3,61 +3,61 @@
|
|||||||
Expression: /EXAMPLE
|
Expression: /EXAMPLE
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT EXAMPLE
|
1 ELEMENT EXAMPLE
|
||||||
ATTRIBUTE prop1
|
ATTRIBUTE prop1
|
||||||
TEXT
|
TEXT
|
||||||
content=gnome is great
|
content=gnome is great
|
||||||
ATTRIBUTE prop2
|
ATTRIBUTE prop2
|
||||||
TEXT
|
TEXT
|
||||||
content=& linux too
|
content=& linux too
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /EXAMPLE/head
|
Expression: /EXAMPLE/head
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT head
|
1 ELEMENT head
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /EXAMPLE/chapter[1]
|
Expression: /EXAMPLE/chapter[1]
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT chapter
|
1 ELEMENT chapter
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: //p
|
Expression: //p
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 2 nodes:
|
Set contains 2 nodes:
|
||||||
1 ELEMENT p
|
1 ELEMENT p
|
||||||
2 ELEMENT p
|
2 ELEMENT p
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: //chapter/image
|
Expression: //chapter/image
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT image
|
1 ELEMENT image
|
||||||
ATTRIBUTE href
|
ATTRIBUTE href
|
||||||
TEXT
|
TEXT
|
||||||
content=linus.gif
|
content=linus.gif
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: //p/text()
|
Expression: //p/text()
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 2 nodes:
|
Set contains 2 nodes:
|
||||||
1 TEXT
|
1 TEXT
|
||||||
content=bla bla bla ...
|
content=bla bla bla ...
|
||||||
2 TEXT
|
2 TEXT
|
||||||
content=...
|
content=...
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: //p/text()[position()=1]
|
Expression: //p/text()[position()=1]
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 TEXT
|
1 TEXT
|
||||||
content=bla bla bla ...
|
content=bla bla bla ...
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: //p/text()[position()=last()]
|
Expression: //p/text()[position()=last()]
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 TEXT
|
1 TEXT
|
||||||
content=...
|
content=...
|
||||||
|
@ -3,67 +3,67 @@
|
|||||||
Expression: /child::*
|
Expression: /child::*
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT EXAMPLE
|
1 ELEMENT EXAMPLE
|
||||||
ATTRIBUTE prop1
|
ATTRIBUTE prop1
|
||||||
TEXT
|
TEXT
|
||||||
content=gnome is great
|
content=gnome is great
|
||||||
ATTRIBUTE prop2
|
ATTRIBUTE prop2
|
||||||
TEXT
|
TEXT
|
||||||
content=& linux too
|
content=& linux too
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::EXAMPLE
|
Expression: /child::EXAMPLE
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT EXAMPLE
|
1 ELEMENT EXAMPLE
|
||||||
ATTRIBUTE prop1
|
ATTRIBUTE prop1
|
||||||
TEXT
|
TEXT
|
||||||
content=gnome is great
|
content=gnome is great
|
||||||
ATTRIBUTE prop2
|
ATTRIBUTE prop2
|
||||||
TEXT
|
TEXT
|
||||||
content=& linux too
|
content=& linux too
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::EXAMPLE/child::head
|
Expression: /child::EXAMPLE/child::head
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT head
|
1 ELEMENT head
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::EXAMPLE/child::*
|
Expression: /child::EXAMPLE/child::*
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 2 nodes:
|
Set contains 2 nodes:
|
||||||
1 ELEMENT head
|
1 ELEMENT head
|
||||||
2 ELEMENT chapter
|
2 ELEMENT chapter
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::EXAMPLE/child::head/child::title
|
Expression: /child::EXAMPLE/child::head/child::title
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT title
|
1 ELEMENT title
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::EXAMPLE/child::head/child::title/child::text()
|
Expression: /child::EXAMPLE/child::head/child::title/child::text()
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 TEXT
|
1 TEXT
|
||||||
content=Welcome to Gnome
|
content=Welcome to Gnome
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /child::EXAMPLE/child::head/node()
|
Expression: /child::EXAMPLE/child::head/node()
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT title
|
1 ELEMENT title
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /descendant::title
|
Expression: /descendant::title
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 2 nodes:
|
Set contains 2 nodes:
|
||||||
1 ELEMENT title
|
1 ELEMENT title
|
||||||
2 ELEMENT title
|
2 ELEMENT title
|
||||||
|
|
||||||
========================
|
========================
|
||||||
Expression: /descendant::p/ancestor::chapter
|
Expression: /descendant::p/ancestor::chapter
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT chapter
|
1 ELEMENT chapter
|
||||||
|
@ -3,10 +3,10 @@
|
|||||||
Expression: //ITEM[1]
|
Expression: //ITEM[1]
|
||||||
Object is a Node Set :
|
Object is a Node Set :
|
||||||
Set contains 1 nodes:
|
Set contains 1 nodes:
|
||||||
1 ELEMENT ITEM
|
1 ELEMENT ITEM
|
||||||
ATTRIBUTE monto
|
ATTRIBUTE monto
|
||||||
TEXT
|
TEXT
|
||||||
content=50.12
|
content=50.12
|
||||||
ATTRIBUTE divisa
|
ATTRIBUTE divisa
|
||||||
TEXT
|
TEXT
|
||||||
content=DOL
|
content=DOL
|
||||||
|
@ -3,25 +3,25 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>Welcome to Gnome</title>
|
<title>Welcome to Gnome</title>
|
||||||
</head>
|
</head>
|
||||||
<chapter>
|
<chapter id="chapter1">
|
||||||
<title>The Linux adventure</title>
|
<title>The Linux adventure</title>
|
||||||
<p>bla bla bla ...</p>
|
<p>bla bla bla ...</p>
|
||||||
<image href="linus.gif"/>
|
<image href="linus.gif"/>
|
||||||
<p>...</p>
|
<p>...</p>
|
||||||
</chapter>
|
</chapter>
|
||||||
<chapter>
|
<chapter id="chapter2">
|
||||||
<title>Chapter 2</title>
|
<title>Chapter 2</title>
|
||||||
<p>this is chapter 2 ...</p>
|
<p>this is chapter 2 ...</p>
|
||||||
</chapter>
|
</chapter>
|
||||||
<chapter>
|
<chapter id="chapter3">
|
||||||
<title>Chapter 3</title>
|
<title>Chapter 3</title>
|
||||||
<p>this is chapter 3 ...</p>
|
<p>this is chapter 3 ...</p>
|
||||||
</chapter>
|
</chapter>
|
||||||
<chapter>
|
<chapter id="chapter4">
|
||||||
<title>Chapter 4</title>
|
<title>Chapter 4</title>
|
||||||
<p>this is chapter 4 ...</p>
|
<p>this is chapter 4 ...</p>
|
||||||
</chapter>
|
</chapter>
|
||||||
<chapter>
|
<chapter id="chapter5">
|
||||||
<title>Chapter 5</title>
|
<title>Chapter 5</title>
|
||||||
<p>this is chapter 5 ...</p>
|
<p>this is chapter 5 ...</p>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
@ -1 +1,8 @@
|
|||||||
/following::* /preceding::* /child::EXAMPLE/preceding::* /child::EXAMPLE/following::* /child::EXAMPLE/child::chapter[3]/preceding::* /child::EXAMPLE/child::chapter[3]/following::* /child::EXAMPLE/child::chapter[1]/image/preceding::* /child::EXAMPLE/child::chapter[1]/image/following::*
|
/following::*
|
||||||
|
/preceding::*
|
||||||
|
/child::EXAMPLE/preceding::*
|
||||||
|
/child::EXAMPLE/following::*
|
||||||
|
/child::EXAMPLE/child::chapter[3]/preceding::*
|
||||||
|
/child::EXAMPLE/child::chapter[3]/following::*
|
||||||
|
/child::EXAMPLE/child::chapter[1]/image/preceding::*
|
||||||
|
/child::EXAMPLE/child::chapter[1]/image/following::*
|
||||||
|
12
testXPath.c
12
testXPath.c
@ -150,7 +150,7 @@ void xmlXPAthDebugDumpLocationSet(FILE *output, xmlLocationSetPtr cur, int depth
|
|||||||
|
|
||||||
for (i = 0;i < cur->locNr;i++) {
|
for (i = 0;i < cur->locNr;i++) {
|
||||||
fprintf(output, shift);
|
fprintf(output, shift);
|
||||||
fprintf(output, "%d :\n", i + 1);
|
fprintf(output, "%d : ", i + 1);
|
||||||
xmlXPAthDebugDumpObject(output, cur->locTab[i], depth + 1);
|
xmlXPAthDebugDumpObject(output, cur->locTab[i], depth + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -197,16 +197,18 @@ void xmlXPAthDebugDumpObject(FILE *output, xmlXPathObjectPtr cur, int depth) {
|
|||||||
fprintf(output, "\n");
|
fprintf(output, "\n");
|
||||||
break;
|
break;
|
||||||
case XPATH_RANGE:
|
case XPATH_RANGE:
|
||||||
fprintf(output, "Object is a range : from ");
|
fprintf(output, "Object is a range :\n");
|
||||||
|
fprintf(output, shift);
|
||||||
|
fprintf(output, "From ");
|
||||||
if (cur->index >= 0)
|
if (cur->index >= 0)
|
||||||
fprintf(output, "index %d in ", cur->index);
|
fprintf(output, "index %d in ", cur->index);
|
||||||
fprintf(output, "node");
|
fprintf(output, "node\n");
|
||||||
xmlXPAthDebugDumpNode(output, (xmlNodePtr) cur->user, depth + 1);
|
xmlXPAthDebugDumpNode(output, (xmlNodePtr) cur->user, depth + 1);
|
||||||
fprintf(output, shift);
|
fprintf(output, shift);
|
||||||
fprintf(output, " to ");
|
fprintf(output, "To ");
|
||||||
if (cur->index2 >= 0)
|
if (cur->index2 >= 0)
|
||||||
fprintf(output, "index %d in ", cur->index2);
|
fprintf(output, "index %d in ", cur->index2);
|
||||||
fprintf(output, "node");
|
fprintf(output, "node\n");
|
||||||
xmlXPAthDebugDumpNode(output, (xmlNodePtr) cur->user2, depth + 1);
|
xmlXPAthDebugDumpNode(output, (xmlNodePtr) cur->user2, depth + 1);
|
||||||
fprintf(output, "\n");
|
fprintf(output, "\n");
|
||||||
break;
|
break;
|
||||||
|
4
valid.c
4
valid.c
@ -1823,9 +1823,7 @@ xmlIsID(xmlDocPtr doc, xmlNodePtr elem, xmlAttrPtr attr) {
|
|||||||
if (doc == NULL) return(0);
|
if (doc == NULL) return(0);
|
||||||
if (attr == 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')) &&
|
return(0);
|
||||||
((attr->name[1] == 'D') || (attr->name[1] == 'd')) &&
|
|
||||||
(attr->name[2] == 0)) return(1);
|
|
||||||
} else if (doc->type == XML_HTML_DOCUMENT_NODE) {
|
} else if (doc->type == XML_HTML_DOCUMENT_NODE) {
|
||||||
if ((xmlStrEqual(BAD_CAST "id", attr->name)) ||
|
if ((xmlStrEqual(BAD_CAST "id", attr->name)) ||
|
||||||
(xmlStrEqual(BAD_CAST "name", attr->name)))
|
(xmlStrEqual(BAD_CAST "name", attr->name)))
|
||||||
|
95
win32/Makefile.mingw
Normal file
95
win32/Makefile.mingw
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
# This Makefile will allow you to build the static library, a DLL, the
|
||||||
|
# DLL-import library, and the test executables using the "mingw" gcc
|
||||||
|
# compiler environment. This Makefile is based on Alfred Reibenschuh's
|
||||||
|
# version for 2.1.1, and was modified by Wayne Davison.
|
||||||
|
|
||||||
|
# Set "PREFIX" to the root of the mingw installed files.
|
||||||
|
|
||||||
|
PREFIX = /mingw
|
||||||
|
|
||||||
|
CC=gcc
|
||||||
|
CFLAGS=-O -Iinclude -I$(PREFIX)/include -D_WINSOCKAPI_ -fnative-struct
|
||||||
|
LDFLAGS=-L. -L$(PREFIX)/lib
|
||||||
|
LIBS=-lwsock32 -lz
|
||||||
|
|
||||||
|
AR=ar rc
|
||||||
|
DLLTOOL=dlltool
|
||||||
|
DLLWRAP=dllwrap
|
||||||
|
|
||||||
|
LIBSRCS=HTMLparser.c \
|
||||||
|
HTMLtree.c \
|
||||||
|
SAX.c \
|
||||||
|
debugXML.c \
|
||||||
|
encoding.c \
|
||||||
|
entities.c \
|
||||||
|
error.c \
|
||||||
|
nanoftp.c \
|
||||||
|
nanohttp.c \
|
||||||
|
parser.c \
|
||||||
|
parserInternals.c \
|
||||||
|
tree.c \
|
||||||
|
valid.c \
|
||||||
|
xlink.c \
|
||||||
|
xmlIO.c \
|
||||||
|
xmlmemory.c \
|
||||||
|
xpath.c \
|
||||||
|
uri.c
|
||||||
|
|
||||||
|
LIBOBJS=$(LIBSRCS:.c=.o)
|
||||||
|
|
||||||
|
OBJS=$(LIBOBJS)
|
||||||
|
|
||||||
|
LIBBASE=xml
|
||||||
|
LIB=lib$(LIBBASE).a
|
||||||
|
DLL=$(LIB:.a=.dll)
|
||||||
|
|
||||||
|
OBJ1=testHTML.o
|
||||||
|
OBJ2=testSAX.o
|
||||||
|
OBJ3=testURI.o
|
||||||
|
EXE1=$(OBJ1:.o=.exe)
|
||||||
|
EXE2=$(OBJ2:.o=.exe)
|
||||||
|
EXE3=$(OBJ3:.o=.exe)
|
||||||
|
|
||||||
|
IMPBASE=$(LIBBASE)_dll
|
||||||
|
IMP=lib$(IMPBASE).a
|
||||||
|
|
||||||
|
DEF=$(DLL:.dll=.def)
|
||||||
|
|
||||||
|
all: $(LIB) $(DLL) $(DEF) $(IMP) $(EXE1) $(EXE2) $(EXE3)
|
||||||
|
|
||||||
|
dll: $(DLL)
|
||||||
|
|
||||||
|
lib: $(LIB)
|
||||||
|
|
||||||
|
$(DLL): $(LIB) $(DEF) $(IMP)
|
||||||
|
$(DLLWRAP) --def $(DEF) --dllname $@ --output-lib $@ $(LIB) $(LDFLAGS) $(LIBS) -mwindows
|
||||||
|
|
||||||
|
$(LIB): $(LIBOBJS)
|
||||||
|
$(AR) $@ $^
|
||||||
|
|
||||||
|
$(DEF): $(LIBOBJS)
|
||||||
|
$(DLLTOOL) --kill-at --export-all -D $(DLL) --output-def $@ $^
|
||||||
|
|
||||||
|
$(IMP): $(DEF)
|
||||||
|
$(DLLTOOL) -d $< -l $@ -D $(DLL)
|
||||||
|
|
||||||
|
$(EXE1): $(OBJ1) $(LIBOBJS) $(DLL)
|
||||||
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(IMPBASE) $(LIBS)
|
||||||
|
strip $@
|
||||||
|
|
||||||
|
$(EXE2): $(OBJ2) $(LIBOBJS) $(DLL)
|
||||||
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(IMPBASE) $(LIBS)
|
||||||
|
strip $@
|
||||||
|
|
||||||
|
$(EXE3): $(OBJ3) $(LIBOBJS) $(LIB)
|
||||||
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(LIBBASE) $(LIBS)
|
||||||
|
strip $@
|
||||||
|
|
||||||
|
.c.o:
|
||||||
|
$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm *.o *.a *.dll *.def
|
||||||
|
|
||||||
|
test: all
|
||||||
|
./$(EXE1) -c $(OBJS) | xxd | head -3
|
@ -1,41 +1,30 @@
|
|||||||
The configuration stuff (i.e. what should be enabled/disabled) is in xmlversion.h
|
If you're creating libxml2 with the "mingw" compiler, just copy the
|
||||||
I only tested it compiled fine with the current settings
|
Makefile.mingw to the root directory as "Makefile", edit the PREFIX
|
||||||
|
value, and run "make".
|
||||||
|
|
||||||
|
If you're using MSVC, here are some instructions for how you can
|
||||||
|
proceed:
|
||||||
|
|
||||||
|
The configuration stuff (i.e. what should be enabled/disabled) is in
|
||||||
|
xmlversion.h I only tested it compiled fine with the current settings
|
||||||
(that is nearly everything disabled, I didn't need many features)
|
(that is nearly everything disabled, I didn't need many features)
|
||||||
|
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
How did I get everything in place so the MSDev project works from the original archive?
|
How did I get everything in place so the MSDev project works from the
|
||||||
|
original archive?
|
||||||
|
|
||||||
from the cygwin prompt (http://sources.redhat.com/cygwin) :
|
from the cygwin prompt (http://sources.redhat.com/cygwin) :
|
||||||
$ ./configure --disable-corba --without-ftp --without-http --without-html --wit
|
$ ./configure --disable-corba --without-ftp --without-http --without-html --wit
|
||||||
hout-xpath --without-iconv --without-debug
|
hout-xpath --without-iconv --without-debug
|
||||||
|
|
||||||
created a libxml directory and copied the following headers in:
|
|
||||||
HTMLparser.h entities.h tree.h xmlIO.h
|
|
||||||
HTMLtree.h nanoftp.h uri.h xmlmemory.h
|
|
||||||
SAX.h nanohttp.h valid.h xmlversion.h
|
|
||||||
debugXML.h parser.h xlink.h xpath.h
|
|
||||||
encoding.h parserInternals.h xml-error.h
|
|
||||||
|
|
||||||
modified win32config.h to comment out
|
|
||||||
#define LIBXML_VERSION 20204
|
|
||||||
#define LIBXML_VERSION_STRING "2.2.4"
|
|
||||||
(is already in xmlversion.h)
|
|
||||||
|
|
||||||
built the project file for the static library
|
built the project file for the static library
|
||||||
|
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
diff after doing the changes and cleaning up the generated stuff:
|
diff after doing the changes and cleaning up the generated stuff:
|
||||||
|
|
||||||
Only in libxml2-2.2.4: MSDev
|
[Note: this is out of date]
|
||||||
Common subdirectories: libxml2-2.2.4/SAXresult and libxml2-2.2.4-reference/SAXresult
|
|
||||||
Common subdirectories: libxml2-2.2.4/doc and libxml2-2.2.4-reference/doc
|
|
||||||
Common subdirectories: libxml2-2.2.4/example and libxml2-2.2.4-reference/example
|
|
||||||
Only in libxml2-2.2.4: libxml
|
|
||||||
Common subdirectories: libxml2-2.2.4/result and libxml2-2.2.4-reference/result
|
|
||||||
Common subdirectories: libxml2-2.2.4/test and libxml2-2.2.4-reference/test
|
|
||||||
Only in libxml2-2.2.4: win32config.h
|
|
||||||
diff libxml2-2.2.4/xmlversion.h libxml2-2.2.4-reference/xmlversion.h
|
diff libxml2-2.2.4/xmlversion.h libxml2-2.2.4-reference/xmlversion.h
|
||||||
38c38
|
38c38
|
||||||
< #if 0
|
< #if 0
|
||||||
|
@ -1,166 +1,169 @@
|
|||||||
# Microsoft Developer Studio Project File - Name="libxml2" - Package Owner=<4>
|
# Microsoft Developer Studio Project File - Name="libxml2" - Package Owner=<4>
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
# ** DO NOT EDIT **
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||||
|
|
||||||
CFG=libxml2 - Win32 Debug
|
CFG=libxml2 - Win32 Debug
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
!MESSAGE use the Export Makefile command and run
|
!MESSAGE use the Export Makefile command and run
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE NMAKE /f "libxml2.mak".
|
!MESSAGE NMAKE /f "libxml2.mak".
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE NMAKE /f "libxml2.mak" CFG="libxml2 - Win32 Debug"
|
!MESSAGE NMAKE /f "libxml2.mak" CFG="libxml2 - Win32 Debug"
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE Possible choices for configuration are:
|
!MESSAGE Possible choices for configuration are:
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE "libxml2 - Win32 Release" (based on "Win32 (x86) Static Library")
|
!MESSAGE "libxml2 - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||||
!MESSAGE "libxml2 - Win32 Debug" (based on "Win32 (x86) Static Library")
|
!MESSAGE "libxml2 - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
|
|
||||||
# Begin Project
|
# Begin Project
|
||||||
# PROP AllowPerConfigDependencies 0
|
# PROP AllowPerConfigDependencies 0
|
||||||
# PROP Scc_ProjName ""
|
# PROP Scc_ProjName ""
|
||||||
# PROP Scc_LocalPath ""
|
# PROP Scc_LocalPath ""
|
||||||
CPP=cl.exe
|
CPP=cl.exe
|
||||||
RSC=rc.exe
|
F90=df.exe
|
||||||
|
RSC=rc.exe
|
||||||
!IF "$(CFG)" == "libxml2 - Win32 Release"
|
|
||||||
|
!IF "$(CFG)" == "libxml2 - Win32 Release"
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Output_Dir "Release"
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
# PROP BASE Output_Dir "Release"
|
||||||
# PROP BASE Target_Dir ""
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
# PROP Use_MFC 0
|
# PROP BASE Target_Dir ""
|
||||||
# PROP Use_Debug_Libraries 0
|
# PROP Use_MFC 0
|
||||||
# PROP Output_Dir "Release"
|
# PROP Use_Debug_Libraries 0
|
||||||
# PROP Intermediate_Dir "Release"
|
# PROP Output_Dir "Release"
|
||||||
# PROP Target_Dir ""
|
# PROP Intermediate_Dir "Release"
|
||||||
F90=df.exe
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
# ADD BASE F90 /include:"Release/"
|
||||||
# ADD CPP /nologo /W3 /GX /O2 /I "..\.." /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
# ADD F90 /include:"Release/"
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
# ADD CPP /nologo /W3 /GX /O2 /I "..\..\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||||
BSC32=bscmake.exe
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
# ADD BASE BSC32 /nologo
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
# ADD BSC32 /nologo
|
BSC32=bscmake.exe
|
||||||
LIB32=link.exe -lib
|
# ADD BASE BSC32 /nologo
|
||||||
# ADD BASE LIB32 /nologo
|
# ADD BSC32 /nologo
|
||||||
# ADD LIB32 /nologo
|
LIB32=link.exe -lib
|
||||||
|
# ADD BASE LIB32 /nologo
|
||||||
!ELSEIF "$(CFG)" == "libxml2 - Win32 Debug"
|
# ADD LIB32 /nologo
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
!ELSEIF "$(CFG)" == "libxml2 - Win32 Debug"
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
# PROP BASE Target_Dir ""
|
# PROP BASE Output_Dir "Debug"
|
||||||
# PROP Use_MFC 0
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
# PROP Use_Debug_Libraries 1
|
# PROP BASE Target_Dir ""
|
||||||
# PROP Output_Dir "Debug"
|
# PROP Use_MFC 0
|
||||||
# PROP Intermediate_Dir "Debug"
|
# PROP Use_Debug_Libraries 1
|
||||||
# PROP Target_Dir ""
|
# PROP Output_Dir "Debug"
|
||||||
F90=df.exe
|
# PROP Intermediate_Dir "Debug"
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
# PROP Target_Dir ""
|
||||||
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
# ADD BASE F90 /include:"Debug/"
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
# ADD F90 /include:"Debug/"
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||||
BSC32=bscmake.exe
|
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||||
# ADD BASE BSC32 /nologo
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
# ADD BSC32 /nologo
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
LIB32=link.exe -lib
|
BSC32=bscmake.exe
|
||||||
# ADD BASE LIB32 /nologo
|
# ADD BASE BSC32 /nologo
|
||||||
# ADD LIB32 /nologo
|
# ADD BSC32 /nologo
|
||||||
|
LIB32=link.exe -lib
|
||||||
!ENDIF
|
# ADD BASE LIB32 /nologo
|
||||||
|
# ADD LIB32 /nologo
|
||||||
# Begin Target
|
|
||||||
|
!ENDIF
|
||||||
# Name "libxml2 - Win32 Release"
|
|
||||||
# Name "libxml2 - Win32 Debug"
|
# Begin Target
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
# Name "libxml2 - Win32 Release"
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
# Name "libxml2 - Win32 Debug"
|
||||||
# Begin Source File
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
SOURCE=..\..\debugXML.c
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\debugXML.c
|
||||||
SOURCE=..\..\encoding.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\encoding.c
|
||||||
SOURCE=..\..\entities.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\entities.c
|
||||||
SOURCE=..\..\error.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\error.c
|
||||||
SOURCE=..\..\HTMLparser.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\HTMLparser.c
|
||||||
SOURCE=..\..\HTMLtree.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\HTMLtree.c
|
||||||
SOURCE=..\..\nanoftp.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\nanoftp.c
|
||||||
SOURCE=..\..\nanohttp.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\nanohttp.c
|
||||||
SOURCE=..\..\parser.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\parser.c
|
||||||
SOURCE=..\..\parserInternals.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\parserInternals.c
|
||||||
SOURCE=..\..\SAX.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\SAX.c
|
||||||
SOURCE=..\..\tree.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\tree.c
|
||||||
SOURCE=..\..\uri.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\uri.c
|
||||||
SOURCE=..\..\valid.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\valid.c
|
||||||
SOURCE=..\..\xlink.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\xlink.c
|
||||||
SOURCE=..\..\xmlIO.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\xmlIO.c
|
||||||
SOURCE=..\..\xmlmemory.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# Begin Source File
|
|
||||||
|
SOURCE=..\..\xmlmemory.c
|
||||||
SOURCE=..\..\xpath.c
|
# End Source File
|
||||||
# End Source File
|
# Begin Source File
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
SOURCE=..\..\xpath.c
|
||||||
|
# End Source File
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
# End Group
|
||||||
# End Group
|
# Begin Group "Header Files"
|
||||||
# End Target
|
|
||||||
# End Project
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
||||||
|
Reference in New Issue
Block a user