1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2024-10-26 12:25:09 +03:00

- moved xml-error.h to xmlerror.h: seems this allowed to bypass

the automake bug where wrong dependancies were generated.
- xpath.[ch]: worked on XPointer
Daniel
This commit is contained in:
Daniel Veillard 2000-10-09 12:30:39 +00:00
parent aaf58b96f5
commit b71379b796
18 changed files with 234 additions and 108 deletions

View File

@ -1,3 +1,9 @@
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
the automake bug where wrong dependancies were generated.
* xpath.[ch]: worked on XPointer
Fri Oct 6 12:58:04 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org>
* configure.in Makefile.am: 2.2.5, ship the include in an

View File

@ -12,7 +12,7 @@
#include "config.h"
#endif
#include "xmlversion.h"
#include <libxml/xmlversion.h>
#ifdef LIBXML_HTML_ENABLED
#include <stdio.h>
@ -40,7 +40,7 @@
#include <libxml/tree.h>
#include <libxml/parser.h>
#include <libxml/parserInternals.h>
#include <libxml/xml-error.h>
#include <libxml/xmlerror.h>
#include <libxml/HTMLparser.h>
#include <libxml/entities.h>
#include <libxml/encoding.h>

View File

@ -13,7 +13,7 @@
#include "config.h"
#endif
#include "xmlversion.h"
#include <libxml/xmlversion.h>
#ifdef LIBXML_HTML_ENABLED
#include <stdio.h>

View File

@ -35,28 +35,28 @@ libxml_la_SOURCES = \
nanohttp.c \
nanoftp.c
xmlincdir = $(srcdir)/include/libxml
xmlincdir = $(includedir)/libxml
xmlinc_HEADERS = \
$(xmlincdir)/SAX.h \
$(xmlincdir)/entities.h \
$(xmlincdir)/encoding.h \
$(xmlincdir)/parser.h \
$(xmlincdir)/parserInternals.h \
$(xmlincdir)/xml-error.h \
$(xmlincdir)/HTMLparser.h \
$(xmlincdir)/HTMLtree.h \
$(xmlincdir)/debugXML.h \
$(xmlincdir)/tree.h \
$(xmlincdir)/xpath.h \
$(xmlincdir)/xmlIO.h \
$(xmlincdir)/xmlmemory.h \
$(xmlincdir)/nanohttp.h \
$(xmlincdir)/nanoftp.h \
$(xmlincdir)/uri.h \
$(xmlincdir)/valid.h \
$(xmlincdir)/xlink.h \
$(xmlincdir)/xmlversion.h
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
LDADDS = $(top_builddir)/libxml.la @Z_LIBS@ @M_LIBS@

2
SAX.c
View File

@ -21,7 +21,7 @@
#include <libxml/parserInternals.h>
#include <libxml/valid.h>
#include <libxml/entities.h>
#include <libxml/xml-error.h>
#include <libxml/xmlerror.h>
#include <libxml/debugXML.h>
#include <libxml/xmlIO.h>
#include <libxml/SAX.h>

View File

@ -13,7 +13,7 @@
#include "config.h"
#endif
#include "xmlversion.h"
#include <libxml/xmlversion.h>
#ifdef LIBXML_DEBUG_ENABLED
#include <stdio.h>

View File

@ -42,7 +42,11 @@ typedef enum {
XPATH_INVALID_TYPE,
XPATH_INVALID_ARITY,
XPATH_INVALID_CTXT_SIZE,
XPATH_INVALID_CTXT_POSITION
XPATH_INVALID_CTXT_POSITION,
XPATH_MEMORY_ERROR,
XPTR_SYNTAX_ERROR,
XPTR_RESOURCE_ERROR,
XPTR_SUB_RESOURCE_ERROR
} xmlXPathError;
/*
@ -263,8 +267,13 @@ void xmlXPatherror (xmlXPathParserContextPtr ctxt,
int no);
/**
* Utilities for implementing more functions
* Utilities to extend XPath (XPointer)
*/
xmlXPathParserContextPtr
xmlXPathNewParserContext (const xmlChar *str,
xmlXPathContextPtr ctxt);
void xmlXPathFreeParserContext (xmlXPathParserContextPtr ctxt);
xmlXPathObjectPtr valuePop (xmlXPathParserContextPtr ctxt);
int valuePush (xmlXPathParserContextPtr ctxt,
xmlXPathObjectPtr value);

View File

@ -21,7 +21,7 @@
#endif
#endif /* STANDALONE */
#include "xmlversion.h"
#include <libxml/xmlversion.h>
#ifdef LIBXML_FTP_ENABLED
#include <stdio.h>

View File

@ -21,7 +21,7 @@
#include "config.h"
#endif
#include "xmlversion.h"
#include <libxml/xmlversion.h>
#ifdef LIBXML_HTTP_ENABLED
#include <stdio.h>

View File

@ -39,7 +39,19 @@
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <libxml/xmlmemory.h>
#include <libxml/tree.h>
#include <libxml/parser.h>
#include <libxml/parserInternals.h>
#include <libxml/valid.h>
#include <libxml/entities.h>
#include <libxml/xmlerror.h>
#include <libxml/encoding.h>
#include <libxml/xmlIO.h>
#include <libxml/uri.h>
#ifdef HAVE_CTYPE_H
#include <ctype.h>
#endif
@ -59,16 +71,6 @@
#include <zlib.h>
#endif
#include <libxml/xmlmemory.h>
#include <libxml/tree.h>
#include <libxml/parser.h>
#include <libxml/parserInternals.h>
#include <libxml/xml-error.h>
#include <libxml/entities.h>
#include <libxml/encoding.h>
#include <libxml/valid.h>
#include <libxml/xmlIO.h>
#include <libxml/uri.h>
#define XML_PARSER_BIG_BUFFER_SIZE 1000
#define XML_PARSER_BUFFER_SIZE 100

View File

@ -42,7 +42,7 @@
#include <libxml/parserInternals.h>
#include <libxml/valid.h>
#include <libxml/entities.h>
#include <libxml/xml-error.h>
#include <libxml/xmlerror.h>
#include <libxml/encoding.h>
#include <libxml/valid.h>
#include <libxml/xmlIO.h>

View File

@ -12,7 +12,7 @@
#include "config.h"
#endif
#include "xmlversion.h"
#include <libxml/xmlversion.h>
#ifdef LIBXML_HTML_ENABLED
#include <stdio.h>

View File

@ -36,7 +36,7 @@
#endif
#include <libxml/xml-error.h>
#include <libxml/xmlerror.h>
#include <libxml/parser.h>
#include <libxml/parserInternals.h> /* only for xmlNewInputFromFile() */
#include <libxml/tree.h>

View File

@ -12,7 +12,7 @@
#include "config.h"
#endif
#include "xmlversion.h"
#include <libxml/xmlversion.h>
#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED)
#include <stdio.h>

156
xmlerror.h Normal file
View File

@ -0,0 +1,156 @@
#ifndef __XML_ERROR_H__
#define __XML_ERROR_H__
#include <libxml/parser.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
XML_ERR_OK = 0,
XML_ERR_INTERNAL_ERROR,
XML_ERR_NO_MEMORY,
XML_ERR_DOCUMENT_START, /* 3 */
XML_ERR_DOCUMENT_EMPTY,
XML_ERR_DOCUMENT_END,
XML_ERR_INVALID_HEX_CHARREF, /* 6 */
XML_ERR_INVALID_DEC_CHARREF,
XML_ERR_INVALID_CHARREF,
XML_ERR_INVALID_CHAR,
XML_ERR_CHARREF_AT_EOF, /* 10 */
XML_ERR_CHARREF_IN_PROLOG,
XML_ERR_CHARREF_IN_EPILOG,
XML_ERR_CHARREF_IN_DTD,
XML_ERR_ENTITYREF_AT_EOF,
XML_ERR_ENTITYREF_IN_PROLOG,
XML_ERR_ENTITYREF_IN_EPILOG,
XML_ERR_ENTITYREF_IN_DTD,
XML_ERR_PEREF_AT_EOF,
XML_ERR_PEREF_IN_PROLOG,
XML_ERR_PEREF_IN_EPILOG,
XML_ERR_PEREF_IN_INT_SUBSET,
XML_ERR_ENTITYREF_NO_NAME, /* 22 */
XML_ERR_ENTITYREF_SEMICOL_MISSING,
XML_ERR_PEREF_NO_NAME, /* 24 */
XML_ERR_PEREF_SEMICOL_MISSING,
XML_ERR_UNDECLARED_ENTITY, /* 26 */
XML_WAR_UNDECLARED_ENTITY,
XML_ERR_UNPARSED_ENTITY,
XML_ERR_ENTITY_IS_EXTERNAL,
XML_ERR_ENTITY_IS_PARAMETER,
XML_ERR_UNKNOWN_ENCODING, /* 31 */
XML_ERR_UNSUPPORTED_ENCODING,
XML_ERR_STRING_NOT_STARTED, /* 33 */
XML_ERR_STRING_NOT_CLOSED,
XML_ERR_NS_DECL_ERROR,
XML_ERR_ENTITY_NOT_STARTED, /* 36 */
XML_ERR_ENTITY_NOT_FINISHED,
XML_ERR_LT_IN_ATTRIBUTE, /* 38 */
XML_ERR_ATTRIBUTE_NOT_STARTED,
XML_ERR_ATTRIBUTE_NOT_FINISHED,
XML_ERR_ATTRIBUTE_WITHOUT_VALUE,
XML_ERR_ATTRIBUTE_REDEFINED,
XML_ERR_LITERAL_NOT_STARTED, /* 43 */
XML_ERR_LITERAL_NOT_FINISHED,
XML_ERR_COMMENT_NOT_FINISHED, /* 45 */
XML_ERR_PI_NOT_STARTED, /* 47 */
XML_ERR_PI_NOT_FINISHED,
XML_ERR_NOTATION_NOT_STARTED, /* 49 */
XML_ERR_NOTATION_NOT_FINISHED,
XML_ERR_ATTLIST_NOT_STARTED, /* 51 */
XML_ERR_ATTLIST_NOT_FINISHED,
XML_ERR_MIXED_NOT_STARTED, /* 53 */
XML_ERR_MIXED_NOT_FINISHED,
XML_ERR_ELEMCONTENT_NOT_STARTED, /* 55 */
XML_ERR_ELEMCONTENT_NOT_FINISHED,
XML_ERR_XMLDECL_NOT_STARTED, /* 57 */
XML_ERR_XMLDECL_NOT_FINISHED,
XML_ERR_CONDSEC_NOT_STARTED, /* 59 */
XML_ERR_CONDSEC_NOT_FINISHED,
XML_ERR_EXT_SUBSET_NOT_FINISHED, /* 61 */
XML_ERR_DOCTYPE_NOT_FINISHED, /* 62 */
XML_ERR_MISPLACED_CDATA_END, /* 63 */
XML_ERR_CDATA_NOT_FINISHED,
XML_ERR_RESERVED_XML_NAME, /* 65 */
XML_ERR_SPACE_REQUIRED, /* 66 */
XML_ERR_SEPARATOR_REQUIRED,
XML_ERR_NMTOKEN_REQUIRED,
XML_ERR_NAME_REQUIRED,
XML_ERR_PCDATA_REQUIRED,
XML_ERR_URI_REQUIRED,
XML_ERR_PUBID_REQUIRED,
XML_ERR_LT_REQUIRED,
XML_ERR_GT_REQUIRED,
XML_ERR_LTSLASH_REQUIRED,
XML_ERR_EQUAL_REQUIRED,
XML_ERR_TAG_NAME_MISMATCH, /* 77 */
XML_ERR_TAG_NOT_FINISED,
XML_ERR_STANDALONE_VALUE, /* 79 */
XML_ERR_ENCODING_NAME, /* 80 */
XML_ERR_HYPHEN_IN_COMMENT, /* 81 */
XML_ERR_INVALID_ENCODING, /* 82 */
XML_ERR_EXT_ENTITY_STANDALONE, /* 83 */
XML_ERR_CONDSEC_INVALID, /* 84 */
XML_ERR_VALUE_REQUIRED, /* 85 */
XML_ERR_NOT_WELL_BALANCED, /* 86 */
XML_ERR_EXTRA_CONTENT, /* 87 */
XML_ERR_ENTITY_CHAR_ERROR, /* 88 */
XML_ERR_ENTITY_PE_INTERNAL, /* 88 */
XML_ERR_ENTITY_LOOP, /* 89 */
XML_ERR_ENTITY_BOUNDARY, /* 90 */
XML_ERR_INVALID_URI, /* 91 */
XML_ERR_URI_FRAGMENT /* 92 */
}xmlParserErrors;
void xmlParserError (void *ctx,
const char *msg,
...);
void xmlParserWarning (void *ctx,
const char *msg,
...);
void xmlParserValidityError (void *ctx,
const char *msg,
...);
void xmlParserValidityWarning(void *ctx,
const char *msg,
...);
void xmlParserPrintFileInfo (xmlParserInputPtr input);
void xmlParserPrintFileContext(xmlParserInputPtr input);
#ifdef __cplusplus
}
#endif
#endif /* __XML_ERROR_H__ */

70
xpath.c
View File

@ -19,7 +19,7 @@
#include "config.h"
#endif
#include "xmlversion.h"
#include <libxml/xmlversion.h>
#ifdef LIBXML_XPATH_ENABLED
#include <stdio.h>
@ -269,6 +269,10 @@ const char *xmlXPathErrorMessages[] = {
"Invalid number of arguments",
"Invalid context size",
"Invalid context position",
"Memory allocation error",
"Syntax error",
"Resource error",
"Sub resource error"
};
/**
@ -777,9 +781,11 @@ xmlXPathFreeObject(xmlXPathObjectPtr obj) {
if (obj->type == XPATH_NODESET) {
if (obj->nodesetval != NULL)
xmlXPathFreeNodeSet(obj->nodesetval);
#ifdef LIBXML_XPTR_ENABLED
} else if (obj->type == XPATH_LOCATIONSET) {
if (obj->user != NULL)
xmlXPathFreeLocationSet(obj->user);
#endif
} else if (obj->type == XPATH_STRING) {
if (obj->stringval != NULL)
xmlFree(obj->stringval);
@ -4872,68 +4878,6 @@ xmlXPathEval(const xmlChar *str, xmlXPathContextPtr ctx) {
return(res);
}
/**
* xmlXPathEvalXPtrExpr:
* @str: the XPointer XPtrExpr expression
* @ctx: the XPointer context
*
* Evaluate the location set corresponding to this expression.
*
* Returns the xmlXPathObjectPtr resulting from the eveluation or NULL.
* the caller has to free the object.
*/
xmlXPathObjectPtr
xmlXPathEvalXPtrExpr(const xmlChar *str, xmlXPathContextPtr ctx) {
xmlXPathParserContextPtr ctxt;
xmlXPathObjectPtr res = NULL, tmp;
xmlXPathObjectPtr init = NULL;
int stack = 0;
xmlXPathInit();
CHECK_CONTEXT(ctx)
if (xmlXPathDebug == NULL)
xmlXPathDebug = stderr;
ctxt = xmlXPathNewParserContext(str, ctx);
if (ctx->node != NULL) {
init = xmlXPathNewNodeSet(ctx->node);
valuePush(ctxt, init);
}
if (str[0] == '/')
xmlXPathRoot(ctxt);
xmlXPathEvalExpr(ctxt);
if ((ctxt->value == NULL) ||
((ctxt->value->type != XPATH_NODESET) &&
(ctxt->value->type != XPATH_LOCATIONSET))) {
fprintf(xmlXPathDebug,
"xmlXPathEvalXPtrExpr: evaluation failed to return a node set\n");
} else {
res = valuePop(ctxt);
}
do {
tmp = valuePop(ctxt);
if (tmp != NULL) {
xmlXPathFreeObject(tmp);
if (tmp != init)
stack++;
}
} while (tmp != NULL);
if (stack != 0) {
fprintf(xmlXPathDebug, "xmlXPathEvalXPtrExpr: %d object left on the stack\n",
stack);
}
if (ctxt->error != XPATH_EXPRESSION_OK) {
xmlXPathFreeObject(res);
res = NULL;
}
xmlXPathFreeParserContext(ctxt);
return(res);
}
/**
* xmlXPathEvalExpression:
* @str: the XPath expression

13
xpath.h
View File

@ -42,7 +42,11 @@ typedef enum {
XPATH_INVALID_TYPE,
XPATH_INVALID_ARITY,
XPATH_INVALID_CTXT_SIZE,
XPATH_INVALID_CTXT_POSITION
XPATH_INVALID_CTXT_POSITION,
XPATH_MEMORY_ERROR,
XPTR_SYNTAX_ERROR,
XPTR_RESOURCE_ERROR,
XPTR_SUB_RESOURCE_ERROR
} xmlXPathError;
/*
@ -263,8 +267,13 @@ void xmlXPatherror (xmlXPathParserContextPtr ctxt,
int no);
/**
* Utilities for implementing more functions
* Utilities to extend XPath (XPointer)
*/
xmlXPathParserContextPtr
xmlXPathNewParserContext (const xmlChar *str,
xmlXPathContextPtr ctxt);
void xmlXPathFreeParserContext (xmlXPathParserContextPtr ctxt);
xmlXPathObjectPtr valuePop (xmlXPathParserContextPtr ctxt);
int valuePush (xmlXPathParserContextPtr ctxt,
xmlXPathObjectPtr value);