1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-07-29 11:41:22 +03:00

Bug fixes and an extension found and required by XSLT:

- xpath.c: bug fixes found from XSLT
- tree.c: preserve node->name special values when copying nodes.
- parserInternals.[ch] parser.[ch] SAX.c : added a mode where
  external subset are fetched when available but without full
  validation. Added xmlLoadExtDtdDefaultValue, need a function.
- HTMLtree.c: add support for xmlStringTextNoenc for XSLt HTML
  output with encoding disabled.
Daniel
This commit is contained in:
Daniel Veillard
2001-02-05 17:57:33 +00:00
parent 2c833b6678
commit 0f2a53ccbd
11 changed files with 72 additions and 26 deletions

View File

@ -4190,6 +4190,7 @@ xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs) {
if (cur == NULL) XP_ERROR(XPATH_INVALID_OPERAND);
switch (cur->type) {
case XPATH_NODESET:
case XPATH_XSLT_TREE:
if ((cur->nodesetval == NULL) ||
(cur->nodesetval->nodeNr == 0)) res = 0;
else
@ -5419,7 +5420,9 @@ xmlXPathEvalAndExpr(xmlXPathParserContextPtr ctxt) {
SKIP_BLANKS;
xmlXPathEvalEqualityExpr(ctxt);
CHECK_ERROR;
xmlXPathBooleanFunction(ctxt, 1);
arg2 = valuePop(ctxt);
xmlXPathBooleanFunction(ctxt, 1);
arg1 = valuePop(ctxt);
arg1->boolval &= arg2->boolval;
valuePush(ctxt, arg1);
@ -5451,7 +5454,9 @@ xmlXPathEvalExpr(xmlXPathParserContextPtr ctxt) {
SKIP_BLANKS;
xmlXPathEvalAndExpr(ctxt);
CHECK_ERROR;
xmlXPathBooleanFunction(ctxt, 1);
arg2 = valuePop(ctxt);
xmlXPathBooleanFunction(ctxt, 1);
arg1 = valuePop(ctxt);
arg1->boolval |= arg2->boolval;
valuePush(ctxt, arg1);